diff options
-rw-r--r-- | gnome-extra/cinnamon/ChangeLog | 14 | ||||
-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.patch | 17 | ||||
-rw-r--r-- | gnome-extra/cinnamon/files/cinnamon-2.2.16-gnome-3.14.patch | 23 | ||||
-rw-r--r-- | gnome-extra/cinnamon/files/cinnamon-2.2.16-set-wheel.patch | 53 | ||||
-rw-r--r-- | gnome-extra/cinnamon/files/polkit-cinnamon-authentication-agent-1.desktop | 10 |
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 |