summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnome-extra/cinnamon/ChangeLog14
-rw-r--r--gnome-extra/cinnamon/cinnamon-2.2.16-r2.ebuild (renamed from gnome-extra/cinnamon/cinnamon-2.2.16.ebuild)43
-rw-r--r--gnome-extra/cinnamon/files/cinnamon-2.2.16-calendar-upower.patch17
-rw-r--r--gnome-extra/cinnamon/files/cinnamon-2.2.16-gnome-3.14.patch23
-rw-r--r--gnome-extra/cinnamon/files/cinnamon-2.2.16-set-wheel.patch53
-rw-r--r--gnome-extra/cinnamon/files/polkit-cinnamon-authentication-agent-1.desktop10
6 files changed, 151 insertions, 9 deletions
diff --git a/gnome-extra/cinnamon/ChangeLog b/gnome-extra/cinnamon/ChangeLog
index b78c2b5d423d..2812ee61d907 100644
--- a/gnome-extra/cinnamon/ChangeLog
+++ b/gnome-extra/cinnamon/ChangeLog
@@ -1,6 +1,18 @@
# ChangeLog for gnome-extra/cinnamon
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/gnome-extra/cinnamon/ChangeLog,v 1.48 2014/10/02 10:18:05 pacho Exp $
+# $Header: /var/cvsroot/gentoo-x86/gnome-extra/cinnamon/ChangeLog,v 1.49 2014/10/07 11:38:11 pacho Exp $
+
+*cinnamon-2.2.16-r2 (07 Oct 2014)
+
+ 07 Oct 2014; Pacho Ramos <pacho@gentoo.org> +cinnamon-2.2.16-r2.ebuild,
+ +files/cinnamon-2.2.16-calendar-upower.patch,
+ +files/cinnamon-2.2.16-gnome-3.14.patch,
+ +files/cinnamon-2.2.16-set-wheel.patch,
+ +files/polkit-cinnamon-authentication-agent-1.desktop,
+ -cinnamon-2.2.16.ebuild:
+ Apply patches from Fedora and Arch to fix various bugs, fix compatibility with
+ gnome-3.14, ensure authentication-agent is run, stop using gksu, don't rely on
+ sudo, fix compat with latest upower.
*cinnamon-2.2.16-r1 (02 Oct 2014)
diff --git a/gnome-extra/cinnamon/cinnamon-2.2.16.ebuild b/gnome-extra/cinnamon/cinnamon-2.2.16-r2.ebuild
index 3da552029f15..e3419bd7746f 100644
--- a/gnome-extra/cinnamon/cinnamon-2.2.16.ebuild
+++ b/gnome-extra/cinnamon/cinnamon-2.2.16-r2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/gnome-extra/cinnamon/cinnamon-2.2.16.ebuild,v 1.1 2014/09/30 13:53:09 tetromino Exp $
+# $Header: /var/cvsroot/gentoo-x86/gnome-extra/cinnamon/cinnamon-2.2.16-r2.ebuild,v 1.1 2014/10/07 11:38:11 pacho Exp $
EAPI="5"
GCONF_DEBUG="no"
@@ -76,7 +76,6 @@ COMMON_DEPEND="
# 10. pygobject needed for menu editor
# 11. nemo - default file manager, tightly integrated with cinnamon
# TODO(lxnay): fix error: libgnome-desktop/gnome-rr-labeler.h: No such file or directory
-# note: needs gksu, not gksu-polkit, due to extensive use of --message/-m arg
RDEPEND="${COMMON_DEPEND}
>=gnome-base/dconf-0.4.1
>=gnome-base/libgnomekbd-2.91.4[introspection]
@@ -90,7 +89,6 @@ RDEPEND="${COMMON_DEPEND}
>=app-accessibility/caribou-0.3
- x11-libs/gksu
x11-misc/xdg-utils
dev-python/dbus-python[${PYTHON_USEDEP}]
@@ -136,7 +134,8 @@ pkg_setup() {
}
src_prepare() {
- # Fix GNOME 3.8 support
+ # Fix backgrounds path as cinnamon doesn't provide them
+ # https://github.com/linuxmint/Cinnamon/issues/3575
epatch "${FILESDIR}/background.patch"
# Fix automagic gnome-bluetooth dep, bug #398145
@@ -148,6 +147,31 @@ src_prepare() {
# Fix lspci path, https://github.com/linuxmint/Cinnamon/issues/3548
epatch "${FILESDIR}/${PN}-2.2.16-sbin-lspci.patch"
+ # Fix calendar with latest upower, https://github.com/linuxmint/Cinnamon/issues/2913
+ epatch "${FILESDIR}/${PN}-2.2.16-calendar-upower.patch"
+
+ # Use wheel group instead of sudo (from Fedora/Arch)
+ # https://github.com/linuxmint/Cinnamon/issues/3576
+ epatch "${FILESDIR}/${PN}-2.2.16-set-wheel.patch"
+
+ # Fix GNOME 3.14 support (from Fedora/Arch)
+ # https://github.com/linuxmint/Cinnamon/issues/3577
+ epatch "${FILESDIR}/${PN}-2.2.16-gnome-3.14.patch"
+
+ # Check for the cc-panel path, not for the unneeded binary (from Arch)
+ # https://github.com/linuxmint/Cinnamon/issues/3578
+ sed -i 's|/usr/bin/cinnamon-control-center|/usr/lib/cinnamon-control-center-1/panels|' \
+ files/usr/bin/cinnamon-settings || die
+
+ # Use pkexec instead of gksu (from Arch)
+ # https://github.com/linuxmint/Cinnamon/issues/3565
+ sed -i 's/gksu/pkexec/' files/usr/bin/cinnamon-settings-users || die
+
+ # Add polkit agent to required components (from Fedora/Arch), bug #523958
+ # https://github.com/linuxmint/Cinnamon/issues/3579
+ sed -i 's/RequiredComponents=\(.*\)$/RequiredComponents=\1polkit-gnome-authentication-agent-1;/' \
+ files/usr/share/cinnamon-session/sessions/cinnamon*.session || die
+
# Gentoo uses /usr/$(get_libdir), not /usr/lib even for python
sed -e "s:/usr/lib/:/usr/$(get_libdir)/:" \
-e 's:"/usr/lib":"/usr/'"$(get_libdir)"'":' \
@@ -169,6 +193,8 @@ src_prepare() {
rm -rv files/usr/share/cinnamon/applets/network@cinnamon.org || die
fi
+ python_fix_shebang .
+
eautoreconf
gnome2_src_prepare
}
@@ -187,16 +213,17 @@ src_configure() {
src_install() {
gnome2_src_install
python_optimize "${ED}usr/$(get_libdir)/cinnamon-"{desktop-editor,json-makepot,launcher,looking-glass,menu-editor,screensaver-lock-dialog,settings,settings-users}
- # Fix broken shebangs
- sed -e "s%#!.*python%#!${PYTHON}%" \
- -i "${ED}usr/bin/cinnamon-"{desktop-editor,json-makepot,launcher,looking-glass,menu-editor,screensaver-lock-dialog,settings,settings-users} \
- -i "${ED}usr/$(get_libdir)/cinnamon-settings/cinnamon-settings.py" || die
# Required for gnome-shell on hardened/PaX, bug #398941
pax-mark mr "${ED}usr/bin/cinnamon"
# Doesn't exist on Gentoo, causing this to be a dead symlink
rm -f "${ED}etc/xdg/menus/cinnamon-applications-merged" || die
+
+ # Ensure authentication-agent is started, bug #523958
+ # https://github.com/linuxmint/Cinnamon/issues/3579
+ insinto /etc/xdg/autostart/
+ doins "${FILESDIR}"/polkit-cinnamon-authentication-agent-1.desktop
}
pkg_postinst() {
diff --git a/gnome-extra/cinnamon/files/cinnamon-2.2.16-calendar-upower.patch b/gnome-extra/cinnamon/files/cinnamon-2.2.16-calendar-upower.patch
new file mode 100644
index 000000000000..fefd9c539b40
--- /dev/null
+++ b/gnome-extra/cinnamon/files/cinnamon-2.2.16-calendar-upower.patch
@@ -0,0 +1,17 @@
+Index: cinnamon/files/usr/share/cinnamon/applets/calendar@cinnamon.org/applet.js
+===================================================================
+--- cinnamon.orig/files/usr/share/cinnamon/applets/calendar@cinnamon.org/applet.js 2014-04-27 11:56:10.582581808 +0200
++++ cinnamon/files/usr/share/cinnamon/applets/calendar@cinnamon.org/applet.js 2014-07-14 00:44:37.882215797 +0200
+@@ -94,7 +94,11 @@
+
+ // https://bugzilla.gnome.org/show_bug.cgi?id=655129
+ this._upClient = new UPowerGlib.Client();
+- this._upClient.connect('notify-resume', this._updateClockAndDate);
++ try {
++ this._upClient.connect('notify-resume', this._updateClockAndDate);
++ } catch (e) {
++ this._upClient.connect('notify::resume', this._updateClockAndDate);
++ }
+
+ // Start the clock
+ this.on_settings_changed();
diff --git a/gnome-extra/cinnamon/files/cinnamon-2.2.16-gnome-3.14.patch b/gnome-extra/cinnamon/files/cinnamon-2.2.16-gnome-3.14.patch
new file mode 100644
index 000000000000..e2a2d99eb220
--- /dev/null
+++ b/gnome-extra/cinnamon/files/cinnamon-2.2.16-gnome-3.14.patch
@@ -0,0 +1,23 @@
+--- a/data/theme/cinnamon.css
++++ b/data/theme/cinnamon.css
+@@ -1445,7 +1445,8 @@
+ .applet-icon:hover,
+ .applet-box:hover > .applet-icon {
+ color: #fff;
+- icon-shadow: white 0px 0px 3px;
++/* Broken with GNOME 3.14 (icon-size is not honoured)
++ * icon-shadow: white 0px 0px 3px;*/
+ }
+
+ /* ===================================================================
+--- a/files/usr/lib/cinnamon-settings/modules/cs_themes.py
++++ b/files/usr/lib/cinnamon-settings/modules/cs_themes.py
+@@ -91,7 +91,7 @@
+
+ def _load_icon_themes(self):
+ dirs = ("/usr/share/icons", os.path.join(os.path.expanduser("~"), ".icons"))
+- valid = walk_directories(dirs, lambda d: os.path.isdir(d) and not os.path.exists(os.path.join(d, "cursors")) and os.path.exists(os.path.join(d, "index.theme")))
++ valid = walk_directories(dirs, lambda d: os.path.isdir(d) and os.path.exists(os.path.join(d, "index.theme")))
+ valid.sort(lambda a,b: cmp(a.lower(), b.lower()))
+ res = []
+ for i in valid:
diff --git a/gnome-extra/cinnamon/files/cinnamon-2.2.16-set-wheel.patch b/gnome-extra/cinnamon/files/cinnamon-2.2.16-set-wheel.patch
new file mode 100644
index 000000000000..81c6dc4b583f
--- /dev/null
+++ b/gnome-extra/cinnamon/files/cinnamon-2.2.16-set-wheel.patch
@@ -0,0 +1,53 @@
+--- a/files/usr/lib/cinnamon-settings-users/cinnamon-settings-users.py
++++ b/files/usr/lib/cinnamon-settings-users/cinnamon-settings-users.py
+@@ -144,12 +144,11 @@ class EditableEntry (Gtk.Notebook):
+
+ class PasswordDialog(Gtk.Dialog):
+
+- def __init__ (self, user, password_mask, group_mask):
++ def __init__ (self, user, password_mask):
+ super(PasswordDialog, self).__init__()
+
+ self.user = user
+ self.password_mask = password_mask
+- self.group_mask = group_mask
+
+ self.set_modal(True)
+ self.set_skip_taskbar_hint(True)
+@@ -215,12 +214,6 @@ class PasswordDialog(Gtk.Dialog):
+ def change_password(self):
+ newpass = self.new_password.get_text()
+ self.user.set_password(newpass, "")
+- os.system("gpasswd -d '%s' nopasswdlogin" % self.user.get_user_name())
+- mask = self.group_mask.get_text()
+- mask = mask.split(", ")
+- mask.remove("nopasswdlogin")
+- mask = ", ".join(mask)
+- self.group_mask.set_text(mask)
+ self.password_mask.set_text(u'\u2022\u2022\u2022\u2022\u2022\u2022')
+ self.destroy()
+
+@@ -515,7 +508,7 @@ class Module:
+ model, treeiter = self.users_treeview.get_selection().get_selected()
+ if treeiter != None:
+ user = model[treeiter][INDEX_USER_OBJECT]
+- dialog = PasswordDialog(user, self.password_mask, self.groups_label)
++ dialog = PasswordDialog(user, self.password_mask)
+ response = dialog.run()
+
+ def _on_groups_button_clicked(self, widget):
+@@ -745,11 +738,11 @@ class Module:
+ pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size("/usr/share/cinnamon/faces/user-generic.png", 48, 48)
+ description = "<b>%s</b>\n%s" % (fullname, username)
+ piter = self.users.append(None, [new_user, pixbuf, description])
+- # Add the user to his/her own group and sudo if Administrator was selected
++ # Add the user to his/her own group and wheel if Administrator was selected
+ if dialog.account_type_combo.get_active() == 1:
+- os.system("usermod %s -G %s,sudo,nopasswdlogin" % (username, username))
++ os.system("usermod %s -G %s,wheel" % (username, username))
+ else:
+- os.system("usermod %s -G %s,nopasswdlogin" % (username, username))
++ os.system("usermod %s -G %s" % (username, username))
+ self.load_groups()
+ dialog.destroy()
+
diff --git a/gnome-extra/cinnamon/files/polkit-cinnamon-authentication-agent-1.desktop b/gnome-extra/cinnamon/files/polkit-cinnamon-authentication-agent-1.desktop
new file mode 100644
index 000000000000..c0cccca89d58
--- /dev/null
+++ b/gnome-extra/cinnamon/files/polkit-cinnamon-authentication-agent-1.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Name=PolicyKit Authentication Agent
+Comment=PolicyKit Authentication Agent
+Exec=/usr/libexec/polkit-gnome-authentication-agent-1
+Terminal=false
+Type=Application
+Categories=
+NoDisplay=true
+OnlyShowIn=X-Cinnamon;
+X-GNOME-AutoRestart=true