summaryrefslogtreecommitdiff
path: root/gnome-extra/cinnamon
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /gnome-extra/cinnamon
reinit the tree, so we can have metadata
Diffstat (limited to 'gnome-extra/cinnamon')
-rw-r--r--gnome-extra/cinnamon/Manifest20
-rw-r--r--gnome-extra/cinnamon/cinnamon-3.0.7-r2.ebuild238
-rw-r--r--gnome-extra/cinnamon/cinnamon-3.2.0-r2.ebuild238
-rw-r--r--gnome-extra/cinnamon/cinnamon-3.2.6-r1.ebuild238
-rw-r--r--gnome-extra/cinnamon/cinnamon-3.2.7-r1.ebuild238
-rw-r--r--gnome-extra/cinnamon/cinnamon-3.4.2-r1.ebuild234
-rw-r--r--gnome-extra/cinnamon/cinnamon-3.4.6.ebuild234
-rw-r--r--gnome-extra/cinnamon/files/cinnamon-2.2.6-automagic-gnome-bluetooth.patch44
-rw-r--r--gnome-extra/cinnamon/files/cinnamon-2.6.7-optional-networkmanager.patch88
-rw-r--r--gnome-extra/cinnamon/files/cinnamon-2.8.0-background.patch26
-rw-r--r--gnome-extra/cinnamon/files/cinnamon-2.8.3-set-wheel.patch56
-rw-r--r--gnome-extra/cinnamon/files/polkit-cinnamon-authentication-agent-1.desktop9
-rw-r--r--gnome-extra/cinnamon/metadata.xml11
13 files changed, 1674 insertions, 0 deletions
diff --git a/gnome-extra/cinnamon/Manifest b/gnome-extra/cinnamon/Manifest
new file mode 100644
index 000000000000..8dc43827de25
--- /dev/null
+++ b/gnome-extra/cinnamon/Manifest
@@ -0,0 +1,20 @@
+AUX cinnamon-2.2.6-automagic-gnome-bluetooth.patch 1715 SHA256 094c4d22e6eb53558aeeeec7eb12a3d35e9921daf2c851655d6463e550a0db96 SHA512 a4344afe29799dbd4e6d88907c2906702c861e1409fb95d29fcc52f9b75be379ffd5a4682dde4a82fe40c898bb2468590d1241adb1a2415c473a3d75459e3460 WHIRLPOOL eb1df3d101c9085a9f1ec3c0eeb64cb66175471a99688ffdfb309ed8d6da53057370ed546ab31259086013c3096ab9103f649145c3fce56ae4ccb1a63b8c81db
+AUX cinnamon-2.6.7-optional-networkmanager.patch 3508 SHA256 f2f78dc683fcd096ae922dfa849686037047b78de51fd513fa1667aebdcfb94b SHA512 3798c0e616297390db3a5006ca7616546979796b0665496536c58745c97b05bed6fb363e73c0ac0ef83d024cd8d5f3faa309df1c5acc8f5efd481b8bc9b43a5c WHIRLPOOL d8efac762368adfa71676674c016de80bf5c01818ff85f2d73f6bba9c9eebd6a5e8a2da7313185de8568a1e1c3da42d4ebb6affd4124dc1969fbcf24d113c256
+AUX cinnamon-2.8.0-background.patch 1106 SHA256 e3d916f20af951ad7cff435cb5da431ebc07273dd7a431af19000e6cdf3a560c SHA512 2affc6ab9b9b1f444fb5fec752e4d90cd7716986e5c48087c6e2bc9820792547fc1f6aca66d096ec056aaa0010c023fca2c88f6828320fb575a0fa2e56b22995 WHIRLPOOL 505af91f4e8705764c8682e17f68ff2dae8c719e1a2f2a94a71f103734bdf6555c3e01fddf4aa54df66b8971e4701209fb1e25da15ccdc92b3692572d7cb74b1
+AUX cinnamon-2.8.3-set-wheel.patch 2637 SHA256 97542a424fa83c18c8c8a6d27c089129f30b6fb4cc128c662ac0da3aebf42dcc SHA512 cff8fb42a81d71b929327df5d56a68b68a96e79d4b85125ea7de0ed2dca53c6b45d08deccafa4453a7471f52aa6bf7d39ed979d2a085906997969a63e7dd7a8c WHIRLPOOL c29898067bddeaa6a01ff0699ee27041df7484edbffa17b85e33322215adf8e212929a7c0ba6a454f88c816790807d761abf0a79886544d288e124b23ef9587a
+AUX polkit-cinnamon-authentication-agent-1.desktop 213 SHA256 9bc4aa73d429ed0563390fa1abdb4512b664c60ef5043f01db7bda9a0635d645 SHA512 b60eb24e3bbd501ed9a22cea386c3f70be431e15c3851ac8e8ebbc454648510ab30ad89d1720cbd9036debb2d970adaef0aa28ca37e8f5cbfe56cbf50c8775db WHIRLPOOL dacb03daf730732ea9b8f9a7bd694e212152e2f2129ce300302bad5f4ae3d49c6be3c3adca38523d301c7469558faebe100ff605e7e3931766d95e9108f203b0
+DIST cinnamon-3.0.7.tar.gz 3065791 SHA256 0aa0ce174a4638f54ddb2f0dc1f93a847678fa225c7a4fae718ffd14f1c8694f SHA512 db3f2532525c71b0841ce22245518502f8e905fd353c22e41dc57551cf68422ab6b53a57e4089664e8db9035a7723214756de78d2b5d5a92e11515216b15afbf WHIRLPOOL 7f7e0f3841d8790f332342e9d0696c8f70e81657ea02e1374871505be1c5ecdb7e9d4fc4fd0d600bf69fcd856123a58d5b272b4de03f9dd7d4c7d3d8278154b0
+DIST cinnamon-3.2.0.tar.gz 2216495 SHA256 c1473aabb01329c07bf1e28148cb410255700f4dd237195b7790e9bcdb69b89d SHA512 340530d77e68a5680cfa44afa3efc157552a7319f9badb251456d43e4e0a4e8c7cecf8e273c6cedec05e8248d68bbbdca2f8bb9d1766c418a6bc10d386e38302 WHIRLPOOL 58c749c9679f582a7ef088f4a8026d7027c84368be5d2c07ba9dd29c9a0781ad962fdbb4342538bb3b801f2fce60c483a0b806008e6fecb2698b367969aefc52
+DIST cinnamon-3.2.6.tar.gz 2225445 SHA256 ab2e5681e4780e065ebf4aebf4b909e9b723a69d7d437ea490c7a9a39ffce8a5 SHA512 b21f762341c523a0292de27e37b664e758adafeeb658bb056a08f5aa3ec6c29709cf9db78ab48a9ab21982b7e1bfc0674f79395995348ff0b877c2c04e7038fb WHIRLPOOL 2d1c8c7662a3e76dae733300a86057962a159ad4fd7946f73b84bfdf624d6c6fb23b863847786879233d7dd2f3a8bc037c64fb065977732259f0c3b60857039f
+DIST cinnamon-3.2.7.tar.gz 2226152 SHA256 69ab4510e4239f577a7acc7ea987d0522caa9796bfaa4a062a5009009ebc5a80 SHA512 0da8ddb6e894b5ceda0cb92dc54e6b42618425f3b993b551b49aafbd4b9db95a6023083151fae75b9e60413484ff5235ed5058e9b2178c65dd108f806defe4df WHIRLPOOL fd3a0bbed451ca26844b9063d2a82aef7151a554a33522d5d765c4c871871d7a73ea9f4f5768f6d6135d45fd626fd871dc1cff4bcc5ff2f028694bc792207942
+DIST cinnamon-3.4.2.tar.gz 2213346 SHA256 182ed619f92831b83e9bfd89803bbd750c6cb0ee9d097120cdd40eb19d41e302 SHA512 dee9027788a2e8c9b6d536d27f4afcf28434ab7e52bcd0d26a6426f010f64ac6d3c29e7f225dae794e8215972d744d2eebb7fb9c102451269498a663e4c5dfb7 WHIRLPOOL 27a508e693d32c1c297df545028ca3737a15e91de197f52fbb41854b3b1f7aa813e20d6062fb1ece432166004651c4cf17d38551a1e79bc2ea1c1f652d96b76f
+DIST cinnamon-3.4.6.tar.gz 2217209 SHA256 857cd68ca4744332e9b20456ae3a0d63ee8a3eacd108ec82dd26b124765a45b4 SHA512 b5fa337dc236204a09a3650ca40d2c2a996c9d1ff6f789834e757d50d68939914bf56d2d623ee5b6e57a180c02b803dbae6349ce1a9dd969b7a4c8bad1b9d8bd WHIRLPOOL fcc2d2ea60099e021e6a761d7a519bc773430d128506d38f0d7653d586d79c3019af8c739b2b013dc3faadfbecae8643f5aa87c4137e9da5098e337623620f4f
+EBUILD cinnamon-3.0.7-r2.ebuild 7951 SHA256 3b1f42ed645403c67e04e227e8adf80f879856e550873ba4ea58e66314765e54 SHA512 3a838d7a9ba30a4d6bd55be5be0ef1ac86f25607ac13c274eccd7154fb5a87feb0526c4d9ab5b306db404181dfb4414211b30ca9bc6a07d5a63c43317ef95c4b WHIRLPOOL 784d22840b452b1b98cd60ef4567e5c0b8cad7007d611e28dd011b0065245dfb178a7b6a4e8046c50ffaaa1c6e8b2085a9089d9c09261e7920d24431e42581fc
+EBUILD cinnamon-3.2.0-r2.ebuild 7913 SHA256 6213ba2e5a0ae0b193814693edcc9eda02184b54159e198ab453c04dc06caa28 SHA512 8f2f6b7bb9de2e6ae58f2f3135f26e75768463497faa0f8623bd807d0a25a8ce29d216e27db6ff9b71b7f17b2c0c64b7ccdd71e19ef78dba9c265be2a37238f6 WHIRLPOOL ac0275d2b7aa176e6401d90492029f8d9b4d6ede2a02cb1f884c146ba0e59ea623f3dbd0e5bacb7ec8b18ed186a49cc4632829eeb5d363dd3fdf4c2944e01720
+EBUILD cinnamon-3.2.6-r1.ebuild 7914 SHA256 8e4a62d79d2f5532da3cd375a9c1a145dbb737947ee55e2cb9c66b121a808dc9 SHA512 48b49241719827b0e283d65d9164a1e4f780de70ebb3f8d82dc3e74b9572552506c1e5f6df43553bc446f33d45802889b1f8828f753ddd19955d99cfdb1bf3a0 WHIRLPOOL 0ad6db95e488ce8c50fc9002b31592f776b69339fe05acafcc3e83e3e8d2ecda519ff4140e584dddc8361c19ecb50203c0954938a140ac8c3198b2340fc1f511
+EBUILD cinnamon-3.2.7-r1.ebuild 7914 SHA256 8e4a62d79d2f5532da3cd375a9c1a145dbb737947ee55e2cb9c66b121a808dc9 SHA512 48b49241719827b0e283d65d9164a1e4f780de70ebb3f8d82dc3e74b9572552506c1e5f6df43553bc446f33d45802889b1f8828f753ddd19955d99cfdb1bf3a0 WHIRLPOOL 0ad6db95e488ce8c50fc9002b31592f776b69339fe05acafcc3e83e3e8d2ecda519ff4140e584dddc8361c19ecb50203c0954938a140ac8c3198b2340fc1f511
+EBUILD cinnamon-3.4.2-r1.ebuild 7784 SHA256 0b73ec566879e62ab2a00255ed0d4bc8bf74b519139e29e1bdd11239944fc225 SHA512 1aea09dced11566564f1ed15b450f320bda11dcd3673530989b242093e08a8e1d42cba47fafe3e226240d0173b2a725fe2ae8e1a4826a5b5c772a7f302241c45 WHIRLPOOL 60db2e32c6db0ec66f5b84b659869b430b652f01dc4c9c2a990b9c4c5d0c7c443b4e98e8c6979f03992bd378fe6030a0fe11962924d30c8d99b741a47cbea70f
+EBUILD cinnamon-3.4.6.ebuild 7784 SHA256 0b73ec566879e62ab2a00255ed0d4bc8bf74b519139e29e1bdd11239944fc225 SHA512 1aea09dced11566564f1ed15b450f320bda11dcd3673530989b242093e08a8e1d42cba47fafe3e226240d0173b2a725fe2ae8e1a4826a5b5c772a7f302241c45 WHIRLPOOL 60db2e32c6db0ec66f5b84b659869b430b652f01dc4c9c2a990b9c4c5d0c7c443b4e98e8c6979f03992bd378fe6030a0fe11962924d30c8d99b741a47cbea70f
+MISC ChangeLog 9668 SHA256 53bef3a5782fcfafc37cd7e45813036dca95e2826a759e6287cbd72f8ae3e53a SHA512 8e7e981ceda298181ce2e50ca4119830d78cacbe3992eef12e596eccc1a7af1009d4cdd41bdfb403dbfae4c17b531424c23510adbe7da15098d53bf7563c0a9f WHIRLPOOL fd756543b5f0dcff4660e57f2d75dd57abc0e63109b1883e1ab1c89e3d8c9c2b79d99c4bb6653a8a6a80bd68660374c7deaa038bba61be61f55cb9cdedee5778
+MISC ChangeLog-2015 14977 SHA256 d772ee862f38fa3cfc7ff1f46fae923f80732d381cfeb9d933baf029db28ee0a SHA512 3c77146c5e22a877a0038d834ff68552d45faaa8182757ab5503bbd4e95e817937fe697c8a7f4583be06162e48221743917d9cd0065fb842e880bdfadc0dd392 WHIRLPOOL c21b8878e0ed9e61a184511232ef9280c59eeaf439414a6c8430627b84066f57e5e8f14ce90d47f878972a846a5354babf182e7eaa7c8b23854d4b3bc80fe358
+MISC metadata.xml 335 SHA256 dd5115a01da6642547f2609b4398d624929e646f600c778b0ea7e4eb455415b6 SHA512 f9dd9ed8857cedec2a47af22252405b77b08768ec9039bdb034a848f175bd4e9046a082654e38c69e3e4b5dc1864377782a20ba2c9ea19f51f79d08182447bdb WHIRLPOOL 6c71e07452e2558ca44c8e0af52f5ce1b1deedc3e7895419e3c01c0db1d581aa68eaa2ac2edc5e6007c18a138260d4db8420e6eb49963637711d93f5deec3c58
diff --git a/gnome-extra/cinnamon/cinnamon-3.0.7-r2.ebuild b/gnome-extra/cinnamon/cinnamon-3.0.7-r2.ebuild
new file mode 100644
index 000000000000..17231388f287
--- /dev/null
+++ b/gnome-extra/cinnamon/cinnamon-3.0.7-r2.ebuild
@@ -0,0 +1,238 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
+PYTHON_REQ_USE="xml"
+
+inherit autotools eutils flag-o-matic gnome2 multilib pax-utils python-r1
+
+DESCRIPTION="A fork of GNOME Shell with layout similar to GNOME 2"
+HOMEPAGE="http://cinnamon.linuxmint.com/"
+
+MY_PV="${PV/_p/-UP}"
+MY_P="${PN}-${MY_PV}"
+
+SRC_URI="https://github.com/linuxmint/Cinnamon/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+# bluetooth support dropped due to bug #511648
+IUSE="+nls +networkmanager" #+bluetooth
+
+# We need *both* python 2.x and 3.x
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( $(python_gen_useflags 'python2*') )
+ || ( $(python_gen_useflags 'python3*') )
+"
+
+KEYWORDS="amd64 x86"
+
+COMMON_DEPEND="${PYTHON_DEPS}
+ app-accessibility/at-spi2-atk:2
+ app-misc/ca-certificates
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.35.0:2[dbus]
+ >=dev-libs/gobject-introspection-0.10.1:=
+ >=dev-libs/json-glib-0.13.2
+ >=dev-libs/libcroco-0.6.2:0.6
+ dev-libs/libxml2:2
+ gnome-base/gconf:2[introspection]
+ gnome-base/librsvg
+ >=gnome-extra/cinnamon-desktop-2.4:0=[introspection]
+ gnome-extra/cinnamon-menus[introspection]
+ >=gnome-extra/cjs-2.8.0
+ >=media-libs/clutter-1.10:1.0[introspection]
+ media-libs/cogl:1.0=[introspection]
+ >=gnome-base/gsettings-desktop-schemas-2.91.91
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ net-libs/libsoup:2.4[introspection]
+ >=sys-auth/polkit-0.100[introspection]
+ x11-libs/gdk-pixbuf:2[introspection]
+ >=x11-libs/gtk+-3.9.12:3[introspection]
+ x11-libs/pango[introspection]
+ >=x11-libs/startup-notification-0.11
+ x11-libs/libX11
+ >=x11-libs/libXfixes-5.0
+ >=x11-wm/muffin-3.0.0[introspection]
+ networkmanager? (
+ gnome-base/libgnome-keyring
+ >=net-misc/networkmanager-0.8.999:=[introspection] )
+"
+#bluetooth? ( >=net-wireless/gnome-bluetooth-3.1:=[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
+# 8. gconf-python, imaging, lxml needed for cinnamon-settings
+# 9. gnome-icon-theme-symbolic needed for various icons
+# 10. pygobject needed for menu editor
+# 11. nemo - default file manager, tightly integrated with cinnamon
+# 12. polkit-gnome - explicitly autostarted by us
+# TODO(lxnay): fix error: libgnome-desktop/gnome-rr-labeler.h: No such file or directory
+RDEPEND="${COMMON_DEPEND}
+ >=gnome-base/dconf-0.4.1
+ >=gnome-base/libgnomekbd-2.91.4[introspection]
+ || ( sys-power/upower[introspection] sys-power/upower-pm-utils[introspection] )
+
+ >=gnome-extra/cinnamon-session-2.4
+ >=gnome-extra/cinnamon-settings-daemon-2.4
+
+ >=sys-apps/accountsservice-0.6.14[introspection]
+
+ >=app-accessibility/caribou-0.3
+
+ x11-misc/xdg-utils
+
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/dbus-python[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/gconf-python:2[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/lxml[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pexpect[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pycairo[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pyinotify[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pypam[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pillow[${PYTHON_USEDEP}]' 'python2*')
+
+ x11-themes/gnome-themes-standard
+ x11-themes/adwaita-icon-theme
+
+ >=gnome-extra/nemo-2.4
+ >=gnome-extra/cinnamon-control-center-2.4
+ >=gnome-extra/cinnamon-screensaver-2.4
+
+ gnome-extra/polkit-gnome
+
+ networkmanager? (
+ gnome-extra/nm-applet
+ net-misc/mobile-broadband-provider-info
+ sys-libs/timezone-data )
+ nls? ( >=gnome-extra/cinnamon-translations-2.4 )
+"
+#bluetooth? ( net-wireless/cinnamon-bluetooth )
+
+DEPEND="${COMMON_DEPEND}
+ $(python_gen_cond_dep 'dev-python/polib[${PYTHON_USEDEP}]' 'python2*')
+ dev-util/gtk-doc
+ >=dev-util/intltool-0.4
+ >=sys-devel/gettext-0.17
+ virtual/pkgconfig
+ 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
+
+S="${WORKDIR}/Cinnamon-${PV}"
+
+pkg_setup() {
+ python_setup
+}
+
+src_prepare() {
+ # Fix backgrounds path as cinnamon doesn't provide them
+ # https://github.com/linuxmint/Cinnamon/issues/3575
+ eapply "${FILESDIR}"/${PN}-2.8.0-background.patch
+
+ # Fix automagic gnome-bluetooth dep, bug #398145
+ eapply "${FILESDIR}"/${PN}-2.2.6-automagic-gnome-bluetooth.patch
+
+ # Optional NetworkManager, bug #488684
+ eapply "${FILESDIR}"/${PN}-2.6.7-optional-networkmanager.patch
+
+ # Use wheel group instead of sudo (from Fedora/Arch)
+ # https://github.com/linuxmint/Cinnamon/issues/3576
+ eapply "${FILESDIR}"/${PN}-2.8.3-set-wheel.patch
+
+ # 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
+
+ if ! use networkmanager; then
+ rm -rv files/usr/share/cinnamon/applets/network@cinnamon.org || die
+ fi
+
+ # python 2-and-3 shebang fixing craziness
+ local p
+ python_setup 'python3*'
+ for p in $(grep -rl '#!.*python3'); do
+ python_fix_shebang "${p}"
+ done
+
+ python_setup 'python2*'
+ for p in $(grep -rl '#!.*python[^3]'); do
+ python_fix_shebang "${p}"
+ done
+
+ eautoreconf
+ gnome2_src_prepare
+}
+
+src_configure() {
+ # https://bugs.gentoo.org/show_bug.cgi?id=536374
+ # https://github.com/linuxmint/Cinnamon/issues/3843
+ append-ldflags $(no-as-needed)
+
+ gnome2_src_configure \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --disable-rpath \
+ --disable-jhbuild-wrapper-script \
+ $(use_enable networkmanager) \
+ --with-ca-certificates="${EPREFIX}/etc/ssl/certs/ca-certificates.crt" \
+ BROWSER_PLUGIN_DIR="${EPREFIX}/usr/$(get_libdir)/nsbrowser/plugins" \
+ --without-bluetooth
+}
+
+src_install() {
+ gnome2_src_install
+ python_optimize "${ED}"usr/$(get_libdir)/cinnamon-*
+
+ # 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() {
+ gnome2_pkg_postinst
+
+ if ! has_version 'media-libs/gst-plugins-good:1.0' || \
+ ! has_version 'media-plugins/gst-plugins-vpx:1.0'; then
+ ewarn "To make use of Cinnamon's built-in screen recording utility,"
+ ewarn "you need to either install media-libs/gst-plugins-good:1.0"
+ ewarn "and media-plugins/gst-plugins-vpx:1.0, or use dconf-editor to change"
+ ewarn "org.cinnamon.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 switch to"
+ ewarn "open-source drivers."
+ fi
+}
diff --git a/gnome-extra/cinnamon/cinnamon-3.2.0-r2.ebuild b/gnome-extra/cinnamon/cinnamon-3.2.0-r2.ebuild
new file mode 100644
index 000000000000..ccb09ba13318
--- /dev/null
+++ b/gnome-extra/cinnamon/cinnamon-3.2.0-r2.ebuild
@@ -0,0 +1,238 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
+PYTHON_REQ_USE="xml"
+
+inherit autotools eutils flag-o-matic gnome2 multilib pax-utils python-r1
+
+DESCRIPTION="A fork of GNOME Shell with layout similar to GNOME 2"
+HOMEPAGE="http://cinnamon.linuxmint.com/"
+
+MY_PV="${PV/_p/-UP}"
+MY_P="${PN}-${MY_PV}"
+
+SRC_URI="https://github.com/linuxmint/Cinnamon/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+# bluetooth support dropped due to bug #511648
+IUSE="+nls +networkmanager" #+bluetooth
+
+# We need *both* python 2.x and 3.x
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( $(python_gen_useflags 'python2*') )
+ || ( $(python_gen_useflags 'python3*') )
+"
+
+KEYWORDS="~amd64 ~x86"
+
+COMMON_DEPEND="${PYTHON_DEPS}
+ app-accessibility/at-spi2-atk:2
+ app-misc/ca-certificates
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.35.0:2[dbus]
+ >=dev-libs/gobject-introspection-0.10.1:=
+ >=dev-libs/json-glib-0.13.2
+ >=dev-libs/libcroco-0.6.2:0.6
+ dev-libs/libxml2:2
+ gnome-base/gconf:2[introspection]
+ gnome-base/librsvg
+ >=gnome-extra/cinnamon-desktop-2.4:0=[introspection]
+ gnome-extra/cinnamon-menus[introspection]
+ >=gnome-extra/cjs-2.8.0
+ >=media-libs/clutter-1.10:1.0[introspection]
+ media-libs/cogl:1.0=[introspection]
+ >=gnome-base/gsettings-desktop-schemas-2.91.91
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ net-libs/libsoup:2.4[introspection]
+ >=sys-auth/polkit-0.100[introspection]
+ x11-libs/gdk-pixbuf:2[introspection]
+ >=x11-libs/gtk+-3.9.12:3[introspection]
+ x11-libs/pango[introspection]
+ >=x11-libs/startup-notification-0.11
+ x11-libs/libX11
+ >=x11-libs/libXfixes-5.0
+ >=x11-wm/muffin-3.0.0[introspection]
+ networkmanager? (
+ gnome-base/libgnome-keyring
+ >=net-misc/networkmanager-0.8.999:=[introspection] )
+"
+#bluetooth? ( >=net-wireless/gnome-bluetooth-3.1:=[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
+# 8. gconf-python, imaging, lxml needed for cinnamon-settings
+# 9. gnome-icon-theme-symbolic needed for various icons
+# 10. pygobject needed for menu editor
+# 11. nemo - default file manager, tightly integrated with cinnamon
+# 12. polkit-gnome - explicitly autostarted by us
+# TODO(lxnay): fix error: libgnome-desktop/gnome-rr-labeler.h: No such file or directory
+RDEPEND="${COMMON_DEPEND}
+ >=gnome-base/dconf-0.4.1
+ >=gnome-base/libgnomekbd-2.91.4[introspection]
+ || ( sys-power/upower[introspection] sys-power/upower-pm-utils[introspection] )
+
+ >=gnome-extra/cinnamon-session-2.4
+ >=gnome-extra/cinnamon-settings-daemon-2.4
+
+ >=sys-apps/accountsservice-0.6.14[introspection]
+
+ >=app-accessibility/caribou-0.3
+
+ x11-misc/xdg-utils
+ x11-libs/xapps
+
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/gconf-python:2[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/lxml[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pexpect[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pycairo[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pyinotify[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pypam[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pillow[${PYTHON_USEDEP}]' 'python2*')
+
+ x11-themes/gnome-themes-standard
+ x11-themes/adwaita-icon-theme
+
+ >=gnome-extra/nemo-2.4
+ >=gnome-extra/cinnamon-control-center-2.4
+ >=gnome-extra/cinnamon-screensaver-2.4
+
+ gnome-extra/polkit-gnome
+
+ networkmanager? (
+ gnome-extra/nm-applet
+ net-misc/mobile-broadband-provider-info
+ sys-libs/timezone-data )
+ nls? ( >=gnome-extra/cinnamon-translations-2.4 )
+"
+#bluetooth? ( net-wireless/cinnamon-bluetooth )
+
+DEPEND="${COMMON_DEPEND}
+ $(python_gen_cond_dep 'dev-python/polib[${PYTHON_USEDEP}]' 'python2*')
+ dev-util/gtk-doc
+ >=dev-util/intltool-0.4
+ >=sys-devel/gettext-0.17
+ virtual/pkgconfig
+ 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
+
+S="${WORKDIR}/Cinnamon-${PV}"
+
+pkg_setup() {
+ python_setup
+}
+
+src_prepare() {
+ # Fix backgrounds path as cinnamon doesn't provide them
+ # https://github.com/linuxmint/Cinnamon/issues/3575
+ eapply "${FILESDIR}"/${PN}-2.8.0-background.patch
+
+ # Fix automagic gnome-bluetooth dep, bug #398145
+ eapply "${FILESDIR}"/${PN}-2.2.6-automagic-gnome-bluetooth.patch
+
+ # Optional NetworkManager, bug #488684
+ eapply "${FILESDIR}"/${PN}-2.6.7-optional-networkmanager.patch
+
+ # Use wheel group instead of sudo (from Fedora/Arch)
+ # https://github.com/linuxmint/Cinnamon/issues/3576
+ eapply "${FILESDIR}"/${PN}-2.8.3-set-wheel.patch
+
+ # 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
+
+ if ! use networkmanager; then
+ rm -rv files/usr/share/cinnamon/applets/network@cinnamon.org || die
+ fi
+
+ # python 2-and-3 shebang fixing craziness
+ local p
+ python_setup 'python3*'
+ for p in $(grep -rl '#!.*python3'); do
+ python_fix_shebang "${p}"
+ done
+
+ python_setup 'python2*'
+ for p in $(grep -rl '#!.*python[^3]'); do
+ python_fix_shebang "${p}"
+ done
+
+ eautoreconf
+ gnome2_src_prepare
+}
+
+src_configure() {
+ # https://bugs.gentoo.org/show_bug.cgi?id=536374
+ # https://github.com/linuxmint/Cinnamon/issues/3843
+ append-ldflags $(no-as-needed)
+
+ gnome2_src_configure \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --disable-jhbuild-wrapper-script \
+ $(use_enable networkmanager) \
+ --with-ca-certificates="${EPREFIX}/etc/ssl/certs/ca-certificates.crt" \
+ BROWSER_PLUGIN_DIR="${EPREFIX}/usr/$(get_libdir)/nsbrowser/plugins" \
+ --without-bluetooth
+}
+
+src_install() {
+ gnome2_src_install
+ python_optimize "${ED}"usr/$(get_libdir)/cinnamon-*
+
+ # 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() {
+ gnome2_pkg_postinst
+
+ if ! has_version 'media-libs/gst-plugins-good:1.0' || \
+ ! has_version 'media-plugins/gst-plugins-vpx:1.0'; then
+ ewarn "To make use of Cinnamon's built-in screen recording utility,"
+ ewarn "you need to either install media-libs/gst-plugins-good:1.0"
+ ewarn "and media-plugins/gst-plugins-vpx:1.0, or use dconf-editor to change"
+ ewarn "org.cinnamon.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 switch to"
+ ewarn "open-source drivers."
+ fi
+}
diff --git a/gnome-extra/cinnamon/cinnamon-3.2.6-r1.ebuild b/gnome-extra/cinnamon/cinnamon-3.2.6-r1.ebuild
new file mode 100644
index 000000000000..198a26d014d1
--- /dev/null
+++ b/gnome-extra/cinnamon/cinnamon-3.2.6-r1.ebuild
@@ -0,0 +1,238 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
+PYTHON_REQ_USE="xml"
+
+inherit autotools eutils flag-o-matic gnome2 multilib pax-utils python-r1
+
+DESCRIPTION="A fork of GNOME Shell with layout similar to GNOME 2"
+HOMEPAGE="http://developer.linuxmint.com/"
+
+MY_PV="${PV/_p/-UP}"
+MY_P="${PN}-${MY_PV}"
+
+SRC_URI="https://github.com/linuxmint/Cinnamon/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+# bluetooth support dropped due to bug #511648
+IUSE="+nls +networkmanager" #+bluetooth
+
+# We need *both* python 2.x and 3.x
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( $(python_gen_useflags 'python2*') )
+ || ( $(python_gen_useflags 'python3*') )
+"
+
+KEYWORDS="~amd64 ~x86"
+
+COMMON_DEPEND="${PYTHON_DEPS}
+ app-accessibility/at-spi2-atk:2
+ app-misc/ca-certificates
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.35.0:2[dbus]
+ >=dev-libs/gobject-introspection-0.10.1:=
+ >=dev-libs/json-glib-0.13.2
+ >=dev-libs/libcroco-0.6.2:0.6
+ dev-libs/libxml2:2
+ gnome-base/gconf:2[introspection]
+ gnome-base/librsvg
+ >=gnome-extra/cinnamon-desktop-2.4:0=[introspection]
+ gnome-extra/cinnamon-menus[introspection]
+ >=gnome-extra/cjs-2.8.0
+ >=media-libs/clutter-1.10:1.0[introspection]
+ media-libs/cogl:1.0=[introspection]
+ >=gnome-base/gsettings-desktop-schemas-2.91.91
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ net-libs/libsoup:2.4[introspection]
+ >=sys-auth/polkit-0.100[introspection]
+ x11-libs/gdk-pixbuf:2[introspection]
+ >=x11-libs/gtk+-3.9.12:3[introspection]
+ x11-libs/pango[introspection]
+ >=x11-libs/startup-notification-0.11
+ x11-libs/libX11
+ >=x11-libs/libXfixes-5.0
+ >=x11-wm/muffin-3.0.0[introspection]
+ networkmanager? (
+ gnome-base/libgnome-keyring
+ >=net-misc/networkmanager-0.8.999:=[introspection] )
+"
+#bluetooth? ( >=net-wireless/gnome-bluetooth-3.1:=[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
+# 8. gconf-python, imaging, lxml needed for cinnamon-settings
+# 9. gnome-icon-theme-symbolic needed for various icons
+# 10. pygobject needed for menu editor
+# 11. nemo - default file manager, tightly integrated with cinnamon
+# 12. polkit-gnome - explicitly autostarted by us
+# TODO(lxnay): fix error: libgnome-desktop/gnome-rr-labeler.h: No such file or directory
+RDEPEND="${COMMON_DEPEND}
+ >=gnome-base/dconf-0.4.1
+ >=gnome-base/libgnomekbd-2.91.4[introspection]
+ || ( sys-power/upower[introspection] sys-power/upower-pm-utils[introspection] )
+
+ >=gnome-extra/cinnamon-session-2.4
+ >=gnome-extra/cinnamon-settings-daemon-2.4
+
+ >=sys-apps/accountsservice-0.6.14[introspection]
+
+ >=app-accessibility/caribou-0.3
+
+ x11-misc/xdg-utils
+ x11-libs/xapps
+
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/gconf-python:2[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/lxml[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pexpect[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pycairo[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pyinotify[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pypam[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pillow[${PYTHON_USEDEP}]' 'python2*')
+
+ x11-themes/gnome-themes-standard
+ x11-themes/adwaita-icon-theme
+
+ >=gnome-extra/nemo-2.4
+ >=gnome-extra/cinnamon-control-center-2.4
+ >=gnome-extra/cinnamon-screensaver-2.4
+
+ gnome-extra/polkit-gnome
+
+ networkmanager? (
+ gnome-extra/nm-applet
+ net-misc/mobile-broadband-provider-info
+ sys-libs/timezone-data )
+ nls? ( >=gnome-extra/cinnamon-translations-2.4 )
+"
+#bluetooth? ( net-wireless/cinnamon-bluetooth )
+
+DEPEND="${COMMON_DEPEND}
+ $(python_gen_cond_dep 'dev-python/polib[${PYTHON_USEDEP}]' 'python2*')
+ dev-util/gtk-doc
+ >=dev-util/intltool-0.4
+ >=sys-devel/gettext-0.17
+ virtual/pkgconfig
+ 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
+
+S="${WORKDIR}/Cinnamon-${PV}"
+
+pkg_setup() {
+ python_setup
+}
+
+src_prepare() {
+ # Fix backgrounds path as cinnamon doesn't provide them
+ # https://github.com/linuxmint/Cinnamon/issues/3575
+ eapply "${FILESDIR}"/${PN}-2.8.0-background.patch
+
+ # Fix automagic gnome-bluetooth dep, bug #398145
+ eapply "${FILESDIR}"/${PN}-2.2.6-automagic-gnome-bluetooth.patch
+
+ # Optional NetworkManager, bug #488684
+ eapply "${FILESDIR}"/${PN}-2.6.7-optional-networkmanager.patch
+
+ # Use wheel group instead of sudo (from Fedora/Arch)
+ # https://github.com/linuxmint/Cinnamon/issues/3576
+ eapply "${FILESDIR}"/${PN}-2.8.3-set-wheel.patch
+
+ # 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
+
+ if ! use networkmanager; then
+ rm -rv files/usr/share/cinnamon/applets/network@cinnamon.org || die
+ fi
+
+ # python 2-and-3 shebang fixing craziness
+ local p
+ python_setup 'python3*'
+ for p in $(grep -rl '#!.*python3'); do
+ python_fix_shebang "${p}"
+ done
+
+ python_setup 'python2*'
+ for p in $(grep -rl '#!.*python[^3]'); do
+ python_fix_shebang "${p}"
+ done
+
+ eautoreconf
+ gnome2_src_prepare
+}
+
+src_configure() {
+ # https://bugs.gentoo.org/show_bug.cgi?id=536374
+ # https://github.com/linuxmint/Cinnamon/issues/3843
+ append-ldflags $(no-as-needed)
+
+ gnome2_src_configure \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --disable-jhbuild-wrapper-script \
+ $(use_enable networkmanager) \
+ --with-ca-certificates="${EPREFIX}/etc/ssl/certs/ca-certificates.crt" \
+ BROWSER_PLUGIN_DIR="${EPREFIX}/usr/$(get_libdir)/nsbrowser/plugins" \
+ --without-bluetooth
+}
+
+src_install() {
+ gnome2_src_install
+ python_optimize "${ED}"usr/$(get_libdir)/cinnamon-*
+
+ # 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() {
+ gnome2_pkg_postinst
+
+ if ! has_version 'media-libs/gst-plugins-good:1.0' || \
+ ! has_version 'media-plugins/gst-plugins-vpx:1.0'; then
+ ewarn "To make use of Cinnamon's built-in screen recording utility,"
+ ewarn "you need to either install media-libs/gst-plugins-good:1.0"
+ ewarn "and media-plugins/gst-plugins-vpx:1.0, or use dconf-editor to change"
+ ewarn "org.cinnamon.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 switch to"
+ ewarn "open-source drivers."
+ fi
+}
diff --git a/gnome-extra/cinnamon/cinnamon-3.2.7-r1.ebuild b/gnome-extra/cinnamon/cinnamon-3.2.7-r1.ebuild
new file mode 100644
index 000000000000..198a26d014d1
--- /dev/null
+++ b/gnome-extra/cinnamon/cinnamon-3.2.7-r1.ebuild
@@ -0,0 +1,238 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
+PYTHON_REQ_USE="xml"
+
+inherit autotools eutils flag-o-matic gnome2 multilib pax-utils python-r1
+
+DESCRIPTION="A fork of GNOME Shell with layout similar to GNOME 2"
+HOMEPAGE="http://developer.linuxmint.com/"
+
+MY_PV="${PV/_p/-UP}"
+MY_P="${PN}-${MY_PV}"
+
+SRC_URI="https://github.com/linuxmint/Cinnamon/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+# bluetooth support dropped due to bug #511648
+IUSE="+nls +networkmanager" #+bluetooth
+
+# We need *both* python 2.x and 3.x
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( $(python_gen_useflags 'python2*') )
+ || ( $(python_gen_useflags 'python3*') )
+"
+
+KEYWORDS="~amd64 ~x86"
+
+COMMON_DEPEND="${PYTHON_DEPS}
+ app-accessibility/at-spi2-atk:2
+ app-misc/ca-certificates
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.35.0:2[dbus]
+ >=dev-libs/gobject-introspection-0.10.1:=
+ >=dev-libs/json-glib-0.13.2
+ >=dev-libs/libcroco-0.6.2:0.6
+ dev-libs/libxml2:2
+ gnome-base/gconf:2[introspection]
+ gnome-base/librsvg
+ >=gnome-extra/cinnamon-desktop-2.4:0=[introspection]
+ gnome-extra/cinnamon-menus[introspection]
+ >=gnome-extra/cjs-2.8.0
+ >=media-libs/clutter-1.10:1.0[introspection]
+ media-libs/cogl:1.0=[introspection]
+ >=gnome-base/gsettings-desktop-schemas-2.91.91
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ net-libs/libsoup:2.4[introspection]
+ >=sys-auth/polkit-0.100[introspection]
+ x11-libs/gdk-pixbuf:2[introspection]
+ >=x11-libs/gtk+-3.9.12:3[introspection]
+ x11-libs/pango[introspection]
+ >=x11-libs/startup-notification-0.11
+ x11-libs/libX11
+ >=x11-libs/libXfixes-5.0
+ >=x11-wm/muffin-3.0.0[introspection]
+ networkmanager? (
+ gnome-base/libgnome-keyring
+ >=net-misc/networkmanager-0.8.999:=[introspection] )
+"
+#bluetooth? ( >=net-wireless/gnome-bluetooth-3.1:=[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
+# 8. gconf-python, imaging, lxml needed for cinnamon-settings
+# 9. gnome-icon-theme-symbolic needed for various icons
+# 10. pygobject needed for menu editor
+# 11. nemo - default file manager, tightly integrated with cinnamon
+# 12. polkit-gnome - explicitly autostarted by us
+# TODO(lxnay): fix error: libgnome-desktop/gnome-rr-labeler.h: No such file or directory
+RDEPEND="${COMMON_DEPEND}
+ >=gnome-base/dconf-0.4.1
+ >=gnome-base/libgnomekbd-2.91.4[introspection]
+ || ( sys-power/upower[introspection] sys-power/upower-pm-utils[introspection] )
+
+ >=gnome-extra/cinnamon-session-2.4
+ >=gnome-extra/cinnamon-settings-daemon-2.4
+
+ >=sys-apps/accountsservice-0.6.14[introspection]
+
+ >=app-accessibility/caribou-0.3
+
+ x11-misc/xdg-utils
+ x11-libs/xapps
+
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/gconf-python:2[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/lxml[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pexpect[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pycairo[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pyinotify[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pypam[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pillow[${PYTHON_USEDEP}]' 'python2*')
+
+ x11-themes/gnome-themes-standard
+ x11-themes/adwaita-icon-theme
+
+ >=gnome-extra/nemo-2.4
+ >=gnome-extra/cinnamon-control-center-2.4
+ >=gnome-extra/cinnamon-screensaver-2.4
+
+ gnome-extra/polkit-gnome
+
+ networkmanager? (
+ gnome-extra/nm-applet
+ net-misc/mobile-broadband-provider-info
+ sys-libs/timezone-data )
+ nls? ( >=gnome-extra/cinnamon-translations-2.4 )
+"
+#bluetooth? ( net-wireless/cinnamon-bluetooth )
+
+DEPEND="${COMMON_DEPEND}
+ $(python_gen_cond_dep 'dev-python/polib[${PYTHON_USEDEP}]' 'python2*')
+ dev-util/gtk-doc
+ >=dev-util/intltool-0.4
+ >=sys-devel/gettext-0.17
+ virtual/pkgconfig
+ 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
+
+S="${WORKDIR}/Cinnamon-${PV}"
+
+pkg_setup() {
+ python_setup
+}
+
+src_prepare() {
+ # Fix backgrounds path as cinnamon doesn't provide them
+ # https://github.com/linuxmint/Cinnamon/issues/3575
+ eapply "${FILESDIR}"/${PN}-2.8.0-background.patch
+
+ # Fix automagic gnome-bluetooth dep, bug #398145
+ eapply "${FILESDIR}"/${PN}-2.2.6-automagic-gnome-bluetooth.patch
+
+ # Optional NetworkManager, bug #488684
+ eapply "${FILESDIR}"/${PN}-2.6.7-optional-networkmanager.patch
+
+ # Use wheel group instead of sudo (from Fedora/Arch)
+ # https://github.com/linuxmint/Cinnamon/issues/3576
+ eapply "${FILESDIR}"/${PN}-2.8.3-set-wheel.patch
+
+ # 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
+
+ if ! use networkmanager; then
+ rm -rv files/usr/share/cinnamon/applets/network@cinnamon.org || die
+ fi
+
+ # python 2-and-3 shebang fixing craziness
+ local p
+ python_setup 'python3*'
+ for p in $(grep -rl '#!.*python3'); do
+ python_fix_shebang "${p}"
+ done
+
+ python_setup 'python2*'
+ for p in $(grep -rl '#!.*python[^3]'); do
+ python_fix_shebang "${p}"
+ done
+
+ eautoreconf
+ gnome2_src_prepare
+}
+
+src_configure() {
+ # https://bugs.gentoo.org/show_bug.cgi?id=536374
+ # https://github.com/linuxmint/Cinnamon/issues/3843
+ append-ldflags $(no-as-needed)
+
+ gnome2_src_configure \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --disable-jhbuild-wrapper-script \
+ $(use_enable networkmanager) \
+ --with-ca-certificates="${EPREFIX}/etc/ssl/certs/ca-certificates.crt" \
+ BROWSER_PLUGIN_DIR="${EPREFIX}/usr/$(get_libdir)/nsbrowser/plugins" \
+ --without-bluetooth
+}
+
+src_install() {
+ gnome2_src_install
+ python_optimize "${ED}"usr/$(get_libdir)/cinnamon-*
+
+ # 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() {
+ gnome2_pkg_postinst
+
+ if ! has_version 'media-libs/gst-plugins-good:1.0' || \
+ ! has_version 'media-plugins/gst-plugins-vpx:1.0'; then
+ ewarn "To make use of Cinnamon's built-in screen recording utility,"
+ ewarn "you need to either install media-libs/gst-plugins-good:1.0"
+ ewarn "and media-plugins/gst-plugins-vpx:1.0, or use dconf-editor to change"
+ ewarn "org.cinnamon.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 switch to"
+ ewarn "open-source drivers."
+ fi
+}
diff --git a/gnome-extra/cinnamon/cinnamon-3.4.2-r1.ebuild b/gnome-extra/cinnamon/cinnamon-3.4.2-r1.ebuild
new file mode 100644
index 000000000000..7a62d8ff83f3
--- /dev/null
+++ b/gnome-extra/cinnamon/cinnamon-3.4.2-r1.ebuild
@@ -0,0 +1,234 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
+PYTHON_REQ_USE="xml"
+
+inherit autotools eutils flag-o-matic gnome2 multilib pax-utils python-r1
+
+DESCRIPTION="A fork of GNOME Shell with layout similar to GNOME 2"
+HOMEPAGE="http://developer.linuxmint.com/"
+
+MY_PV="${PV/_p/-UP}"
+MY_P="${PN}-${MY_PV}"
+
+SRC_URI="https://github.com/linuxmint/Cinnamon/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+# bluetooth support dropped due to bug #511648
+IUSE="+nls +networkmanager" #+bluetooth
+
+# We need *both* python 2.x and 3.x
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( $(python_gen_useflags 'python2*') )
+ || ( $(python_gen_useflags 'python3*') )
+"
+
+KEYWORDS="~amd64 ~x86"
+
+COMMON_DEPEND="${PYTHON_DEPS}
+ app-accessibility/at-spi2-atk:2
+ app-misc/ca-certificates
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.35.0:2[dbus]
+ >=dev-libs/gobject-introspection-0.10.1:=
+ >=dev-libs/json-glib-0.13.2
+ >=dev-libs/libcroco-0.6.2:0.6
+ dev-libs/libxml2:2
+ gnome-base/gconf:2[introspection]
+ gnome-base/librsvg
+ >=gnome-extra/cinnamon-desktop-2.4:0=[introspection]
+ >=gnome-extra/cinnamon-menus-3.0[introspection]
+ >=gnome-extra/cjs-3.2.0
+ >=media-libs/clutter-1.10:1.0[introspection]
+ media-libs/cogl:1.0=[introspection]
+ >=gnome-base/gsettings-desktop-schemas-2.91.91
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ net-libs/libsoup:2.4[introspection]
+ >=sys-auth/polkit-0.100[introspection]
+ x11-libs/gdk-pixbuf:2[introspection]
+ >=x11-libs/gtk+-3.9.12:3[introspection]
+ x11-libs/pango[introspection]
+ >=x11-libs/startup-notification-0.11
+ x11-libs/libX11
+ >=x11-libs/libXfixes-5.0
+ >=x11-wm/muffin-3.2.0[introspection]
+ networkmanager? (
+ gnome-base/libgnome-keyring
+ >=net-misc/networkmanager-0.8.999:=[introspection] )
+"
+#bluetooth? ( >=net-wireless/gnome-bluetooth-3.1:=[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
+# 8. gconf-python, imaging, lxml needed for cinnamon-settings
+# 9. gnome-icon-theme-symbolic needed for various icons
+# 10. pygobject needed for menu editor
+# 11. nemo - default file manager, tightly integrated with cinnamon
+# 12. polkit-gnome - explicitly autostarted by us
+# TODO(lxnay): fix error: libgnome-desktop/gnome-rr-labeler.h: No such file or directory
+RDEPEND="${COMMON_DEPEND}
+ >=gnome-base/dconf-0.4.1
+ >=gnome-base/libgnomekbd-2.91.4[introspection]
+ || ( sys-power/upower[introspection] sys-power/upower-pm-utils[introspection] )
+
+ >=gnome-extra/cinnamon-session-2.4
+ >=gnome-extra/cinnamon-settings-daemon-2.4
+
+ >=sys-apps/accountsservice-0.6.14[introspection]
+
+ >=app-accessibility/caribou-0.3
+
+ x11-misc/xdg-utils
+ x11-libs/xapps
+
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/gconf-python:2[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/lxml[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pexpect[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pycairo[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pyinotify[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pypam[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pillow[${PYTHON_USEDEP}]' 'python2*')
+
+ x11-themes/gnome-themes-standard
+ x11-themes/adwaita-icon-theme
+
+ >=gnome-extra/nemo-2.4
+ >=gnome-extra/cinnamon-control-center-2.4
+ >=gnome-extra/cinnamon-screensaver-2.4
+
+ gnome-extra/polkit-gnome
+
+ networkmanager? (
+ gnome-extra/nm-applet
+ net-misc/mobile-broadband-provider-info
+ sys-libs/timezone-data )
+ nls? ( >=gnome-extra/cinnamon-translations-2.4 )
+"
+#bluetooth? ( net-wireless/cinnamon-bluetooth )
+
+DEPEND="${COMMON_DEPEND}
+ $(python_gen_cond_dep 'dev-python/polib[${PYTHON_USEDEP}]' 'python2*')
+ dev-util/gtk-doc
+ >=dev-util/intltool-0.4
+ >=sys-devel/gettext-0.17
+ virtual/pkgconfig
+ 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
+
+S="${WORKDIR}/Cinnamon-${PV}"
+
+pkg_setup() {
+ python_setup
+}
+
+src_prepare() {
+ # Fix backgrounds path as cinnamon doesn't provide them
+ # https://github.com/linuxmint/Cinnamon/issues/3575
+ eapply "${FILESDIR}"/${PN}-2.8.0-background.patch
+
+ # Fix automagic gnome-bluetooth dep, bug #398145
+ eapply "${FILESDIR}"/${PN}-2.2.6-automagic-gnome-bluetooth.patch
+
+ # Optional NetworkManager, bug #488684
+ eapply "${FILESDIR}"/${PN}-2.6.7-optional-networkmanager.patch
+
+ # Use wheel group instead of sudo (from Fedora/Arch)
+ # https://github.com/linuxmint/Cinnamon/issues/3576
+ eapply "${FILESDIR}"/${PN}-2.8.3-set-wheel.patch
+
+ # 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
+
+ if ! use networkmanager; then
+ rm -rv files/usr/share/cinnamon/applets/network@cinnamon.org || die
+ fi
+
+ # python 2-and-3 shebang fixing craziness
+ local p
+ python_setup 'python3*'
+ for p in $(grep -rl '#!.*python3'); do
+ python_fix_shebang "${p}"
+ done
+
+ python_setup 'python2*'
+ for p in $(grep -rl '#!.*python[^3]'); do
+ python_fix_shebang "${p}"
+ done
+
+ eautoreconf
+ gnome2_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --disable-jhbuild-wrapper-script \
+ $(use_enable networkmanager) \
+ --with-ca-certificates="${EPREFIX}/etc/ssl/certs/ca-certificates.crt" \
+ BROWSER_PLUGIN_DIR="${EPREFIX}/usr/$(get_libdir)/nsbrowser/plugins" \
+ --without-bluetooth
+}
+
+src_install() {
+ gnome2_src_install
+ python_optimize "${ED}"usr/$(get_libdir)/cinnamon-*
+
+ # 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() {
+ gnome2_pkg_postinst
+
+ if ! has_version 'media-libs/gst-plugins-good:1.0' || \
+ ! has_version 'media-plugins/gst-plugins-vpx:1.0'; then
+ ewarn "To make use of Cinnamon's built-in screen recording utility,"
+ ewarn "you need to either install media-libs/gst-plugins-good:1.0"
+ ewarn "and media-plugins/gst-plugins-vpx:1.0, or use dconf-editor to change"
+ ewarn "org.cinnamon.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 switch to"
+ ewarn "open-source drivers."
+ fi
+}
diff --git a/gnome-extra/cinnamon/cinnamon-3.4.6.ebuild b/gnome-extra/cinnamon/cinnamon-3.4.6.ebuild
new file mode 100644
index 000000000000..7a62d8ff83f3
--- /dev/null
+++ b/gnome-extra/cinnamon/cinnamon-3.4.6.ebuild
@@ -0,0 +1,234 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
+PYTHON_REQ_USE="xml"
+
+inherit autotools eutils flag-o-matic gnome2 multilib pax-utils python-r1
+
+DESCRIPTION="A fork of GNOME Shell with layout similar to GNOME 2"
+HOMEPAGE="http://developer.linuxmint.com/"
+
+MY_PV="${PV/_p/-UP}"
+MY_P="${PN}-${MY_PV}"
+
+SRC_URI="https://github.com/linuxmint/Cinnamon/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+# bluetooth support dropped due to bug #511648
+IUSE="+nls +networkmanager" #+bluetooth
+
+# We need *both* python 2.x and 3.x
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( $(python_gen_useflags 'python2*') )
+ || ( $(python_gen_useflags 'python3*') )
+"
+
+KEYWORDS="~amd64 ~x86"
+
+COMMON_DEPEND="${PYTHON_DEPS}
+ app-accessibility/at-spi2-atk:2
+ app-misc/ca-certificates
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.35.0:2[dbus]
+ >=dev-libs/gobject-introspection-0.10.1:=
+ >=dev-libs/json-glib-0.13.2
+ >=dev-libs/libcroco-0.6.2:0.6
+ dev-libs/libxml2:2
+ gnome-base/gconf:2[introspection]
+ gnome-base/librsvg
+ >=gnome-extra/cinnamon-desktop-2.4:0=[introspection]
+ >=gnome-extra/cinnamon-menus-3.0[introspection]
+ >=gnome-extra/cjs-3.2.0
+ >=media-libs/clutter-1.10:1.0[introspection]
+ media-libs/cogl:1.0=[introspection]
+ >=gnome-base/gsettings-desktop-schemas-2.91.91
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ net-libs/libsoup:2.4[introspection]
+ >=sys-auth/polkit-0.100[introspection]
+ x11-libs/gdk-pixbuf:2[introspection]
+ >=x11-libs/gtk+-3.9.12:3[introspection]
+ x11-libs/pango[introspection]
+ >=x11-libs/startup-notification-0.11
+ x11-libs/libX11
+ >=x11-libs/libXfixes-5.0
+ >=x11-wm/muffin-3.2.0[introspection]
+ networkmanager? (
+ gnome-base/libgnome-keyring
+ >=net-misc/networkmanager-0.8.999:=[introspection] )
+"
+#bluetooth? ( >=net-wireless/gnome-bluetooth-3.1:=[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
+# 8. gconf-python, imaging, lxml needed for cinnamon-settings
+# 9. gnome-icon-theme-symbolic needed for various icons
+# 10. pygobject needed for menu editor
+# 11. nemo - default file manager, tightly integrated with cinnamon
+# 12. polkit-gnome - explicitly autostarted by us
+# TODO(lxnay): fix error: libgnome-desktop/gnome-rr-labeler.h: No such file or directory
+RDEPEND="${COMMON_DEPEND}
+ >=gnome-base/dconf-0.4.1
+ >=gnome-base/libgnomekbd-2.91.4[introspection]
+ || ( sys-power/upower[introspection] sys-power/upower-pm-utils[introspection] )
+
+ >=gnome-extra/cinnamon-session-2.4
+ >=gnome-extra/cinnamon-settings-daemon-2.4
+
+ >=sys-apps/accountsservice-0.6.14[introspection]
+
+ >=app-accessibility/caribou-0.3
+
+ x11-misc/xdg-utils
+ x11-libs/xapps
+
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/gconf-python:2[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/lxml[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pexpect[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pycairo[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pyinotify[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pypam[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/pillow[${PYTHON_USEDEP}]' 'python2*')
+
+ x11-themes/gnome-themes-standard
+ x11-themes/adwaita-icon-theme
+
+ >=gnome-extra/nemo-2.4
+ >=gnome-extra/cinnamon-control-center-2.4
+ >=gnome-extra/cinnamon-screensaver-2.4
+
+ gnome-extra/polkit-gnome
+
+ networkmanager? (
+ gnome-extra/nm-applet
+ net-misc/mobile-broadband-provider-info
+ sys-libs/timezone-data )
+ nls? ( >=gnome-extra/cinnamon-translations-2.4 )
+"
+#bluetooth? ( net-wireless/cinnamon-bluetooth )
+
+DEPEND="${COMMON_DEPEND}
+ $(python_gen_cond_dep 'dev-python/polib[${PYTHON_USEDEP}]' 'python2*')
+ dev-util/gtk-doc
+ >=dev-util/intltool-0.4
+ >=sys-devel/gettext-0.17
+ virtual/pkgconfig
+ 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
+
+S="${WORKDIR}/Cinnamon-${PV}"
+
+pkg_setup() {
+ python_setup
+}
+
+src_prepare() {
+ # Fix backgrounds path as cinnamon doesn't provide them
+ # https://github.com/linuxmint/Cinnamon/issues/3575
+ eapply "${FILESDIR}"/${PN}-2.8.0-background.patch
+
+ # Fix automagic gnome-bluetooth dep, bug #398145
+ eapply "${FILESDIR}"/${PN}-2.2.6-automagic-gnome-bluetooth.patch
+
+ # Optional NetworkManager, bug #488684
+ eapply "${FILESDIR}"/${PN}-2.6.7-optional-networkmanager.patch
+
+ # Use wheel group instead of sudo (from Fedora/Arch)
+ # https://github.com/linuxmint/Cinnamon/issues/3576
+ eapply "${FILESDIR}"/${PN}-2.8.3-set-wheel.patch
+
+ # 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
+
+ if ! use networkmanager; then
+ rm -rv files/usr/share/cinnamon/applets/network@cinnamon.org || die
+ fi
+
+ # python 2-and-3 shebang fixing craziness
+ local p
+ python_setup 'python3*'
+ for p in $(grep -rl '#!.*python3'); do
+ python_fix_shebang "${p}"
+ done
+
+ python_setup 'python2*'
+ for p in $(grep -rl '#!.*python[^3]'); do
+ python_fix_shebang "${p}"
+ done
+
+ eautoreconf
+ gnome2_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --disable-jhbuild-wrapper-script \
+ $(use_enable networkmanager) \
+ --with-ca-certificates="${EPREFIX}/etc/ssl/certs/ca-certificates.crt" \
+ BROWSER_PLUGIN_DIR="${EPREFIX}/usr/$(get_libdir)/nsbrowser/plugins" \
+ --without-bluetooth
+}
+
+src_install() {
+ gnome2_src_install
+ python_optimize "${ED}"usr/$(get_libdir)/cinnamon-*
+
+ # 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() {
+ gnome2_pkg_postinst
+
+ if ! has_version 'media-libs/gst-plugins-good:1.0' || \
+ ! has_version 'media-plugins/gst-plugins-vpx:1.0'; then
+ ewarn "To make use of Cinnamon's built-in screen recording utility,"
+ ewarn "you need to either install media-libs/gst-plugins-good:1.0"
+ ewarn "and media-plugins/gst-plugins-vpx:1.0, or use dconf-editor to change"
+ ewarn "org.cinnamon.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 switch to"
+ ewarn "open-source drivers."
+ fi
+}
diff --git a/gnome-extra/cinnamon/files/cinnamon-2.2.6-automagic-gnome-bluetooth.patch b/gnome-extra/cinnamon/files/cinnamon-2.2.6-automagic-gnome-bluetooth.patch
new file mode 100644
index 000000000000..aa2e82bd13fa
--- /dev/null
+++ b/gnome-extra/cinnamon/files/cinnamon-2.2.6-automagic-gnome-bluetooth.patch
@@ -0,0 +1,44 @@
+From 40750fc87b7a1cad60d0e605732b9df50dd16c11 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 file changed, 5 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index c0e43e1..bc764e1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -111,6 +111,8 @@ PKG_CHECK_MODULES(GVC, libpulse libpulse-mainloop-glib gobject-2.0)
+ PKG_CHECK_MODULES(DESKTOP_SCHEMAS, cinnamon-desktop >= 1.0.0)
+
+ 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`
+@@ -123,6 +125,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])])
+
+ MUFFIN_GIR_DIR=`$PKG_CONFIG --variable=girdir libmuffin`
+ MUFFIN_TYPELIB_DIR=`$PKG_CONFIG --variable=typelibdir libmuffin`
+--
+1.9.2
+
diff --git a/gnome-extra/cinnamon/files/cinnamon-2.6.7-optional-networkmanager.patch b/gnome-extra/cinnamon/files/cinnamon-2.6.7-optional-networkmanager.patch
new file mode 100644
index 000000000000..6af4f8642f73
--- /dev/null
+++ b/gnome-extra/cinnamon/files/cinnamon-2.6.7-optional-networkmanager.patch
@@ -0,0 +1,88 @@
+From 3dbb6dc0b3dd08e6d5ae24fa079d9443c1b66ab9 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Sat, 10 May 2014 15:14:05 -0400
+Subject: [PATCH] Make networkmanager dependency optional for Gentoo
+
+---
+ configure.ac | 35 ++++++++++++++++++++++++++++++++++-
+ js/misc/config.js.in | 2 ++
+ src/Makefile.am | 5 ++++-
+ 3 files changed, 40 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index b5668f4..5f600dd 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -82,7 +82,40 @@ PKG_CHECK_MODULES(CINNAMON, gio-2.0 >= $GIO_MIN_VERSION
+ libstartup-notification-1.0 >= $STARTUP_NOTIFICATION_MIN_VERSION
+ gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_MIN_VERSION
+ polkit-agent-1 >= $POLKIT_MIN_VERSION xfixes
+- libnm-glib libnm-util gnome-keyring-1 atk-bridge-2.0)
++ atk-bridge-2.0)
++
++##########################
++# Check for NetworkManager
++##########################
++NM_MIN_VERSION=0.9
++AC_ARG_ENABLE(networkmanager,
++ AS_HELP_STRING([--disable-networkmanager],
++ [disable NetworkManager support @<:@default=auto@:>@]),,
++ [enable_networkmanager=auto])
++
++if test "x$enable_networkmanager" != "xno"; then
++ PKG_CHECK_MODULES(NETWORKMANAGER,
++ [libnm-glib libnm-util gnome-keyring-1],
++ [have_networkmanager=yes],
++ [have_networkmanager=no])
++
++ CINNAMON_CFLAGS="$CINNAMON_CFLAGS $NETWORKMANAGER_CFLAGS"
++ CINNAMON_LIBS="$CINNAMON_LIBS $NETWORKMANAGER_LIBS"
++else
++ have_networkmanager="no (disabled)"
++fi
++
++if test "x$have_networkmanager" = "xyes"; then
++ AC_DEFINE(HAVE_NETWORKMANAGER, [1], [Define if we have NetworkManager])
++ AC_SUBST([HAVE_NETWORKMANAGER], [1])
++else
++ if test "x$enable_networkmanager" = "xyes"; then
++ AC_MSG_ERROR([Couldn't find NetworkManager.])
++ fi
++ AC_SUBST([HAVE_NETWORKMANAGER], [0])
++fi
++
++AM_CONDITIONAL(HAVE_NETWORKMANAGER, test "$have_networkmanager" = "yes")
+
+ PKG_CHECK_MODULES(CINNAMON_JS, gio-2.0 cjs-internals-1.0 >= $GJS_MIN_VERSION)
+
+diff --git a/js/misc/config.js.in b/js/misc/config.js.in
+index 704989b..df7e014 100644
+--- a/js/misc/config.js.in
++++ b/js/misc/config.js.in
+@@ -8,5 +8,7 @@ const PACKAGE_VERSION = '@PACKAGE_VERSION@';
+ const GJS_VERSION = '@GJS_VERSION@';
+ /* 1 if gnome-bluetooth is available, 0 otherwise */
+ const HAVE_BLUETOOTH = @HAVE_BLUETOOTH@;
++/* 1 if networkmanager is available, 0 otherwise */
++const HAVE_NETWORKMANAGER = @HAVE_NETWORKMANAGER@;
+ /* The system TLS CA list */
+ const CINNAMON_SYSTEM_CA_FILE = '@CINNAMON_SYSTEM_CA_FILE@';
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 0b0a4a9..cf3a606 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -290,7 +290,10 @@ libcinnamon_la_LIBADD = \
+ libcinnamon_la_CPPFLAGS = $(cinnamon_cflags)
+
+ Cinnamon-0.1.gir: libcinnamon.la St-1.0.gir
+-Cinnamon_0_1_gir_INCLUDES = Clutter-1.0 ClutterX11-1.0 Meta-Muffin.0 Soup-2.4 CMenu-3.0 NetworkManager-1.0 NMClient-1.0
++Cinnamon_0_1_gir_INCLUDES = Clutter-1.0 ClutterX11-1.0 Meta-Muffin.0 Soup-2.4 CMenu-3.0
++if HAVE_NETWORKMANAGER
++Cinnamon_0_1_gir_INCLUDES += NetworkManager-1.0 NMClient-1.0
++endif
+ Cinnamon_0_1_gir_CFLAGS = $(libcinnamon_la_CPPFLAGS) -I $(srcdir)
+ Cinnamon_0_1_gir_LIBS = libcinnamon.la
+ Cinnamon_0_1_gir_FILES = $(libcinnamon_la_gir_sources)
+--
+2.4.3
+
diff --git a/gnome-extra/cinnamon/files/cinnamon-2.8.0-background.patch b/gnome-extra/cinnamon/files/cinnamon-2.8.0-background.patch
new file mode 100644
index 000000000000..d9c14144cb52
--- /dev/null
+++ b/gnome-extra/cinnamon/files/cinnamon-2.8.0-background.patch
@@ -0,0 +1,26 @@
+From 19b9e5392a0b1530861d306ee962ac85c108ba1a Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Sun, 11 Jan 2015 20:33:37 +0100
+Subject: [PATCH 1/5] Use gnome backgrounds since Cinnamon isn't providing any
+
+https://github.com/linuxmint/Cinnamon/issues/3575
+---
+ files/usr/lib/cinnamon-settings/modules/cs_backgrounds.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/files/usr/lib/cinnamon-settings/modules/cs_backgrounds.py b/files/usr/lib/cinnamon-settings/modules/cs_backgrounds.py
+index bf6dc39..83a8b04 100644
+--- a/files/usr/share/cinnamon/cinnamon-settings/modules/cs_backgrounds.py
++++ b/files/usr/share/cinnamon/cinnamon-settings/modules/cs_backgrounds.py
+@@ -198,7 +198,7 @@ class Module:
+ def get_system_backgrounds(self):
+ picture_list = []
+ folder_list = []
+- properties_dir = "/usr/share/cinnamon-background-properties"
++ properties_dir = "/usr/share/gnome-background-properties"
+ backgrounds = []
+ if os.path.exists(properties_dir):
+ for i in os.listdir(properties_dir):
+--
+2.2.1
+
diff --git a/gnome-extra/cinnamon/files/cinnamon-2.8.3-set-wheel.patch b/gnome-extra/cinnamon/files/cinnamon-2.8.3-set-wheel.patch
new file mode 100644
index 000000000000..a018013e60d6
--- /dev/null
+++ b/gnome-extra/cinnamon/files/cinnamon-2.8.3-set-wheel.patch
@@ -0,0 +1,56 @@
+--- a/files/usr/share/cinnamon/cinnamon-settings-users/cinnamon-settings-users.py
++++ b/files/usr/share/cinnamon/cinnamon-settings-users/cinnamon-settings-users.py
+@@ -147,12 +147,11 @@
+
+ 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)
+@@ -218,14 +217,7 @@
+ def change_password(self):
+ newpass = self.new_password.get_text()
+ self.user.set_password(newpass, "")
+- mask = self.group_mask.get_text()
+- if "nopasswdlogin" in mask:
+- subprocess.call(["gpasswd", "-d", self.user.get_user_name(), "nopasswdlogin"])
+- 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.password_mask.set_text(u'\u2022\u2022\u2022\u2022\u2022\u2022')
+ self.destroy()
+
+ def set_passwords_visibility(self):
+@@ -563,7 +555,7 @@
+ 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):
+@@ -807,11 +799,11 @@
+ 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:
+- subprocess.call(["usermod", username, "-G", "%s,sudo,nopasswdlogin" % username])
++ subprocess.call(["usermod", username, "-G", "%s,wheel" % username])
+ else:
+- subprocess.call(["usermod", username, "-G", "%s,nopasswdlogin" % username])
++ subprocess.call(["usermod", username, "-G", "%s" % 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..24e14f267e23
--- /dev/null
+++ b/gnome-extra/cinnamon/files/polkit-cinnamon-authentication-agent-1.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=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
diff --git a/gnome-extra/cinnamon/metadata.xml b/gnome-extra/cinnamon/metadata.xml
new file mode 100644
index 000000000000..216784b94f4d
--- /dev/null
+++ b/gnome-extra/cinnamon/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cinnamon@gentoo.org</email>
+ <name>Cinnamon Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">linuxmint/Cinnamon</remote-id>
+ </upstream>
+</pkgmetadata>