New ebuild for Linux Mint's fork of GNOME Shell (bug #397545).
authorAlexandre Rostovtsev <tetromino@gentoo.org>
Tue, 10 Jan 2012 05:49:03 +0000 (05:49 +0000)
committerAlexandre Rostovtsev <tetromino@gentoo.org>
Tue, 10 Jan 2012 05:49:03 +0000 (05:49 +0000)
Package-Manager: portage-2.2.0_alpha84/cvs/Linux x86_64

gnome-extra/cinnamon/ChangeLog [new file with mode: 0644]
gnome-extra/cinnamon/Manifest [new file with mode: 0644]
gnome-extra/cinnamon/cinnamon-1.1.3.ebuild [new file with mode: 0644]
gnome-extra/cinnamon/files/cinnamon-1.1.3-automagic-gnome-bluetooth.patch [new file with mode: 0644]
gnome-extra/cinnamon/files/cinnamon-1.1.3-extensionjs_path.patch [new file with mode: 0644]
gnome-extra/cinnamon/files/cinnamon-1.1.3-xdg-open.patch [new file with mode: 0644]
gnome-extra/cinnamon/metadata.xml [new file with mode: 0644]

diff --git a/gnome-extra/cinnamon/ChangeLog b/gnome-extra/cinnamon/ChangeLog
new file mode 100644 (file)
index 0000000..811ba2a
--- /dev/null
@@ -0,0 +1,13 @@
+# ChangeLog for gnome-extra/cinnamon
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/gnome-extra/cinnamon/ChangeLog,v 1.1 2012/01/10 05:49:03 tetromino Exp $
+
+*cinnamon-1.1.3 (10 Jan 2012)
+
+  10 Jan 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
+  +cinnamon-1.1.3.ebuild,
+  +files/cinnamon-1.1.3-automagic-gnome-bluetooth.patch,
+  +files/cinnamon-1.1.3-extensionjs_path.patch,
+  +files/cinnamon-1.1.3-xdg-open.patch, +metadata.xml:
+  New ebuild for Linux Mint's fork of GNOME Shell (bug #397545).
+
diff --git a/gnome-extra/cinnamon/Manifest b/gnome-extra/cinnamon/Manifest
new file mode 100644 (file)
index 0000000..e4c4e7d
--- /dev/null
@@ -0,0 +1,18 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+AUX cinnamon-1.1.3-automagic-gnome-bluetooth.patch 1841 RMD160 4b57dfeb42f299ef74799409132778b60ddc7a09 SHA1 4acf93b0bda58660b6c7ed5c8fdb6b06df86c035 SHA256 df5f86858b8abc08225ffb7679e829250e05a419b439b2ecad0f02bd93b670b2
+AUX cinnamon-1.1.3-extensionjs_path.patch 1136 RMD160 8fea3328501f749dcd9e1459b948b2f88350d13c SHA1 18def1c34675a5f4eecc51cd90d08cb7311cc101 SHA256 a937cfd70a6c5e63cc74d0b72387fd6b3d9f4286e42b2c9615b7f8f458cab19c
+AUX cinnamon-1.1.3-xdg-open.patch 944 RMD160 68cc5eda9affdd83b49b25e09c8bf25ba0ef1621 SHA1 772a75130d50acc66d7bd252e857dc3ffce724ae SHA256 87ec3b57829107e1d3cb56cd75bf3d1125c71193a14087296bfce3f18780b7d5
+DIST cinnamon-1.1.3.tar.gz 2273742 RMD160 37f6cc48c6c46c69c8da16c647af3675ee3c0347 SHA1 fa563ab939d3cc47ab4833f611bfb2904ca32257 SHA256 dc349c4d924503468a34f61513c768d83aaef685811ec388f2ee826e195ff65c
+DIST cinnamon-session_1.0.0_all.deb 1634 RMD160 3420dd6144fe184cd0b049f9a7dc0b033b3cdb5a SHA1 f963e4473dbdb28964357f742119cf1c87c3361f SHA256 720e07da6f3163346db9d01fff1b8771aaf145c2d406a4e88435826a38de0134
+EBUILD cinnamon-1.1.3.ebuild 6843 RMD160 7d1fc0726e94420c345b2589db51dbb1c4f30d43 SHA1 f1fc4e514b2e87902829f410dbe94c41d842fd75 SHA256 084a41438c534bf1c32f137e294f977787708fc083fd49dcfff6976afc52172d
+MISC ChangeLog 558 RMD160 b4b6c14db1c655223fe27a8876396811d7ef8fa3 SHA1 3e4409452d150a8de90b24ff06c234e82e711d5a SHA256 7f17a8b17392a1ec7a6e2d706d3347d1e910d3c9df62c408e19ffc5a27eca92d
+MISC metadata.xml 158 RMD160 c0e2bae8e91bb6be8922bac5e4f597302e06587e SHA1 38f78e9790bcd4382b4a49aa226aa6dda1d3a3d7 SHA256 3a7dbca0fdc557de69783e0663e2d76ddab129ea8a19b2d0ef6d3e5d1b947ce1
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.18 (GNU/Linux)
+
+iF4EAREIAAYFAk8L0VUACgkQdjK8w9WeBnAwKwD/YT2AEj7NTXUqvH/spzfviT3A
+osEUHgxFgbqOYFNVa1QBAK8mrL21isqXcT0KRtR8+/qZYjZHth6ufkFGSSeqzgjM
+=vS43
+-----END PGP SIGNATURE-----
diff --git a/gnome-extra/cinnamon/cinnamon-1.1.3.ebuild b/gnome-extra/cinnamon/cinnamon-1.1.3.ebuild
new file mode 100644 (file)
index 0000000..cfea4c4
--- /dev/null
@@ -0,0 +1,194 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/gnome-extra/cinnamon/cinnamon-1.1.3.ebuild,v 1.1 2012/01/10 05:49:03 tetromino Exp $
+
+EAPI="4"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+PYTHON_DEPEND="2:2.5"
+
+inherit autotools eutils gnome2 python
+
+DESCRIPTION="A fork of GNOME Shell with layout similar to GNOME 2"
+HOMEPAGE="http://cinnamon.linuxmint.com/"
+
+SRC_URI="https://github.com/linuxmint/Cinnamon/tarball/${PV} -> ${P}.tar.gz
+       https://github.com/downloads/linuxmint/Cinnamon/cinnamon-session_1.0.0_all.deb"
+
+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
+# gnome-menus-3.2.0.1-r1 needed for new 10-xdg-menu-gnome
+COMMON_DEPEND=">=dev-libs/glib-2.29.10: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-3.2.0.1-r1: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:
+# 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}
+       >=gnome-base/dconf-0.4.1
+       >=gnome-base/libgnomekbd-2.91.4[introspection]
+       sys-power/upower[introspection]
+       x11-libs/gdk-pixbuf[introspection]
+       x11-libs/pango[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
+       || ( app-arch/deb2targz sys-devel/binutils )
+       !!=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
+S="${WORKDIR}/linuxmint-Cinnamon-dae5da1"
+
+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_unpack() {
+       default
+       cd "${WORKDIR}"
+       unpack ./data.tar.gz
+}
+
+src_prepare() {
+       # Fix automagic gnome-bluetooth dep, bug #398145
+       epatch "${FILESDIR}/${PN}-1.1.3-automagic-gnome-bluetooth.patch"
+
+       # Do not depend on libgnome (patch from gnome-shell 3.3.x)
+       epatch "${FILESDIR}/${PN}-1.1.3-extensionjs_path.patch"
+       epatch "${FILESDIR}/${PN}-1.1.3-xdg-open.patch"
+
+       # Gentoo uses /usr/libexec
+       sed -e "s:/usr/lib/gnome-session/gnome-session-check-accelerated:${EROOT}usr/libexec/gnome-session-check-accelerated:" \
+               -i "${WORKDIR}/usr/share/gnome-session/sessions/cinnamon.session" || die "sed 1 failed"
+
+       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 2 failed"
+}
+
+src_install() {
+       gnome2_src_install
+       python_convert_shebangs 2 "${D}"/usr/bin/cinnamon-extension-tool
+
+       insinto /usr/share/gnome-session/sessions/
+       doins "${WORKDIR}/usr/share/gnome-session/sessions/cinnamon.session"
+       insinto /usr/share/xsessions/
+       doins "${WORKDIR}/usr/share/xsessions/cinnamon.desktop"
+}
+
+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 Cinnamon'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 "<x11-drivers/ati-drivers-12"; then
+               ewarn "Cinnamon has been reported to show graphical corruption under"
+               ewarn "x11-drivers/ati-drivers-11.*; you may want to use GNOME in"
+               ewarn "fallback mode, or switch to open-source drivers."
+       fi
+
+       if has_version "media-libs/mesa[video_cards_radeon]"; then
+               elog "Cinnamon is unstable under classic-mode r300/r600 mesa drivers."
+               elog "Make sure that gallium architecture for r300 and r600 drivers is"
+               elog "selected using 'eselect mesa'."
+               if ! has_version "media-libs/mesa[gallium]"; then
+                       ewarn "You will need to emerge media-libs/mesa with USE=gallium."
+               fi
+       fi
+
+       if has_version "media-libs/mesa[video_cards_intel]"; then
+               elog "Cinnamon is unstable under gallium-mode i915/i965 mesa drivers."
+               elog "Make sure that classic architecture for i915 and i965 drivers is"
+               elog "selected using 'eselect mesa'."
+               if ! has_version "media-libs/mesa[classic]"; then
+                       ewarn "You will need to emerge media-libs/mesa with USE=classic."
+               fi
+       fi
+}
diff --git a/gnome-extra/cinnamon/files/cinnamon-1.1.3-automagic-gnome-bluetooth.patch b/gnome-extra/cinnamon/files/cinnamon-1.1.3-automagic-gnome-bluetooth.patch
new file mode 100644 (file)
index 0000000..ae23a6c
--- /dev/null
@@ -0,0 +1,44 @@
+From 84568fa9454f279ff519a2a11174e112786e46db Mon Sep 17 00:00:00 2001
+From: root <admin@catmur.co.uk>
+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-extra/cinnamon/files/cinnamon-1.1.3-extensionjs_path.patch b/gnome-extra/cinnamon/files/cinnamon-1.1.3-extensionjs_path.patch
new file mode 100644 (file)
index 0000000..ff42f22
--- /dev/null
@@ -0,0 +1,31 @@
+From b64739844de4d84032b69ecd04f0fbe1d452f311 Mon Sep 17 00:00:00 2001
+From: "Jasper St. Pierre" <jstpierre@mecheye.net>
+Date: Thu, 13 Oct 2011 00:46:46 -0400
+Subject: [PATCH 03/28] gnome-shell-extension-tool: Fix error after creating
+ extension
+
+Commit 7a8a00c7057d56350d4b5509cefd812a67d4b7d7 cleaned up the code to move all
+files to a dictionary, which accidentally left an undefined "extensionjs_path"
+error. Fix that error.
+
+[Alexandre Rostovtsev <tetromino@gentoo.org>: port to cinnamon]
+
+https://bugzilla.gnome.org/show_bug.cgi?id=661623
+---
+ src/cinnamon-extension-tool.in |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/src/cinnamon-extension-tool.in b/src/cinnamon-extension-tool.in
+index e610b46..8ec24fb 100644
+--- a/src/cinnamon-extension-tool.in
++++ b/src/cinnamon-extension-tool.in
+@@ -148,5 +148,6 @@ use an extension title clicktofocus@janedoe.example.com.'''
+         f.close()
+     print "Created extension in %r" % (extension_path, )
++    extensionjs_path = os.path.join(extension_path, 'extension.js')
+     subprocess.Popen(['gnome-open', extensionjs_path])
+     sys.exit(0)
+-- 
+1.7.8.3
+
diff --git a/gnome-extra/cinnamon/files/cinnamon-1.1.3-xdg-open.patch b/gnome-extra/cinnamon/files/cinnamon-1.1.3-xdg-open.patch
new file mode 100644 (file)
index 0000000..f4e355b
--- /dev/null
@@ -0,0 +1,26 @@
+From 9db2c12d23daaeab0d69bc8b58cec610689cc4dc Mon Sep 17 00:00:00 2001
+From: "Jasper St. Pierre" <jstpierre@mecheye.net>
+Date: Thu, 20 Oct 2011 12:48:40 -0400
+Subject: [PATCH 04/28] gnome-shell-extension-tool: Use xdg-open
+
+gnome-open is deprecated
+
+[Alexandre Rostovtsev <tetromino@gentoo.org>: port to cinnamon]
+---
+ src/gnome-shell-extension-tool.in |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/cinnamon-extension-tool.in b/src/cinnamon-extension-tool.in
+index 8ec24fb..2f942d8 100644
+--- a/src/cinnamon-extension-tool.in
++++ b/src/cinnamon-extension-tool.in
+@@ -149,5 +149,5 @@ use an extension title clicktofocus@janedoe.example.com.'''
+     print "Created extension in %r" % (extension_path, )
+     extensionjs_path = os.path.join(extension_path, 'extension.js')
+-    subprocess.Popen(['gnome-open', extensionjs_path])
++    subprocess.Popen(['xdg-open', extensionjs_path])
+     sys.exit(0)
+-- 
+1.7.8.3
+
diff --git a/gnome-extra/cinnamon/metadata.xml b/gnome-extra/cinnamon/metadata.xml
new file mode 100644 (file)
index 0000000..da6fd63
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+</pkgmetadata>