jobextra/webkit2gtk-5.0/PKGBUILD-oba

199 lines
3.9 KiB
Text

# Obarun : 66 init/supervisor
# Maintainer : Eric Vidal <eric@obarun.org>
# Contributor : Jean-Michel T.Dydak <jean-michel@obarun.org>
# Obarun PkgSrc : https://git.obarun.org/pkg/obextra/webkit2gtk-4.1
#----------------
#--------------------------------------------------------------
# DESCRIPTION ]
pkgbase=webkit2gtk-6.0
pkgname=(webkit2gtk-6.0 webkit2gtk-6.0-docs)
pkgver=2.42.0
pkgrel=2
pkgdesc="Web content engine for GTK"
url='https://webkitgtk.org'
source=(
$url/releases/webkitgtk-$pkgver.tar.xz{,.asc}
)
#--------------------
# BUILD PREPARATION ]
prepare() {
cd webkitgtk-$pkgver
}
#----------------------
# BUILD CONFIGURATION ]
makedepends=(
clang
cmake
gi-docgen
gobject-introspection
gperf
gst-plugins-bad
lld
ninja
python
ruby
unifdef
wayland-protocols
)
#------------------------
# INSTALL CONFIGURATION ]
depends=(
at-spi2-core
atk
bubblewrap
cairo
enchant
fontconfig
freetype2
glib2
gst-plugins-base-libs
gstreamer
gtk4
harfbuzz
harfbuzz-icu
hyphen
icu
libavif
libegl
libepoxy
libgcrypt
libgl
libgles
libice
libjpeg
libjxl
libmanette
libnotify
libpng
libseccomp
libsecret
libsoup3
libtasn1
libwebp
libwpe
libx11
libxcomposite
libxext
libxml2
libxslt
libxt
mesa
openjpeg2
sqlite
wayland
woff2
wpebackend-fdo
xdg-dbus-proxy
zlib
)
#----------------
# BUILD CONTROL ]
_flags=(
-DPORT=GTK
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX=/usr
-DCMAKE_INSTALL_LIBDIR=lib
-DCMAKE_INSTALL_LIBEXECDIR=lib
-DCMAKE_SKIP_RPATH=ON
-DUSE_AVIF=ON
-DUSE_GTK4=ON
-DENABLE_DOCUMENTATION=ON
-DENABLE_MINIBROWSER=ON
-DENABLE_JOURNALD_LOG=OFF
)
#--------
# BUILD ]
prepare() {
cd webkitgtk-$pkgver
}
build() {
# GCC with LTO fails to link libjavascriptcoregtk
# /usr/bin/ld: /tmp/ccXxyWZV.ltrans0.ltrans.o: in function `ipint_table_size_validate':
# <artificial>:(.text+0x49f0f): undefined reference to `ipint_extern_table_size'
# /usr/bin/ld: /tmp/ccXxyWZV.ltrans0.ltrans.o: in function `ipint_table_fill_validate':
# <artificial>:(.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"
# 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'
cmake -S webkitgtk-$pkgver -B build -G Ninja "${_flags[@]}"
cmake --build build
}
#----------
# PACKAGE ]
package_webkit2gtk-6.0() {
depends+=(
'libwpe-1.0.so'
'libWPEBackend-fdo-1.0.so'
)
provides+=(
'libjavascriptcoregtk-6.0.so'
'libwebkit2gtk-6.0.so'
)
optdepends=(
'geoclue: Geolocation support'
'gst-plugins-good: media decoding'
'gst-plugins-bad: media decoding'
'gst-libav: nonfree media decoding'
)
DESTDIR="$pkgdir" cmake --install build
rm -r "$pkgdir/usr/bin"
mkdir -p doc/usr/share
mv {"$pkgdir",doc}/usr/share/gtk-doc
cd webkitgtk-$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_webkit2gtk-6.0-docs() {
pkgdesc+=" (documentation)"
depends=()
mv doc/* "$pkgdir"
}
#-------------------------
# LICENCE AND VALIDATION ]
arch=(x86_64)
license=(custom)
validpgpkeys=('D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3' # Carlos Garcia Campos <cgarcia@igalia.com>
'5AA3BC334FD7E3369E7C77B291C559DBE4C9123B') # Adrián Pérez de Castro <aperez@igalia.com>
sha512sums=(
''
'SKIP'
)