# Maintainer: Jan Alexander Steffens (heftig) # ALARM: Kevin Mihelich # - build v7 with vfpv3, neon is broken pkgbase=wpewebkit pkgname=( wpewebkit wpewebkit-docs ) pkgver=2.44.1 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=('2c9fbf4fcf8884d34102283e2b008ce0b0bc2cf07de78f564a8b34347e7bc19b' 'SKIP') b2sums=('15c8a2a47d5dc836cbbb1deec81f52165f32ff7bb35332b7d03eb93d86fb548a165b76a26e233cffe5c5d31a495e202bf3a3ad653f81d68b631504227abec95c' '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: