From a423ffbecd76fad0201a97869ed6837351375d3e Mon Sep 17 00:00:00 2001 From: Alexandre Rostovtsev Date: Mon, 9 Jan 2012 03:03:06 +0000 Subject: [PATCH] Add lots of upstream patches: fix browser plugin on chromium and epiphany, fix some crashes, improve extension system stability, do not load disabled extensions at shell startup, do not allow message popups to steal mouse focus, have the message tray use a hot corner so that mouse events on bottom pixel row do not get blocked, and do not depend on nautilus's schemas or libgnome's gnome-open. Also, fix automagic gnome-bluetooth dependency (bug #398145, thanks to Ed Catmur for the patch). Package-Manager: portage-2.2.0_alpha84/cvs/Linux x86_64 --- gnome-base/gnome-shell/ChangeLog | 15 +- gnome-base/gnome-shell/Manifest | 11 +- ...hell-3.2.1-automagic-gnome-bluetooth.patch | 44 +++++ .../gnome-shell/gnome-shell-3.2.1-r2.ebuild | 176 ++++++++++++++++++ 4 files changed, 241 insertions(+), 5 deletions(-) create mode 100644 gnome-base/gnome-shell/files/gnome-shell-3.2.1-automagic-gnome-bluetooth.patch create mode 100644 gnome-base/gnome-shell/gnome-shell-3.2.1-r2.ebuild diff --git a/gnome-base/gnome-shell/ChangeLog b/gnome-base/gnome-shell/ChangeLog index 329366b3c0af..6dc792cb7089 100644 --- a/gnome-base/gnome-shell/ChangeLog +++ b/gnome-base/gnome-shell/ChangeLog @@ -1,6 +1,19 @@ # ChangeLog for gnome-base/gnome-shell # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-shell/ChangeLog,v 1.6 2012/01/01 21:51:38 tetromino Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-shell/ChangeLog,v 1.7 2012/01/09 03:03:06 tetromino Exp $ + +*gnome-shell-3.2.1-r2 (09 Jan 2012) + + 09 Jan 2012; Alexandre Rostovtsev + +gnome-shell-3.2.1-r2.ebuild, + +files/gnome-shell-3.2.1-automagic-gnome-bluetooth.patch: + Add lots of upstream patches: fix browser plugin on chromium and epiphany, + fix some crashes, improve extension system stability, do not load disabled + extensions at shell startup, do not allow message popups to steal mouse + focus, have the message tray use a hot corner so that mouse events on bottom + pixel row do not get blocked, and do not depend on nautilus's schemas or + libgnome's gnome-open. Also, fix automagic gnome-bluetooth dependency (bug + #398145, thanks to Ed Catmur for the patch). 01 Jan 2012; Alexandre Rostovtsev gnome-shell-3.2.1-r1.ebuild: diff --git a/gnome-base/gnome-shell/Manifest b/gnome-base/gnome-shell/Manifest index de995aaf07e0..747c269aef87 100644 --- a/gnome-base/gnome-shell/Manifest +++ b/gnome-base/gnome-shell/Manifest @@ -1,16 +1,19 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 +AUX gnome-shell-3.2.1-automagic-gnome-bluetooth.patch 1841 RMD160 4b57dfeb42f299ef74799409132778b60ddc7a09 SHA1 4acf93b0bda58660b6c7ed5c8fdb6b06df86c035 SHA256 df5f86858b8abc08225ffb7679e829250e05a419b439b2ecad0f02bd93b670b2 AUX gnome-shell-3.2.1-messageTray-reduce-fade.patch 1625 RMD160 b525fe9d41b758d11b6372bd8294f5f6db94a9d6 SHA1 b417bd0a71be60caf553f34567c9ed1cb0376803 SHA256 a041beacbda9b85ed745911e1e2b28f0e3a9d4518dac7f329a1c342bc3fdc417 AUX gnome-shell-3.2.1-theme-lighten-sent-message.patch 1181 RMD160 15dc31a7b5e5421c7a6a58befedf8222b87e9ea1 SHA1 e4f0d05ad3198b60be16cf8352a3cd7e3aeade9c SHA256 82495b9a76a70d0a81bbb1d6a01f4390a0de8b2ebe975fdf571ea5fb7312d278 +DIST gnome-shell-3.2.1-patches-1.tar.xz 14052 RMD160 45fa17b60a3378f64f8b6b85dca04ab7d5c7b557 SHA1 823d9073d77d2531e6cbe0f0a80a116ee2f08f39 SHA256 83097366b34e5294bdaa4662ccc1c8010f2e64563ead181c781b79aa72c4f262 DIST gnome-shell-3.2.1.tar.xz 1115744 RMD160 b56647fe0dc322110872ee8853d9253c7b870500 SHA1 62bcebbd7f274c6808212b85ad56d2edf894ecec SHA256 ac05e3133bd279c84812d8d3d8e362f8b33563cdc3e7a6aefa9c0b1c2aeab0eb EBUILD gnome-shell-3.2.1-r1.ebuild 5899 RMD160 82494d85f12924467db67509f680630c571d9b8b SHA1 0ec2e33b95ed1d2a6d2c6a07fa36300e2fc6cb33 SHA256 014ac3bd99970cf13ff62a0a58acb3dda053a691b62dbbdb200128f42fe1dfc7 -MISC ChangeLog 1952 RMD160 a78a06eaf45a6e9ed2200f7133ad8bdc55b901e5 SHA1 85ea4ad7721bf6b726c8760285adfe7f2df6b0b7 SHA256 2ae24976e010fdc10ad88af2cd5b37a36ed3d0d6eb1e60ed34d204c73f7c5f5c +EBUILD gnome-shell-3.2.1-r2.ebuild 6096 RMD160 d57b1d5d60f3b0fb825cf93bc6466057e1f34b51 SHA1 7784656aacfe13bd613c4b7cdc37e4be49f6eb39 SHA256 1114f6afb248cae1ee9f066db7d25acc80e550b90f25db7abeefa4d224265cd8 +MISC ChangeLog 2647 RMD160 a2e1afc7bd075822868d899b035db5c89672d3b7 SHA1 70c38cb0c49665db94175381dbd2e434ab72b8da SHA256 bd2a08bade47a04920d8a932c5fa4b0dfe9f3d76da19a55e1091f5ca8b1f2b13 MISC metadata.xml 158 RMD160 c0e2bae8e91bb6be8922bac5e4f597302e06587e SHA1 38f78e9790bcd4382b4a49aa226aa6dda1d3a3d7 SHA256 3a7dbca0fdc557de69783e0663e2d76ddab129ea8a19b2d0ef6d3e5d1b947ce1 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) -iF4EAREIAAYFAk8A1W8ACgkQdjK8w9WeBnC3nAD9GSg+V3LN2EbIkj4KxxRgweAz -KSLV4X+QqxlMBucBCLABAKOHHzBH05oGfnEKubFhI4awyuEyrS69O4wepYYU+/of -=hNWY +iF4EAREIAAYFAk8KWPAACgkQdjK8w9WeBnAhtwD/TgKjsPZwZonC/EhnKtri1ahx +oLk/HgCpCYQphjwoy9wA/j3H06Fq1+b06tXpfU3GCJBaScPuOjHtTSnn+LCtVt2V +=MKpj -----END PGP SIGNATURE----- diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.2.1-automagic-gnome-bluetooth.patch b/gnome-base/gnome-shell/files/gnome-shell-3.2.1-automagic-gnome-bluetooth.patch new file mode 100644 index 000000000000..ae23a6c8f6d6 --- /dev/null +++ b/gnome-base/gnome-shell/files/gnome-shell-3.2.1-automagic-gnome-bluetooth.patch @@ -0,0 +1,44 @@ +From 84568fa9454f279ff519a2a11174e112786e46db Mon Sep 17 00:00:00 2001 +From: root +Date: Sun, 8 Jan 2012 13:55:05 +0000 +Subject: [PATCH] Fix automagic gnome-bluetooth dependency + +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 | 5 +++++ + 1 files changed, 5 insertions(+), 0 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 1c64122..a699838 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -127,6 +127,8 @@ PKG_CHECK_MODULES(GVC, libpulse libpulse-mainloop-glib gobject-2.0) + PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 0.1.7) + + 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_EXISTS([gnome-bluetooth-1.0 >= 3.1.0], + [BLUETOOTH_DIR=`$PKG_CONFIG --variable=applet_libdir gnome-bluetooth-1.0` + BLUETOOTH_LIBS=`$PKG_CONFIG --variable=applet_libs gnome-bluetooth-1.0` +@@ -138,6 +140,9 @@ PKG_CHECK_EXISTS([gnome-bluetooth-1.0 >= 3.1.0], + [AC_DEFINE([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 libedataserverui-3.0 >= $LIBEDATASERVERUI_MIN_VERSION gio-2.0) + AC_SUBST(CALENDAR_SERVER_CFLAGS) +-- +1.7.8.2 + diff --git a/gnome-base/gnome-shell/gnome-shell-3.2.1-r2.ebuild b/gnome-base/gnome-shell/gnome-shell-3.2.1-r2.ebuild new file mode 100644 index 000000000000..818c03a6f634 --- /dev/null +++ b/gnome-base/gnome-shell/gnome-shell-3.2.1-r2.ebuild @@ -0,0 +1,176 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.2.1-r2.ebuild,v 1.1 2012/01/09 03:03:06 tetromino Exp $ + +EAPI="4" +GCONF_DEBUG="no" +GNOME2_LA_PUNT="yes" +PYTHON_DEPEND="2:2.5" + +inherit autotools eutils gnome2 python + +DESCRIPTION="Provides core UI functions for the GNOME 3 desktop" +HOMEPAGE="http://live.gnome.org/GnomeShell" + +SRC_URI="${SRC_URI} + http://dev.gentoo.org/~tetromino/distfiles/${PN}/${P}-patches-1.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +IUSE="+bluetooth" +KEYWORDS="~amd64 ~x86" + +# gnome-desktop-2.91.2 is needed due to header changes, db82a33 in gnome-desktop +# latest gsettings-desktop-schemas is needed due to commit 602fa1c6 +# latest g-c-c is needed due to https://bugs.gentoo.org/show_bug.cgi?id=360057 +# libXfixes-5.0 needed for pointer barriers +COMMON_DEPEND=">=dev-libs/glib-2.25.9:2 + >=dev-libs/gjs-1.29.18 + >=dev-libs/gobject-introspection-0.10.1 + x11-libs/gdk-pixbuf:2[introspection] + >=x11-libs/gtk+-3.0.0:3[introspection] + >=media-libs/clutter-1.7.5:1.0[introspection] + app-misc/ca-certificates + >=dev-libs/folks-0.5.2 + >=dev-libs/json-glib-0.13.2 + >=gnome-base/gnome-desktop-2.91.2:3 + >=gnome-base/gsettings-desktop-schemas-2.91.91 + gnome-base/libgnome-keyring + >=gnome-extra/evolution-data-server-2.91.6 + >=media-libs/gstreamer-0.10.16:0.10 + >=media-libs/gst-plugins-base-0.10.16:0.10 + >=net-im/telepathy-logger-0.2.4[introspection] + net-libs/libsoup:2.4[introspection] + >=net-libs/telepathy-glib-0.15.5[introspection] + >=net-misc/networkmanager-0.8.999[introspection] + >=sys-auth/polkit-0.100[introspection] + >=x11-wm/mutter-3.2.1[introspection] + + dev-libs/dbus-glib + dev-libs/libxml2:2 + x11-libs/pango[introspection] + >=dev-libs/libcroco-0.6.2:0.6 + + gnome-base/gconf:2[introspection] + >=gnome-base/gnome-menus-2.29.10:3[introspection] + gnome-base/librsvg + media-libs/libcanberra + media-sound/pulseaudio + + >=x11-libs/startup-notification-0.11 + x11-libs/libX11 + >=x11-libs/libXfixes-5.0 + x11-apps/mesa-progs + + bluetooth? ( >=net-wireless/gnome-bluetooth-3.1.0[introspection] )" +# Runtime-only deps are probably incomplete and approximate. +# Each block: +# 1. Pull in polkit-0.101 for pretty authorization dialogs +# 2. Introspection stuff + dconf needed via imports.gi.* +# 3. gnome-session is needed for gnome-session-quit +# 4. Control shell settings +# 5. accountsservice is needed for GdmUserManager (0.6.14 needed for fast +# user switching with gdm-3.1.x) +# 6. caribou needed for on-screen keyboard +# 7. xdg-utils needed for xdg-open, used by extension tool +RDEPEND="${COMMON_DEPEND} + >=sys-auth/polkit-0.101[introspection] + + >=gnome-base/dconf-0.4.1 + >=gnome-base/libgnomekbd-2.91.4[introspection] + sys-power/upower[introspection] + + >=gnome-base/gnome-session-2.91.91 + + >=gnome-base/gnome-settings-daemon-2.91 + >=gnome-base/gnome-control-center-2.91.92-r1 + + >=sys-apps/accountsservice-0.6.14[introspection] + + >=app-accessibility/caribou-0.3 + + x11-misc/xdg-utils" +DEPEND="${COMMON_DEPEND} + >=sys-devel/gettext-0.17 + >=dev-util/pkgconfig-0.22 + >=dev-util/intltool-0.40 + gnome-base/gnome-common + !!=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 + +pkg_setup() { + DOCS="AUTHORS NEWS README" + # Don't error out on warnings + G2CONF="${G2CONF} + --enable-compile-warnings=maximum + --disable-schemas-compile + --disable-jhbuild-wrapper-script + $(use_with bluetooth) + --with-ca-certificates=${EPREFIX}/etc/ssl/certs/ca-certificates.crt + BROWSER_PLUGIN_DIR=${EPREFIX}/usr/$(get_libdir)/nsbrowser/plugins" + python_set_active_version 2 + python_pkg_setup +} + +src_prepare() { + # Useful patches from git master (not in gnome-3-2 branch yet) + epatch ../patch/*.patch + + # Fix automagic gnome-bluetooth dep, bug #398145 + epatch "${FILESDIR}/${PN}-3.2.1-automagic-gnome-bluetooth.patch" + + eautoreconf + gnome2_src_prepare + + # Drop G_DISABLE_DEPRECATED for sanity on glib upgrades; bug #384765 + # Note: sed Makefile.in because it is generated from several Makefile.ams + sed -e 's/-DG_DISABLE_DEPRECATED//g' \ + -i src/Makefile.in browser-plugin/Makefile.in || die "sed failed" +} + +src_install() { + gnome2_src_install + python_convert_shebangs 2 "${D}"/usr/bin/gnome-shell-extension-tool +} + +pkg_postinst() { + gnome2_pkg_postinst + if ! has_version '>=media-libs/gst-plugins-good-0.10.23' || \ + ! has_version 'media-plugins/gst-plugins-vp8'; 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-0.10.23" + ewarn "and media-plugins/gst-plugins-vp8, or use dconf-editor to change" + ewarn "apps.gnome-shell.recorder/pipeline to what you want to use." + fi + + if ! has_version ">=x11-base/xorg-server-1.11"; then + ewarn "If you use multiple screens, it is highly recommended that you" + ewarn "upgrade to >=x11-base/xorg-server-1.11 to be able to make use of" + ewarn "pointer barriers which will make it easier to use hot corners." + fi + + if has_version "