# Maintainer: Jan Alexander Steffens (heftig) # ALARM: Kevin Mihelich # - build v7 with vfpv3, neon is broken pkgbase=wpewebkit pkgname=( wpewebkit wpewebkit-docs ) pkgver=2.46.1 pkgrel=4 pkgdesc="Embeddable web content engine" url="https://wpewebkit.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 fontconfig freetype2 gcc-libs glib2 glibc gst-plugins-bad-libs gst-plugins-base-libs gstreamer harfbuzz harfbuzz-icu icu lcms2 libavif libdrm libepoxy libgcrypt libinput libjpeg-turbo libjxl libpng libseccomp libsoup3 libsystemd libtasn1 libwebp libwpe libxkbcommon libxml2 libxslt mesa openjpeg2 sqlite wayland woff2 wpebackend-fdo xdg-dbus-proxy zlib ) makedepends=( clang cmake gi-docgen glib2-devel gobject-introspection gperf gst-plugins-bad lld ninja python ruby ruby-stdlib systemd unifdef wayland-protocols ) source=( $url/releases/wpewebkit-$pkgver.tar.xz{,.asc} ) sha256sums=('1e0aaf870f36001c42b1ce5a2027b4101bed878746e437cc6d6fed0693afe9ad' 'SKIP') b2sums=('def0249180303bb12056505dbc3cb285910e47fb99fc5ddb9a2f924b6505de9786db2f2c224912484cc01d3209660c5ca3644100f0333ac5ab416a1855c56035' 'SKIP') validpgpkeys=( # https://wpewebkit.org/release/verify/ 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B # Adrián Pérez de Castro 013A0127AC9C65B34FFA62526C1009B693975393 # Carlos Garcia Campos ) prepare() { cd wpewebkit-$pkgver } build() { local cmake_options=( -DPORT=WPE -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_INSTALL_LIBEXECDIR=lib -DCMAKE_SKIP_RPATH=ON -DUSE_LIBBACKTRACE=OFF -DENABLE_DOCUMENTATION=ON -DENABLE_MINIBROWSER=ON ) # Upstream prefers Clang # https://gitlab.archlinux.org/archlinux/packaging/packages/webkitgtk-6.0/-/issues/4 export CC=clang CXX=clang++ LDFLAGS+=" -fuse-ld=lld" # Skia uses malloc_usable_size CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}" CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}" # JITted code crashes when CET is used #CFLAGS+=' -fcf-protection=none' #CXXFLAGS+=' -fcf-protection=none' [[ $CARCH == "armv7h" ]] && CFLAGS=`echo $CFLAGS | sed -e 's/neon/vfpv3/'` && CXXFLAGS="$CFLAGS" cmake -S wpewebkit-$pkgver -B build -G Ninja "${cmake_options[@]}" cmake --build build } package_wpewebkit() { depends+=( libWPEBackend-fdo-1.0.so libwpe-1.0.so ) provides+=( libWPEWebKit-2.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/doc cd wpewebkit-$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_wpewebkit-docs() { pkgdesc+=" (documentation)" depends=() mv doc/* "$pkgdir" } # vim:set sw=2 sts=-1 et: