void-packages/srcpkgs/gtk+3/template
Enno Boland c0620807eb gtk+3: update to 3.24.30. switch to meson
This commit also disables failing tests. This is an improvement over
having the buildsystem fail completely as we can actually start to track
regressions here.

Also remove obsolete revbump message
2021-10-07 10:02:48 +02:00

112 lines
3.4 KiB
Bash

# Template file for 'gtk+3'
pkgname=gtk+3
version=3.24.30
revision=1
wrksrc="gtk+-${version}"
build_style=meson
build_helper="gir"
configure_args="
$(vopt_bool x11 x11_backend)
$(vopt_bool wayland wayland_backend)
$(vopt_bool broadway broadway_backend)
-Dprint_backends=$(vopt_if cups 'cups,')file
$(vopt_bool cloudproviders)
-Dcolord=$(vopt_if colord yes no)
$(vopt_bool gtk_doc)
-Dman=true
$(vopt_bool gir introspection)
"
conf_files="/etc/gtk-3.0/im-multipress.conf"
hostmakedepends="gettext-devel glib-devel gtk-doc gtk-update-icon-cache perl
pkg-config $(vopt_if wayland 'wayland-devel wayland-protocols')"
makedepends="at-spi2-atk-devel gdk-pixbuf-devel libepoxy-devel pango-devel
iso-codes $(vopt_if colord 'colord-devel') $(vopt_if cups 'cups-devel')
$(vopt_if wayland 'libxkbcommon-devel wayland-devel wayland-protocols MesaLib-devel')
$(vopt_if x11 'libXcursor-devel libXdamage-devel libXext-devel libXinerama-devel libXi-devel libXrandr-devel libXcomposite-devel')
$(vopt_if cloudproviders 'libcloudproviders-devel')"
depends="gtk-update-icon-cache adwaita-icon-theme
librsvg shared-mime-info $(vopt_if x11 'dbus-x11')"
checkdepends="$depends xvfb-run dbus"
short_desc="GTK+ toolkit (v3)"
maintainer="Enno Boland <gottox@voidlinux.org>"
license="LGPL-2.1-or-later"
homepage="https://www.gtk.org/"
distfiles="${GNOME_SITE}/gtk+/${version%.*}/gtk+-${version}.tar.xz"
checksum=ba75bfff320ad1f4cfbee92ba813ec336322cc3c660d406aad014b07087a3ba9
_broken_tests="
a11y/scale-drawvalue
a11y/menu
a11y/menubutton
a11y/menubutton2
a11y/menubutton3
a11y/tooltips
reftests/button-wrapping.ui
reftests/cellrenderer-pixbuf-stock-rtl.ui
reftests/icon-effect-missing.ui
reftests/symbolic-icon-translucent-color.ui
reftests/window-height-for-width.ui"
case "$XBPS_TARGET_MACHINE" in
i686*) _broken_tests+=" gtk/cellarea" ;;
esac
# Package build options
build_options="broadway colord cups gir cloudproviders wayland x11 gtk_doc"
desc_option_broadway="Enable support for the HTML5 Broadway backend"
desc_option_cloudproviders="Enable integration with cloudproviders, such as Nextcloud"
# Enable all options (other than cloudproviders) by default.
build_options_default="colord cups gir broadway wayland x11"
if [ -z "$CROSS_BUILD" ]; then
build_options_default+=" gtk_doc"
fi
pre_check() {
for t in $_broken_tests; do
test_dir="testsuite/${t%\/*}"
test_name="${t##*\/}"
vsed -e "/'${test_name}',/d" -i "$test_dir/meson.build"
done
}
do_check() {
xvfb-run dbus-run-session ninja -C build ${makejobs} test
}
post_install() {
rm -f ${DESTDIR}/usr/bin/gtk-update-icon-cache
rm -f ${DESTDIR}/usr/share/man/man1/gtk-update-icon-cache.1
}
gtk+3-devel_package() {
depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
short_desc+=" - development files"
pkg_install() {
vmove usr/include
vmove usr/lib/pkgconfig
vmove "usr/lib/*.so"
if [ "$build_option_gir" ]; then
vmove usr/share/gir-1.0
fi
if [ "$build_option_gtk_doc" ]; then
vmove usr/share/gtk-doc
fi
vmove usr/share/aclocal
}
}
gtk+3-demo_package() {
short_desc+=" - demonstration application"
pkg_install() {
vmove usr/bin/gtk3-demo
vmove usr/bin/gtk3-widget-factory
vmove usr/bin/gtk3-demo-application
vmove usr/share/man/man1/gtk3-widget-factory.1
vmove usr/share/gtk-3.0/gtkbuilder.rng
vmove usr/share/glib-2.0/schemas/org.gtk.Demo.gschema.xml
vmove usr/share/applications/gtk3-widget-factory.desktop
vmove usr/share/applications/gtk3-demo.desktop
vmove usr/share/icons
}
}