summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRepository mirror & CI <repomirrorci@gentoo.org>2023-11-01 19:16:52 +0000
committerRepository mirror & CI <repomirrorci@gentoo.org>2023-11-01 19:16:52 +0000
commit192c12252b8101ce55473a0580dd5333280dce17 (patch)
treef4a738315f1b6f6d5ae59caf65472c156ba024d7
parent2023-11-01 17:31:59 UTC (diff)
parentgnome-extra/gnome-shell-extensions: add 45.1 (diff)
downloadgentoo-192c12252b8101ce55473a0580dd5333280dce17.tar.gz
gentoo-192c12252b8101ce55473a0580dd5333280dce17.tar.bz2
gentoo-192c12252b8101ce55473a0580dd5333280dce17.zip
Merge updates from master
-rw-r--r--app-misc/tracker-miners/Manifest2
-rw-r--r--app-misc/tracker-miners/tracker-miners-3.5.4.ebuild173
-rw-r--r--app-misc/tracker-miners/tracker-miners-3.6.2.ebuild177
-rw-r--r--dev-python/cycler/cycler-0.12.1.ebuild2
-rw-r--r--dev-python/fonttools/fonttools-4.43.1.ebuild2
-rw-r--r--dev-python/mistune/mistune-3.0.2.ebuild2
-rw-r--r--gnome-base/gnome-shell/Manifest1
-rw-r--r--gnome-base/gnome-shell/gnome-shell-45.1.ebuild188
-rw-r--r--gnome-extra/gnome-shell-extensions/Manifest1
-rw-r--r--gnome-extra/gnome-shell-extensions/gnome-shell-extensions-45.1.ebuild70
-rw-r--r--media-libs/sdl2-gfx/sdl2-gfx-1.0.4-r1.ebuild2
-rw-r--r--media-libs/sdl2-pango/sdl2-pango-2.1.5.ebuild2
-rw-r--r--profiles/targets/desktop/gnome/package.use7
-rw-r--r--x11-wm/mutter/Manifest1
-rw-r--r--x11-wm/mutter/mutter-45.1.ebuild235
-rw-r--r--x11-wm/mutter/mutter-9999.ebuild37
-rw-r--r--xfce-extra/xfce4-pulseaudio-plugin/xfce4-pulseaudio-plugin-0.4.8.ebuild2
17 files changed, 879 insertions, 25 deletions
diff --git a/app-misc/tracker-miners/Manifest b/app-misc/tracker-miners/Manifest
index c9f698e5ff80..9ff1854dd718 100644
--- a/app-misc/tracker-miners/Manifest
+++ b/app-misc/tracker-miners/Manifest
@@ -1,3 +1,5 @@
DIST tracker-miners-3.5.2.tar.xz 7513024 BLAKE2B 6f144bb5e263c08c32b940dd18f98faa4201cfa1c40fa9c97b7e0406b6ed1c9547b1925337e0b3a7e5448dd7c2518b78f62e04e5beab221a55f464506baa151b SHA512 adb29549c94c68a46e2c5ede8a51bac2d014f772a5dc1c63f5cc6950da7f941e735bf5858c3306d2ad988ce2f60126bc97e5db746afe757b9b7cbc4f90518648
DIST tracker-miners-3.5.3.tar.xz 7513760 BLAKE2B 5241cdd1265a2d90a85870c6e2c6e34fd447e0baf73224c159d9d2998f97a001fb52473b60ad9623af2f874638a182b1edfebad61788b60ba16c21b7e8ce661a SHA512 9855b667d6bf47e1739ae2118e54c299274b23624f54ea5ccbfcbde790a2fc817fee8d95e112ffb7b0de39faa304182845c1aa40f2ac0531e37a090f7cdcec63
+DIST tracker-miners-3.5.4.tar.xz 7514024 BLAKE2B 6a0b61d7b708028a8f37525d2a173e3776ba2c4280e283d9d247efee605fe6e926f5719500a8e8810b2e973d8b438812ce9474449d776b42872e3830f8f15f22 SHA512 4b05cd6164ee0d0d5e29b27c668b3912342719dc6831500f6c953a87902defda532af66aa59aa795fea1f2ca27c3691493e1bdc2a59208f28f6eb76a1f7b98c8
DIST tracker-miners-3.6.1.tar.xz 7506716 BLAKE2B 73791820082611023f0a275eca0b92eea8cbbf56cd198143c43f1d9be4b47c2004de081618767dd8a929d899b4fa19128d1ddb2c03988b86c7b638b59cab6c09 SHA512 08685983e6ffd9b6ce435465e8996c07fd83775c0f00cafa991fbb1bda6227bb6ef52cfad7ebc9fa5854b06c4ee15d6f94dc81192efa9e9d798f22cee404026f
+DIST tracker-miners-3.6.2.tar.xz 7506528 BLAKE2B d0da1caaa72467ec03c7e3c35cbee48aca08dca59d45d11e5f5f887d75954dbac0671d5698226c9cb89e97b3a76b318013ca17f8508ec3f867758662f53b25b7 SHA512 032c96d41e02ed15b56937ea543428aef7b45ce4c206b749e6a99506dd48dd760e45b12563846a3208f0da42387d0547de9eef1fcb54d93cdbca4aad52050af4
diff --git a/app-misc/tracker-miners/tracker-miners-3.5.4.ebuild b/app-misc/tracker-miners/tracker-miners-3.5.4.ebuild
new file mode 100644
index 000000000000..4cfd4892b132
--- /dev/null
+++ b/app-misc/tracker-miners/tracker-miners-3.5.4.ebuild
@@ -0,0 +1,173 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit flag-o-matic gnome.org gnome2-utils meson python-any-r1 systemd xdg
+
+DESCRIPTION="Collection of data extractors for Tracker/Nepomuk"
+HOMEPAGE="https://wiki.gnome.org/Projects/Tracker"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="3"
+IUSE="cue exif ffmpeg gif gsf +gstreamer iptc +iso +jpeg networkmanager +pdf +playlist raw +rss seccomp test +tiff upower +xml xmp xps"
+
+REQUIRED_USE="cue? ( gstreamer )" # cue is currently only supported via gstreamer, not ffmpeg
+RESTRICT="!test? ( test )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+# tracker-2.1.7 currently always depends on ICU (theoretically could be libunistring instead); so choose ICU over enca always here for the time being (ICU is preferred)
+RDEPEND="
+ >=dev-libs/glib-2.70:2
+ >=app-misc/tracker-3.5.0:3
+
+ >=sys-apps/dbus-1.3.1
+ xmp? ( >=media-libs/exempi-2.1.0:= )
+ raw? ( media-libs/gexiv2 )
+ cue? ( media-libs/libcue:= )
+ exif? ( >=media-libs/libexif-0.6 )
+ gsf? ( >=gnome-extra/libgsf-1.14.24:= )
+ xps? ( app-text/libgxps )
+ iptc? ( media-libs/libiptcdata )
+ jpeg? ( media-libs/libjpeg-turbo:0= )
+ iso? ( >=sys-libs/libosinfo-1.10.0-r1 )
+ >=media-libs/libpng-1.2:0=
+ seccomp? ( >=sys-libs/libseccomp-2.0 )
+ tiff? ( media-libs/tiff:= )
+ xml? ( >=dev-libs/libxml2-2.6 )
+ pdf? ( >=app-text/poppler-0.16.0:=[cairo] )
+ playlist? ( >=dev-libs/totem-pl-parser-3:= )
+ sys-apps/util-linux
+
+ gif? ( media-libs/giflib:= )
+
+ networkmanager? ( net-misc/networkmanager )
+
+ rss? ( >=net-libs/libgrss-0.7:0 )
+ app-arch/gzip
+
+ upower? ( >=sys-power/upower-0.9.0:= )
+
+ >=dev-libs/icu-4.8.1.1:=
+
+ gstreamer? (
+ >=media-libs/gstreamer-1.20:1.0
+ >=media-libs/gst-plugins-base-1.20:1.0
+ >=media-plugins/gst-plugins-meta-1.20:1.0 )
+ !gstreamer? (
+ ffmpeg? ( media-video/ffmpeg:0= ) )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-text/asciidoc
+ dev-libs/libxslt
+ dev-util/glib-utils
+ dev-util/gdbus-codegen
+
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ test? (
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep 'dev-python/pygobject[${PYTHON_USEDEP}]')
+ $(python_gen_any_dep 'dev-python/tappy[${PYTHON_USEDEP}]')
+ gstreamer? (
+ media-libs/gstreamer:1.0[introspection]
+ || (
+ media-plugins/gst-plugins-libav:1.0
+ media-plugins/gst-plugins-openh264:1.0
+ )
+ )
+ )
+"
+
+python_check_deps() {
+ python_has_version -b \
+ "dev-python/pygobject[${PYTHON_USEDEP}]" \
+ "dev-python/tappy[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Avoid gst-inspect calls that may trigger sandbox; instead assume the detection will succeed and add the needed test deps for that
+ if use gstreamer; then
+ sed -i -e 's:detect-h264-codec.sh:/bin/true:' tests/functional-tests/meson.build || die
+ else
+ sed -i -e 's:detect-h264-codec.sh:/bin/false:' tests/functional-tests/meson.build || die
+ fi
+ gnome2_environment_reset # sets gstreamer safety variables
+}
+
+src_configure() {
+ append-cflags -DTRACKER_DEBUG -DG_DISABLE_CAST_CHECKS
+
+ local media_extractor="none"
+ if use gstreamer ; then
+ media_extractor="gstreamer"
+ elif use ffmpeg ; then
+ media_extractor="libav"
+ fi
+
+ local emesonargs=(
+ -Dtracker_core=system
+
+ -Dman=true
+ -Dextract=true
+ $(meson_use test functional_tests)
+ $(meson_use test tests_tap_protocol)
+ -Dminer_fs=true
+ $(meson_use rss miner_rss)
+ -Dwriteback=true
+ -Dabiword=true
+ -Dicon=true
+ -Dmp3=true
+ -Dps=true
+ -Dtext=true
+ -Dunzip_ps_gz_files=true # spawns gunzip
+
+ $(meson_feature networkmanager network_manager)
+ $(meson_feature cue)
+ $(meson_feature exif)
+ $(meson_feature gif)
+ $(meson_feature gsf)
+ $(meson_feature iptc)
+ $(meson_feature iso)
+ $(meson_feature jpeg)
+ $(meson_feature pdf)
+ $(meson_feature playlist)
+ -Dpng=enabled
+ $(meson_feature raw)
+ $(meson_feature tiff)
+ $(meson_feature xml)
+ $(meson_feature xmp)
+ $(meson_feature xps)
+
+ -Dbattery_detection=$(usex upower upower none)
+ -Dcharset_detection=icu # enca is a possibility, but right now we have tracker core always dep on icu and icu is preferred over enca
+ -Dgeneric_media_extractor=${media_extractor}
+ # gupnp gstreamer_backend is in bad state, upstream suggests to use discoverer, which is the default
+ -Dsystemd_user_services_dir="$(systemd_get_userunitdir)"
+ )
+ meson_src_configure
+}
+
+src_test() {
+ export GSETTINGS_BACKEND="dconf" # Tests require dconf and explicitly check for it (env_reset set it to "memory")
+ dbus-run-session meson test -C "${BUILD_DIR}" || die 'tests failed'
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/app-misc/tracker-miners/tracker-miners-3.6.2.ebuild b/app-misc/tracker-miners/tracker-miners-3.6.2.ebuild
new file mode 100644
index 000000000000..d4adb19cc0c5
--- /dev/null
+++ b/app-misc/tracker-miners/tracker-miners-3.6.2.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit flag-o-matic gnome.org gnome2-utils meson python-any-r1 systemd xdg
+
+DESCRIPTION="Collection of data extractors for Tracker/Nepomuk"
+HOMEPAGE="https://wiki.gnome.org/Projects/Tracker"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="3"
+IUSE="cue exif ffmpeg gif gsf +gstreamer iptc +iso +jpeg networkmanager +pdf +playlist raw +rss seccomp test +tiff upower +xml xmp xps"
+
+REQUIRED_USE="cue? ( gstreamer )" # cue is currently only supported via gstreamer, not ffmpeg
+RESTRICT="!test? ( test )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+# tracker-2.1.7 currently always depends on ICU (theoretically could be libunistring instead);
+# so choose ICU over enca always here for the time being (ICU is preferred)
+RDEPEND="
+ >=dev-libs/glib-2.70:2
+ >=app-misc/tracker-3.6_rc:3
+
+ >=sys-apps/dbus-1.3.1
+ xmp? ( >=media-libs/exempi-2.1.0:= )
+ raw? ( media-libs/gexiv2 )
+ cue? ( media-libs/libcue:= )
+ exif? ( >=media-libs/libexif-0.6 )
+ gsf? ( >=gnome-extra/libgsf-1.14.24:= )
+ xps? ( app-text/libgxps )
+ iptc? ( media-libs/libiptcdata )
+ jpeg? ( media-libs/libjpeg-turbo:0= )
+ iso? ( >=sys-libs/libosinfo-1.10.0-r1 )
+ >=media-libs/libpng-1.2:0=
+ seccomp? ( >=sys-libs/libseccomp-2.0 )
+ tiff? ( media-libs/tiff:= )
+ xml? ( >=dev-libs/libxml2-2.6 )
+ pdf? ( >=app-text/poppler-0.16.0:=[cairo] )
+ playlist? ( >=dev-libs/totem-pl-parser-3:= )
+ sys-apps/util-linux
+
+ gif? ( media-libs/giflib:= )
+
+ networkmanager? ( net-misc/networkmanager )
+
+ rss? ( >=net-libs/libgrss-0.7:0 )
+ app-arch/gzip
+
+ upower? ( >=sys-power/upower-0.9.0:= )
+
+ >=dev-libs/icu-4.8.1.1:=
+
+ gstreamer? (
+ >=media-libs/gstreamer-1.20:1.0
+ >=media-libs/gst-plugins-base-1.20:1.0
+ >=media-plugins/gst-plugins-meta-1.20:1.0 )
+ !gstreamer? (
+ ffmpeg? ( media-video/ffmpeg:0= ) )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-text/asciidoc
+ dev-libs/libxslt
+ dev-util/glib-utils
+ dev-util/gdbus-codegen
+
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ test? (
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep 'dev-python/pygobject[${PYTHON_USEDEP}]')
+ $(python_gen_any_dep 'dev-python/tappy[${PYTHON_USEDEP}]')
+ gstreamer? (
+ media-libs/gstreamer:1.0[introspection]
+ || (
+ media-plugins/gst-plugins-libav:1.0
+ media-plugins/gst-plugins-openh264:1.0
+ )
+ )
+ )
+"
+
+python_check_deps() {
+ python_has_version -b \
+ "dev-python/pygobject[${PYTHON_USEDEP}]" \
+ "dev-python/tappy[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Avoid gst-inspect calls that may trigger sandbox;
+ # instead assume the detection will succeed and add the needed test deps for that
+ if use gstreamer; then
+ sed -i -e 's:detect-h264-codec.sh:/bin/true:' tests/functional-tests/meson.build || die
+ else
+ sed -i -e 's:detect-h264-codec.sh:/bin/false:' tests/functional-tests/meson.build || die
+ fi
+ gnome2_environment_reset # sets gstreamer safety variables
+}
+
+src_configure() {
+ append-cflags -DTRACKER_DEBUG -DG_DISABLE_CAST_CHECKS
+
+ local media_extractor="none"
+ if use gstreamer ; then
+ media_extractor="gstreamer"
+ elif use ffmpeg ; then
+ media_extractor="libav"
+ fi
+
+ local emesonargs=(
+ -Dtracker_core=system
+
+ -Dman=true
+ -Dextract=true
+ $(meson_use test functional_tests)
+ $(meson_use test tests_tap_protocol)
+ -Dminer_fs=true
+ $(meson_use rss miner_rss)
+ -Dwriteback=true
+ -Dabiword=true
+ -Dicon=true
+ -Dmp3=true
+ -Dps=true
+ -Dtext=true
+ -Dunzip_ps_gz_files=true # spawns gunzip
+
+ $(meson_feature networkmanager network_manager)
+ $(meson_feature cue)
+ $(meson_feature exif)
+ $(meson_feature gif)
+ $(meson_feature gsf)
+ $(meson_feature iptc)
+ $(meson_feature iso)
+ $(meson_feature jpeg)
+ $(meson_feature pdf)
+ $(meson_feature playlist)
+ -Dpng=enabled
+ $(meson_feature raw)
+ $(meson_feature tiff)
+ $(meson_feature xml)
+ $(meson_feature xmp)
+ $(meson_feature xps)
+
+ -Dbattery_detection=$(usex upower upower none)
+ # enca is a possibility, but right now we have tracker core always dep on icu and icu is preferred over enca
+ -Dcharset_detection=icu
+ -Dgeneric_media_extractor=${media_extractor}
+ # gupnp gstreamer_backend is in bad state, upstream suggests to use discoverer, which is the default
+ -Dsystemd_user_services_dir="$(systemd_get_userunitdir)"
+ )
+ meson_src_configure
+}
+
+src_test() {
+ export GSETTINGS_BACKEND="dconf" # Tests require dconf and explicitly check for it (env_reset set it to "memory")
+ export PYTHONPATH="${EROOT}"/usr/$(get_libdir)/tracker-3.0
+ dbus-run-session meson test -C "${BUILD_DIR}" || die 'tests failed'
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/dev-python/cycler/cycler-0.12.1.ebuild b/dev-python/cycler/cycler-0.12.1.ebuild
index b4df8f7d8831..01fe7761de74 100644
--- a/dev-python/cycler/cycler-0.12.1.ebuild
+++ b/dev-python/cycler/cycler-0.12.1.ebuild
@@ -21,6 +21,6 @@ SRC_URI="
SLOT="0"
LICENSE="BSD"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos"
distutils_enable_tests pytest
diff --git a/dev-python/fonttools/fonttools-4.43.1.ebuild b/dev-python/fonttools/fonttools-4.43.1.ebuild
index 038c70fc9e05..211a57dae9dc 100644
--- a/dev-python/fonttools/fonttools-4.43.1.ebuild
+++ b/dev-python/fonttools/fonttools-4.43.1.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
RDEPEND="
>=dev-python/fs-2.4.9[${PYTHON_USEDEP}]
diff --git a/dev-python/mistune/mistune-3.0.2.ebuild b/dev-python/mistune/mistune-3.0.2.ebuild
index cebb95e81025..84e08e11881e 100644
--- a/dev-python/mistune/mistune-3.0.2.ebuild
+++ b/dev-python/mistune/mistune-3.0.2.ebuild
@@ -16,6 +16,6 @@ HOMEPAGE="
SLOT="0"
LICENSE="BSD"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
distutils_enable_tests pytest
diff --git a/gnome-base/gnome-shell/Manifest b/gnome-base/gnome-shell/Manifest
index 09b1c88b8d9a..b54035dcaf3b 100644
--- a/gnome-base/gnome-shell/Manifest
+++ b/gnome-base/gnome-shell/Manifest
@@ -1,3 +1,4 @@
DIST gnome-shell-44.3.tar.xz 1995132 BLAKE2B cca266dc20de2a7e99590c72c68df07c0e1d3a3eda0aa2ceb8985202ce21be937df0d80089a9266a847eda485a823ae357dd894fb1c3e64bd77063d260547cc3 SHA512 0b8ce9b99f6276939faf8623c236fdb646e16609f1f9081e768f116cd19156f2d6c6da9a059783cbc0b2a0df5b5b748369a6bce0b728338092a3fe3b81cc14b6
DIST gnome-shell-44.4.tar.xz 1998208 BLAKE2B 951daccd448a353bde0503585393c1e8c870aa3bd86149639d7c85744c4eebfe0c44488bdb0012883ae17e428e895268a0a687c6901c5797f58dfa87ff26779f SHA512 03a29a7e662a93388981f4ae7186e135ce3e687c99318a8a27ba898fcd43114a27b5351227958ce17b239bde88442d9058c64bea2c6b027cc4f6ff2e194777d5
DIST gnome-shell-45.0.tar.xz 2018936 BLAKE2B 2606725c870f6fabc671034e909bd121a10c4f95a225216e5eff9af728422fbd42f26be1e21fe9795b75b89c644442cade93392cd8fe49fb4193303ae666e93d SHA512 cdf4bc58056b97f4a19f594ea5374d69ca5d2efc5d2a5330cc1d2b2c62719dac70134df6dcd6090551adf13be12a38a0e1e4480ee55884ebbd7afe918b3c53b6
+DIST gnome-shell-45.1.tar.xz 2017464 BLAKE2B f3e6fc28e05a2eb7a6ba9f0e99b33bf0aaa46e5e1e6e302331354e67c2caa380313017232e2ccc262d29ee52c79fb847d26eb05dc098f2c69105520a7a65e80a SHA512 cfecddd3787e0e719c00d0a543466165d94431086c1ca708cf7ebd43de42f8edf468ab46212b6120ca5676d61825c085232db509c076ecf38d159702fc13a861
diff --git a/gnome-base/gnome-shell/gnome-shell-45.1.ebuild b/gnome-base/gnome-shell/gnome-shell-45.1.ebuild
new file mode 100644
index 000000000000..22a92ed100bb
--- /dev/null
+++ b/gnome-base/gnome-shell/gnome-shell-45.1.ebuild
@@ -0,0 +1,188 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit gnome.org gnome2-utils meson optfeature python-single-r1 virtualx xdg
+
+DESCRIPTION="Provides core UI functions for the GNOME desktop"
+HOMEPAGE="https://wiki.gnome.org/Projects/GnomeShell https://gitlab.gnome.org/GNOME/gnome-shell"
+
+LICENSE="GPL-2+ LGPL-2+"
+SLOT="0"
+IUSE="elogind gtk-doc +ibus +networkmanager pipewire systemd test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ ?? ( elogind systemd )"
+RESTRICT="!test? ( test )"
+
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+
+# libXfixes-5.0 needed for pointer barriers and #include <X11/extensions/Xfixes.h>
+DEPEND="
+ >=gnome-extra/evolution-data-server-3.46.0:=
+ >=app-crypt/gcr-3.90.0:4=[introspection]
+ >=dev-libs/glib-2.68:2
+ >=dev-libs/gobject-introspection-1.49.1:=
+ >=dev-libs/gjs-1.73.1[cairo]
+ >=gui-libs/gtk-4:4[introspection]
+ >=x11-wm/mutter-45.0:0/13[introspection,test?]
+ >=sys-auth/polkit-0.120_p20220509[introspection]
+ >=gnome-base/gsettings-desktop-schemas-42_beta[introspection]
+ >=x11-libs/startup-notification-0.11
+ >=app-i18n/ibus-1.5.19
+ >=gnome-base/gnome-desktop-40.0:4=
+ networkmanager? (
+ >=net-misc/networkmanager-1.10.4[introspection]
+ net-libs/libnma[introspection]
+ >=app-crypt/libsecret-0.18
+ )
+ pipewire? ( >=media-video/pipewire-0.3.49:= )
+ systemd? (
+ >=sys-apps/systemd-246:=
+ >=gnome-base/gnome-desktop-3.34.2:3=[systemd]
+ )
+ elogind? ( >=sys-auth/elogind-237 )
+
+ app-arch/gnome-autoar
+ dev-libs/json-glib
+
+ >=app-accessibility/at-spi2-core-2.46:2[introspection]
+ x11-libs/gdk-pixbuf:2[introspection]
+ dev-libs/libxml2:2
+ x11-libs/libX11
+
+ >=media-libs/libpulse-2[glib]
+ dev-libs/libical:=
+ >=x11-libs/libXfixes-5.0
+
+ gui-libs/gtk:4[introspection]
+
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ ')
+ media-libs/libglvnd[X]
+"
+# Runtime-only deps are probably incomplete and approximate.
+# Introspection deps generated from inspection of the output of:
+# for i in `rg -INUo 'const(?s).*imports.gi' |cut -d= -f1 |cut -c7- |sort -u`; do echo $i ;done |cut -d, -f1 |sort -u
+# or
+# rg -INUo 'const(?s).*imports.gi' |cut -d= -f1 |cut -c7- | sed -e 's:[{}]::g' | awk '{$1=$1; print}' | awk -F',' '{$1=$1;print}' | tr ' ' '\n' | sort -u | sed -e 's/://g'
+# These will give a lot of unnecessary things due to greedy matching (TODO), and `(?s).*?` doesn't seem to work as desired.
+# Compare with `grep -rhI 'imports.gi.versions' |sort -u` for any SLOT requirements
+# Each block:
+# 1. Introspection stuff needed via imports.gi (those that build time check may be listed above already)
+# 2. gnome-session needed for shutdown/reboot/inhibitors/etc
+# 3. Control shell settings
+# 4. xdg-utils needed for xdg-open, used by extension tool
+# 5. adwaita-icon-theme needed for various icons & arrows (3.26 for new video-joined-displays-symbolic and co icons; review for 3.28+)
+# 6. mobile-broadband-provider-info, timezone-data for shell-mobile-providers.c # TODO: Review
+# 7. IBus is needed for nls integration
+# 8. Cantarell font used in gnome-shell global CSS (if removing this for some reason, make sure it's pulled in somehow for non-meta users still too)
+# 9. xdg-desktop-portal-gtk for various integration, e.g. #764632
+# 10. TODO: semi-optional webkit-gtk[introspection] for captive portal helper
+RDEPEND="${DEPEND}
+ >=sys-apps/accountsservice-0.6.14[introspection]
+ app-accessibility/at-spi2-core:2[introspection]
+ app-misc/geoclue:2.0[introspection]
+ media-libs/graphene[introspection]
+ x11-libs/pango[introspection]
+ net-libs/libsoup:3.0[introspection]
+ >=sys-power/upower-0.99:=[introspection]
+ gnome-base/librsvg:2[introspection]
+ gui-libs/libadwaita:1[introspection]
+
+ >=gnome-base/gnome-session-2.91.91
+ >=gnome-base/gnome-settings-daemon-3.8.3
+
+ x11-misc/xdg-utils
+
+ >=x11-themes/adwaita-icon-theme-3.26
+
+ networkmanager? (
+ net-misc/mobile-broadband-provider-info
+ sys-libs/timezone-data
+ )
+ ibus? ( >=app-i18n/ibus-1.5.26[gtk3,gtk4,introspection] )
+ media-fonts/cantarell
+
+ sys-apps/xdg-desktop-portal-gnome
+"
+# avoid circular dependency, see bug #546134
+PDEPEND="
+ >=gnome-base/gdm-3.5[introspection(+)]
+ >=gnome-base/gnome-control-center-3.26[networkmanager(+)?]
+"
+BDEPEND="
+ dev-libs/libxslt
+ >=dev-util/gdbus-codegen-2.45.3
+ dev-util/glib-utils
+ gtk-doc? ( >=dev-util/gtk-doc-1.17
+ app-text/docbook-xml-dtd:4.5 )
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ test? (
+ sys-apps/dbus
+ x11-wm/mutter[test]
+ )
+"
+# These are not needed from tarballs, unless stylesheets or manpage get patched with patchset:
+# dev-lang/sassc
+# app-text/asciidoc
+
+PATCHES=(
+ # Change favorites defaults, bug #479918
+ "${FILESDIR}"/40.0-defaults.patch
+)
+
+src_prepare() {
+ default
+ xdg_environment_reset
+ # Hack in correct python shebang
+ sed -e "s:python\.full_path():'/usr/bin/env ${EPYTHON}':" -i src/meson.build || die
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use pipewire camera_monitor)
+ -Dextensions_tool=true
+ -Dextensions_app=true
+ $(meson_use gtk-doc gtk_doc)
+ -Dman=true
+ $(meson_use test tests)
+ $(meson_use networkmanager)
+ $(meson_use systemd) # this controls journald integration and desktop file user services related property only as of 3.34.4
+ # (structured logging and having gnome-shell launched apps use its own identifier instead of gnome-session)
+ # suspend support is runtime optional via /run/systemd/seats presence and org.freedesktop.login1.Manager dbus interface; elogind should provide what's necessary
+ )
+ meson_src_configure
+}
+
+src_test() {
+ # Reset variables to avoid issues from /etc/profile.d/flatpak.sh file modifying XDG_DATA_DIRS
+ gnome2_environment_reset
+ export XDG_DATA_DIRS="${EPREFIX}"/usr/share
+ virtx dbus-run-session meson test -C "${BUILD_DIR}" || die
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+
+ if ! has_version "media-libs/mesa[llvm]"; then
+ elog "llvmpipe is used as fallback when no 3D acceleration"
+ elog "is available. You will need to enable llvm USE for"
+ elog "media-libs/mesa if you do not have hardware 3D setup."
+ fi
+
+ optfeature "Bluetooth integration" gnome-base/gnome-control-center[bluetooth] net-wireless/gnome-bluetooth:3[introspection]
+ optfeature "Browser extension integration" gnome-extra/gnome-browser-connector
+ optfeature "Screencast/capture support" media-video/pipewire media-libs/gstreamer[introspection] media-libs/gst-plugins-base[introspection] media-libs/gst-plugins-good media-plugins/gst-plugins-vpx
+ optfeature "Weather support" dev-libs/libgweather:4[introspection]
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/gnome-extra/gnome-shell-extensions/Manifest b/gnome-extra/gnome-shell-extensions/Manifest
index f6d820e7c44c..80959a20ce3e 100644
--- a/gnome-extra/gnome-shell-extensions/Manifest
+++ b/gnome-extra/gnome-shell-extensions/Manifest
@@ -1,2 +1,3 @@
DIST gnome-shell-extensions-44.0.tar.xz 227060 BLAKE2B 3f166f75c5d011f990b7dcbfc4d3d1364e480822087d35cf8f361234c482f572d89b4d4eb92be67ffdf4bae4e05de361abfc3b0d92c3c30d03f67f2bd8c25251 SHA512 d3cc58bb0e5d29646a20b02cd59ba480bf42fbf9bbe0e228ae132e19e385806e95c937b3d7bd5fe0877702ed151f972f07e345e6072c1cd02d51cb56f72854e6
DIST gnome-shell-extensions-45.0.tar.xz 201516 BLAKE2B 5a8c36ff0a331d1b243a31fe54d0e4ace43aa6611a461aecee3dbd8741234e067377a4be11e2f07ed12fb09a1151ba5ee3a2e185b61b60241d480e2da9145547 SHA512 ed0fb36d54efee42b7636bd5fe4d0e279ba756dfb4ad438d35b86f32adc5fb15ad123a7b98bd98330c17786cb878fd77480e943383e1520618a75b16d09f07c5
+DIST gnome-shell-extensions-45.1.tar.xz 201296 BLAKE2B 933e6e57ba1bc755e1916c6f9a3e833c607951c390f40162bf129d39afb1c0fc5e0f951b668fac1cc2a388bec4239f65e64768dc35fca2c5f1fdd801203b0a80 SHA512 7d57b1c37dcbc542d7ccbe54d548895d932149c2bd9cc24b3581d766d4e784eacb6a56da0cb60e311fd862f523ac97795625328a57d9fc13ac100a95dcd4f1aa
diff --git a/gnome-extra/gnome-shell-extensions/gnome-shell-extensions-45.1.ebuild b/gnome-extra/gnome-shell-extensions/gnome-shell-extensions-45.1.ebuild
new file mode 100644
index 000000000000..49a6506ea2b3
--- /dev/null
+++ b/gnome-extra/gnome-shell-extensions/gnome-shell-extensions-45.1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit gnome.org readme.gentoo-r1 meson xdg
+
+DESCRIPTION="JavaScript extensions for GNOME Shell"
+HOMEPAGE="https://wiki.gnome.org/Projects/GnomeShell/Extensions"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+
+DEPEND="
+ >=dev-libs/glib-2.26:2
+ >=gnome-base/libgtop-2.28.3[introspection]
+ >=app-eselect/eselect-gnome-shell-extensions-20111211
+"
+RDEPEND="${DEPEND}
+ >=app-accessibility/at-spi2-core-2.46.0[introspection]
+ >=dev-libs/gjs-1.29
+ dev-libs/gobject-introspection:=
+ gnome-base/gnome-menus:3[introspection]
+ =gnome-base/gnome-shell-$(ver_cut 1)*
+ gui-libs/libadwaita[introspection]
+ media-libs/clutter:1.0[introspection]
+ media-libs/graphene[introspection]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/pango[introspection]
+ x11-themes/adwaita-icon-theme
+ >=x11-wm/mutter-3.32[introspection]
+"
+BDEPEND="
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+"
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="Installed extensions installed are initially disabled by default.
+To change the system default and enable some extensions, you can use
+# eselect gnome-shell-extensions
+
+Alternatively, to enable/disable extensions on a per-user basis,
+you can use the gnome-extensions-app (included with gnome-shell),
+https://extensions.gnome.org/ web interface, or modify the
+org.gnome.shell enabled-extensions gsettings key from the command
+line or a script."
+
+src_configure() {
+ local emesonargs=(
+ -Dextension_set=all
+ -Dclassic_mode=true
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ ebegin "Updating list of installed extensions"
+ eselect gnome-shell-extensions update
+ eend $?
+
+ readme.gentoo_print_elog
+}
diff --git a/media-libs/sdl2-gfx/sdl2-gfx-1.0.4-r1.ebuild b/media-libs/sdl2-gfx/sdl2-gfx-1.0.4-r1.ebuild
index d0a915f2a3be..34defd2581f4 100644
--- a/media-libs/sdl2-gfx/sdl2-gfx-1.0.4-r1.ebuild
+++ b/media-libs/sdl2-gfx/sdl2-gfx-1.0.4-r1.ebuild
@@ -13,7 +13,7 @@ S="${WORKDIR}"/${MY_P}
LICENSE="ZLIB"
SLOT="0"
-KEYWORDS="amd64 ~ppc ~ppc64 x86"
+KEYWORDS="amd64 ppc ~ppc64 x86"
IUSE="doc cpu_flags_x86_mmx"
DEPEND=">=media-libs/libsdl2-2.0.1-r1[video,${MULTILIB_USEDEP}]"
diff --git a/media-libs/sdl2-pango/sdl2-pango-2.1.5.ebuild b/media-libs/sdl2-pango/sdl2-pango-2.1.5.ebuild
index 6b3cb6540e87..eb1a0d2040a1 100644
--- a/media-libs/sdl2-pango/sdl2-pango-2.1.5.ebuild
+++ b/media-libs/sdl2-pango/sdl2-pango-2.1.5.ebuild
@@ -9,7 +9,7 @@ SRC_URI="https://github.com/markuskimius/SDL2_Pango/archive/v${PV}.tar.gz -> ${P
LICENSE="LGPL-2.1+"
SLOT="0"
-KEYWORDS="amd64 ~ppc x86"
+KEYWORDS="amd64 ppc x86"
RDEPEND="dev-libs/glib:2
media-libs/freetype
diff --git a/profiles/targets/desktop/gnome/package.use b/profiles/targets/desktop/gnome/package.use
index 436eb850ab72..7e60f311a067 100644
--- a/profiles/targets/desktop/gnome/package.use
+++ b/profiles/targets/desktop/gnome/package.use
@@ -1,6 +1,11 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Mart Raudsepp <leio@gentoo.org> (2023-10-01)
+# x11-wm/mutter[wayland] requires xwayland[libei] for emulated input portal
+# for e.g. remote desktop remote input support
+x11-base/xwayland libei
+
# Mart Raudsepp <leio@gentoo.org> (2022-01-05)
# gnome-boxes requires spice-gtk[vala]
net-misc/spice-gtk vala
diff --git a/x11-wm/mutter/Manifest b/x11-wm/mutter/Manifest
index 58a99c112c4b..402dfc9bef0f 100644
--- a/x11-wm/mutter/Manifest
+++ b/x11-wm/mutter/Manifest
@@ -1,3 +1,4 @@
DIST mutter-44.3.tar.xz 2848256 BLAKE2B 42c00d4673cab5d119361c6eb2b78c33894c637b36a34f9b74eb5a19ca621d3458208be020216f9a8949e8b0a9c9de697662c5aebb11f70bc83173ce33c7a1eb SHA512 d29bc6c7407ba81be0b5bfa2333bc77c09f7a084e09d6902cad8ca8e64ba75a22652b68a4e84b79b80481d9a7b6cb490128113dcd125ed5bcd5423d4ec88fb35
DIST mutter-44.4.tar.xz 2847392 BLAKE2B 2ecdb0d447c0426a7e02f4d3b3cdf8936a6c7a5fecad163bdba9428f018e0ceb2047b241422bc9de5e9d0fb08e88a04d572d1b404b48d6df214a7263292309ba SHA512 3f7b37be5531e270c071fc9784a6a284a3d715dfd1dfc854779126197d6e53c660836412ba08e6233747c7b016926114a57be5adb36a11c8ec9c81e333ce668c
DIST mutter-45.0.tar.xz 2883164 BLAKE2B cb006cae08a8e4b1c6404ab99b970854a05d764361936d88d726ece6583e922b8e5bab4189ec240292d14cfb312fb1cadafa17e372d332dfc194bdc0041e4441 SHA512 bbf813a720a3d8545969d089790f6e4c19cd5c8eb3079ba028945e4728446c78aa7540061ea87e43151c2ef359ea986b0e7a45f56f0eb6a33ca2c3979955bb43
+DIST mutter-45.1.tar.xz 2881852 BLAKE2B 40fa8de01ecae346d2b9a352d55cb9215e3b9c88d7424c567fd63aa97dc7aa7cc202fdda298a4a8a9bc08330b6db3895d5860b8c99daaa4974dbd07f0ac8b86a SHA512 87a629e941eb231d05fc24dbb905acb12236c971a02dd000fdd6cc6e7686544b5796ce57d10b34e096dc956578a373d5a73e89760bcc6beb292e9a25ce2faaf4
diff --git a/x11-wm/mutter/mutter-45.1.ebuild b/x11-wm/mutter/mutter-45.1.ebuild
new file mode 100644
index 000000000000..47520c00fe82
--- /dev/null
+++ b/x11-wm/mutter/mutter-45.1.ebuild
@@ -0,0 +1,235 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+inherit gnome.org gnome2-utils meson python-any-r1 udev xdg
+
+DESCRIPTION="GNOME compositing window manager based on Clutter"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/"
+LICENSE="GPL-2+"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/mutter.git"
+ SRC_URI=""
+ SLOT="0/13" # This can get easily out of date, but better than 9967
+else
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+ SLOT="0/$(($(ver_cut 1) - 32))" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot
+fi
+
+IUSE="debug elogind gnome gtk-doc input_devices_wacom +introspection screencast sysprof systemd test udev wayland video_cards_nvidia"
+# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider
+REQUIRED_USE="
+ gtk-doc? ( introspection )
+ wayland? ( ^^ ( elogind systemd ) udev )
+ test? ( wayland )"
+RESTRICT="!test? ( test )"
+
+# gnome-settings-daemon is build checked, but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard gschema
+# USE=libei was first introduced in xwayland-23.2.1; we min dep on that to ensure the [libei(+)] works right, as missing USE flag with
+# previous versions meant that it's not there, while the intention seems to be to make it always enabled without USE flag in the future;
+# this ensures have_enable_ei_portal is always there in xwayland.pc, which affects how Xwayland is launched, thus if it were toggled off
+# in Xwayland after mutter is installed, Xwayland would fail to be started by mutter. mutter already hard-depends on libei, so there's
+# really no extra deps here (besides xdg-desktop-portal, but we want that too, anyhow).
+# v3.32.2 has many excessive or unused *_req variables declared, thus currently the dep order ignores those and goes via dependency() call order
+DEPEND="
+ >=media-libs/graphene-1.10.2[introspection?]
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/pango-1.46[introspection?]
+ >=x11-libs/cairo-1.14[X]
+ >=dev-libs/fribidi-1.0.0
+ >=gnome-base/gsettings-desktop-schemas-42.0[introspection?]
+ >=dev-libs/glib-2.75.1:2
+ gnome-base/gnome-settings-daemon
+ >=dev-libs/json-glib-0.12.0[introspection?]
+ >=x11-libs/libxkbcommon-0.4.3
+ x11-libs/libICE
+ >=app-accessibility/at-spi2-core-2.46:2[introspection?]
+ sys-apps/dbus
+ >=x11-misc/colord-1.4.5:=
+ >=media-libs/lcms-2.6:2
+ >=media-libs/harfbuzz-2.6.0:=
+ >=dev-libs/libei-1.0.901
+
+ gnome? ( gnome-base/gnome-desktop:4= )
+
+ >=media-libs/libcanberra-0.26
+
+ media-libs/libglvnd[X]
+
+ wayland? (
+ >=dev-libs/wayland-protocols-1.32
+ >=dev-libs/wayland-1.21.0
+
+ x11-libs/libdrm
+ media-libs/mesa[gbm(+)]
+ >=dev-libs/libinput-1.19.0:=
+
+ elogind? ( sys-auth/elogind )
+ >=x11-base/xwayland-23.2.1[libei(+)]
+ video_cards_nvidia? ( gui-libs/egl-wayland )
+ )
+ udev? (
+ >=virtual/libudev-232-r1:=
+ >=dev-libs/libgudev-232
+ )
+ systemd? ( sys-apps/systemd )
+ x11-libs/libSM
+ input_devices_wacom? ( >=dev-libs/libwacom-0.13:= )
+ >=x11-libs/startup-notification-0.7
+ screencast? ( >=media-video/pipewire-0.3.33:= )
+ introspection? ( >=dev-libs/gobject-introspection-1.54:= )
+ test? ( >=x11-libs/gtk+-3.19.8:3[X,introspection?] )
+ sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 >=dev-util/sysprof-3.46.0 )
+"
+# for now upstream has "have_x11 = true" in the meson.build, but sooner or later upstream is going to make X optional.
+# X? (
+DEPEND+="
+ >=gui-libs/gtk-4.0.0:4[X,introspection?]
+ >=x11-libs/libX11-1.7.0
+ >=x11-libs/libXcomposite-0.4
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ >=x11-libs/libXfixes-6
+ >=x11-libs/libXi-1.7.4
+ x11-libs/libXtst
+ x11-libs/libxkbfile
+ x11-misc/xkeyboard-config
+ >=x11-libs/libxkbcommon-0.4.3[X]
+ x11-libs/libXrender
+ >=x11-libs/libXrandr-1.5.0
+ x11-libs/libxcb:=
+ x11-libs/libXinerama
+ x11-libs/libXau
+"
+# )"
+
+RDEPEND="${DEPEND}
+ gnome-extra/zenity
+
+ !<gui-libs/gtk-4.6.4:4
+"
+DEPEND="${DEPEND}
+ x11-base/xorg-proto
+ sysprof? ( >=dev-util/sysprof-common-3.38.0 )
+"
+BDEPEND="
+ dev-util/wayland-scanner
+ dev-util/gdbus-codegen
+ dev-util/glib-utils
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ gtk-doc? ( >=dev-util/gi-docgen-2021.1 )
+ test? (
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ >=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]
+ ')
+ app-text/docbook-xml-dtd:4.5
+ x11-misc/xvfb-run
+ )
+ wayland? (
+ >=sys-kernel/linux-headers-4.4
+ x11-libs/libxcvt
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-43.0-Disable-anonymous-file-test.patch
+)
+
+python_check_deps() {
+ if use test; then
+ python_has_version ">=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]"
+ fi
+}
+
+src_configure() {
+ local emesonargs=(
+ # Mutter X11 renderer only supports gles2 and GLX, thus do NOT pass
+ #
+ # -Dopengl_libname=libOpenGL.so.0
+ #
+ # while we build the x11 renderer, as we currently enable gles2 only
+ # with USE=wayland and x11 renderer wouldn't find the needed GLX symbols
+ # in a configuration where wayland is disabled, as libOpenGL doesn't
+ # include them.
+ #
+ # See
+ # - https://bugs.gentoo.org/835786
+ # - https://forums.gentoo.org/viewtopic-p-8695669.html
+
+ --buildtype $(usex debug debug plain)
+ -Dopengl=true
+ $(meson_use wayland gles2)
+ #gles2_libname
+ -Degl=true
+ -Dglx=true
+ $(meson_use wayland)
+ $(meson_use wayland xwayland)
+ $(meson_use systemd)
+ $(meson_use wayland native_backend)
+ $(meson_use screencast remote_desktop)
+ $(meson_use gnome libgnome_desktop)
+ $(meson_use udev)
+ -Dudev_dir=$(get_udevdir)
+ $(meson_use input_devices_wacom libwacom)
+ -Dsound_player=true
+ -Dpango_ft2=true
+ -Dstartup_notification=true
+ -Dsm=true
+ $(meson_use introspection)
+ $(meson_use gtk-doc docs)
+ $(meson_use test cogl_tests)
+ $(meson_use wayland core_tests) # core tests require wayland; overall -Dtests option is honored on top, so no extra conditional needed
+ -Dnative_tests=false
+ $(meson_use test clutter_tests)
+ $(meson_use test tests)
+ -Dkvm_tests=false
+ -Dtty_tests=false
+ $(meson_use sysprof profiler)
+ -Dinstalled_tests=false
+
+ #verbose # Let upstream choose default for verbose mode
+ #xwayland_path
+ # TODO: relies on default settings, but in Gentoo we might have some more packages we want to give Xgrab access (mostly virtual managers and remote desktops)
+ #xwayland_grab_default_access_rules
+ )
+
+ if use wayland && use video_cards_nvidia; then
+ emesonargs+=(
+ -Degl_device=true
+ -Dwayland_eglstream=true
+ )
+ else
+ emesonargs+=(
+ -Degl_device=false
+ -Dwayland_eglstream=false
+ )
+ fi
+
+ meson_src_configure
+}
+
+src_test() {
+ # Reset variables to avoid issues from /etc/profile.d/flatpak.sh file
+ gnome2_environment_reset
+ export XDG_DATA_DIRS="${EPREFIX}"/usr/share
+ glib-compile-schemas "${BUILD_DIR}"/data
+ GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data meson_src_test --setup=CI
+}
+
+pkg_postinst() {
+ use udev && udev_reload
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ use udev && udev_reload
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/x11-wm/mutter/mutter-9999.ebuild b/x11-wm/mutter/mutter-9999.ebuild
index 9fbb1b4b2a11..47520c00fe82 100644
--- a/x11-wm/mutter/mutter-9999.ebuild
+++ b/x11-wm/mutter/mutter-9999.ebuild
@@ -2,23 +2,23 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit gnome.org gnome2-utils meson python-any-r1 udev xdg
DESCRIPTION="GNOME compositing window manager based on Clutter"
HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/"
+LICENSE="GPL-2+"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/mutter.git"
SRC_URI=""
+ SLOT="0/13" # This can get easily out of date, but better than 9967
else
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+ SLOT="0/$(($(ver_cut 1) - 32))" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot
fi
-LICENSE="GPL-2+"
-SLOT="0/$(($(ver_cut 1) - 32))" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot
-
IUSE="debug elogind gnome gtk-doc input_devices_wacom +introspection screencast sysprof systemd test udev wayland video_cards_nvidia"
# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider
REQUIRED_USE="
@@ -28,7 +28,11 @@ REQUIRED_USE="
RESTRICT="!test? ( test )"
# gnome-settings-daemon is build checked, but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard gschema
-# xorg-server is needed at build and runtime with USE=wayland for Xwayland
+# USE=libei was first introduced in xwayland-23.2.1; we min dep on that to ensure the [libei(+)] works right, as missing USE flag with
+# previous versions meant that it's not there, while the intention seems to be to make it always enabled without USE flag in the future;
+# this ensures have_enable_ei_portal is always there in xwayland.pc, which affects how Xwayland is launched, thus if it were toggled off
+# in Xwayland after mutter is installed, Xwayland would fail to be started by mutter. mutter already hard-depends on libei, so there's
+# really no extra deps here (besides xdg-desktop-portal, but we want that too, anyhow).
# v3.32.2 has many excessive or unused *_req variables declared, thus currently the dep order ignores those and goes via dependency() call order
DEPEND="
>=media-libs/graphene-1.10.2[introspection?]
@@ -47,6 +51,7 @@ DEPEND="
>=x11-misc/colord-1.4.5:=
>=media-libs/lcms-2.6:2
>=media-libs/harfbuzz-2.6.0:=
+ >=dev-libs/libei-1.0.901
gnome? ( gnome-base/gnome-desktop:4= )
@@ -55,15 +60,15 @@ DEPEND="
media-libs/libglvnd[X]
wayland? (
- >=dev-libs/wayland-protocols-1.31
+ >=dev-libs/wayland-protocols-1.32
>=dev-libs/wayland-1.21.0
x11-libs/libdrm
media-libs/mesa[gbm(+)]
- >=dev-libs/libinput-1.18.0:=
+ >=dev-libs/libinput-1.19.0:=
elogind? ( sys-auth/elogind )
- x11-base/xwayland
+ >=x11-base/xwayland-23.2.1[libei(+)]
video_cards_nvidia? ( gui-libs/egl-wayland )
)
udev? (
@@ -74,7 +79,7 @@ DEPEND="
x11-libs/libSM
input_devices_wacom? ( >=dev-libs/libwacom-0.13:= )
>=x11-libs/startup-notification-0.7
- screencast? ( >=media-video/pipewire-0.3.21:= )
+ screencast? ( >=media-video/pipewire-0.3.33:= )
introspection? ( >=dev-libs/gobject-introspection-1.54:= )
test? ( >=x11-libs/gtk+-3.19.8:3[X,introspection?] )
sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 >=dev-util/sysprof-3.46.0 )
@@ -88,7 +93,7 @@ DEPEND+="
x11-libs/libXcursor
x11-libs/libXdamage
x11-libs/libXext
- >=x11-libs/libXfixes-3
+ >=x11-libs/libXfixes-6
>=x11-libs/libXi-1.7.4
x11-libs/libXtst
x11-libs/libxkbfile
@@ -142,12 +147,6 @@ python_check_deps() {
fi
}
-src_prepare() {
- default
-
- sed -i -e "s:#!/usr/bin/bash:#!$(command -v bash):" src/tests/x11-test.sh || die
-}
-
src_configure() {
local emesonargs=(
# Mutter X11 renderer only supports gles2 and GLX, thus do NOT pass
@@ -216,7 +215,9 @@ src_configure() {
}
src_test() {
- gnome2_environment_reset # Avoid dconf that looks at XDG_DATA_DIRS, which can sandbox fail if flatpak is installed
+ # Reset variables to avoid issues from /etc/profile.d/flatpak.sh file
+ gnome2_environment_reset
+ export XDG_DATA_DIRS="${EPREFIX}"/usr/share
glib-compile-schemas "${BUILD_DIR}"/data
GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data meson_src_test --setup=CI
}
diff --git a/xfce-extra/xfce4-pulseaudio-plugin/xfce4-pulseaudio-plugin-0.4.8.ebuild b/xfce-extra/xfce4-pulseaudio-plugin/xfce4-pulseaudio-plugin-0.4.8.ebuild
index 9d77a105e5b5..291e74bcdff8 100644
--- a/xfce-extra/xfce4-pulseaudio-plugin/xfce4-pulseaudio-plugin-0.4.8.ebuild
+++ b/xfce-extra/xfce4-pulseaudio-plugin/xfce4-pulseaudio-plugin-0.4.8.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://archive.xfce.org/src/panel-plugins/${PN}/${PV%.*}/${P}.tar.bz2"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ppc ~ppc64 ~riscv ~x86"
# TODO: remove wnck when libxfce4windowing is ready to go stable
IUSE="+keybinder libcanberra libnotify libxfce4windowing wnck"
REQUIRED_USE="?? ( libxfce4windowing wnck )"