jobextra/webkit2gtk/PKGBUILD

127 lines
4.1 KiB
Bash

#!/usr/bin/bash
# JOBoRun : Jwm OpenBox Obarun RUNit
# Maintainer : Joe Bo Run <joborun@disroot.org>
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobextra/$pkgname"
# Website : https://pozol.eu
#-----------------------------------------| DESCRIPTION |---------------------------------------
#pkgbase=webkit2gtk
pkgname=webkit2gtk
# webkit2gtk-docs) # add if you want your own made docs
pkgver=2.44.0
pkgrel=01
pkgdesc="Web content engine for GTK w/o systemd"
url="https://webkitgtk.org"
depends=(at-spi2-core atk bubblewrap cairo enchant-pure fontconfig freetype2 glib2
gst-plugins-bad-libs gst-plugins-base-libs gstreamer gtk3 harfbuzz harfbuzz-icu
hyphen icu libavif libdrm libegl libepoxy libgcrypt libgl libgles libjpeg libjxl
libmanette libpng libseccomp libsecret libsoup libtasn1 libwebp libwpe
libx11 libxcomposite libxml2 libxslt libxt mesa openjpeg2 sqlite wayland woff2
wpebackend-fdo xdg-dbus-proxy zlib)
makedepends=(clang cmake gi-docgen gobject-introspection gperf gst-plugins-bad libavif lld ninja
python ruby unifdef wayland-protocols)
optdepends=('geoclue: Geolocation support'
'gst-plugins-good: media decoding'
'gst-plugins-bad: media decoding'
'gst-libav: nonfree media decoding')
source=($url/releases/webkitgtk-$pkgver.tar.xz{,.asc})
prepare() {
cd webkitgtk-$pkgver
}
build() {
local cmake_options=(
-DPORT=GTK
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX=/usr
-DCMAKE_INSTALL_LIBDIR=lib
-DCMAKE_INSTALL_LIBEXECDIR=lib
-DCMAKE_SKIP_RPATH=ON
-DUSE_GTK4=OFF
-DUSE_LIBBACKTRACE=OFF
-DUSE_SOUP2=ON
-DENABLE_DOCUMENTATION=ON
-DENABLE_GTKDOC=OFF
-DENABLE_MINIBROWSER=ON
-DENABLE_JOURNALD_LOG=OFF
-DENABLE_SYSTEMD=OFF
)
# GCC with LTO fails to link libjavascriptcoregtk
# /usr/bin/ld: /tmp/ccXxyWZV.ltrans0.ltrans.o: in function `ipint_table_size_validate':
# <artificial>:(.text+0x49f0f): undefined reference to `ipint_extern_table_size'
# /usr/bin/ld: /tmp/ccXxyWZV.ltrans0.ltrans.o: in function `ipint_table_fill_validate':
# <artificial>:(.text+0x4a019): undefined reference to `ipint_extern_table_fill'
# collect2: error: ld returned 1 exit status
export CC=clang CXX=clang++
LDFLAGS+=" -fuse-ld=lld"
# JITted code crashes when CET is used
CFLAGS+=' -fcf-protection=none'
CXXFLAGS+=' -fcf-protection=none'
# Produce minimal debug info: 4.3 GB of debug data makes the
# build too slow and is too much to package for debuginfod
CFLAGS+=' -g1'
CXXFLAGS+=' -g1'
cmake -S webkitgtk-$pkgver -B build -G Ninja "${cmake_options[@]}"
cmake --build build
}
package() {
depends+=(libWPEBackend-fdo-1.0.so libwpe-1.0.so)
provides+=(libjavascriptcoregtk-4.0.so libwebkit2gtk-4.0.so)
optdepends=(
'geoclue: Geolocation support'
'gst-libav: nonfree media decoding'
'gst-plugins-bad: media decoding'
'gst-plugins-good: media decoding'
)
DESTDIR="$pkgdir" cmake --install build
rm -r "$pkgdir/usr/bin"
# mkdir -p doc/usr/share
# mv {"$pkgdir",doc}/usr/share/doc
cd webkitgtk-$pkgver
find Source -name 'COPYING*' -or -name 'LICENSE*' -print0 | sort -z |
while IFS= read -d $'\0' -r _f; do
echo "### $_f ###"
cat "$_f"
echo
done |
install -Dm644 /dev/stdin "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
#package_webkit2gtk-docs() {
# pkgdesc+=" (documentation)"
# depends=()
#
# mv doc/* "$pkgdir"
#}
#---- arch license gpg-key & sha256sums ----
arch=(x86_64)
license=(custom)
validpgpkeys=(D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3 # Carlos Garcia Campos <cgarcia@igalia.com>
5AA3BC334FD7E3369E7C77B291C559DBE4C9123B) # Adrián Pérez de Castro <aperez@igalia.com>
b2sums=('02e6427fde20252b4a523483814d62e82612ed43843e8902aa62a6718a9716d68b31d2cd2326c819c3bd70cf09e0c5ac4095ab544d7e8bd4031cfb4791a625bc'
'SKIP')
sha256sums=(c66530e41ba59b1edba4ee89ef20b2188e273bed0497e95084729e3cfbe30c87 # webkitgtk-2.44.0.tar.xz
24b98f3ea6801166e4b4c1071bcc7926f4be4fa22ac253873a26d11d3b01fd70) # webkitgtk-2.44.0.tar.xz.asc
## f8225c1bc781e59e30d2de70705261fedcf6a79a24891f3f863a8764d6cac26c webkit2gtk-2.44.0-01-x86_64.pkg.tar.lz