cruxports/webkitgtk-41/Pkgfile

50 lines
2.2 KiB
Plaintext

# Description: rendering engine for gtk web browsers, linked against soup3
# URL: https://www.webkitgtk.org/
# Maintainer: John McQuah, jmcquah at disroot dot org
# Depends on: gst-plugins-base gtk gtk3 hyphen icu lcms2 libseccomp libsecret libsoup3 libwebp libxslt ruby unifdef woff2 xorg-libxt
# Optional: enchant libnotify geoclue openjpeg2 xdg-dbus-proxy bubblewrap wpebackend-fdo libmanette
name=webkitgtk-41
version=2.40.2
release=1
source=(https://webkitgtk.org/releases/webkitgtk-$version.tar.xz
264395-sandbox-bwrap.patch)
build() {
# fail the build if dependencies are not met
[ -e /usr/include/harfbuzz/hb-icu.h ] || (printf '\e[1;31m%-6s\e[m\n' "You need to install icu, then rebuild harfbuzz for webkitgtk to work, quitting..." ; exit 1)
prt-get isinst bubblewrap xdg-dbus-proxy && PKGMK_WEBKITGTK+=' -DENABLE_BUBBLEWRAP_SANDBOX=ON' \
|| { PKGMK_WEBKITGTK+=' -DENABLE_BUBBLEWRAP_SANDBOX=OFF';
patch -Np1 -d webkitgtk-$version -i $SRC/264395-sandbox-bwrap.patch; }
prt-get isinst openjpeg2 || PKGMK_WEBKITGTK+=' -DUSE_OPENJPEG=OFF'
prt-get isinst enchant || PKGMK_WEBKITGTK+=' -DENABLE_SPELLCHECK=OFF'
prt-get isinst geoclue && PKGMK_WEBKITGTK+=' -DENABLE_GEOLOCATION=ON' || PKGMK_WEBKITGTK+=' -DENABLE_GEOLOCATION=OFF'
prt-get isinst wpebackend-fdo || PKGMK_WEBKITGTK+=' -DUSE_WPE_RENDERER=OFF'
prt-get isinst libmanette || PKGMK_WEBKITGTK+=' -DENABLE_GAMEPAD=OFF'
prt-get isinst libavif || PKGMK_WEBKITGTK+=' -DUSE_AVIF=OFF'
prt-get isinst gst-plugins-bad || PKGMK_WEBKITGTK+=' -DUSE_GSTREAMER_TRANSCODER=OFF'
cmake -S webkitgtk-$version -B build -G Ninja ${PKGMK_WEBKITGTK} \
-D CMAKE_INSTALL_PREFIX:PATH=/usr \
-D CMAKE_INSTALL_LIBDIR:PATH=/usr/lib \
-D CMAKE_INSTALL_LIBEXECDIR:PATH=/usr/lib \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_CXX_FLAGS_RELEASE="${CXXFLAGS} -DNDEBUG -ffat-lto-objects" \
-D CMAKE_C_FLAGS_RELEASE="${CFLAGS} -DNDEBUG -ffat-lto-objects" \
-D CMAKE_EXE_LINKER_FLAGS="${LDFLAGS} -Wl,-fuse-ld=gold" \
-D CMAKE_SKIP_RPATH=ON \
-D PORT=GTK \
-D USE_SOUP2=OFF \
-D ENABLE_MINIBROWSER=ON \
-D ENABLE_JOURNALD_LOG=OFF \
-D ENABLE_DOCUMENTATION=OFF \
-Wno-dev
ninja -C build -j ${JOBS:-1}
DESTDIR=$PKG ninja -C build install
rm -r $PKG/usr/share/locale
}