# Maintainer: Jan Alexander Steffens (heftig) # ALARM: Kevin Mihelich # - build v7 with vfpv3, neon is broken pkgbase=wpewebkit pkgname=( wpewebkit wpewebkit-docs ) pkgver=2.44.3 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 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=('55c639879eaa5f070fb1c11fccb968cd85ca21680cc8cd0cd638135ca24433bb' 'SKIP') b2sums=('9ec256150f34b2ca17517f5e5608b0b7e0ff34c6950d444dba2bbe7bb6415c5721a8173b9fa8eda0b3f749b3df4a7afd45aec27b7829cff09e0e9d75f62b55e9' '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 ) # 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: