gnome-extra/gnome-shell-extensions: Upstream finally solved the bug with missing...
authorPacho Ramos <pacho@gentoo.org>
Sat, 26 Dec 2015 15:28:17 +0000 (16:28 +0100)
committerPacho Ramos <pacho@gentoo.org>
Sat, 26 Dec 2015 15:28:50 +0000 (16:28 +0100)
Package-Manager: portage-2.2.26

gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.18.2-apps-menu.patch [new file with mode: 0644]
gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.18.2-apps-menu2.patch [new file with mode: 0644]
gnome-extra/gnome-shell-extensions/gnome-shell-extensions-3.18.2-r2.ebuild [new file with mode: 0644]

diff --git a/gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.18.2-apps-menu.patch b/gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.18.2-apps-menu.patch
new file mode 100644 (file)
index 0000000..5c8ca71
--- /dev/null
@@ -0,0 +1,29 @@
+From 1958ce779467f03672e8d72afa45e2ab14bee5f5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
+Date: Wed, 16 Dec 2015 22:32:59 +0100
+Subject: apps-menu: Remove unused variable
+
+https://bugzilla.gnome.org/show_bug.cgi?id=759004
+---
+ extensions/apps-menu/extension.js | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js
+index 3180f3a..925d344 100644
+--- a/extensions/apps-menu/extension.js
++++ b/extensions/apps-menu/extension.js
+@@ -405,10 +405,8 @@ const ApplicationsButton = new Lang.Class({
+                     continue;
+                 }
+                 let app = appSys.lookup_app(id);
+-                if (appInfo.should_show()) {
+-                    let menu_id = dir.get_menu_id();
++                if (appInfo.should_show())
+                     this.applicationsByCategory[categoryId].push(app);
+-                }
+             } else if (nextType == GMenu.TreeItemType.DIRECTORY) {
+                 let subdir = iter.get_directory();
+                 if (!subdir.get_is_nodisplay())
+-- 
+cgit v0.11.2
+
diff --git a/gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.18.2-apps-menu2.patch b/gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.18.2-apps-menu2.patch
new file mode 100644 (file)
index 0000000..31dbaf2
--- /dev/null
@@ -0,0 +1,44 @@
+From 79c76a87e29e5ca70e74f3d62857c341a4ecae6c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
+Date: Wed, 16 Dec 2015 18:46:42 +0100
+Subject: apps-menu: Fix .desktop entries in subdirectories
+
+GMenu's TreeEntries return an AppInfo that is created from the
+.desktop filename, not from a desktop ID as expected by the
+AppSystem. As a result, g_app_info_get_id() will simply return
+the file's basename, which only matches the desktop ID if no
+prefix-to-subdirectory mapping as described in the menu spec
+is involved.
+Fix this by basing the app lookup on the entry's desktop ID instead
+of the AppInfo.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=759004
+---
+ extensions/apps-menu/extension.js | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js
+index 925d344..796d235 100644
+--- a/extensions/apps-menu/extension.js
++++ b/extensions/apps-menu/extension.js
+@@ -397,15 +397,14 @@ const ApplicationsButton = new Lang.Class({
+         while ((nextType = iter.next()) != GMenu.TreeItemType.INVALID) {
+             if (nextType == GMenu.TreeItemType.ENTRY) {
+                 let entry = iter.get_entry();
+-                let appInfo = entry.get_app_info();
+                 let id;
+                 try {
+-                    id = appInfo.get_id(); // catch non-UTF8 filenames
++                    id = entry.get_desktop_file_id(); // catch non-UTF8 filenames
+                 } catch(e) {
+                     continue;
+                 }
+                 let app = appSys.lookup_app(id);
+-                if (appInfo.should_show())
++                if (app.get_app_info().should_show())
+                     this.applicationsByCategory[categoryId].push(app);
+             } else if (nextType == GMenu.TreeItemType.DIRECTORY) {
+                 let subdir = iter.get_directory();
+-- 
+cgit v0.11.2
+
diff --git a/gnome-extra/gnome-shell-extensions/gnome-shell-extensions-3.18.2-r2.ebuild b/gnome-extra/gnome-shell-extensions/gnome-shell-extensions-3.18.2-r2.ebuild
new file mode 100644 (file)
index 0000000..5601a69
--- /dev/null
@@ -0,0 +1,86 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2 readme.gentoo
+
+DESCRIPTION="JavaScript extensions for GNOME Shell"
+HOMEPAGE="https://wiki.gnome.org/Projects/GnomeShell/Extensions"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="examples"
+KEYWORDS="~amd64 ~x86"
+
+COMMON_DEPEND="
+       >=dev-libs/glib-2.26:2
+       >=gnome-base/libgtop-2.28.3[introspection]
+       >=app-eselect/eselect-gnome-shell-extensions-20111211
+"
+RDEPEND="${COMMON_DEPEND}
+       >=dev-libs/gjs-1.29
+       dev-libs/gobject-introspection:=
+       dev-libs/atk[introspection]
+       gnome-base/gnome-menus:3[introspection]
+       >=gnome-base/gnome-shell-3.14.2
+       media-libs/clutter:1.0[introspection]
+       net-libs/telepathy-glib[introspection]
+       x11-libs/gdk-pixbuf:2[introspection]
+       x11-libs/gtk+:3[introspection]
+       x11-libs/pango[introspection]
+       x11-themes/gnome-icon-theme-symbolic
+"
+DEPEND="${COMMON_DEPEND}
+       >=dev-util/intltool-0.50
+       sys-devel/gettext
+       virtual/pkgconfig
+"
+# eautoreconf needs gnome-base/gnome-common
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="Installed extensions installed are initially disabled by default.
+To change the system default and enable some extensions, you can use
+# eselect gnome-shell-extensions
+
+Alternatively, to enable/disable extensions on a per-user basis,
+you can use the https://extensions.gnome.org/ web interface, the
+gnome-extra/gnome-tweak-tool GUI, or modify the org.gnome.shell
+enabled-extensions gsettings key from the command line or a script."
+
+src_prepare() {
+       # Fix https://bugzilla.gnome.org/show_bug.cgi?id=759004 (from
+       # 'master')
+       epatch "${FILESDIR}"/${PN}-3.18.2-apps-menu{,2}.patch
+       gnome2_src_prepare
+}
+
+src_configure() {
+       gnome2_src_configure --enable-extensions=all
+}
+
+src_install() {
+       gnome2_src_install
+
+       local example="example@gnome-shell-extensions.gcampax.github.com"
+       if use examples; then
+               mv "${ED}usr/share/gnome-shell/extensions/${example}" \
+                       "${ED}usr/share/doc/${PF}/" || die
+       else
+               rm -r "${ED}usr/share/gnome-shell/extensions/${example}" || die
+       fi
+
+       readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+       gnome2_pkg_postinst
+
+       ebegin "Updating list of installed extensions"
+       eselect gnome-shell-extensions update
+       eend $?
+
+       readme.gentoo_print_elog
+}