diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-08-18 08:34:08 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-08-18 08:34:08 +0100 |
commit | 933ed80ab9b645de54b16eeb7410c0a54f47574f (patch) | |
tree | d954e8a97c73506c33035766b9578ece5d31667f /gui-libs | |
parent | 0b1a4d018ed7758b9e49f6e4b3b38304f91a8cf5 (diff) |
gentoo auto-resync : 18:08:2022 - 08:34:07
Diffstat (limited to 'gui-libs')
-rw-r--r-- | gui-libs/Manifest.gz | bin | 3802 -> 3799 bytes | |||
-rw-r--r-- | gui-libs/display-manager-init/Manifest | 2 | ||||
-rw-r--r-- | gui-libs/display-manager-init/display-manager-init-1.0-r3.ebuild | 54 | ||||
-rw-r--r-- | gui-libs/display-manager-init/files/display-manager.initd-r1 | 236 | ||||
-rw-r--r-- | gui-libs/gtk/Manifest | 2 | ||||
-rw-r--r-- | gui-libs/gtk/gtk-4.6.7.ebuild | 212 |
6 files changed, 214 insertions, 292 deletions
diff --git a/gui-libs/Manifest.gz b/gui-libs/Manifest.gz Binary files differindex b776ce18d1ea..126cadcb3c7f 100644 --- a/gui-libs/Manifest.gz +++ b/gui-libs/Manifest.gz diff --git a/gui-libs/display-manager-init/Manifest b/gui-libs/display-manager-init/Manifest index d8e15bd02b5d..0389c689d130 100644 --- a/gui-libs/display-manager-init/Manifest +++ b/gui-libs/display-manager-init/Manifest @@ -1,9 +1,7 @@ AUX display-manager-setup.initd 224 BLAKE2B 8513295b8c315d71521ac24fc9da1878e32044ebe7b6e37afb77a25eb8ec449568a82e516fd04de7fb2b0f0b5ff355a54a257041616d0035b25d0ae191e336e4 SHA512 d0048fc5b3c0fd92a44b71f7b8132e35787e42095c22f53aa41c10505c219eb25015f76163069aab7ebb6f0ac9feeac62d1b74682fd3947e835ea5de36957727 AUX display-manager.confd 608 BLAKE2B 814b4d36ce74d2f70a771cda31c3b9f6e21246bef681607d2687b3ed51f1baab8752fe94ad1021b9fd81b3e8444a328d2c1de83718534ea722ef9dadcbdca164 SHA512 40fb28fb6ac06b59fed9fec86816a444f53ea499bb9a7e7a072a5a932b45a29f830b9da9de0954b1f5cb21903c08ff5c997db2e32ee0bb1a300cd6c070cc8aa6 -AUX display-manager.initd-r1 6201 BLAKE2B d30dd3c2cfc651c48e4f5a25ddae401894c994286fd5dd5c3668de92e107fdd36a7c14d47f0c080854004aaf6f9cfe7e0a41abee552a69077ed4c795ce834623 SHA512 fdef2ff2eedda6c0b262f5f1fa4b0f3c9bea56b575956b308c2fd145eba204c3cf9f336b6348cc12dd342bcbb64ed2e49f3f82c143249d74c922ac472b786851 AUX display-manager.initd-r2 6237 BLAKE2B a0bf7c7563419f14867568c111a7d3456eadf5037a0d993ed92bc2270fed6f920e1a23602f2de0d287e05844d1a0d52dfc663da9a4bfcdfd3d54615cc8282dca SHA512 084eb98fe656fdfdf669345738009b722dec8cc3eddea5d4df184a70985152e19925b4e4c00d695e5ae29cc8f93aee9d3ac353483df7f3bda25d4fbb1ceea50e AUX startDM-r1 778 BLAKE2B 134345da401d5d75cb4e3cf79189a2594e508d4afe748bc209e8a93ea754169b205b114fcdb830ed95908788d0bf9cf071cd50de0c37df7fe5b83827f406d766 SHA512 e0cbb1f0ca6d6d3ae3f963bb5508e5b58e03682aba3f35cb2c1819c17e2d94ee240a5dc603f9fd93d22ecca060d131e46c0a0a25685aa8deac280294ff76b8c9 AUX xdm.initd 200 BLAKE2B ec997b7080037a7197a6f75728d9075c846168115d705015afc6518e1e72d815cdf87c2e9e3f3ad950034599e548d015e530cb7821f83b9d289337908455c17a SHA512 4552215cc2cdffa3298a9136e2a22f600f55958d7f74b2d06bbf48568d8034ef24deea27ad9f8d6d100516b0efb4e2688c1f454dc556120f759b1da7fecd877c -EBUILD display-manager-init-1.0-r3.ebuild 1678 BLAKE2B 7f273bc6a60add881ca14152682cc73397034a6d704a02ad91512746a5765b8910137a157fe650ef8cd2a9925fceee8bc60d7278a316853b87a3eaa611f19432 SHA512 3a1d038ce0a6788ebb21fdd76d8fe0f8a24cede8595d54b0030254a0e7ffae90966185840981626e31ae68322096d36f56c5e6011fc15f95da19d28a9a38e5ee EBUILD display-manager-init-1.0-r4.ebuild 1678 BLAKE2B 6f660ee635bf419c54e8a72efc4f5a8a8a3044cdfdf71a94d3a170408f5e9587a68d5ca0744e8f880144c18ba20b2af70086732d9b1cdbf0fb3c3351554e21b8 SHA512 c7ecf09d9a875ed9216a9e2b343f996610d20427d4c9f5e427784a6700f8473c720c4051011ad99e5c4ea95177ead20ac0fe251adbfbdbe73e400759f066cb2a MISC metadata.xml 259 BLAKE2B cc7abf54ed4398a2cfb77310c63f5fae3e432488b0c7466f8148c5d009d38aa4ca78eef78712f0b7b6aca6710aab1dfe3c07440f36179fde03f8a97a49b3c080 SHA512 6f50c5d3c735db431156906312a7c1dab3723d8c9e51d15148b92d97a998221c6838eb926f36c6b924c9fc8a6a64ba904e36482ff5164867c482502aa638462f diff --git a/gui-libs/display-manager-init/display-manager-init-1.0-r3.ebuild b/gui-libs/display-manager-init/display-manager-init-1.0-r3.ebuild deleted file mode 100644 index f7ac8e8f201e..000000000000 --- a/gui-libs/display-manager-init/display-manager-init-1.0-r3.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DESCRIPTION="RC init files for starting display and login managers" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:X11" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" - -S="${WORKDIR}" - -RDEPEND=" - sys-apps/gentoo-functions - !<=sys-apps/sysvinit-2.98 - !<=x11-apps/xinit-1.4.1 - !<=x11-base/xorg-server-1.20.10 - !=x11-base/xorg-server-1.20.10-r2 -" - -src_install() { - newinitd "${FILESDIR}"/display-manager-setup.initd display-manager-setup - newinitd "${FILESDIR}"/display-manager.initd-r1 display-manager - newinitd "${FILESDIR}"/xdm.initd xdm - newconfd "${FILESDIR}"/display-manager.confd display-manager - newbin "${FILESDIR}"/startDM-r1 startDM - # backwards compatibility - dosym "${ESYSROOT}"/usr/bin/startDM /etc/X11/startDM.sh -} - -pkg_preinst() { - if [[ ${REPLACING_VERSIONS} == "" && -f "${EROOT}"/etc/conf.d/xdm && ! -f "${EROOT}"/etc/conf.d/display-manager ]]; then - cp -a "${EROOT}"/etc/conf.d/{xdm,display-manager} || die - fi - local rlevel using_xdm - using_xdm=no - for rlevel in boot default sysinit; do - if [[ -e "${EROOT}"/etc/runlevels/${rlevel}/xdm ]]; then - using_xdm=yes - fi - done - if [[ "${using_xdm}" = "yes" ]]; then - ewarn "The 'xdm' service has been replaced by new 'display-manager'" - ewarn "service, please switch now:" - ewarn - ewarn " # rc-update del xdm default" - ewarn " # rc-update add display-manager default" - ewarn - ewarn "Remember to run etc-update or dispatch-conf to update the" - ewarn "config protected service files." - fi -} diff --git a/gui-libs/display-manager-init/files/display-manager.initd-r1 b/gui-libs/display-manager-init/files/display-manager.initd-r1 deleted file mode 100644 index 9402e969f4a5..000000000000 --- a/gui-libs/display-manager-init/files/display-manager.initd-r1 +++ /dev/null @@ -1,236 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License, v2 - -# This is here to serve as a note to myself, and future developers. -# -# Any Display manager (gdm,kdm,xdm) has the following problem: if -# it is started before any getty, and no vt is specified, it will -# usually run on vt2. When the getty on vt2 then starts, and the -# DM is already started, the getty will take control of the keyboard, -# leaving us with a "dead" keyboard. -# -# Resolution: add the following line to /etc/inittab -# -# x:a:once:/usr/bin/startDM -# -# and have /usr/bin/startDM start the DM in daemon mode if -# a lock is present (with the info of what DM should be started), -# else just fall through. -# -# How this basically works, is the "a" runlevel is a additional -# runlevel that you can use to fork processes with init, but the -# runlevel never gets changed to this runlevel. Along with the "a" -# runlevel, the "once" key word means that startDM will only be -# run when we specify it to run, thus eliminating respawning -# startDM when "display-manager" is not added to the default -# runlevel, as was done previously. -# -# This script then just calls "telinit a", and init will run -# /usr/bin/startDM after the current runlevel completes (this -# script should only be added to the actual runlevel the user is -# using). -# -# Martin Schlemmer -# aka Azarah -# 04 March 2002 - -depend() { - need localmount display-manager-setup - - # this should start as early as possible - # we can't do 'before *' as that breaks it - # (#139824) Start after ypbind and autofs for network authentication - # (#145219 #180163) Could use lirc mouse as input device - # (#70689 comment #92) Start after consolefont to avoid display corruption - # (#291269) Start after quota, since some dm need readable home - # (#390609) gdm-3 will fail when dbus is not running - # (#366753) starting keymaps after X causes problems - # (#768834) race condition with elogind - after bootmisc consolefont modules netmount - after readahead-list ypbind autofs openvpn gpm lircmd - after quota keymaps - after elogind - before alsasound - - # Start before GUI - use dbus xfs -} - -setup_dm() { - local MY_XDM - - MY_XDM=$(echo "${DISPLAYMANAGER}" | tr '[:upper:]' '[:lower:]') - - NAME= - case "${MY_XDM}" in - kdm|kde) - # Load our root path from profile.env - # Needed for kdm - PATH=${PATH}:$(. /etc/profile.env; echo "${ROOTPATH}") - EXE=/usr/bin/kdm - PIDFILE=/run/kdm.pid - ;; - entrance*) - EXE=/usr/sbin/entrance - PIDFILE=/run/entrance.pid - ;; - gdm|gnome) - # gdm-3 and above has different paths - if [ -f /usr/sbin/gdm ]; then - EXE=/usr/sbin/gdm - PIDFILE=/run/gdm/gdm.pid - START_STOP_ARGS="--background" - AUTOCLEAN_CGROUP="yes" - else - EXE=/usr/bin/gdm - PIDFILE=/run/gdm.pid - fi - [ "${RC_UNAME}" != "Linux" ] && NAME=gdm-binary - ;; - greetd) - EXE=/usr/bin/greetd - PIDFILE=/run/greetd.pid - START_STOP_ARGS="-m --background" - ;; - wdm) - EXE=/usr/bin/wdm - PIDFILE= - ;; - gpe) - EXE=/usr/bin/gpe-dm - PIDFILE=/run/gpe-dm.pid - ;; - lxdm) - EXE=/usr/sbin/lxdm-binary - PIDFILE=/run/lxdm.pid - START_STOP_ARGS="--background" - ;; - lightdm) - EXE=/usr/sbin/lightdm - PIDFILE=/run/lightdm.pid - START_STOP_ARGS="--background" - ;; - sddm) - EXE="/usr/bin/sddm" - START_STOP_ARGS="-m --background" - PIDFILE=/run/sddm.pid - ;; - *) - # first find out if there is such executable - EXE="$(command -v ${MY_XDM} 2>/dev/null)" - PIDFILE="/run/${MY_XDM}.pid" - - # warn user that they are doing sick things if the exe was not found - if [ -z "${EXE}" ]; then - echo "ERROR: Your XDM value is invalid." - echo " No ${MY_XDM} executable could be found on your system." - fi - ;; - esac - - if ! [ -x "${EXE}" ]; then - EXE=/usr/bin/xdm - PIDFILE=/run/xdm.pid - if ! [ -x "/usr/bin/xdm" ]; then - echo "ERROR: Please set your DISPLAYMANAGER variable in /etc/conf.d/xdm," - echo " or install x11-apps/xdm package" - eend 255 - fi - fi -} - -# Check to see if something is defined on our VT -vtstatic() { - if [ -e /etc/inittab ] ; then - grep -Eq "^[^#]+.*\<tty$1\>" /etc/inittab - elif [ -e /etc/ttys ] ; then - grep -q "^ttyv$(($1 - 1))" /etc/ttys - else - return 1 - fi -} - -start() { - local EXE NAME PIDFILE AUTOCLEAN_CGROUP - setup_dm - - if [ -f /run/.nogui ]; then - einfo "Skipping ${EXE##*/}, /run/.nogui found or 'nogui' bootparam passed." - rm /run/.nogui - return 0 - fi - - ebegin "Setting up ${EXE##*/}" - - # save the prefered DM - save_options "service" "${EXE}" - save_options "name" "${NAME}" - save_options "pidfile" "${PIDFILE}" - save_options "start_stop_args" "${START_STOP_ARGS}" - save_options "autoclean_cgroup" "${AUTOCLEAN_CGROUP:-no}" - - if [ -n "${CHECKVT-y}" ] ; then - if vtstatic "${CHECKVT:-7}" ; then - if [ -x /sbin/telinit ] && [ "${SOFTLEVEL}" != "BOOT" ] && [ "${RC_SOFTLEVEL}" != "BOOT" ]; then - ewarn "Something is already defined on VT ${CHECKVT:-7}, will start X later" - telinit a >/dev/null 2>&1 - return 0 - else - eerror "Something is already defined on VT ${CHECKVT:-7}, not starting" - return 1 - fi - fi - fi - - /usr/bin/startDM - eend 0 -} - -stop() { - local curvt retval - - retval=0 - if [ -t 0 ]; then - if type fgconsole >/dev/null 2>&1; then - curvt=$(fgconsole 2>/dev/null) - else - curvt=$(tty) - case "${curvt}" in - /dev/ttyv[0-9]*) curvt=${curvt#/dev/ttyv} ;; - *) curvt= ;; - esac - fi - fi - local myexe myname mypidfile myservice - myexe=$(get_options "service") - myname=$(get_options "name") - mypidfile=$(get_options "pidfile") - myservice=${myexe##*/} - yesno "${rc_cgroup_cleanup:-no}" || rc_cgroup_cleanup=$(get_options "autoclean_cgroup") - - [ -z "${myexe}" ] && return 0 - - ebegin "Stopping ${myservice}" - - if start-stop-daemon --quiet --test --stop --exec "${myexe}" 2>/dev/null; then - start-stop-daemon --stop --exec "${myexe}" --retry TERM/5/TERM/5 \ - "${mypidfile:+--pidfile}" "${mypidfile}" \ - "${myname:+--name}" "${myname}" - retval=${?} - fi - - # switch back to original vt - if [ -n "${curvt}" ]; then - if type chvt >/dev/null 2>&1; then - chvt "${curvt}" - else - vidcontrol -s "$((curvt + 1))" - fi - fi - - eend ${retval} "Error stopping ${myservice}" - return ${retval} -} - -# vim: set ts=4 : diff --git a/gui-libs/gtk/Manifest b/gui-libs/gtk/Manifest index a78c62a2b87a..99dc2c47991c 100644 --- a/gui-libs/gtk/Manifest +++ b/gui-libs/gtk/Manifest @@ -1,3 +1,5 @@ DIST gtk-4.6.6.tar.xz 23085304 BLAKE2B 2f0eacb9aaa3fad4e8d99feeadc93e04151f6c4552412d5b7485b972e97c8c9a7296143b39791e9e3230546770174a208ba6906179b9fed37414ee83a1980abb SHA512 b743d99029d7d51db19396641023eefd5d25bbacbd89ad6660d43e382b26fe6cc5e9ce8f0dbb3f4ac7d2143db617ea0c2e2d3cc8926fc93d735eb76ffb2f8309 +DIST gtk-4.6.7.tar.xz 22885556 BLAKE2B ff3647fbb87fb7743c6aaf84f4de463275ff5816ccdba7f29425ee5268677e53ef56507ddd71447def5a1707e7509958068d5b8a7c64816cc3a1541691d7a262 SHA512 7f9068f66b472e796c1611625a34466b13aa51bce2dfc7661928e6d8087ed39ed0f6adf47a6691609b85540c588621bebc5951e81435277071abe7d2facf28bb EBUILD gtk-4.6.6.ebuild 5745 BLAKE2B c090fbea68e8d23d71acbffa6edb1aeeb8e608b590bdd91b4cc62cfe87dc2d1cf9188b32f40ced56dab76720f405cd72b96a9122025b139baf31d30b410d378a SHA512 8882fa618521b5142904b8cee86eab996f3ab11cefa3727e9b3e58b409cbe9968a644f64790233f8629b8dcc0ba63e645c9b480e929921c5c2440cef2d8e3238 +EBUILD gtk-4.6.7.ebuild 5751 BLAKE2B 86ced14f38da4d73952ba9696731fbb320ca0aeb982f10d94d59431c45e7f085a4f8b42eeb86ebb8a92b054e9692168ce10daf0cf95d3f079f1962325186fa21 SHA512 4c57a850a9aafe4a8f48c88d7a97d0652fbdbbda2cab4689fe6f5665526f54067c1212aeb9261c2f471a26490b602ee396ff6d7ce376021d3bc0c3b676da1fb6 MISC metadata.xml 690 BLAKE2B 4ae68aa63a0aea931c3584ac288ac62226bc1a78395dad3e7401f1988d4ab45d3895eb8149f1c06a849e1e27926097d8aa09dd5a33a2bf8b4ce52e4e1694b1e0 SHA512 ff6bd9799fe0f9e3e922744ed78cc9db278801e6e2d309fbf146535b061670f5f9162946ddf76cdf3d0e4defca16657ba39b3af81e5bcf2423385c74fc299779 diff --git a/gui-libs/gtk/gtk-4.6.7.ebuild b/gui-libs/gtk/gtk-4.6.7.ebuild new file mode 100644 index 000000000000..5901072e16fc --- /dev/null +++ b/gui-libs/gtk/gtk-4.6.7.ebuild @@ -0,0 +1,212 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..11} ) +inherit gnome.org gnome2-utils meson optfeature python-any-r1 virtualx xdg + +DESCRIPTION="GTK is a multi-platform toolkit for creating graphical user interfaces" +HOMEPAGE="https://www.gtk.org/ https://gitlab.gnome.org/GNOME/gtk/" + +LICENSE="LGPL-2+" +SLOT="4" +IUSE="aqua broadway colord cups examples ffmpeg gstreamer +introspection sysprof test vulkan wayland +X cpu_flags_x86_f16c" +REQUIRED_USE=" + || ( aqua wayland X ) + test? ( introspection ) +" + +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + +COMMON_DEPEND=" + >=dev-libs/fribidi-0.19.7 + >=dev-libs/glib-2.66.0:2 + >=media-libs/graphene-1.9.1[introspection?] + >=media-libs/libepoxy-1.4[egl,X(+)?] + >=x11-libs/cairo-1.14[aqua?,glib,svg,X?] + >=x11-libs/gdk-pixbuf-2.30:2[introspection?] + >=x11-libs/pango-1.50.0[introspection?] + media-libs/libpng:0= + media-libs/tiff:0= + media-libs/libjpeg-turbo:0= + >=media-libs/harfbuzz-2.1.0:= + x11-misc/shared-mime-info + + colord? ( >=x11-misc/colord-0.1.9:0= ) + cups? ( >=net-print/cups-2.0 ) + ffmpeg? ( media-video/ffmpeg ) + gstreamer? ( + >=media-libs/gst-plugins-bad-1.12.3 + >=media-libs/gst-plugins-base-1.12.3[opengl] + ) + introspection? ( >=dev-libs/gobject-introspection-1.39:= ) + vulkan? ( media-libs/vulkan-loader:= ) + wayland? ( + >=dev-libs/wayland-1.20.0 + >=dev-libs/wayland-protocols-1.23 + media-libs/mesa[wayland] + >=x11-libs/libxkbcommon-0.2 + ) + X? ( + >=app-accessibility/at-spi2-atk-2.5.3 + media-libs/fontconfig + media-libs/mesa[X(+)] + x11-libs/libX11 + >=x11-libs/libXi-1.8 + x11-libs/libXext + >=x11-libs/libXrandr-1.5 + x11-libs/libXcursor + x11-libs/libXfixes + x11-libs/libXdamage + x11-libs/libXinerama + ) +" +DEPEND="${COMMON_DEPEND} + sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 ) + X? ( x11-base/xorg-proto ) +" +RDEPEND="${COMMON_DEPEND} + >=dev-util/gtk-update-icon-cache-3 +" +# librsvg for svg icons (PDEPEND to avoid circular dep), bug #547710 +PDEPEND=" + gnome-base/librsvg + >=x11-themes/adwaita-icon-theme-3.14 +" +BDEPEND=" + dev-libs/gobject-introspection-common + introspection? ( + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/pygobject:3[${PYTHON_USEDEP}] + ') + ) + dev-python/docutils + >=dev-util/gdbus-codegen-2.48 + dev-util/glib-utils + >=sys-devel/gettext-0.19.7 + virtual/pkgconfig + test? ( + dev-libs/glib:2 + wayland? ( dev-libs/weston[headless] ) + ) +" + +python_check_deps() { + python_has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]" || return +} + +pkg_setup() { + use introspection && python-any-r1_pkg_setup +} + +src_prepare() { + default + xdg_environment_reset + + # dev-python/docutils installs rst2man.py, not rst2man + sed -i -e "s/'rst2man'/'rst2man.py'/" docs/reference/gtk/meson.build || die + # Nothing should use gtk4-update-icon-cache and an unversioned one is shipped by dev-util/gtk-update-icon-cache + sed -i -e '/gtk4-update-icon-cache/d' tools/meson.build || die + # Workaround RWX ELF sections, https://gitlab.gnome.org/GNOME/gtk/-/issues/4598 + sed -i -e 's/^ld =.*/ld = disabler()/g' gtk/meson.build demos/gtk-demo/meson.build demos/widget-factory/meson.build || die + sed -i -e 's/^objcopy =.*/objcopy = disabler()/g' gtk/meson.build demos/gtk-demo/meson.build demos/widget-factory/meson.build || die +} + +src_configure() { + local emesonargs=( + # GDK backends + $(meson_use X x11-backend) + $(meson_use wayland wayland-backend) + $(meson_use broadway broadway-backend) + -Dwin32-backend=false + $(meson_use aqua macos-backend) + + # Media backends + $(meson_feature ffmpeg media-ffmpeg) + $(meson_feature gstreamer media-gstreamer) + + # Print backends + $(meson_feature cups print-cups) + + # Optional dependencies + $(meson_feature vulkan) + -Dcloudproviders=disabled # cloudprovider is not packaged in Gentoo yet + $(meson_feature sysprof) + -Dtracker=disabled # tracker3 is not packaged in Gentoo yet + $(meson_feature colord) + # Expected to fail with GCC < 11 + # See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71993 + $(meson_feature cpu_flags_x86_f16c f16c) + + # Documentation and introspection + -Dgtk_doc=false # we ship pregenerated API docs from tarball + -Dman-pages=true + $(meson_feature introspection) + + # Demos and binaries + $(meson_use examples build-examples) + $(meson_use examples demos) + $(meson_use test build-tests) + -Dinstall-tests=false + ) + meson_src_configure +} + +src_test() { + "${BROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/gtk" || die + + if use X; then + einfo "Running tests under X" + GSETTINGS_SCHEMA_DIR="${S}/gtk" virtx meson_src_test --setup=x11 + fi + + if use wayland; then + einfo "Running tests under Weston" + + export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XXXXXX)" + + weston --backend=headless-backend.so --socket=wayland-5 --idle-time=0 & + compositor=$! + export WAYLAND_DISPLAY=wayland-5 + + GSETTINGS_SCHEMA_DIR="${S}/gtk" meson_src_test --setup=wayland + + exit_code=$? + kill ${compositor} + fi +} + +src_install() { + meson_src_install + + insinto /usr/share/gtk-doc/html + # This will install API docs specific to X11 and wayland regardless of USE flags, but this is intentional + doins -r "${S}"/docs/reference/{gtk/gtk4,gsk/gsk4,gdk/gdk4{,-wayland,-x11}} +} + +pkg_preinst() { + xdg_pkg_preinst + gnome2_schemas_savelist +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update + + if ! has_version "app-text/evince"; then + elog "Please install app-text/evince for print preview functionality." + elog "Alternatively, check \"gtk-print-preview-command\" documentation and" + elog "add it to your settings.ini file." + fi + + if use examples ; then + optfeature "syntax highlighting in gtk4-demo" app-text/highlight + fi +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} |