--- /dev/null
+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
+
--- /dev/null
+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
+
--- /dev/null
+# 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
+}