diff options
| author | root <root@alpha.trunkmasters.com> | 2026-07-11 03:04:40 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-07-11 03:04:40 -0500 |
| commit | 755ecc63c34034b68719f6dac52aa76ba08bbe5c (patch) | |
| tree | 54b8b213b345547f9f11cba1eedb2c70282949ec /gnome-base | |
| parent | ed2e0f29bf24219e96271574d9c99c971dff3698 (diff) | |
| download | baldeagleos-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/Manifest | 1 | ||||
| -rw-r--r-- | gnome-base/gnome-control-center/gnome-control-center-49.7.ebuild | 2 | ||||
| -rw-r--r-- | gnome-base/gnome-control-center/gnome-control-center-49.8.ebuild | 212 | ||||
| -rw-r--r-- | gnome-base/gnome-session/Manifest | 1 | ||||
| -rw-r--r-- | gnome-base/gnome-session/gnome-session-49.3.ebuild | 109 | ||||
| -rw-r--r-- | gnome-base/gnome-shell/Manifest | 1 | ||||
| -rw-r--r-- | gnome-base/gnome-shell/gnome-shell-48.8.ebuild | 2 | ||||
| -rw-r--r-- | gnome-base/gnome-shell/gnome-shell-49.8.ebuild | 221 |
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 +} |
