mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
gnome-extra/cinnamon: Meson fixes
Closes: https://bugs.gentoo.org/833861 Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Matthew S. Turnbull <sparky@bluefang-logic.com> Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
committed by
Sam James
parent
d60e7b0bd9
commit
0850b6be2e
186
gnome-extra/cinnamon/cinnamon-5.2.7-r2.ebuild
Normal file
186
gnome-extra/cinnamon/cinnamon-5.2.7-r2.ebuild
Normal file
@@ -0,0 +1,186 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9,10} )
|
||||
PYTHON_REQ_USE="xml"
|
||||
|
||||
inherit meson gnome2-utils pax-utils python-single-r1 xdg
|
||||
|
||||
DESCRIPTION="A fork of GNOME Shell with layout similar to GNOME 2"
|
||||
HOMEPAGE="https://projects.linuxmint.com/cinnamon/ https://github.com/linuxmint/cinnamon"
|
||||
SRC_URI="https://github.com/linuxmint/cinnamon/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
IUSE="+eds +gstreamer gtk-doc +nls +networkmanager"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
|
||||
|
||||
DEPEND="
|
||||
${PYTHON_DEPS}
|
||||
app-accessibility/at-spi2-atk:2
|
||||
>=dev-libs/glib-2.52.0:2[dbus]
|
||||
>=dev-libs/gobject-introspection-1.29.15:=
|
||||
dev-libs/libxml2:2
|
||||
>=gnome-extra/cinnamon-desktop-5.2:0=
|
||||
>=gnome-extra/cinnamon-menus-5.2
|
||||
>=gnome-extra/cjs-5.2[cairo]
|
||||
net-libs/libsoup:2.4[introspection]
|
||||
sys-apps/dbus
|
||||
>=sys-auth/polkit-0.100[introspection]
|
||||
virtual/opengl
|
||||
x11-libs/gdk-pixbuf:2[introspection]
|
||||
>=x11-libs/gtk+-3.12.0:3[introspection]
|
||||
>=x11-libs/libnotify-0.7.3:0=[introspection]
|
||||
x11-libs/libX11
|
||||
>=x11-libs/libXfixes-5.0
|
||||
x11-libs/pango[introspection]
|
||||
>=x11-libs/startup-notification-0.11
|
||||
>=x11-wm/muffin-5.2[introspection]
|
||||
|
||||
eds? (
|
||||
gnome-extra/evolution-data-server
|
||||
)
|
||||
gstreamer? (
|
||||
media-libs/gst-plugins-base:1.0
|
||||
media-libs/gstreamer:1.0
|
||||
)
|
||||
networkmanager? (
|
||||
net-misc/networkmanager[introspection]
|
||||
)
|
||||
"
|
||||
# caribou used by onscreen keyboard
|
||||
# libtimezonemap used by datetime settings
|
||||
# iso-flag-png (unpackaged) used by keyboard layout settings
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
>=app-accessibility/caribou-0.3
|
||||
dev-libs/keybinder:3[introspection]
|
||||
dev-libs/libtimezonemap
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/dbus-python[${PYTHON_USEDEP}]
|
||||
dev-python/distro[${PYTHON_USEDEP}]
|
||||
dev-python/pexpect[${PYTHON_USEDEP}]
|
||||
dev-python/pillow[${PYTHON_USEDEP}]
|
||||
dev-python/pycairo[${PYTHON_USEDEP}]
|
||||
dev-python/pygobject:3[${PYTHON_USEDEP}]
|
||||
dev-python/pyinotify[${PYTHON_USEDEP}]
|
||||
dev-python/pypam[${PYTHON_USEDEP}]
|
||||
dev-python/pytz[${PYTHON_USEDEP}]
|
||||
dev-python/requests[${PYTHON_USEDEP}]
|
||||
dev-python/setproctitle[${PYTHON_USEDEP}]
|
||||
dev-python/tinycss2[${PYTHON_USEDEP}]
|
||||
>=dev-python/python3-xapp-2.2.1-r1[${PYTHON_USEDEP}]
|
||||
')
|
||||
>=gnome-base/dconf-0.4.1
|
||||
>=gnome-base/gsettings-desktop-schemas-2.91.91
|
||||
>=gnome-base/libgnomekbd-2.91.4
|
||||
>=gnome-extra/cinnamon-control-center-5.2[networkmanager=]
|
||||
>=gnome-extra/cinnamon-screensaver-5.2
|
||||
>=gnome-extra/cinnamon-session-5.2
|
||||
>=gnome-extra/cinnamon-settings-daemon-5.2
|
||||
>=gnome-extra/nemo-5.2
|
||||
gnome-extra/polkit-gnome
|
||||
net-misc/wget
|
||||
sys-apps/accountsservice[introspection]
|
||||
sys-power/upower[introspection]
|
||||
>=x11-libs/xapp-2.2.8[introspection]
|
||||
x11-misc/xdg-utils
|
||||
x11-themes/adwaita-icon-theme
|
||||
x11-themes/gnome-themes-standard
|
||||
|
||||
nls? (
|
||||
>=gnome-extra/cinnamon-translations-5.2
|
||||
)
|
||||
"
|
||||
BDEPEND="
|
||||
>=dev-util/intltool-0.40
|
||||
>=sys-devel/gettext-0.17
|
||||
virtual/pkgconfig
|
||||
|
||||
gtk-doc? ( dev-util/gtk-doc )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
# Fix backgrounds path as cinnamon doesn't provide them
|
||||
# https://github.com/linuxmint/Cinnamon/issues/3575
|
||||
"${FILESDIR}"/${PN}-3.8.0-gnome-background-compatibility.patch
|
||||
|
||||
# Use wheel group instead of sudo (from Fedora/Arch)
|
||||
# https://github.com/linuxmint/Cinnamon/issues/3576
|
||||
"${FILESDIR}"/${PN}-3.6.6-wheel-sudo.patch
|
||||
|
||||
# Make evolution-data-server integration optional
|
||||
"${FILESDIR}"/${PN}-5.2.7-eds-detection.patch
|
||||
|
||||
# Meson fixes
|
||||
"${FILESDIR}"/${PN}-5.2.7-revert-meson-0.60-fix.patch
|
||||
"${FILESDIR}"/${PN}-5.2.7-meson-0.61-fix.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
xdg_src_prepare
|
||||
|
||||
# Add polkit agent to required components
|
||||
# https://github.com/linuxmint/Cinnamon/issues/3579
|
||||
sed -i "s/'REQUIRED', '/&polkit-cinnamon-authentication-agent-1;/" meson.build || die
|
||||
|
||||
# shebang fixing craziness
|
||||
local p
|
||||
for p in $(grep -rl '#!.*python3' || die); do
|
||||
python_fix_shebang "${p}"
|
||||
done
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
$(meson_use gstreamer build_recorder)
|
||||
$(meson_use gtk-doc docs)
|
||||
-Ddisable_networkmanager=$(usex networkmanager false true)
|
||||
-Dpy3modules_dir="$(python_get_sitedir)"
|
||||
)
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
python_optimize "${D}$(python_get_sitedir)"
|
||||
python_optimize "${ED}"/usr/share/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 "${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() {
|
||||
xdg_pkg_postinst
|
||||
gnome2_schemas_update
|
||||
|
||||
if use gstreamer; then
|
||||
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
|
||||
else
|
||||
ewarn "Cinnamon's built-in screen recording utility is not installed"
|
||||
ewarn "because gstreamer support is disabled."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postinst
|
||||
gnome2_schemas_update
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
https://github.com/linuxmint/cinnamon/commit/9ccce54c29f7c78404e8819d7be7a051efff4df1
|
||||
|
||||
From 9ccce54c29f7c78404e8819d7be7a051efff4df1 Mon Sep 17 00:00:00 2001
|
||||
From: Eli Schwartz <eschwartz@archlinux.org>
|
||||
Date: Thu, 3 Feb 2022 09:09:24 -0500
|
||||
Subject: [PATCH] gtkdoc: remove dependencies on custom target files (#10606)
|
||||
|
||||
Sadly, the `dependencies` kwarg does not actually do what it seems to be
|
||||
trying to be used for, here. It is for listing dependency or library
|
||||
objects whose compiler flags should be added to gtkdoc-scangobj.
|
||||
|
||||
It will not actually add ninja target dependencies. The similar kwarg in
|
||||
other meson functions (e.g. genmarshal and compile_schemas) that *do*
|
||||
allow adding target dependencies, is `depend_files`.
|
||||
|
||||
Older versions of meson simply did nothing in an if/elif/elif block
|
||||
where these custom_targets never matched anything, and were thus
|
||||
silently ignored.
|
||||
|
||||
Meson 0.61 type-validates the arguments and rejects CustomTarget as
|
||||
invalid:
|
||||
|
||||
```
|
||||
docs/reference/cinnamon-js/meson.build:11:6: ERROR: gnome.gtkdoc keyword argument 'dependencies' was of type array[CustomTarget] but should have been array[Dependency | SharedLibrary | StaticLibrary]
|
||||
```
|
||||
---
|
||||
docs/reference/cinnamon-js/meson.build | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/docs/reference/cinnamon-js/meson.build b/docs/reference/cinnamon-js/meson.build
|
||||
index 7c96c875a0..66a5e156eb 100644
|
||||
--- a/docs/reference/cinnamon-js/meson.build
|
||||
+++ b/docs/reference/cinnamon-js/meson.build
|
||||
@@ -12,7 +12,6 @@ gnome.gtkdoc(
|
||||
'cinnamon-js',
|
||||
mode: 'xml',
|
||||
main_xml: 'cinnamon-js-docs.sgml',
|
||||
- dependencies: parts_files,
|
||||
src_dir: meson.current_build_dir(),
|
||||
install: true,
|
||||
)
|
||||
@@ -0,0 +1,55 @@
|
||||
https://github.com/linuxmint/cinnamon/commit/aac7baf119dc48b685aefb3438e5ba3e61c8cb09
|
||||
|
||||
From aac7baf119dc48b685aefb3438e5ba3e61c8cb09 Mon Sep 17 00:00:00 2001
|
||||
From: Eli Schwartz <eschwartz@archlinux.org>
|
||||
Date: Thu, 3 Feb 2022 09:11:39 -0500
|
||||
Subject: [PATCH] Revert "build: disable gir install via list to pacify meson
|
||||
>= 0.60.2 (#10489)" (#10596)
|
||||
|
||||
This reverts commit 8fc2df08b40aa3e1958ed2fde853c50676d8cf48.
|
||||
|
||||
This commit was wrong, because it tried to work around a bug in a single
|
||||
version of meson by using something that isn't, wasn't, and won't be a
|
||||
valid value.
|
||||
|
||||
The fixed version of meson 0.60.x has been out for a while now, which
|
||||
once again accepts `false`, and 0.61.0 also accepts `false` but was
|
||||
known at the time of this workaround to not work in meson-git master
|
||||
(now meson 0.61.0).
|
||||
|
||||
Using `false` is acceptable and the failure to accept it has been
|
||||
qualified as a meson regression. Using `[false]` is just... trying to
|
||||
fuzz meson with random objects until you get something that slips its
|
||||
way through the argument checker and produces desired effects on the
|
||||
python implementation level.
|
||||
---
|
||||
src/meson.build | 2 +-
|
||||
src/st/meson.build | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/meson.build b/src/meson.build
|
||||
index 7999c0a67b..34b130d50f 100644
|
||||
--- a/src/meson.build
|
||||
+++ b/src/meson.build
|
||||
@@ -196,7 +196,7 @@ cinnamon_gir = gnome.generate_gir(
|
||||
includes: cinnamon_gir_includes,
|
||||
install: true,
|
||||
install_dir_typelib: pkglibdir,
|
||||
- install_dir_gir: [false],
|
||||
+ install_dir_gir: false,
|
||||
extra_args: [
|
||||
'-DST_COMPILATION',
|
||||
'--quiet',
|
||||
diff --git a/src/st/meson.build b/src/st/meson.build
|
||||
index d299727d06..ec7d7b30a1 100644
|
||||
--- a/src/st/meson.build
|
||||
+++ b/src/st/meson.build
|
||||
@@ -213,7 +213,7 @@ st_gir = gnome.generate_gir(
|
||||
includes: st_gir_includes,
|
||||
install: true,
|
||||
install_dir_typelib: pkglibdir,
|
||||
- install_dir_gir: [false],
|
||||
+ install_dir_gir: false,
|
||||
extra_args: [
|
||||
'-DST_COMPILATION',
|
||||
'--quiet',
|
||||
Reference in New Issue
Block a user