# Maintainer: Jan Alexander Steffens (heftig) # ALARM: Kevin Mihelich # - build v7 with vfpv3, neon is broken pkgbase=wpewebkit pkgname=( wpewebkit wpewebkit-docs ) pkgver=2.44.0 pkgrel=1 pkgdesc="Embeddable web content engine" url="https://wpewebkit.org" arch=(x86_64) license=(custom) depends=( at-spi2-core atk bubblewrap cairo fontconfig freetype2 glib2 gst-plugins-bad-libs gst-plugins-base-libs gstreamer harfbuzz harfbuzz-icu icu libavif libdrm libepoxy libgcrypt libjpeg 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 gobject-introspection gperf gst-plugins-bad lld ninja python ruby systemd unifdef wayland-protocols ) source=( $url/releases/wpewebkit-$pkgver.tar.xz{,.asc} ) sha256sums=('0741862b559da0cbbf8e0bccb057361f8a1c6a96178ba10aa0375030b01f05d4' 'SKIP') b2sums=('3e7541ae319f7f8d1c2a6371c666062c10c4c643769595193ba259f281812929a02ebd843136bd48fa348545bc6dd76588cd7e30a38d8db833c0cb7c59d081c2' 'SKIP') validpgpkeys=( 'D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3' # Carlos Garcia Campos '5AA3BC334FD7E3369E7C77B291C559DBE4C9123B' # Adrián Pérez de Castro ) 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 ) # GCC with LTO fails to link jsc # /usr/bin/ld: /tmp/ccXxyWZV.ltrans0.ltrans.o: in function `ipint_table_size_validate': # :(.text+0x49f0f): undefined reference to `ipint_extern_table_size' # /usr/bin/ld: /tmp/ccXxyWZV.ltrans0.ltrans.o: in function `ipint_table_fill_validate': # :(.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' [[ $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: