summaryrefslogtreecommitdiff
path: root/gnome-base/gnome-shell
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /gnome-base/gnome-shell
reinit the tree, so we can have metadata
Diffstat (limited to 'gnome-base/gnome-shell')
-rw-r--r--gnome-base/gnome-shell/Manifest12
-rw-r--r--gnome-base/gnome-shell/files/3.22.3-CVE-2017-8288.patch45
-rw-r--r--gnome-base/gnome-shell/files/gnome-shell-3.12-bluetooth-flag.patch50
-rw-r--r--gnome-base/gnome-shell/files/gnome-shell-3.22.0-defaults.patch26
-rw-r--r--gnome-base/gnome-shell/files/gnome-shell-3.22.0-gir-build-fix.patch28
-rw-r--r--gnome-base/gnome-shell/gnome-shell-3.22.3-r2.ebuild196
-rw-r--r--gnome-base/gnome-shell/gnome-shell-3.22.3.ebuild205
-rw-r--r--gnome-base/gnome-shell/gnome-shell-3.24.3.ebuild194
-rw-r--r--gnome-base/gnome-shell/metadata.xml18
9 files changed, 774 insertions, 0 deletions
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 <pochu27@gmail.com>
+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 <sobhanmohammadpour1@yahoo.fr>
+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 <eva@gentoo.org>
+Date: Tue, 10 Dec 2013 23:33:51 +0100
+Subject: [PATCH 1/2] Alter list of default applications
+
+Signed-off-by: Gilles Dartiguelongue <eva@gentoo.org>
+---
+ 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 @@
+ </description>
+ </key>
+ <key name="favorite-apps" type="as">
+- <default>[ 'epiphany.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default>
++ <default>[ 'chromium-browser-chromium.desktop', 'firefox.desktop', 'firefox-bin.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default>
+ <summary>List of desktop file IDs for favorite applications</summary>
+ <description>
+ 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 <eva@gentoo.org>
+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'; then
+ pax-mark mr "${ED}usr/bin/gnome-shell"{,-extension-prefs}
+ elif 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'; then
+ pax-mark mr "${ED}usr/bin/gnome-shell"{,-extension-prefs}
+ elif 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 "<x11-drivers/ati-drivers-12"; then
+ ewarn "GNOME Shell has been reported to show graphical corruption under"
+ ewarn "x11-drivers/ati-drivers-11.*; you may want to switch to open-source"
+ ewarn "drivers."
+ 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.24.3.ebuild b/gnome-base/gnome-shell/gnome-shell-3.24.3.ebuild
new file mode 100644
index 000000000000..5f5bdb00fb16
--- /dev/null
+++ b/gnome-base/gnome-shell/gnome-shell-3.24.3.ebuild
@@ -0,0 +1,194 @@
+# 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 ~ppc ~ppc64 ~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.47.0
+ >=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.24.0:0/0[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
+)
+
+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'; then
+ pax-mark mr "${ED}usr/bin/gnome-shell"{,-extension-prefs}
+ elif 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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+</maintainer>
+<use>
+ <flag name="browser-extension">Ensure the presence of extensions.gnome.org
+ native connector <pkg>gnome-extra/chrome-gnome-shell</pkg></flag>
+ <flag name="ibus">Enable support for enhanced input methods through
+ <pkg>app-i18n/ibus</pkg></flag>
+ <flag name="openrc-force">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</flag>
+</use>
+</pkgmetadata>