# 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 " 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 } }