# Maintainer: Jan Alexander Steffens (heftig) # Contributor: Eric Bélanger # ALARM: Kevin Mihelich # - build v7 with vfpv3, neon is broken highmem=1 pkgbase=webkit2gtk pkgname=( webkit2gtk webkit2gtk-docs ) pkgver=2.44.3 pkgrel=3 pkgdesc="Web content engine for GTK" url="https://webkitgtk.org" arch=(x86_64) license=( # :sort ui /\v^\s*['"]?/ 'AFL-2.0 OR GPL-2.0-or-later' Apache-2.0 'Apache-2.0 WITH LLVM-exception' BSD-2-Clause BSD-2-Clause-Views BSD-3-Clause BSD-Source-Code BSL-1.0 bzip2-1.0.6 GPL-2.0-only 'GPL-3.0-only WITH Autoconf-exception-3.0' 'GPL-3.0-or-later WITH Bison-exception-2.2' ICU ISC LGPL-2.1-only LGPL-2.1-or-later MIT MPL-1.1 MPL-2.0 NCSA 'NCSA OR MIT' OFL-1.1 SunPro Unicode-TOU ) depends=( at-spi2-core atk bubblewrap cairo enchant fontconfig freetype2 gcc-libs gdk-pixbuf2 glib2 glibc gst-plugins-bad-libs gst-plugins-base-libs gstreamer gtk3 harfbuzz harfbuzz-icu hyphen icu lcms2 libavif libdrm libegl libepoxy libgcrypt libgl libgles libjpeg libjxl libmanette libpng libseccomp libsecret libsoup libsystemd libtasn1 libwebp libx11 libxml2 libxslt mesa openjpeg2 pango sqlite wayland woff2 xdg-dbus-proxy zlib ) makedepends=( cmake gi-docgen glib2-devel gobject-introspection gperf gst-plugins-bad ninja python ruby ruby-stdlib systemd unifdef wayland-protocols ) options=( # https://gitlab.archlinux.org/archlinux/packaging/packages/webkit2gtk-4.1/-/issues/1 # https://bugs.webkit.org/show_bug.cgi?id=278090 !lto ) source=( $url/releases/webkitgtk-$pkgver.tar.xz{,.asc} revert-271175.patch ) sha256sums=('dc82d042ecaca981a4852357c06e5235743319cf10a94cd36ad41b97883a0b54' 'SKIP' '640b392081d913f5522aec83e32213983f35603d28fceecc9bff3f33e59468a7') b2sums=('70ee02b2d5828907d7659db903f5dbc4db628af47e421db1b105163a5cec902be19f740e752179e7cda3e605af232150bb1fb37efd2382d7d4f2454fd3f8bccc' 'SKIP' '4e894df99d764cc24094b9dfb653c59d31848cee7640d606c5e8175b4eddec8eee0b5f48795d7fea61246d7ff8aa5ea70ef8a6e42085d7cdea0f670549074b55') validpgpkeys=( # https://www.webkitgtk.org/verifying.html 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B # Adrián Pérez de Castro 013A0127AC9C65B34FFA62526C1009B693975393 # Carlos Garcia Campos ) prepare() { cd webkitgtk-$pkgver # https://bugs.webkit.org/show_bug.cgi?id=278113 # https://github.com/WebKit/WebKit/commit/9140ce712aa87091613874d802787ab476be0e39 patch -Np1 -i ../revert-271175.patch } 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_MINIBROWSER=ON ) # 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' [[ $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_webkit2gtk() { 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" } # vim:set sw=2 sts=-1 et: