summaryrefslogtreecommitdiff
path: root/gnome-base
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-07-11 03:04:40 -0500
committerroot <root@alpha.trunkmasters.com>2026-07-11 03:04:40 -0500
commit755ecc63c34034b68719f6dac52aa76ba08bbe5c (patch)
tree54b8b213b345547f9f11cba1eedb2c70282949ec /gnome-base
parented2e0f29bf24219e96271574d9c99c971dff3698 (diff)
downloadbaldeagleos-repo-755ecc63c34034b68719f6dac52aa76ba08bbe5c.tar.gz
baldeagleos-repo-755ecc63c34034b68719f6dac52aa76ba08bbe5c.tar.xz
baldeagleos-repo-755ecc63c34034b68719f6dac52aa76ba08bbe5c.zip
Adding metadata
Diffstat (limited to 'gnome-base')
-rw-r--r--gnome-base/gnome-control-center/Manifest1
-rw-r--r--gnome-base/gnome-control-center/gnome-control-center-49.7.ebuild2
-rw-r--r--gnome-base/gnome-control-center/gnome-control-center-49.8.ebuild212
-rw-r--r--gnome-base/gnome-session/Manifest1
-rw-r--r--gnome-base/gnome-session/gnome-session-49.3.ebuild109
-rw-r--r--gnome-base/gnome-shell/Manifest1
-rw-r--r--gnome-base/gnome-shell/gnome-shell-48.8.ebuild2
-rw-r--r--gnome-base/gnome-shell/gnome-shell-49.8.ebuild221
8 files changed, 547 insertions, 2 deletions
diff --git a/gnome-base/gnome-control-center/Manifest b/gnome-base/gnome-control-center/Manifest
index 0b9c03d66398..a950cdc395ca 100644
--- a/gnome-base/gnome-control-center/Manifest
+++ b/gnome-base/gnome-control-center/Manifest
@@ -5,5 +5,6 @@ DIST gnome-control-center-48.4.tar.xz 7146860 BLAKE2B b4b92b7ac78bea1983cc741715
DIST gnome-control-center-48.7.tar.xz 7188960 BLAKE2B 05646e6523ba5650faf6262f52d7f102fe57039ab9c9bee9edbd6da61146d9767e59e4ca2ac6210214590d6e48e7c7a22d1eb25369b6a2413c11108d4911cd8e SHA512 33263eb454a9a156d345cd0102dfe4238d45e288e30140d269dd279144707e9a06ac5dd0dd296d48b91d85ae1d155fb83aacc480c2f29228d8394a7daf7affe9
DIST gnome-control-center-49.5-patchset.tar.xz 6384 BLAKE2B 4ba396513539f8b8d88b33527989c32edb3ccf219ee3867f9fcd468a85b5361d04b79fe2e590d72e2d7fa9e9ba41eba82c6e66e3c06780ecc07ea65de29c9278 SHA512 3f4c6b8d970dea1980b2fcf9fea80efb4fe8f6cf53e4e43736533ab94d9fcfaf4f0ad89b35b939a52048b261d30ced0626b424fd70cfce210716ea7e62e0af67
DIST gnome-control-center-49.7.tar.xz 7077972 BLAKE2B e1090d458e7f5034e48df169a580ce23b5a871a5e835966ec8c7e720679dbbbb9793295bbb60475f07310d4c331ea9477f6b0f227ffffcc4e9a7565d91195c4e SHA512 7345370c2e78166225cbc5a34bbd2e1c75f51fcfe67aaa5197db4be20679363f6ade8fb9090b88ebbcd803ccc0fbcacf78d9b94f5adeea67c209eb427d53e142
+DIST gnome-control-center-49.8.tar.xz 7110244 BLAKE2B 6e1f62b01acc93fd2a4da400b5f48d09718bfddd923e6f6e3500d58525a5f643fd08868d9cedf9eca26154def3b9b2f9f0d87ccf1588280ec5acc71c6a33899b SHA512 69994d80887a920a45c1068ac53eeb9ae163caec9ad1423be591084f5a9b7109860d38f760ae2eb1650bbf1db37c52252a65dcc265b3aa76f2eaa456f39ea8f0
DIST gnome-control-center-gentoo-logo-dark.svg 14293 BLAKE2B 570e9326b8abe45849c31fd5cdb3fcfb1b2f18eac522f958928df5c3b747b0699f50a882f31cf7c0ae1f2138194f18596f738f42c942b57d340c53d46d82c551 SHA512 91227dafcf2091bb1568b0f9eec68b5e371ec64c9a6bc3605821f60d6bf2bd94dec0564f6a16a4a70d1db4d4df49fc25b6c910367bae3b85205cc609a9f2701b
DIST gnome-control-center-gentoo-logo.svg 14288 BLAKE2B 371fc68b1015c8672db3e3858ae9077b1e3a9937e6add8690c39db36302ec031391c4d35e0c0b87094ca474a00c4187849e2d7111df34f43bc5bd7be52678527 SHA512 cf88933546de54ca15e2e830ac1086a78c4150f0ff59b8091e7e1cade5961c4e4cb83120a818a960b77841353ce3584ddc8f36b6edbde05543600283a143ad7b
diff --git a/gnome-base/gnome-control-center/gnome-control-center-49.7.ebuild b/gnome-base/gnome-control-center/gnome-control-center-49.7.ebuild
index 3233078fb3ac..ad97fcbf3e46 100644
--- a/gnome-base/gnome-control-center/gnome-control-center-49.7.ebuild
+++ b/gnome-base/gnome-control-center/gnome-control-center-49.7.ebuild
@@ -14,7 +14,7 @@ SRC_URI+=" https://dev.gentoo.org/~mattst88/distfiles/${PN}-gentoo-logo-dark.svg
# Logo is CC-BY-SA-2.5
LICENSE="GPL-2+ CC-BY-SA-2.5"
SLOT="2"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86"
IUSE="+bluetooth +cups debug elogind +gnome-online-accounts +ibus input_devices_wacom kerberos +geolocation networkmanager systemd test X"
REQUIRED_USE="
diff --git a/gnome-base/gnome-control-center/gnome-control-center-49.8.ebuild b/gnome-base/gnome-control-center/gnome-control-center-49.8.ebuild
new file mode 100644
index 000000000000..3233078fb3ac
--- /dev/null
+++ b/gnome-base/gnome-control-center/gnome-control-center-49.8.ebuild
@@ -0,0 +1,212 @@
+# Copyright 2023-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit gnome.org gnome2-utils meson python-any-r1 virtualx xdg
+
+DESCRIPTION="GNOME's main interface to configure various aspects of the desktop"
+HOMEPAGE="https://apps.gnome.org/Settings"
+SRC_URI+=" https://dev.gentoo.org/~pacho/${PN}/${PN}-49.5-patchset.tar.xz"
+SRC_URI+=" https://dev.gentoo.org/~mattst88/distfiles/${PN}-gentoo-logo.svg"
+SRC_URI+=" https://dev.gentoo.org/~mattst88/distfiles/${PN}-gentoo-logo-dark.svg"
+# Logo is CC-BY-SA-2.5
+LICENSE="GPL-2+ CC-BY-SA-2.5"
+SLOT="2"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+
+IUSE="+bluetooth +cups debug elogind +gnome-online-accounts +ibus input_devices_wacom kerberos +geolocation networkmanager systemd test X"
+REQUIRED_USE="
+ ^^ ( elogind systemd )
+" # Theoretically "?? ( elogind systemd )" is fine too, lacking some functionality at runtime,
+# but needs testing if handled gracefully enough
+
+RESTRICT="!test? ( test )"
+
+# kerberos unfortunately means mit-krb5; build fails with heimdal
+# display panel requires colord and gnome-settings-daemon[colord]
+# wacom panel requires gsd-enums.h from gsd at build time, probably also runtime support
+# printer panel requires cups and smbclient (the latter is not patched yet to be separately optional)
+# First block is toplevel meson.build deps in order of occurrence (plus deeper deps if in same conditional).
+# Second block is dependency() from subdir meson.builds, sorted by directory name occurrence order
+DEPEND="
+ gnome-online-accounts? (
+ x11-libs/gtk+:3
+ >=net-libs/gnome-online-accounts-3.51.0:=
+ )
+ >=media-libs/libpulse-2.0[glib]
+ >=gui-libs/gtk-4.17.1:4[X?,wayland]
+ >=gui-libs/libadwaita-1.8_alpha:1
+ >=sys-apps/accountsservice-23.11.69
+ >=x11-misc/colord-0.1.34:0=
+ >=x11-libs/gdk-pixbuf-2.23.0:2
+ >=dev-libs/glib-2.76.6:2
+ gnome-base/gnome-desktop:4=
+ >=gnome-base/gnome-settings-daemon-49
+ >=gnome-base/gsettings-desktop-schemas-48_alpha
+ dev-libs/libxml2:2=
+ >=sys-power/upower-1.90.6:=
+ >=dev-libs/libgudev-232
+ media-libs/libepoxy
+ >=app-crypt/gcr-4.1.0
+ >=dev-libs/libpwquality-1.2.2
+ >=sys-auth/polkit-0.114
+ cups? (
+ >=net-print/cups-1.7[dbus]
+ >=net-fs/samba-4.0.0[client]
+ )
+ ibus? ( >=app-i18n/ibus-1.5.2 )
+ networkmanager? (
+ >=net-libs/libnma-1.10.2
+ >=net-misc/networkmanager-1.52.0[modemmanager]
+ >=net-misc/modemmanager-0.7.990:=
+ )
+ X? (
+ >=x11-libs/libX11-1.8
+ >=x11-libs/libXi-1.2
+ )
+ bluetooth? ( net-wireless/gnome-bluetooth:3= )
+ input_devices_wacom? ( >=dev-libs/libwacom-1.4:= )
+ kerberos? ( app-crypt/mit-krb5 )
+
+ x11-libs/cairo[glib]
+ >=x11-libs/colord-gtk-0.3.0:=
+ media-libs/fontconfig
+ gnome-base/libgtop:2=
+ >=sys-fs/udisks-2.1.8:2
+ app-crypt/libsecret
+ net-libs/gnutls:=
+ media-libs/gsound
+
+ x11-libs/pango
+"
+# media-libs/libcanberra[pulseaudio,sound] needed for Speaker tests in
+# Settings/Sound/Output/Output Device, bug #814110
+# systemd/elogind USE flagged because package manager will potentially try to satisfy a
+# "|| ( systemd ( elogind openrc-settingsd)" via systemd if openrc-settingsd isn't already installed.
+# gnome-color-manager needed for gcm-calibrate and gcm-viewer calls from color panel
+# <gnome-color-manager-3.1.2 has file collisions with g-c-c-3.1.x
+#
+# mouse panel needs a concrete set of X11 drivers at runtime, bug #580474
+# Also we need newer driver versions to allow wacom and libinput drivers to
+# not collide
+#
+# system-config-printer provides org.fedoraproject.Config.Printing service and interface
+# cups-pk-helper provides org.opensuse.cupspkhelper.mechanism.all-edit policykit helper policy
+RDEPEND="${DEPEND}
+ media-libs/libcanberra[pulseaudio,sound(+)]
+ systemd? ( >=sys-apps/systemd-31 )
+ elogind? (
+ app-admin/openrc-settingsd
+ sys-auth/elogind
+ )
+ x11-themes/adwaita-icon-theme
+ >=gnome-extra/gnome-color-manager-3.1.2
+ cups? (
+ app-admin/system-config-printer
+ net-print/cups-pk-helper
+ )
+ >=gnome-extra/tecla-47.0
+ dev-libs/libinput
+ X? (
+ >=x11-drivers/xf86-input-libinput-0.19.0
+ input_devices_wacom? ( >=x11-drivers/xf86-input-wacom-0.33.0 )
+ )
+"
+# PDEPEND to avoid circular dependency; gnome-session-check-accelerated called by info panel
+# gnome-session-2.91.6-r1 also needed so that 10-user-dirs-update is run at login
+PDEPEND=">=gnome-base/gnome-session-2.91.6-r1
+ networkmanager? ( gnome-extra/nm-applet )" # networking panel can call into nm-connection-editor
+
+# meson.build depends on python unconditionally
+BDEPEND="${PYTHON_DEPS}
+ dev-libs/libxslt
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.2
+ x11-base/xorg-proto
+ dev-libs/libxml2:2
+ >=dev-util/blueprint-compiler-0.17
+ dev-util/gdbus-codegen
+ dev-util/glib-utils
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ test? (
+ $(python_gen_any_dep '
+ dev-python/python-dbusmock[${PYTHON_USEDEP}]
+ ')
+ x11-apps/setxkbmap
+ )
+"
+
+PATCHES=(
+ # Makes some panels and dependencies optional
+ # https://bugzilla.gnome.org/686840, 697478, 700145
+ # Fix some absolute paths to be appropriate for Gentoo
+ "${WORKDIR}"/patches/
+)
+
+python_check_deps() {
+ use test || return 0
+ python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ xdg_environment_reset
+ # Mark python tests with shebang executable, so that meson will launch them directly, instead
+ # of via its own python-single-r1 version, which might not match what we get from python_check_deps
+ chmod a+x tests/network/test-network-panel.py tests/datetime/test-datetime.py || die
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use bluetooth)
+ $(meson_use cups)
+ -Ddeprecated-declarations=disabled
+ -Ddocumentation=true # manpage
+ -Dlocation-services=$(usex geolocation enabled disabled)
+ -Dgoa=$(usex gnome-online-accounts enabled disabled)
+ $(meson_use ibus)
+ $(meson_use kerberos)
+ $(meson_use networkmanager network_manager)
+ -Dprivileged_group=wheel
+ -Dsnap=false
+ $(meson_use test tests)
+ $(meson_use input_devices_wacom wacom)
+ # bashcompletions installed to $datadir/bash-completion/completions by v3.28.2,
+ # which is the same as $(get_bashcompdir)
+ $(meson_use X x11)
+ -Dmalcontent=false # unpackaged
+ -Ddistributor_logo=/usr/share/pixmaps/gnome-control-center-gentoo-logo.svg
+ -Ddark_mode_distributor_logo=/usr/share/pixmaps/gnome-control-center-gentoo-logo-dark.svg
+ )
+ meson_src_configure
+}
+
+src_test() {
+ # tests are fragile to long socket paths, bug #921583
+ local -x TMPDIR=/tmp
+ virtx meson_src_test
+}
+
+src_install() {
+ meson_src_install
+ insinto /usr/share/pixmaps
+ doins "${DISTDIR}"/gnome-control-center-gentoo-logo.svg
+ doins "${DISTDIR}"/gnome-control-center-gentoo-logo-dark.svg
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/gnome-base/gnome-session/Manifest b/gnome-base/gnome-session/Manifest
index 46d5b6ac36ac..403136c85bb1 100644
--- a/gnome-base/gnome-session/Manifest
+++ b/gnome-base/gnome-session/Manifest
@@ -1,2 +1,3 @@
DIST gnome-session-48.0.tar.xz 488408 BLAKE2B 7565ba20d50a0c63afda5c6169ca4422ff4d1c8a5b2afe3e4ce25dfe21fab4e8c53feb6dbc93a0d625a9cf1ecee181d5c6f19bfc53e134b2bd09e32b29e5bf30 SHA512 84baafdf0d7a4f4b15faaacde02821f6449481d655c8d6ff6ea79996aa052483475c9a77a021d47001249c6c84c66be728f683a2b1725657b329c64fc7951dc0
DIST gnome-session-49.2.tar.xz 394784 BLAKE2B 9539f706cd10c9ed8e6f5ede5f34a52a949026db369be9bda40b8cd99046c9064662790d767ecf0cb109fd40a05d1dde55a4676ac909ebffa3a818a57695da9a SHA512 acf1f0f9b4246fcf64092e195a49e76814ec745b339b05d45f8467a4e8f1382eafe0c1ac59d3c3294dde8bf46367270efb3d8bb4175b445d5ff4c3f341f76513
+DIST gnome-session-49.3.tar.xz 394004 BLAKE2B c28a42da375431b29b8c339dccdaef28a749cdc8958bc3ba34ebc20acd60fd3e50a4e109e9488be9540bd4204d9ede5734b2c2db38dafcbcb0f4f35e00e0f382 SHA512 166dfe4c802109747ae1490269cb2cfa142986067f8fee95ed122c8096288d2e6e56912308c13a5334a43920841b35794d1056fe9181296d25fa26ed9d464131
diff --git a/gnome-base/gnome-session/gnome-session-49.3.ebuild b/gnome-base/gnome-session/gnome-session-49.3.ebuild
new file mode 100644
index 000000000000..468ba46f9d7c
--- /dev/null
+++ b/gnome-base/gnome-session/gnome-session-49.3.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit desktop gnome.org gnome2-utils meson systemd xdg
+
+DESCRIPTION="Gnome session manager"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-session"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="doc elogind systemd X"
+
+REQUIRED_USE="^^ ( elogind systemd )"
+
+COMMON_DEPEND="
+ >=dev-libs/glib-2.82.0:2
+ gnome-base/gnome-desktop:4
+ systemd? ( >=sys-apps/systemd-242:0= )
+ elogind? ( >=sys-auth/elogind-242 )
+"
+
+# Pure-runtime deps from the session files should *NOT* be added here.
+# >=gnome-settings-daemon-3.35.91 for UsbProtection required component.
+# x11-misc/xdg-user-dirs{,-gtk} are needed to create the various XDG_*_DIRs, and
+# create .config/user-dirs.dirs which is read by glib to get G_USER_DIRECTORY_*
+# xdg-user-dirs-update is run during login (see 10-user-dirs-update-gnome below).
+# sys-apps/dbus[X?] is needed for session management.
+# Our 90-xcursor-theme-gnome reads a setting from gsettings-desktop-schemas.
+RDEPEND="${COMMON_DEPEND}
+ >=gnome-base/gnome-settings-daemon-3.35.91
+ >=gnome-base/gsettings-desktop-schemas-0.1.7
+ sys-apps/dbus[elogind=,systemd=,X?]
+
+ x11-misc/xdg-user-dirs
+ x11-misc/xdg-user-dirs-gtk
+ !systemd? ( >=gnome-base/gnome-session-openrc-$(ver_cut 1) )
+"
+DEPEND="${COMMON_DEPEND}"
+BDEPEND="
+ dev-libs/libxslt
+ >=dev-util/gdbus-codegen-2.80.5-r1
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ doc? (
+ app-text/xmlto
+ app-text/docbook-xml-dtd:4.1.2
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-49.2-Make-systemd-optional.patch
+)
+
+src_prepare() {
+ default
+ xdg_environment_reset
+
+ # Install USE=doc in ${PF} if enabled
+ sed -i -e "s:meson\.project_name()$:'${PF}':" doc/meson.build || die "Couldn't apply meson doc installation sed"
+}
+
+src_configure() {
+ local emesonargs=(
+ -Ddeprecation_flags=false
+ $(meson_use doc docbook)
+ -Dman=true
+ -Dsystemduserunitdir="$(systemd_get_userunitdir)"
+ $(meson_use systemd systemd)
+ $(meson_use X x11)
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ exeinto /etc/X11/Sessions
+ doexe "${FILESDIR}/Gnome"
+
+ newmenu "${FILESDIR}/defaults.list-r7" gnome-mimeapps.list
+
+ exeinto /etc/X11/xinit/xinitrc.d/
+ newexe "${FILESDIR}/15-xdg-data-gnome-r1" 15-xdg-data-gnome
+
+ # This should be done here as discussed in bug #270852
+ newexe "${FILESDIR}/10-user-dirs-update-gnome-r1" 10-user-dirs-update-gnome
+
+ # Set XCURSOR_THEME from current dconf setting instead of installing
+ # default cursor symlink globally and affecting other DEs (bug #543488)
+ # https://bugzilla.gnome.org/show_bug.cgi?id=711703
+ newexe "${FILESDIR}/90-xcursor-theme-gnome" 90-xcursor-theme-gnome
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+
+ if ! has_version gnome-base/gdm && ! has_version x11-misc/sddm; then
+ ewarn "If you use a custom .xinitrc for your X session,"
+ ewarn "make sure that the commands in the xinitrc.d scripts are run."
+ fi
+}
+
+pkg_postrm() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
diff --git a/gnome-base/gnome-shell/Manifest b/gnome-base/gnome-shell/Manifest
index f57e4c7265b4..db3c2043495a 100644
--- a/gnome-base/gnome-shell/Manifest
+++ b/gnome-base/gnome-shell/Manifest
@@ -3,3 +3,4 @@ DIST gnome-shell-48.7.tar.xz 2244996 BLAKE2B d0cee05aba38815ae87afc9efc252b934b4
DIST gnome-shell-48.8.tar.xz 2253148 BLAKE2B 2ce713f9cb9f9b3aa2091a7f8ab5ceb50e56e553d2f3a00d1cc7dd09c6a3c447a8183f7682a8abb87a376457ab1d317f50d6b3f6022fc3fa0fe14fa05aedadd1 SHA512 1dfdc942517785a514f806c299ede60a6299c7ae497f1d68b1847f276b4de51b30d8c0ca6802703030730add0a682eb0bc3a27cf6bd8a4a39f94ea133349b3e4
DIST gnome-shell-49.6.tar.xz 2310480 BLAKE2B ee43239b58fcd7fdb04169128f81ae8f10ffd724c4057d1d1240ea1497842d8f592e7c2646b3a825015b42691d52bb0814b1db23c08a935221032104ac5ef8c1 SHA512 b5a9a416e787b17297fa919b0228eaf1ba2ecf3b251c8f3d585c7616f4de7776d491735e2f0d37001bc6cb420eff8f6eb5ce1b5dcda5076423ef7ab207380cf8
DIST gnome-shell-49.7.tar.xz 2311204 BLAKE2B 24fc0e183992a3489eb72a3c10eda8c301e98a3c9c5102006d9ac95d4d958ccd65497e9ff68aa92331c4a9eb26a0afce4fd47ae2f0dd2cbe3d1ffc535bbb80a8 SHA512 542cd03c0c724aee4970fb68a27e852f9f04bd1a847952e811a9c359e3124954554de4347ffdd03b48c31cd3f01aebb3138329c628df7beacc7b59348af57495
+DIST gnome-shell-49.8.tar.xz 2311376 BLAKE2B ed6b2249cfafa06d18cee383a0ec90b8f1ad2c22afca29ed9037f346820de6d1b37b323a75368dd27b3a0b3c6d17d193939ba803cd495b4fd24db6d4a3551b28 SHA512 ccd6d9b31193dcca7a5bb596e8945bc9d19f00de1696b25b31288dab34ca3d95ab719aed56f34f303b35e62ae7b68d128ddfb550259b1782d3be163cd056ea50
diff --git a/gnome-base/gnome-shell/gnome-shell-48.8.ebuild b/gnome-base/gnome-shell/gnome-shell-48.8.ebuild
index ba2897b30bb8..df87e253be57 100644
--- a/gnome-base/gnome-shell/gnome-shell-48.8.ebuild
+++ b/gnome-base/gnome-shell/gnome-shell-48.8.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-shell"
LICENSE="GPL-2+ LGPL-2+"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
IUSE="X elogind gtk-doc +ibus +networkmanager pipewire systemd test wayland"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
diff --git a/gnome-base/gnome-shell/gnome-shell-49.8.ebuild b/gnome-base/gnome-shell/gnome-shell-49.8.ebuild
new file mode 100644
index 000000000000..b0944a390823
--- /dev/null
+++ b/gnome-base/gnome-shell/gnome-shell-49.8.ebuild
@@ -0,0 +1,221 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit flag-o-matic gnome.org gnome2-utils meson optfeature python-single-r1 xdg
+
+DESCRIPTION="Provides core UI functions for the GNOME desktop"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-shell"
+
+LICENSE="GPL-2+ LGPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+IUSE="X elogind gtk-doc +ibus +networkmanager pipewire selinux systemd test wayland"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ ?? ( elogind systemd )"
+RESTRICT="!test? ( test )"
+
+# 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.86.0:2
+ >=dev-libs/gobject-introspection-1.86.0:=
+ >=dev-libs/gjs-1.85.90[cairo(+)]
+ >=gui-libs/gtk-4:4[X?,introspection,wayland?]
+ >=x11-wm/mutter-49.0:0/17[introspection,test?]
+ >=sys-auth/polkit-0.120_p20220509[introspection]
+ >=gnome-base/gsettings-desktop-schemas-49_alpha[introspection]
+ X? (
+ x11-libs/libX11
+ x11-libs/libXext
+ >=x11-libs/libXfixes-5.0
+ )
+ >=app-i18n/ibus-1.5.19
+ dev-python/docutils
+ >=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
+ net-libs/libsoup:3.0
+
+ >=app-accessibility/at-spi2-core-2.46:2[introspection]
+ x11-libs/gdk-pixbuf:2[introspection]
+ dev-libs/libxml2:2=
+
+ >=media-libs/libpulse-2[glib]
+ dev-libs/libical:=
+
+ ${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
+# 6. mobile-broadband-provider-info, timezone-data for shell-mobile-providers.c # TODO: Review
+# 7. IBus is needed for nls integration
+# 8. Adwaita font used in gnome-shell global CSS (if removing this make sure it's pulled in somehow for non-meta users)
+# 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-1.46.0[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-49
+ >=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] )
+ selinux? ( sec-policy/selinux-wm )
+ media-fonts/adwaita-fonts
+
+ sys-apps/xdg-desktop-portal-gnome
+"
+
+# avoid circular dependency, see bug #546134
+PDEPEND="
+ >=gnome-base/gdm-49[introspection(+)]
+ >=gnome-base/gnome-control-center-3.26[networkmanager(+)?]
+"
+BDEPEND="
+ >=dev-build/meson-1.3.0
+ dev-libs/libxslt
+ >=dev-util/gdbus-codegen-2.80.5-r1
+ dev-util/glib-utils
+ gtk-doc? (
+ >=dev-util/gtk-doc-1.17
+ >=dev-util/gi-docgen-2021.1
+ 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=(
+ "${FILESDIR}"/0001-shell-elogind-support-to-avoid-stubbed-sd_notify.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() {
+ use X || append-cppflags -DGENTOO_GTK_HIDE_X11
+ use wayland || append-cppflags -DGENTOO_GTK_HIDE_WAYLAND
+
+ 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 networkmanager portal_helper)
+ $(meson_use systemd)
+ )
+ meson_src_configure
+}
+
+src_test() {
+ # Some tests fail when /var/tmp/portage is used as PORTAGE_TMPDIR
+ # due to PATH becoming too long: OSError: AF_UNIX path too long
+ # Intercept system mutter_dbusrunner.py to shorten the paths.
+
+ local custom_mutter="${T}/custom-mutter"
+ mkdir -p "${custom_mutter}" || die
+ cp -r "${EPREFIX}"/usr/share/mutter-[0-9]*/tests/* "${custom_mutter}/" || die
+
+ sed -i -e "s/prefix='mutter-testroot-'/prefix='m-'/g" \
+ -e "s/'xdg_runtime_dir'/'run'/g" \
+ "${custom_mutter}/mutter_dbusrunner.py" || die
+
+ sed -i -e "s|/usr/share/mutter-[0-9]*/tests|${custom_mutter}|g" \
+ "${BUILD_DIR}/tests/gnome-shell-dbus-runner.py" || die
+
+ meson_src_test
+}
+
+src_install() {
+ meson_src_install
+ if use gtk-doc; then
+ mkdir -p "${ED}"/usr/share/gtk-doc/html || die
+ mv "${ED}"/usr/share/doc/{st,shell} "${ED}"/usr/share/gtk-doc/html/ || die
+ fi
+}
+
+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
+}