Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: gnome-extra/cinnamon/
Date: Mon, 02 May 2022 01:11:14
Message-Id: 1651453851.3093cd59db9df1003d27fec7700a2cd758528221.sam@gentoo
1 commit: 3093cd59db9df1003d27fec7700a2cd758528221
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Mon May 2 01:09:47 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Mon May 2 01:10:51 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3093cd59
7
8 gnome-extra/cinnamon: switch to dev-python/python-pam
9
10 dev-python/pypam is unmaintained upstream and has unexplained
11 test failures. Upstream Cinnamon uses python-pam and only
12 falls back to pypam anyway.
13
14 Bug: https://bugs.gentoo.org/833297
15 Thanks-to: Douglas Freed <dwfreed <AT> mtu.edu>
16 Signed-off-by: Sam James <sam <AT> gentoo.org>
17
18 gnome-extra/cinnamon/cinnamon-5.2.7-r3.ebuild | 186 ++++++++++++++++++++++++++
19 1 file changed, 186 insertions(+)
20
21 diff --git a/gnome-extra/cinnamon/cinnamon-5.2.7-r3.ebuild b/gnome-extra/cinnamon/cinnamon-5.2.7-r3.ebuild
22 new file mode 100644
23 index 000000000000..b0665c090769
24 --- /dev/null
25 +++ b/gnome-extra/cinnamon/cinnamon-5.2.7-r3.ebuild
26 @@ -0,0 +1,186 @@
27 +# Copyright 1999-2022 Gentoo Authors
28 +# Distributed under the terms of the GNU General Public License v2
29 +
30 +EAPI=7
31 +
32 +PYTHON_COMPAT=( python3_{8,9,10} )
33 +PYTHON_REQ_USE="xml"
34 +
35 +inherit meson gnome2-utils pax-utils python-single-r1 xdg
36 +
37 +DESCRIPTION="A fork of GNOME Shell with layout similar to GNOME 2"
38 +HOMEPAGE="https://projects.linuxmint.com/cinnamon/ https://github.com/linuxmint/cinnamon"
39 +SRC_URI="https://github.com/linuxmint/cinnamon/archive/${PV}.tar.gz -> ${P}.tar.gz"
40 +
41 +LICENSE="GPL-2+"
42 +SLOT="0"
43 +IUSE="+eds +gstreamer gtk-doc +nls +networkmanager"
44 +REQUIRED_USE="${PYTHON_REQUIRED_USE}"
45 +KEYWORDS="~amd64 ~x86"
46 +
47 +DEPEND="
48 + ${PYTHON_DEPS}
49 + app-accessibility/at-spi2-atk:2
50 + >=dev-libs/glib-2.52.0:2[dbus]
51 + >=dev-libs/gobject-introspection-1.29.15:=
52 + dev-libs/libxml2:2
53 + >=gnome-extra/cinnamon-desktop-5.2:0=
54 + >=gnome-extra/cinnamon-menus-5.2
55 + >=gnome-extra/cjs-5.2[cairo]
56 + net-libs/libsoup:2.4[introspection]
57 + sys-apps/dbus
58 + >=sys-auth/polkit-0.100[introspection]
59 + virtual/opengl
60 + x11-libs/gdk-pixbuf:2[introspection]
61 + >=x11-libs/gtk+-3.12.0:3[introspection]
62 + >=x11-libs/libnotify-0.7.3:0=[introspection]
63 + x11-libs/libX11
64 + >=x11-libs/libXfixes-5.0
65 + x11-libs/pango[introspection]
66 + >=x11-libs/startup-notification-0.11
67 + >=x11-wm/muffin-5.2[introspection]
68 +
69 + eds? (
70 + gnome-extra/evolution-data-server
71 + )
72 + gstreamer? (
73 + media-libs/gst-plugins-base:1.0
74 + media-libs/gstreamer:1.0
75 + )
76 + networkmanager? (
77 + net-misc/networkmanager[introspection]
78 + )
79 +"
80 +# caribou used by onscreen keyboard
81 +# libtimezonemap used by datetime settings
82 +# iso-flag-png (unpackaged) used by keyboard layout settings
83 +RDEPEND="
84 + ${DEPEND}
85 + >=app-accessibility/caribou-0.3
86 + dev-libs/keybinder:3[introspection]
87 + dev-libs/libtimezonemap
88 + $(python_gen_cond_dep '
89 + dev-python/dbus-python[${PYTHON_USEDEP}]
90 + dev-python/distro[${PYTHON_USEDEP}]
91 + dev-python/pexpect[${PYTHON_USEDEP}]
92 + dev-python/pillow[${PYTHON_USEDEP}]
93 + dev-python/pycairo[${PYTHON_USEDEP}]
94 + dev-python/pygobject:3[${PYTHON_USEDEP}]
95 + dev-python/pyinotify[${PYTHON_USEDEP}]
96 + dev-python/python-pam[${PYTHON_USEDEP}]
97 + dev-python/pytz[${PYTHON_USEDEP}]
98 + dev-python/requests[${PYTHON_USEDEP}]
99 + dev-python/setproctitle[${PYTHON_USEDEP}]
100 + dev-python/tinycss2[${PYTHON_USEDEP}]
101 + >=dev-python/python3-xapp-2.2.1-r1[${PYTHON_USEDEP}]
102 + ')
103 + >=gnome-base/dconf-0.4.1
104 + >=gnome-base/gsettings-desktop-schemas-2.91.91
105 + >=gnome-base/libgnomekbd-2.91.4
106 + >=gnome-extra/cinnamon-control-center-5.2[networkmanager=]
107 + >=gnome-extra/cinnamon-screensaver-5.2
108 + >=gnome-extra/cinnamon-session-5.2
109 + >=gnome-extra/cinnamon-settings-daemon-5.2
110 + >=gnome-extra/nemo-5.2
111 + gnome-extra/polkit-gnome
112 + net-misc/wget
113 + sys-apps/accountsservice[introspection]
114 + sys-power/upower[introspection]
115 + >=x11-libs/xapp-2.2.8[introspection]
116 + x11-misc/xdg-utils
117 + x11-themes/adwaita-icon-theme
118 + x11-themes/gnome-themes-standard
119 +
120 + nls? (
121 + >=gnome-extra/cinnamon-translations-5.2
122 + )
123 +"
124 +BDEPEND="
125 + >=dev-util/intltool-0.40
126 + >=sys-devel/gettext-0.17
127 + virtual/pkgconfig
128 +
129 + gtk-doc? ( dev-util/gtk-doc )
130 +"
131 +
132 +PATCHES=(
133 + # Fix backgrounds path as cinnamon doesn't provide them
134 + # https://github.com/linuxmint/Cinnamon/issues/3575
135 + "${FILESDIR}"/${PN}-3.8.0-gnome-background-compatibility.patch
136 +
137 + # Use wheel group instead of sudo (from Fedora/Arch)
138 + # https://github.com/linuxmint/Cinnamon/issues/3576
139 + "${FILESDIR}"/${PN}-3.6.6-wheel-sudo.patch
140 +
141 + # Make evolution-data-server integration optional
142 + "${FILESDIR}"/${PN}-5.2.7-eds-detection.patch
143 +
144 + # Meson fixes
145 + "${FILESDIR}"/${PN}-5.2.7-revert-meson-0.60-fix.patch
146 + "${FILESDIR}"/${PN}-5.2.7-meson-0.61-fix.patch
147 +)
148 +
149 +src_prepare() {
150 + xdg_src_prepare
151 +
152 + # Add polkit agent to required components
153 + # https://github.com/linuxmint/Cinnamon/issues/3579
154 + sed -i "s/'REQUIRED', '/&polkit-cinnamon-authentication-agent-1;/" meson.build || die
155 +
156 + # shebang fixing craziness
157 + local p
158 + for p in $(grep -rl '#!.*python3' || die); do
159 + python_fix_shebang "${p}"
160 + done
161 +}
162 +
163 +src_configure() {
164 + local emesonargs=(
165 + $(meson_use gstreamer build_recorder)
166 + $(meson_use gtk-doc docs)
167 + -Ddisable_networkmanager=$(usex networkmanager false true)
168 + -Dpy3modules_dir="$(python_get_sitedir)"
169 + )
170 + meson_src_configure
171 +}
172 +
173 +src_install() {
174 + meson_src_install
175 +
176 + python_optimize "${D}$(python_get_sitedir)"
177 + python_optimize "${ED}"/usr/share/cinnamon/
178 +
179 + # Required for gnome-shell on hardened/PaX, bug #398941
180 + pax-mark mr "${ED}"/usr/bin/cinnamon
181 +
182 + # Doesn't exist on Gentoo, causing this to be a dead symlink
183 + rm "${ED}/etc/xdg/menus/cinnamon-applications-merged" || die
184 +
185 + # Ensure authentication-agent is started, bug #523958
186 + # https://github.com/linuxmint/Cinnamon/issues/3579
187 + insinto /etc/xdg/autostart/
188 + doins "${FILESDIR}"/polkit-cinnamon-authentication-agent-1.desktop
189 +}
190 +
191 +pkg_postinst() {
192 + xdg_pkg_postinst
193 + gnome2_schemas_update
194 +
195 + if use gstreamer; then
196 + if ! has_version 'media-libs/gst-plugins-good:1.0' || \
197 + ! has_version 'media-plugins/gst-plugins-vpx:1.0'; then
198 + ewarn "To make use of Cinnamon's built-in screen recording utility,"
199 + ewarn "you need to either install media-libs/gst-plugins-good:1.0"
200 + ewarn "and media-plugins/gst-plugins-vpx:1.0, or use dconf-editor to change"
201 + ewarn "org.cinnamon.recorder/pipeline to what you want to use."
202 + fi
203 + else
204 + ewarn "Cinnamon's built-in screen recording utility is not installed"
205 + ewarn "because gstreamer support is disabled."
206 + fi
207 +}
208 +
209 +pkg_postrm() {
210 + xdg_pkg_postinst
211 + gnome2_schemas_update
212 +}