diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /gnome-extra/cinnamon |
reinit the tree, so we can have metadata
Diffstat (limited to 'gnome-extra/cinnamon')
-rw-r--r-- | gnome-extra/cinnamon/Manifest | 20 | ||||
-rw-r--r-- | gnome-extra/cinnamon/cinnamon-3.0.7-r2.ebuild | 238 | ||||
-rw-r--r-- | gnome-extra/cinnamon/cinnamon-3.2.0-r2.ebuild | 238 | ||||
-rw-r--r-- | gnome-extra/cinnamon/cinnamon-3.2.6-r1.ebuild | 238 | ||||
-rw-r--r-- | gnome-extra/cinnamon/cinnamon-3.2.7-r1.ebuild | 238 | ||||
-rw-r--r-- | gnome-extra/cinnamon/cinnamon-3.4.2-r1.ebuild | 234 | ||||
-rw-r--r-- | gnome-extra/cinnamon/cinnamon-3.4.6.ebuild | 234 | ||||
-rw-r--r-- | gnome-extra/cinnamon/files/cinnamon-2.2.6-automagic-gnome-bluetooth.patch | 44 | ||||
-rw-r--r-- | gnome-extra/cinnamon/files/cinnamon-2.6.7-optional-networkmanager.patch | 88 | ||||
-rw-r--r-- | gnome-extra/cinnamon/files/cinnamon-2.8.0-background.patch | 26 | ||||
-rw-r--r-- | gnome-extra/cinnamon/files/cinnamon-2.8.3-set-wheel.patch | 56 | ||||
-rw-r--r-- | gnome-extra/cinnamon/files/polkit-cinnamon-authentication-agent-1.desktop | 9 | ||||
-rw-r--r-- | gnome-extra/cinnamon/metadata.xml | 11 |
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> |