diff --git a/extra/webkitgtk-6.0/.SRCINFO b/extra/webkitgtk-6.0/.SRCINFO new file mode 100644 index 000000000..545230ebe --- /dev/null +++ b/extra/webkitgtk-6.0/.SRCINFO @@ -0,0 +1,139 @@ +pkgbase = webkitgtk-6.0 + pkgdesc = Web content engine for GTK + pkgver = 2.42.1 + pkgrel = 1 + url = https://webkitgtk.org + arch = x86_64 + license = custom + makedepends = clang + makedepends = cmake + makedepends = gi-docgen + makedepends = gobject-introspection + makedepends = gperf + makedepends = gst-plugins-bad + makedepends = lld + makedepends = ninja + makedepends = python + makedepends = ruby + makedepends = systemd + makedepends = unifdef + makedepends = wayland-protocols + depends = at-spi2-core + depends = atk + depends = bubblewrap + depends = cairo + depends = enchant + depends = fontconfig + depends = freetype2 + depends = glib2 + depends = gst-plugins-bad-libs + depends = gst-plugins-base-libs + depends = gstreamer + depends = gtk4 + depends = harfbuzz + depends = harfbuzz-icu + depends = hyphen + depends = icu + depends = libavif + depends = libdrm + depends = libegl + depends = libepoxy + depends = libgcrypt + depends = libgl + depends = libgles + depends = libjpeg + depends = libjxl + depends = libmanette + depends = libpng + depends = libseccomp + depends = libsecret + depends = libsoup3 + depends = libsystemd + depends = libtasn1 + depends = libwebp + depends = libwpe + depends = libx11 + depends = libxcomposite + depends = libxml2 + depends = libxslt + depends = libxt + depends = mesa + depends = openjpeg2 + depends = sqlite + depends = wayland + depends = woff2 + depends = wpebackend-fdo + depends = xdg-dbus-proxy + depends = zlib + source = https://webkitgtk.org/releases/webkitgtk-2.42.1.tar.xz + source = https://webkitgtk.org/releases/webkitgtk-2.42.1.tar.xz.asc + source = webkitgtk-MiniBrowser-fullscreen.patch::https://github.com/WebKit/WebKit/commit/e07345343415dd2496edc721daa61a3b42703131.patch + validpgpkeys = D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3 + validpgpkeys = 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B + sha256sums = 6f41fac9989d3ee51c08c48de1d439cdeddecbc757e34b6180987d99b16d2499 + sha256sums = SKIP + sha256sums = a921d6be1303e9f23474971f381886fd291ec5bb1a7ff1e85acede8cfb88bef2 + b2sums = c6453cf2d15661507df66c5478e7675217b62d9579cf9b9408cb3e4fa1a8405c5c2608edf0960baed62aafa766e6cdbe2f0c07e8fb728d86c111f12d5a816492 + b2sums = SKIP + b2sums = d440d82c769f1b35caf5464dc850cdf1c896224205c90c17d8b0a44aee62e4b1383e11306936aaca067fde8836770d346d5122d7b05c91a5c7c1741c89c65e2f + +pkgname = webkitgtk-6.0 + depends = at-spi2-core + depends = atk + depends = bubblewrap + depends = cairo + depends = enchant + depends = fontconfig + depends = freetype2 + depends = glib2 + depends = gst-plugins-bad-libs + depends = gst-plugins-base-libs + depends = gstreamer + depends = gtk4 + depends = harfbuzz + depends = harfbuzz-icu + depends = hyphen + depends = icu + depends = libavif + depends = libdrm + depends = libegl + depends = libepoxy + depends = libgcrypt + depends = libgl + depends = libgles + depends = libjpeg + depends = libjxl + depends = libmanette + depends = libpng + depends = libseccomp + depends = libsecret + depends = libsoup3 + depends = libsystemd + depends = libtasn1 + depends = libwebp + depends = libwpe + depends = libx11 + depends = libxcomposite + depends = libxml2 + depends = libxslt + depends = libxt + depends = mesa + depends = openjpeg2 + depends = sqlite + depends = wayland + depends = woff2 + depends = wpebackend-fdo + depends = xdg-dbus-proxy + depends = zlib + depends = libWPEBackend-fdo-1.0.so + depends = libwpe-1.0.so + optdepends = geoclue: Geolocation support + optdepends = gst-libav: nonfree media decoding + optdepends = gst-plugins-bad: media decoding + optdepends = gst-plugins-good: media decoding + provides = libjavascriptcoregtk-6.0.so + provides = libwebkitgtk-6.0.so + +pkgname = webkitgtk-6.0-docs + pkgdesc = Web content engine for GTK (documentation) + depends = diff --git a/extra/webkitgtk-6.0/PKGBUILD b/extra/webkitgtk-6.0/PKGBUILD new file mode 100644 index 000000000..f5719c084 --- /dev/null +++ b/extra/webkitgtk-6.0/PKGBUILD @@ -0,0 +1,178 @@ +# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org> +# Contributor: Eric Bélanger <eric@archlinux.org> + +# ALARM: Kevin Mihelich <kevin@archlinuxarm.org> +# - build with gcc instead of clang +# - disable neon for v7 + +pkgbase=webkitgtk-6.0 +pkgname=( + webkitgtk-6.0 + webkitgtk-6.0-docs +) +pkgver=2.42.1 +pkgrel=1 +pkgdesc="Web content engine for GTK" +url="https://webkitgtk.org" +arch=(x86_64) +license=(custom) +depends=( + at-spi2-core + atk + bubblewrap + cairo + enchant + fontconfig + freetype2 + glib2 + gst-plugins-bad-libs + gst-plugins-base-libs + gstreamer + gtk4 + harfbuzz + harfbuzz-icu + hyphen + icu + libavif + libdrm + libegl + libepoxy + libgcrypt + libgl + libgles + libjpeg + libjxl + libmanette + libpng + libseccomp + libsecret + libsoup3 + libsystemd + libtasn1 + libwebp + libwpe + libx11 + libxcomposite + libxml2 + libxslt + libxt + mesa + openjpeg2 + sqlite + wayland + woff2 + wpebackend-fdo + xdg-dbus-proxy + zlib +) +makedepends=( + cmake + gi-docgen + gobject-introspection + gperf + gst-plugins-bad + ninja + python + ruby + systemd + unifdef + wayland-protocols +) +source=( + $url/releases/webkitgtk-$pkgver.tar.xz{,.asc} + webkitgtk-MiniBrowser-fullscreen.patch::https://github.com/WebKit/WebKit/commit/e07345343415dd2496edc721daa61a3b42703131.patch +) +sha256sums=('6f41fac9989d3ee51c08c48de1d439cdeddecbc757e34b6180987d99b16d2499' + 'SKIP' + 'a921d6be1303e9f23474971f381886fd291ec5bb1a7ff1e85acede8cfb88bef2') +b2sums=('c6453cf2d15661507df66c5478e7675217b62d9579cf9b9408cb3e4fa1a8405c5c2608edf0960baed62aafa766e6cdbe2f0c07e8fb728d86c111f12d5a816492' + 'SKIP' + 'd440d82c769f1b35caf5464dc850cdf1c896224205c90c17d8b0a44aee62e4b1383e11306936aaca067fde8836770d346d5122d7b05c91a5c7c1741c89c65e2f') +validpgpkeys=( + 'D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3' # Carlos Garcia Campos <cgarcia@igalia.com> + '5AA3BC334FD7E3369E7C77B291C559DBE4C9123B' # Adrián Pérez de Castro <aperez@igalia.com> +) + +prepare() { + cd webkitgtk-$pkgver + + patch -Np1 < ../webkitgtk-MiniBrowser-fullscreen.patch + + if [[ $CARCH == "armv7h" ]]; then + sed -i '/#define WTF_CPU_ARM_NEON 1/d' Source/WTF/wtf/PlatformCPU.h + fi +} + +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_AVIF=ON + -DUSE_GTK4=ON + -DENABLE_DOCUMENTATION=ON + -DENABLE_MINIBROWSER=ON + ) + + # 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" + + # 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' + + [[ $CARCH == "armv7h" ]] && CFLAGS=`echo $CFLAGS | sed -e 's/neon/vfpv3/'` && CXXFLAGS="$CFLAGS" + + cmake -S webkitgtk-$pkgver -B build -G Ninja "${cmake_options[@]}" + cmake --build build +} + +package_webkitgtk-6.0() { + depends+=( + libWPEBackend-fdo-1.0.so + libwpe-1.0.so + ) + provides+=( + libjavascriptcoregtk-6.0.so + libwebkitgtk-6.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 + + mkdir -p doc/usr/share + mv {"$pkgdir",doc}/usr/share/gtk-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_webkitgtk-6.0-docs() { + pkgdesc+=" (documentation)" + depends=() + + mv doc/* "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/extra/webkitgtk-6.0/keys/pgp/5AA3BC334FD7E3369E7C77B291C559DBE4C9123B.asc b/extra/webkitgtk-6.0/keys/pgp/5AA3BC334FD7E3369E7C77B291C559DBE4C9123B.asc new file mode 100644 index 000000000..9f844169f --- /dev/null +++ b/extra/webkitgtk-6.0/keys/pgp/5AA3BC334FD7E3369E7C77B291C559DBE4C9123B.asc @@ -0,0 +1,21 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQGiBEhD/gURBADY9/zG24BcSOkrarNtDlMqTM1Mc22gBlpVs3IyGwiYFy1f+NYL +0CwgO6JsJPF0BsrLtZ0jO7SCUOnq1lQ/XA3Ecttp9Fc7p7qRoDX4okC72PFGOtth +fnnkAaFe4d2LYIXs6ZPbuH4x7sDnEDcK2ceJvNXFIRjF8XnOglpN3pmI+wCggRxa +VFsAYh/xbm5/UYSDyJDqCH0EALjkCl4l5kGVA+5ZQgtuvLNrHyOIAX35pwE4fKby +krpM7DP0YooNnXzENOPvOB4WlhW8dAAt2EuQspvmJieeevE//DcgAhYVZBlzNnQq +Z3yPbJY4ucQy9KU5hyP6GLul+80KThhJZRAiCnjSQf8H3Ij7sEwLkSAmg1MIyPF7 +OShABAC42FzEpsyW6+SX7c6FNYB5ZgsgEESq6nTiCJ77Tqe5CrOqNplpNqrw/knI +GgSEsxmXNEhBvXCjCH4CDDGPXVuqXpHB/E38JW75irXVVSr47iTx0XaBRzGLcHyM +gT1b/yYCl10FV/47u8XaOP0BP9cQ2A9PY/vRTKRDNbe4plJSRbQsQWRyacOhbiBQ +w6lyZXogZGUgQ2FzdHJvIDxhcGVyZXpAaWdhbGlhLmNvbT6IgQQTEQoAQQIbIwIe +AQIXgAIZAQULCQgHAwUVCgkICwUWAgMBABYhBFqjvDNP1+M2nnx3spHFWdvkyRI7 +BQJeuoBnBQkaOOliAAoJEJHFWdvkyRI7lAsAn0EYqK753vXGH0fQGi30hnLUTbo7 +AJ4gi/3tS5RXrokUBWt//IhPrkUSBrQ+QWRyacOhbiBQw6lyZXogZGUgQ2FzdHJv +IChwZXJzb25hbCkgPGFkcmlhbkBwZXJlemRlY2FzdHJvLm9yZz6IfgQTEQoAPgIb +IwIeAQIXgAULCQgHAwUVCgkICwUWAgMBABYhBFqjvDNP1+M2nnx3spHFWdvkyRI7 +BQJeuoBuBQkaOOliAAoJEJHFWdvkyRI7PlsAn0kzehBht+bqJ9IVW08hfq3dNirm +AJsHuPgQnz2Zm43XDUf6Re8vaoxlxQ== +=tAiD +-----END PGP PUBLIC KEY BLOCK----- diff --git a/extra/webkitgtk-6.0/keys/pgp/D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3.asc b/extra/webkitgtk-6.0/keys/pgp/D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3.asc new file mode 100644 index 000000000..e5d71dd52 --- /dev/null +++ b/extra/webkitgtk-6.0/keys/pgp/D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3.asc @@ -0,0 +1,23 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQGiBEy4Qy4RBACevATwAKdArGO2UjVGsP3nb3BWLfB9KR5hbpuL5yejUoR6xeN4 +vsw1/fy9fiGlsLGqlmnd6bDZ6c7mNyc0ERXXGk2QOQEMeDyL6VsoZEbo5t8bZa6B +Pxc23C9L4d0bdNF7y0CoO7xsg1zClq23MXWAgi4Wm+ZDonw+b2UBcCt/uwCg9AST +/g8XgNKZ4WxpRI4bM/1BvxUD/2xeJkUjgmdwV14dOdHmsW7BYJHUKxAt9KBSJ5Yo +ZDCmh6HTtUjd9dKwkuRTxtc3G4s+J5D5WCeNKQ/kNAYAoclzXYc2crTrXZ+RqWap +G+ngUZxgnyNAaveyUjV19qDRJKVuzBXeQWH/UU5eEpuRfx7ReyFX7sAhDOmnVrvg +IoegA/0SNS+wsGjYxpWOO1QMsqGidgIp5yLanfA7qsfxz8t+gGtXOSqomUJsYyYX +a0c2kXl3ZPe/cyK6j9o+l4YrczkNAxeXVJd4uA4sSrqmKI1F7cICV3EqJ5uyKWll +eW/sfhKNcPiadBZr9LNS1775jWM3pNxszZrjCnTfspn0gyGTbLQpQ2FybG9zIEdh +cmNpYSBDYW1wb3MgPGNnYXJjaWFAaWdhbGlhLmNvbT6IYgQTEQIAIgUCTLhDLgIb +AwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQ89Mi0OxFgsO7aQCgyouexI5L +4PxyZlCgucZj2UGUI1kAn2Lh4CPgaCa7kno1aArSFzzdVRnhuQENBEy4Qy4QBADZ +F1vw6zV7ZKGg8Ipfi0ASbDRVzHdr4wdoiNbFGKXykwi3PRuolrSTd+970u0MNX30 +ZmfOTk/cidymaBd0RyVnwmPgnoRxZpKhMnFrlxRYtukUHyYDeFwM376ux1TXNWwG +sxZ3RmENWyoAs8GK3vIYhaqC22qxS1SfjMn1eueonwADBQQAnLZte7R5TK0j5L1K +/JJc82JOkdjlF6ORS+hxHqlITmRevmo5zcvBMfCjH98y5yGVHciQ/Pp+AC+hI7n0 +r2B+HO7/M+fzub4mJpgsrdGLebwFOOMuJQCzU/vm2O+ni9RfhKGxj6j5ibVzW/Xg +dxDF7ffwmiqAWJrzUGtIBKRw372ISQQYEQIACQUCTLhDLgIbDAAKCRDz0yLQ7EWC +w/ohAJ9TForRmpOoZQn8nC82lvjLnl8yJwCfePN1wgFlZu2kkHP4d0fJ2LN6whM= +=HKDK +-----END PGP PUBLIC KEY BLOCK-----