From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- gnome-base/gnome-shell/Manifest | 12 ++ .../gnome-shell/files/3.22.3-CVE-2017-8288.patch | 45 +++++ .../files/gnome-shell-3.12-bluetooth-flag.patch | 50 +++++ .../files/gnome-shell-3.22.0-defaults.patch | 26 +++ .../files/gnome-shell-3.22.0-gir-build-fix.patch | 28 +++ .../gnome-shell/gnome-shell-3.22.3-r2.ebuild | 196 ++++++++++++++++++++ gnome-base/gnome-shell/gnome-shell-3.22.3.ebuild | 205 +++++++++++++++++++++ gnome-base/gnome-shell/gnome-shell-3.24.3.ebuild | 194 +++++++++++++++++++ gnome-base/gnome-shell/metadata.xml | 18 ++ 9 files changed, 774 insertions(+) create mode 100644 gnome-base/gnome-shell/Manifest create mode 100644 gnome-base/gnome-shell/files/3.22.3-CVE-2017-8288.patch create mode 100644 gnome-base/gnome-shell/files/gnome-shell-3.12-bluetooth-flag.patch create mode 100644 gnome-base/gnome-shell/files/gnome-shell-3.22.0-defaults.patch create mode 100644 gnome-base/gnome-shell/files/gnome-shell-3.22.0-gir-build-fix.patch create mode 100644 gnome-base/gnome-shell/gnome-shell-3.22.3-r2.ebuild create mode 100644 gnome-base/gnome-shell/gnome-shell-3.22.3.ebuild create mode 100644 gnome-base/gnome-shell/gnome-shell-3.24.3.ebuild create mode 100644 gnome-base/gnome-shell/metadata.xml (limited to 'gnome-base/gnome-shell') diff --git a/gnome-base/gnome-shell/Manifest b/gnome-base/gnome-shell/Manifest new file mode 100644 index 000000000000..02bff86da770 --- /dev/null +++ b/gnome-base/gnome-shell/Manifest @@ -0,0 +1,12 @@ +AUX 3.22.3-CVE-2017-8288.patch 1501 SHA256 a2c3541971edead24c0989f4f13dabfe58c1fb35510f1bd43d69f193eb1447cd SHA512 d077946918b5b7aa3e863e017dc71644c2a63220eb21589c0790ff34f35b2545e6fe2a4e19549f0fc1dc0a46104c766826bb3c98fade6e1c54eb7ba67fe33311 WHIRLPOOL e4d921f7380aedad7d770570f7cf4e4531662de4744df735bc4486010922c530010e327048d0483a524053510eedfbad827f1c66405ad74a6a521c4a29137f9d +AUX gnome-shell-3.12-bluetooth-flag.patch 1894 SHA256 1da61704c51128de9b17fcca022e9c4d8d1d3b7def9b3e7ef50e2bc6d13fa256 SHA512 dc18e16e2de667bef09d66acd68fbe0f4d8c0fd1725b352b0f9f4032e43481f2655b1812ffa6f8ae8441b215a372c27f5e1035b7eceeeb22ee18b1a256e79f80 WHIRLPOOL aa98031a3152d570342fb249c3609d6387b6dea1d451e71ecf880c7de412aa493ad414db7e15217bac0775625419fa8ede13c5f61e055ad735d60dbce86fd6e6 +AUX gnome-shell-3.22.0-defaults.patch 1228 SHA256 578e87d9bb02890bd1636a1b9b138903e73e785b38ca24883d57f1bf5fcc761f SHA512 f350324af68de8f7ae9dab609fdb81e272f9d545a125f3da85d9f06e4a0de09f857517d6c7a585ff1ea3b56f4d51b049cbeb62c39472d61d45026331104c5af5 WHIRLPOOL aec9125161b71a76b89ead71f3d8bc5340e2d597e44da378082d41176dcde427aca4c5befe63c5b2991ec4d72f4bc03f8a014aefc090be6f3cf1c82b82f3d1b5 +AUX gnome-shell-3.22.0-gir-build-fix.patch 882 SHA256 214eb001d6ec6c5d2c98bdc677ce12098d57a00c99b31e3357e00fcde2e1407d SHA512 b534134cc76dce49c78621d9245e9c457f4eefc3ac89dc09f036a178524b0ad3608683f43a0920fdb1d36410aebbfdecd701725217b6239f4549ef4ba82b7213 WHIRLPOOL cc59ead3bce02b86bd3948f9dbdd4f93c3111a2144c20e5a46e41b7752d9271be7757283d6f58ffcfa3d55c8e1f321aaa0638ef2c72358885262edc1de4bddd7 +DIST gnome-shell-3.22.3.tar.xz 1952576 SHA256 d1e6bd80ddd1fef92d80b518d4dbeffa296e8f003402551b8c37c42744b7d42f SHA512 47d67910b321a182d3ecd41f20cd923ec433cc93ab04b0b31351ca0229505ecbf343b1307585e557ee757845dc09b2371b0c2197717ed532b71878c186337ee9 WHIRLPOOL 9487f2626cc3ec0b3410c5ec65ceabb114e82d256ab1190464c6c787ca7cfd9e617358c19f84d64955943434b96c0521b5e57ea868da1c291a4874f1f3181613 +DIST gnome-shell-3.24.3.tar.xz 1982088 SHA256 58b13308aa1b8dcbf1f08d5a052a61f8094ffd3afa2c788c91e1ceeacde840b8 SHA512 369ed80b975369b79d4ac9b3f1fbd469fdde331e9079d09eeac6398a9b3c349b09f7570dfce1ed6e1cdfaf514b4b40c6038f34b6c3c7928470b2cd65b702ff15 WHIRLPOOL 1c5c7bf1d37a8043deb81cafad26c7a72f76a63784d7db036c47aaedbcba8468b7509a171c0a7a0763e3e0a7929bf2ac41bd6ecd2377cfd2e7c79ca0a7ff7f9b +EBUILD gnome-shell-3.22.3-r2.ebuild 6637 SHA256 c68cd0b03d152dcbe2430aca7591db9227ee6a062fbe2914ca67709460fb0dbf SHA512 60914c7e4931a73e174ad470fa8581f519c68bee9cf98bc6fb499f483b52af0efc9ca818d8b0f09fd2500177588ab2f1f05472a27eeee0498ad23f2380dc93c6 WHIRLPOOL 31c074e912b577890337e4994cda81bd6684afee0467d8bf495d6fa1cade513bb0c5bed5813e5e70625ee0672ca22f52202cb02752a39c592f5660d42078ca62 +EBUILD gnome-shell-3.22.3.ebuild 6865 SHA256 1bb63244b6c424416018a5f582b69521a85d5bb0a02eed2752b71f67a761d7b9 SHA512 c454e77fda925908ff497818dc1559217628b0b4830fe8a8d70b3251c888f6d5e7c375e57bb2eacec8a6e25af01cfafc0ec6a7f3944a0cd6eb6853fcea9f06aa WHIRLPOOL caab8329c863643a71f4c785301d4553913f45d635ff046dec185c46ca0e7128325ceb48579859db9a2694dc607c763930124932f8097398a93a9298d520cdd8 +EBUILD gnome-shell-3.24.3.ebuild 6570 SHA256 9765b55300140b87cb0b57b8639dade7b1ad89d50f86a79746f0b82ff6a30729 SHA512 7942c27864865a9e2862642b6e1618f3f0c0625280c805899de45f03d10a85dfbc45f76a80a78bbfb5e8a634fe5cd156d41497709774cfbd79ab30badf58d5b2 WHIRLPOOL b3c9dda211c1127fcf01a7fc236ca4ede4827ec2d804cc8d970bbd36a1648db8454c236f0312616b8410222081b87a92be3287e2a9b21510c82ab438bad1f180 +MISC ChangeLog 9249 SHA256 b4ac9963534bdbdd84e689a99e986b425972d8b7baf2d2ad6616f0d1d56646bc SHA512 38b6e20d7c43ee6d51422283043668d0bf795be7f9620968a1bae2abce0bc9285b8cde067d5f130a68ea47a5d9301d3276adc8efe7cd941552bd64e40c064b51 WHIRLPOOL a917b7e8136c4648cac0817df62e0cbc0d7bff491a96720d9f463ac946622b3220da3bbad0d908d42a9d8b13b2693e8ba32f069e20ec17c72aca93ef81585092 +MISC ChangeLog-2015 21302 SHA256 e4fd445e6d1b9e3925be7c6098663408dcf218b1c0e77924970cdec94f332a84 SHA512 31777caf7ec1250c5df0f7f893e02ec2bf9a984160cfab9b37bb95b9b9b92fead0a337726961a97b77a658dec18aaa6fb5bf63b4aa49de5f16ab1553328c3717 WHIRLPOOL 7088c7ebd744ea98bf76d0fd752b77d607989a77d4ba6be37377db8348601d977f1e5fe75249957d74079e979742dcd07fce59d28eb8764679e9bd69409e09e3 +MISC metadata.xml 738 SHA256 73b0a27a745a882f19ba01cb13017da487dc29e024cb5fb76457e624224502cd SHA512 02db87e2ac6c43ed104ae911de8caf78632b861c4efd3bbf5b0cf7dfab1d4d79e023b724b140ca86e72961c06454479f4d814ad1ae5dfd481bfbc7a45af0c18b WHIRLPOOL f4b03387d599eb7fb5791041b0deb2bffea0747842100fa4744c640bb9de03e1eaa2cfb43aede205c251c0cff1496b0ae3e839a740413c308fdfff243c53d7dd diff --git a/gnome-base/gnome-shell/files/3.22.3-CVE-2017-8288.patch b/gnome-base/gnome-shell/files/3.22.3-CVE-2017-8288.patch new file mode 100644 index 000000000000..f9c74d62fddd --- /dev/null +++ b/gnome-base/gnome-shell/files/3.22.3-CVE-2017-8288.patch @@ -0,0 +1,45 @@ +From 560e976ee9c59d75907b5ef6ed2bc336719e37d3 Mon Sep 17 00:00:00 2001 +From: Emilio Pozuelo Monfort +Date: Tue, 25 Apr 2017 17:27:42 +0200 +Subject: [PATCH] extensionSystem: handle reloading broken extensions + +Some extensions out there may fail to reload. When that happens, +we need to catch any exceptions so that we don't leave things in +a broken state that could lead to leaving extensions enabled in +the screen shield. + +https://bugzilla.gnome.org/show_bug.cgi?id=781728 +--- + js/ui/extensionSystem.js | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/js/ui/extensionSystem.js b/js/ui/extensionSystem.js +index ba33222..1feaa2f 100644 +--- a/js/ui/extensionSystem.js ++++ b/js/ui/extensionSystem.js +@@ -276,12 +276,20 @@ function _onVersionValidationChanged() { + // temporarily disable them all + enabledExtensions = []; + for (let uuid in ExtensionUtils.extensions) +- reloadExtension(ExtensionUtils.extensions[uuid]); ++ try { ++ reloadExtension(ExtensionUtils.extensions[uuid]); ++ } catch(e) { ++ logExtensionError(uuid, e); ++ } + enabledExtensions = getEnabledExtensions(); + + if (Main.sessionMode.allowExtensions) { + enabledExtensions.forEach(function(uuid) { +- enableExtension(uuid); ++ try { ++ enableExtension(uuid); ++ } catch(e) { ++ logExtensionError(uuid, e); ++ } + }); + } + } +-- +2.10.1 + diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.12-bluetooth-flag.patch b/gnome-base/gnome-shell/files/gnome-shell-3.12-bluetooth-flag.patch new file mode 100644 index 000000000000..2fa93af25cd0 --- /dev/null +++ b/gnome-base/gnome-shell/files/gnome-shell-3.12-bluetooth-flag.patch @@ -0,0 +1,50 @@ +From 3c9c3b19fcb212171036e1e57e749411b5fd7d65 Mon Sep 17 00:00:00 2001 +From: Sobhan Mohammadpour +Date: Thu, 28 Feb 2013 18:48:32 +0330 +Subject: [PATCH 2/3] Make bluetooth support optional + +https://bugs.gentoo.org/show_bug.cgi?id=398145 + +Ed Catmur 2012-01-08 13:46:22 UTC +libgnome-bluetooth-applet is a private library so they shouldn't be linking +against it anyway. I tried to work out how to tell libtool to add it to rpath +but got totally lost. + +I'll see if I can work out how to fix the automagic gnome-bluetooth dependency +so I can at least merge USE=-bluetooth. +--- + configure.ac | 16 +++++++++++++--- + 1 file changed, 13 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 9a30e65..aa710f0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -138,11 +138,21 @@ AS_IF([test x$enable_browser_plugin = xyes], [ + ]) + AM_CONDITIONAL(BUILD_BROWSER_PLUGIN, test x$enable_browser_plugin = xyes) + ++AC_MSG_CHECKING([for bluetooth support]) ++AC_ARG_WITH([bluetooth], ++ AS_HELP_STRING([--without-bluetooth], ++ [Build without gnome-bluetooth library (default: auto)])) ++AS_IF([test "x$with_bluetooth" != "xno"], [ + PKG_CHECK_MODULES(BLUETOOTH, gnome-bluetooth-1.0 >= 3.9.0, +- [AC_DEFINE([HAVE_BLUETOOTH],[1],[Define if you have libgnome-bluetooth-applet]) +- AC_SUBST([HAVE_BLUETOOTH],[1])], ++ [AC_DEFINE([HAVE_BLUETOOTH],[1],[Define if you have libgnome-bluetooth-applet]) ++ AC_SUBST([HAVE_BLUETOOTH],[1]) ++ AC_MSG_RESULT([yes])], + [AC_DEFINE([HAVE_BLUETOOTH],[0]) +- AC_SUBST([HAVE_BLUETOOTH],[0])]) ++ AC_SUBST([HAVE_BLUETOOTH],[0]) ++ AC_MSG_RESULT([no])]) ++], [AC_DEFINE([HAVE_BLUETOOTH],[0]) ++ AC_SUBST([HAVE_BLUETOOTH],[0]) ++ AC_MSG_RESULT([no])]) + + PKG_CHECK_MODULES(CALENDAR_SERVER, libecal-1.2 >= $LIBECAL_MIN_VERSION libedataserver-1.2 >= $LIBEDATASERVER_MIN_VERSION gio-2.0) + AC_SUBST(CALENDAR_SERVER_CFLAGS) +-- +1.9.0 + diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.22.0-defaults.patch b/gnome-base/gnome-shell/files/gnome-shell-3.22.0-defaults.patch new file mode 100644 index 000000000000..b80dbc3a0dce --- /dev/null +++ b/gnome-base/gnome-shell/files/gnome-shell-3.22.0-defaults.patch @@ -0,0 +1,26 @@ +From 7a671f99b7ef2d5f38be67668aac762764b32a42 Mon Sep 17 00:00:00 2001 +From: Gilles Dartiguelongue +Date: Tue, 10 Dec 2013 23:33:51 +0100 +Subject: [PATCH 1/2] Alter list of default applications + +Signed-off-by: Gilles Dartiguelongue +--- + data/org.gnome.shell.gschema.xml.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/data/org.gnome.shell.gschema.xml.in b/data/org.gnome.shell.gschema.xml.in +index c1e6b21..368c654 100644 +--- a/data/org.gnome.shell.gschema.xml.in ++++ b/data/org.gnome.shell.gschema.xml.in +@@ -31,7 +31,7 @@ + + + +- [ 'epiphany.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ] ++ [ 'chromium-browser-chromium.desktop', 'firefox.desktop', 'firefox-bin.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ] + List of desktop file IDs for favorite applications + + The applications corresponding to these identifiers +-- +2.10.1 + diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.22.0-gir-build-fix.patch b/gnome-base/gnome-shell/files/gnome-shell-3.22.0-gir-build-fix.patch new file mode 100644 index 000000000000..b0c5fb769e8f --- /dev/null +++ b/gnome-base/gnome-shell/files/gnome-shell-3.22.0-gir-build-fix.patch @@ -0,0 +1,28 @@ +From 395bede20811b0cf2bcecb0b4e5bcbc2c2fa35f4 Mon Sep 17 00:00:00 2001 +From: Gilles Dartiguelongue +Date: Sat, 12 Nov 2016 00:21:25 +0100 +Subject: [PATCH] Add missing rpath to point to mutter specific libraries + +Reported-By: AlphatPC@gmail.com +X-Gentoo-Bug: 597842 +X-Gentoo-Url: https://bugs.gentoo.org/show_bug.cgi?id=597842 +--- + src/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index e9aacfe..fd98ba5 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -311,7 +311,7 @@ shell-enum-types.c: $(srcdir)/shell-enum-types.c.in stamp-shell-enum-types.h + rm -f $(@F).tmp + EXTRA_DIST += shell-enum-types.c.in + +-libgnome_shell_ldflags = -avoid-version ++libgnome_shell_ldflags = -avoid-version -Wl,-rpath,$(MUTTER_TYPELIB_DIR) + libgnome_shell_libadd = \ + -lm \ + $(GNOME_SHELL_LIBS) \ +-- +2.10.1 + diff --git a/gnome-base/gnome-shell/gnome-shell-3.22.3-r2.ebuild b/gnome-base/gnome-shell/gnome-shell-3.22.3-r2.ebuild new file mode 100644 index 000000000000..66d73e5efc0e --- /dev/null +++ b/gnome-base/gnome-shell/gnome-shell-3.22.3-r2.ebuild @@ -0,0 +1,196 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +GNOME2_LA_PUNT="yes" +GNOME2_EAUTORECONF="yes" +PYTHON_COMPAT=( python{3_4,3_5} ) + +inherit gnome2 multilib pax-utils python-r1 systemd + +DESCRIPTION="Provides core UI functions for the GNOME 3 desktop" +HOMEPAGE="https://wiki.gnome.org/Projects/GnomeShell" + +LICENSE="GPL-2+ LGPL-2+" +SLOT="0" +IUSE="+bluetooth +browser-extension +ibus +networkmanager nsplugin -openrc-force" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +KEYWORDS="amd64 ~ia64 x86" + +# libXfixes-5.0 needed for pointer barriers +# FIXME: +# * gstreamer support is currently automagic +COMMON_DEPEND=" + >=app-accessibility/at-spi2-atk-2.5.3 + >=dev-libs/atk-2[introspection] + >=app-crypt/gcr-3.7.5[introspection] + >=dev-libs/glib-2.45.3:2[dbus] + >=dev-libs/gjs-1.39 + >=dev-libs/gobject-introspection-1.49.1:= + dev-libs/libical:= + >=x11-libs/gtk+-3.15.0:3[introspection] + >=dev-libs/libcroco-0.6.8:0.6 + >=gnome-base/gnome-desktop-3.7.90:3=[introspection] + >=gnome-base/gsettings-desktop-schemas-3.21.3 + >=gnome-extra/evolution-data-server-3.17.2:= + >=media-libs/gstreamer-0.11.92:1.0 + >=net-im/telepathy-logger-0.2.4[introspection] + >=net-libs/telepathy-glib-0.19[introspection] + >=sys-auth/polkit-0.100[introspection] + >=x11-libs/libXfixes-5.0 + x11-libs/libXtst + >=x11-wm/mutter-3.22.1[introspection] + >=x11-libs/startup-notification-0.11 + + ${PYTHON_DEPS} + dev-python/pygobject:3[${PYTHON_USEDEP}] + + dev-libs/dbus-glib + dev-libs/libxml2:2 + media-libs/libcanberra[gtk3] + media-libs/mesa + >=media-sound/pulseaudio-2 + >=net-libs/libsoup-2.40:2.4[introspection] + x11-libs/libX11 + x11-libs/gdk-pixbuf:2[introspection] + + x11-apps/mesa-progs + + bluetooth? ( >=net-wireless/gnome-bluetooth-3.9[introspection] ) + networkmanager? ( + app-crypt/libsecret + >=gnome-extra/nm-applet-0.9.8 + >=net-misc/networkmanager-0.9.8:=[introspection] ) + nsplugin? ( >=dev-libs/json-glib-0.13.2 ) +" +# Runtime-only deps are probably incomplete and approximate. +# Introspection deps generated using: +# grep -roe "imports.gi.*" gnome-shell-* | cut -f2 -d: | sort | uniq +# Each block: +# 1. Introspection stuff needed via imports.gi.* +# 2. gnome-session is needed for gnome-session-quit +# 3. Control shell settings +# 4. Systemd needed for suspending support +# 5. xdg-utils needed for xdg-open, used by extension tool +# 6. adwaita-icon-theme and dejavu font neeed for various icons & arrows +# 7. mobile-broadband-provider-info, timezone-data for shell-mobile-providers.c +# 8. IBus is needed for nls integration +RDEPEND="${COMMON_DEPEND} + app-accessibility/at-spi2-core:2[introspection] + >=app-accessibility/caribou-0.4.8 + dev-libs/libgweather:2[introspection] + >=sys-apps/accountsservice-0.6.14[introspection] + >=sys-power/upower-0.99:=[introspection] + x11-libs/pango[introspection] + + >=gnome-base/gnome-session-2.91.91 + >=gnome-base/gnome-settings-daemon-3.8.3 + + !openrc-force? ( >=sys-apps/systemd-31 ) + + x11-misc/xdg-utils + + media-fonts/dejavu + >=x11-themes/adwaita-icon-theme-3.19.90 + + networkmanager? ( + net-misc/mobile-broadband-provider-info + sys-libs/timezone-data ) + ibus? ( >=app-i18n/ibus-1.4.99[dconf(+),gtk,introspection] ) +" +# avoid circular dependency, see bug #546134 +PDEPEND=" + >=gnome-base/gdm-3.5[introspection] + >=gnome-base/gnome-control-center-3.8.3[bluetooth(+)?,networkmanager(+)?] + browser-extension? ( gnome-extra/chrome-gnome-shell ) +" +DEPEND="${COMMON_DEPEND} + dev-libs/libxslt + >=dev-util/gdbus-codegen-2.45.3 + >=dev-util/gtk-doc-am-1.17 + gnome-base/gnome-common + sys-devel/autoconf-archive + >=sys-devel/gettext-0.19.6 + virtual/pkgconfig +" + +PATCHES=( + # Change favorites defaults, bug #479918 + "${FILESDIR}"/${PN}-3.22.0-defaults.patch + # Fix automagic gnome-bluetooth dep, bug #398145 + "${FILESDIR}"/${PN}-3.12-bluetooth-flag.patch + # Add missing path to libmutter-clutter when building .gir, bug #597842 + "${FILESDIR}"/${PN}-3.22.0-gir-build-fix.patch + # Little bug when user has toggled version validation in the session, bug #616698 + "${FILESDIR}"/${PV}-CVE-2017-8288.patch +) + +src_configure() { + # Do not error out on warnings + gnome2_src_configure \ + --enable-man \ + $(use_enable !openrc-force systemd) \ + $(use_with bluetooth) \ + $(use_enable networkmanager) \ + $(use_enable nsplugin browser-plugin) \ + BROWSER_PLUGIN_DIR="${EPREFIX}"/usr/$(get_libdir)/nsbrowser/plugins +} + +src_install() { + gnome2_src_install + python_replicate_script "${ED}/usr/bin/gnome-shell-extension-tool" + python_replicate_script "${ED}/usr/bin/gnome-shell-perf-tool" + + # Required for gnome-shell on hardened/PaX, bug #398941 + # Future-proof for >=spidermonkey-1.8.7 following polkit's example + if has_version '=dev-lang/spidermonkey-1.8.7[jit]'; then + pax-mark m "${ED}usr/bin/gnome-shell"{,-extension-prefs} + # Required for gnome-shell on hardened/PaX #457146 and #457194 + # PaX EMUTRAMP need to be on + elif has_version '>=dev-libs/libffi-3.0.13[pax_kernel]'; then + pax-mark E "${ED}usr/bin/gnome-shell"{,-extension-prefs} + else + pax-mark m "${ED}usr/bin/gnome-shell"{,-extension-prefs} + fi +} + +pkg_postinst() { + gnome2_pkg_postinst + + if ! has_version 'media-libs/gst-plugins-good:1.0' || \ + ! has_version 'media-plugins/gst-plugins-vpx:1.0'; then + ewarn "To make use of GNOME Shell's built-in screen recording utility," + ewarn "you need to either install media-libs/gst-plugins-good:1.0" + ewarn "and media-plugins/gst-plugins-vpx:1.0, or use dconf-editor to change" + ewarn "apps.gnome-shell.recorder/pipeline to what you want to use." + fi + + 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." + fi + + # https://bugs.gentoo.org/show_bug.cgi?id=563084 + if has_version "x11-drivers/nvidia-drivers[-kms]"; then + ewarn "You will need to enable kms support in x11-drivers/nvidia-drivers," + ewarn "otherwise Gnome will fail to start" + fi + + if ! systemd_is_booted; then + ewarn "${PN} needs Systemd to be *running* for working" + ewarn "properly. Please follow this guide to migrate:" + ewarn "https://wiki.gentoo.org/wiki/Systemd" + fi + + if use openrc-force; then + ewarn "You are enabling 'openrc-force' USE flag to skip systemd requirement," + ewarn "this can lead to unexpected problems and is not supported neither by" + ewarn "upstream neither by Gnome Gentoo maintainers. If you suffer any problem," + ewarn "you will need to disable this USE flag system wide and retest before" + ewarn "opening any bug report." + fi +} diff --git a/gnome-base/gnome-shell/gnome-shell-3.22.3.ebuild b/gnome-base/gnome-shell/gnome-shell-3.22.3.ebuild new file mode 100644 index 000000000000..f4a7da3a7451 --- /dev/null +++ b/gnome-base/gnome-shell/gnome-shell-3.22.3.ebuild @@ -0,0 +1,205 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +GNOME2_LA_PUNT="yes" +PYTHON_COMPAT=( python{3_4,3_5} ) + +inherit autotools gnome2 multilib pax-utils python-r1 systemd + +DESCRIPTION="Provides core UI functions for the GNOME 3 desktop" +HOMEPAGE="https://wiki.gnome.org/Projects/GnomeShell" + +LICENSE="GPL-2+ LGPL-2+" +SLOT="0" +IUSE="+bluetooth +ibus +networkmanager nsplugin -openrc-force" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +KEYWORDS="~alpha ~arm ~ia64 ~ppc ~ppc64" + +# libXfixes-5.0 needed for pointer barriers +# FIXME: +# * gstreamer support is currently automagic +COMMON_DEPEND=" + >=app-accessibility/at-spi2-atk-2.5.3 + >=dev-libs/atk-2[introspection] + >=app-crypt/gcr-3.7.5[introspection] + >=dev-libs/glib-2.45.3:2[dbus] + >=dev-libs/gjs-1.39 + >=dev-libs/gobject-introspection-1.49.1:= + dev-libs/libical:= + >=x11-libs/gtk+-3.15.0:3[introspection] + >=dev-libs/libcroco-0.6.8:0.6 + >=gnome-base/gnome-desktop-3.7.90:3=[introspection] + >=gnome-base/gsettings-desktop-schemas-3.21.3 + >=gnome-extra/evolution-data-server-3.17.2:= + >=media-libs/gstreamer-0.11.92:1.0 + >=net-im/telepathy-logger-0.2.4[introspection] + >=net-libs/telepathy-glib-0.19[introspection] + >=sys-auth/polkit-0.100[introspection] + >=x11-libs/libXfixes-5.0 + x11-libs/libXtst + >=x11-wm/mutter-3.22.1[introspection] + >=x11-libs/startup-notification-0.11 + + ${PYTHON_DEPS} + dev-python/pygobject:3[${PYTHON_USEDEP}] + + dev-libs/dbus-glib + dev-libs/libxml2:2 + media-libs/libcanberra[gtk3] + media-libs/mesa + >=media-sound/pulseaudio-2 + >=net-libs/libsoup-2.40:2.4[introspection] + x11-libs/libX11 + x11-libs/gdk-pixbuf:2[introspection] + + x11-apps/mesa-progs + + bluetooth? ( >=net-wireless/gnome-bluetooth-3.9[introspection] ) + networkmanager? ( + app-crypt/libsecret + >=gnome-extra/nm-applet-0.9.8 + >=net-misc/networkmanager-0.9.8:=[introspection] ) + nsplugin? ( >=dev-libs/json-glib-0.13.2 ) +" +# Runtime-only deps are probably incomplete and approximate. +# Introspection deps generated using: +# grep -roe "imports.gi.*" gnome-shell-* | cut -f2 -d: | sort | uniq +# Each block: +# 1. Introspection stuff needed via imports.gi.* +# 2. gnome-session is needed for gnome-session-quit +# 3. Control shell settings +# 4. Systemd needed for suspending support +# 5. xdg-utils needed for xdg-open, used by extension tool +# 6. adwaita-icon-theme and dejavu font neeed for various icons & arrows +# 7. mobile-broadband-provider-info, timezone-data for shell-mobile-providers.c +# 8. IBus is needed for nls integration +RDEPEND="${COMMON_DEPEND} + app-accessibility/at-spi2-core:2[introspection] + >=app-accessibility/caribou-0.4.8 + dev-libs/libgweather:2[introspection] + >=sys-apps/accountsservice-0.6.14[introspection] + >=sys-power/upower-0.99:=[introspection] + x11-libs/pango[introspection] + + >=gnome-base/gnome-session-2.91.91 + >=gnome-base/gnome-settings-daemon-3.8.3 + + !openrc-force? ( >=sys-apps/systemd-31 ) + + x11-misc/xdg-utils + + media-fonts/dejavu + >=x11-themes/adwaita-icon-theme-3.19.90 + + networkmanager? ( + net-misc/mobile-broadband-provider-info + sys-libs/timezone-data ) + ibus? ( >=app-i18n/ibus-1.4.99[dconf(+),gtk,introspection] ) +" +# avoid circular dependency, see bug #546134 +PDEPEND=" + >=gnome-base/gdm-3.5[introspection] + >=gnome-base/gnome-control-center-3.8.3[bluetooth(+)?,networkmanager(+)?] +" +DEPEND="${COMMON_DEPEND} + dev-libs/libxslt + >=dev-util/gdbus-codegen-2.45.3 + >=dev-util/gtk-doc-am-1.17 + gnome-base/gnome-common + >=sys-devel/gettext-0.19.6 + virtual/pkgconfig + !!=dev-lang/spidermonkey-1.8.2* +" +# libmozjs.so is picked up from /usr/lib while compiling, so block at build-time +# https://bugs.gentoo.org/show_bug.cgi?id=360413 + +src_prepare() { + # Change favorites defaults, bug #479918 + eapply "${FILESDIR}"/${PN}-3.22.0-defaults.patch + + # Fix automagic gnome-bluetooth dep, bug #398145 + eapply "${FILESDIR}"/${PN}-3.12-bluetooth-flag.patch + + # Add missing path to libmutter-clutter when building .gir, bug #597842 + eapply "${FILESDIR}"/${PN}-3.22.0-gir-build-fix.patch + + eautoreconf + gnome2_src_prepare +} + +src_configure() { + # Do not error out on warnings + gnome2_src_configure \ + --enable-man \ + $(use_enable !openrc-force systemd) \ + $(use_with bluetooth) \ + $(use_enable networkmanager) \ + $(use_enable nsplugin browser-plugin) \ + BROWSER_PLUGIN_DIR="${EPREFIX}"/usr/$(get_libdir)/nsbrowser/plugins +} + +src_install() { + gnome2_src_install + python_replicate_script "${ED}/usr/bin/gnome-shell-extension-tool" + python_replicate_script "${ED}/usr/bin/gnome-shell-perf-tool" + + # Required for gnome-shell on hardened/PaX, bug #398941 + # Future-proof for >=spidermonkey-1.8.7 following polkit's example + if has_version '=dev-lang/spidermonkey-1.8.7[jit]'; then + pax-mark m "${ED}usr/bin/gnome-shell"{,-extension-prefs} + # Required for gnome-shell on hardened/PaX #457146 and #457194 + # PaX EMUTRAMP need to be on + elif has_version '>=dev-libs/libffi-3.0.13[pax_kernel]'; then + pax-mark E "${ED}usr/bin/gnome-shell"{,-extension-prefs} + else + pax-mark m "${ED}usr/bin/gnome-shell"{,-extension-prefs} + fi +} + +pkg_postinst() { + gnome2_pkg_postinst + + if ! has_version 'media-libs/gst-plugins-good:1.0' || \ + ! has_version 'media-plugins/gst-plugins-vpx:1.0'; then + ewarn "To make use of GNOME Shell's built-in screen recording utility," + ewarn "you need to either install media-libs/gst-plugins-good:1.0" + ewarn "and media-plugins/gst-plugins-vpx:1.0, or use dconf-editor to change" + ewarn "apps.gnome-shell.recorder/pipeline to what you want to use." + fi + + if has_version "=spidermonkey-1.8.7 following polkit's example + if has_version '=dev-lang/spidermonkey-1.8.7[jit]'; then + pax-mark m "${ED}usr/bin/gnome-shell"{,-extension-prefs} + # Required for gnome-shell on hardened/PaX #457146 and #457194 + # PaX EMUTRAMP need to be on + elif has_version '>=dev-libs/libffi-3.0.13[pax_kernel]'; then + pax-mark E "${ED}usr/bin/gnome-shell"{,-extension-prefs} + else + pax-mark m "${ED}usr/bin/gnome-shell"{,-extension-prefs} + fi +} + +pkg_postinst() { + gnome2_pkg_postinst + + if ! has_version 'media-libs/gst-plugins-good:1.0' || \ + ! has_version 'media-plugins/gst-plugins-vpx:1.0'; then + ewarn "To make use of GNOME Shell's built-in screen recording utility," + ewarn "you need to either install media-libs/gst-plugins-good:1.0" + ewarn "and media-plugins/gst-plugins-vpx:1.0, or use dconf-editor to change" + ewarn "apps.gnome-shell.recorder/pipeline to what you want to use." + fi + + 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 + + # https://bugs.gentoo.org/show_bug.cgi?id=563084 + if has_version "x11-drivers/nvidia-drivers[-kms]"; then + ewarn "You will need to enable kms support in x11-drivers/nvidia-drivers," + ewarn "otherwise Gnome will fail to start" + fi + + if ! systemd_is_booted; then + ewarn "${PN} needs Systemd to be *running* for working" + ewarn "properly. Please follow this guide to migrate:" + ewarn "https://wiki.gentoo.org/wiki/Systemd" + fi + + if use openrc-force; then + ewarn "You are enabling 'openrc-force' USE flag to skip systemd requirement," + ewarn "this can lead to unexpected problems and is not supported neither by" + ewarn "upstream neither by Gnome Gentoo maintainers. If you suffer any problem," + ewarn "you will need to disable this USE flag system wide and retest before" + ewarn "opening any bug report." + fi +} diff --git a/gnome-base/gnome-shell/metadata.xml b/gnome-base/gnome-shell/metadata.xml new file mode 100644 index 000000000000..3d91d2b59fe4 --- /dev/null +++ b/gnome-base/gnome-shell/metadata.xml @@ -0,0 +1,18 @@ + + + + + gnome@gentoo.org + Gentoo GNOME Desktop + + + Ensure the presence of extensions.gnome.org + native connector gnome-extra/chrome-gnome-shell + Enable support for enhanced input methods through + app-i18n/ibus + Skip systemd dependency (#480336), + enabling this flag will become your setup to be fully + unsupported by upstream and downstream Gnome team. Do not + try to enable it unless completely needed + + -- cgit v1.2.3