summaryrefslogtreecommitdiff
path: root/gnome-extra/cinnamon
diff options
context:
space:
mode:
Diffstat (limited to 'gnome-extra/cinnamon')
-rw-r--r--gnome-extra/cinnamon/Manifest10
-rw-r--r--gnome-extra/cinnamon/cinnamon-6.2.7.ebuild (renamed from gnome-extra/cinnamon/cinnamon-5.8.4.ebuild)89
-rw-r--r--gnome-extra/cinnamon/files/cinnamon-6.2.0-fix-arm64-settings-panel-path.patch38
-rw-r--r--gnome-extra/cinnamon/files/cinnamon-6.2.0-optional-wayland.patch79
-rw-r--r--gnome-extra/cinnamon/files/cinnamon-6.2.0-polkit-agent-on-x11.patch75
-rw-r--r--gnome-extra/cinnamon/files/cinnamon-pillow-10-support.patch63
-rw-r--r--gnome-extra/cinnamon/metadata.xml1
7 files changed, 253 insertions, 102 deletions
diff --git a/gnome-extra/cinnamon/Manifest b/gnome-extra/cinnamon/Manifest
index acf127c0ae3a..02090b152cbb 100644
--- a/gnome-extra/cinnamon/Manifest
+++ b/gnome-extra/cinnamon/Manifest
@@ -1,9 +1,11 @@
AUX cinnamon-3.6.6-wheel-sudo.patch 1342 BLAKE2B 173bb9331b51cd0a3110477c8631bd2c887cba6c085d8e8f299810aa83fc83f3e72f8855c40e74637a0453f0fc6b47d972d1a54280ea2eb5538dbe08e7dccd49 SHA512 e59432ca4463652eb5f47075898b78b9025c3a83ca4a305a2c545b9791f8e715cb96c54c550175277dab53cac0f5a6c9fbf78352a09ac977a192e75e800ddb74
AUX cinnamon-3.8.0-gnome-background-compatibility.patch 1069 BLAKE2B 4908d36ef03e202b76956c96df2dea7f2401d03c3c679ce19ec7e6ad046abf0fa1f1715ee94194a370605454dd3f3a777493c9cad9a88a3878093cda96b77b39 SHA512 a8b810f0aafab57984e8189bcc827e72dad7b9201ff88b36948b701cddb61c3bf003aa7b1986ad3ea526242800cbd183890218471fde7e7d7d2b9550b6688dcc
-AUX cinnamon-pillow-10-support.patch 3623 BLAKE2B edda19561231da485ef4f3ce018c8ca790c1c63b95649321c2d3c73ea31aecc173f6015a41348b4914fc61006d579ea19d33d55b67d8f12e5bbd386c892f8521 SHA512 c72141d60e93a1e6797eb92ca65a0cd93ee7b51230ee9c847f8fa335848c639d3d1f8917011982cac0fa1ac21a6e7bca3046e7125b5ea53bd3af708e62e7b59f
+AUX cinnamon-6.2.0-fix-arm64-settings-panel-path.patch 1832 BLAKE2B 15f3300a695f12bd138ff4d3f4e67215d7d7f2e61cd15b84253a7573e0b4e2313697c443cae452b8f324df2b5e1c1161b97fc3f750e1da1207a21b7accad0d81 SHA512 9cf22a4072de3caf9be14405fd3f4ba96262cfc30aad8bb47b161f53ae7c1d6a061397cab1fe5515418e48d2d24919a113ae1b58e4f04fef26efd8a9f52cdbbc
+AUX cinnamon-6.2.0-optional-wayland.patch 2333 BLAKE2B 2c52be837f95f24a20c4a4a506891bba315eefcbc7574b8024c741881d3b04c7bbebba716539d52ee960c5d2295812d81b0affc6112ae2fca0c80a845e95b4e3 SHA512 c43995dec07d4be77bc1c14c1a73d8d8d1acef9ab22479a1bd74067aed162523a21279aa7f3b45353e555708b2af9d0ea6ac39dc1150bd2b9cc1da57941f1b0c
+AUX cinnamon-6.2.0-polkit-agent-on-x11.patch 2440 BLAKE2B ddecfd38e2ac60ab9089e68708efae1e24e5c597c2523222e2b8be4f0f71020dc2dff7008e4c4d895fb58d345263e6176e2f097e96ed7d5c98966dc41d447a4f SHA512 e8b72d5c024a8b3b5d4b171c43f0528e2915a21d21893bb4fb4c5fe2a5e9ce6272c9da781a9282f1445b6643929e666af325c3f4d0e755e53365861b9279c078
AUX polkit-cinnamon-authentication-agent-1.desktop 252 BLAKE2B 8a7c10fa19e19c479ab40e9599b8804bc42a78548b9a09f34edc497dc5c9cbcd6958dbbb93cede57c0bf7938cc22f49c229274941b9509ad220e8790ed26bf9e SHA512 7857dc3d08129c37c461b85049d3a12b6602853d7dc44e68d79ce28bbe1121051a2061a4a4de050402230f85755d2800143e3373708fa19d43a001f7f1100360
-DIST cinnamon-5.8.4.tar.gz 2517117 BLAKE2B 4c3f452480b9e3ce7713221f1b76c475204b8dc1bb34d42a8faf492b0ca86416bb2fbd3849a7f048fef672ecf4613f06c645ec548159b6c3662b7602142e75e6 SHA512 2eaa253cdd01f00cca05ed123db59fde27f84cc24d7b8a3ec751a5f8252642870cbece941d1101f31fe0db43c15d9779bbdcacbf7037757569a4d17205cb10ad
DIST cinnamon-6.0.4.tar.gz 2538844 BLAKE2B de67c2e465d04dd4ed269172b4b58cfe0391446466e32e15410b5a847248566c075823d0a2fb87d7a693033b3e4e1fc21a18c7b9f45dca89ce8968a0be71eaba SHA512 357dd44f40b195a4a3ca3e88c5c9e55f1c06d36b4cec812a001c54ffb784b0d67bb9f41c1ae74fec590184b3480c9cd21ae54f7ee01e31f80eab0297b0d18a9c
-EBUILD cinnamon-5.8.4.ebuild 5427 BLAKE2B a4ba890d9f120f4afd0e6b8462566c8031829bff8582a723f2db31004c30a2c25213155e9b84edf6a6539f683ef87186fbca98a11bad7be83598751287b743fe SHA512 ebbd44078954d159000edf275794a5b657f92dbf6e7120b754d6ce0f843735660830eb2d9af78ad5959d1c6c4b8e5b125dbac889e9180d8e60fba535fe273b51
+DIST cinnamon-6.2.7.tar.gz 2547822 BLAKE2B 67f15fdd39c7168bcaa03f637fa6a4b9e9076657a92ba92472c69960c0c26fcad7aa0b4e1f6926e57d76364bf4a42f28381b67a03cba75de87a4fc31ef9e7377 SHA512 d8617cf73dd754b91915826527e674a8084ad141831112def661eac6b39b1c39e61e06fdf79bd7f0a7045b2abc29e223f8616796f5e51d1354486f0d0e4faf5a
EBUILD cinnamon-6.0.4.ebuild 5945 BLAKE2B 17ae5056db7e7e1851f9f479907b1bf7afa274ec5bed469c47c05981d4cc7683587b29cd1f0b5b7005687ae0284ead7db55376135e4ebaaa457b75f1f459e07a SHA512 6030813b585ae55b23922d91be537e92c73c2ae7b0e0b2a074b09f07567344825a80b478a167c8b61c6f18eb6b6abfa739d1d6163e44e3af31e97123d757dbf5
-MISC metadata.xml 622 BLAKE2B 10b394cc9a24ba5609b2184c8d31439ae3e172055dba8d283c7bdf834ac715053c3533db0bce7f27d55b69a4891622b9cc21dcacdc0b797146e4144fc87d6b2e SHA512 f079066f4181bc467259651de9c83cedc0bbc4f0e817dac5ce081248001c23d4374ea393482400ffefae7edbb03fd61da87f114d6f4f65145200e156d0e9cc46
+EBUILD cinnamon-6.2.7.ebuild 5960 BLAKE2B bd41903ed576d8b40043ce5628c4152b50efd33d9d0b17614126c65a85151bbe492bf70fc7eeb0a517810227a54b2cfc630cd885dd67dde9fbc2dde448a58905 SHA512 23c9582050d6a9ea3ff5d5629f5c5ae4b55e1f9d27d81eb4b3c9a2fcbc794916197ce692a6c4e9812569883f1b618610e0d772a819adbf4fbd9bbea6a13e71d8
+MISC metadata.xml 804 BLAKE2B eb34dbf26a7366035f626b9edb3229b47bd351a740baefeffaadfd337a37b132fa3ec939de647d7f3b77a06e05d0d21158b86c3201e4d089cc5312e817031cba SHA512 cb2c2ab9ad69af9951e149bd26e6345ad90b22916239d00d44d0dbd57367172b8d1e7c09666529eb0d84b2e14e62484cddc50e0b201d82bf373af7d01cc221b6
diff --git a/gnome-extra/cinnamon/cinnamon-5.8.4.ebuild b/gnome-extra/cinnamon/cinnamon-6.2.7.ebuild
index c48b4ae8c30e..faad5075ad15 100644
--- a/gnome-extra/cinnamon/cinnamon-5.8.4.ebuild
+++ b/gnome-extra/cinnamon/cinnamon-6.2.7.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="xml(+)"
inherit meson gnome2-utils pax-utils python-single-r1 xdg
@@ -14,9 +14,9 @@ SRC_URI="https://github.com/linuxmint/cinnamon/archive/${PV}.tar.gz -> ${P}.tar.
LICENSE="BSD GPL-2+ GPL-3+ GPL-3-with-openssl-exception LGPL-2+ LGPL-2.1 LGPL-2.1+ MIT"
SLOT="0"
-IUSE="+eds +gstreamer gtk-doc +nls +networkmanager"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+IUSE="+eds +gstreamer gtk-doc internal-polkit +nls +networkmanager wayland"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-KEYWORDS="amd64 ~arm64 ~loong ~riscv x86"
DEPEND="
${PYTHON_DEPS}
@@ -24,21 +24,21 @@ DEPEND="
>=dev-libs/glib-2.52.0:2[dbus]
>=dev-libs/gobject-introspection-1.29.15:=
dev-libs/libxml2:2
- >=gnome-extra/cinnamon-desktop-5.8:0=
- >=gnome-extra/cinnamon-menus-5.8
- >=gnome-extra/cjs-5.8[cairo]
+ >=gnome-extra/cinnamon-desktop-6.2:0=
+ >=gnome-extra/cinnamon-menus-6.2
+ >=gnome-extra/cjs-6.2[cairo]
sys-apps/dbus
>=sys-auth/polkit-0.100[introspection]
virtual/opengl
x11-libs/cairo
x11-libs/gdk-pixbuf:2[introspection]
- >=x11-libs/gtk+-3.12.0:3[introspection]
+ >=x11-libs/gtk+-3.12.0:3[introspection,wayland?]
>=x11-libs/libnotify-0.7.3:0=[introspection]
x11-libs/libX11
>=x11-libs/libXfixes-5.0
x11-libs/pango[introspection]
- >=x11-libs/xapp-2.6.1[introspection]
- >=x11-wm/muffin-5.8[introspection]
+ >=x11-libs/xapp-2.8.4[introspection]
+ >=x11-wm/muffin-6.2[introspection,wayland?]
eds? (
gnome-extra/evolution-data-server
@@ -72,31 +72,35 @@ RDEPEND="
dev-python/requests[${PYTHON_USEDEP}]
dev-python/setproctitle[${PYTHON_USEDEP}]
dev-python/tinycss2[${PYTHON_USEDEP}]
- >=dev-python/python3-xapp-2.4.1[${PYTHON_USEDEP}]
+ >=dev-python/python3-xapp-2.4.2[${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.8[networkmanager=]
- >=gnome-extra/cinnamon-screensaver-5.8
- >=gnome-extra/cinnamon-session-5.8
- >=gnome-extra/cinnamon-settings-daemon-5.8
- >=gnome-extra/nemo-5.8
- gnome-extra/polkit-gnome
+ >=gnome-extra/cinnamon-control-center-6.2[networkmanager=,wayland?]
+ >=gnome-extra/cinnamon-screensaver-6.2
+ >=gnome-extra/cinnamon-session-6.2
+ >=gnome-extra/cinnamon-settings-daemon-6.2[wayland?]
+ >=gnome-extra/nemo-6.2[wayland?]
media-libs/gsound
- net-libs/libsoup:2.4[introspection]
+ net-libs/libsoup:3.0[introspection]
net-misc/wget
sys-apps/accountsservice[introspection]
sys-apps/coreutils
sys-apps/pciutils
sys-apps/util-linux
+ sys-apps/xdg-desktop-portal-gtk
+ sys-apps/xdg-desktop-portal-xapp
sys-power/upower[introspection]
x11-misc/xdg-utils
x11-themes/adwaita-icon-theme
x11-themes/gnome-themes-standard
+ !internal-polkit? (
+ gnome-extra/polkit-gnome
+ )
nls? (
- >=gnome-extra/cinnamon-translations-5.8
+ >=gnome-extra/cinnamon-translations-6.2
)
"
BDEPEND="
@@ -110,23 +114,35 @@ BDEPEND="
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
+ "${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
+ "${FILESDIR}/${PN}-3.6.6-wheel-sudo.patch"
- # Fix pillow 10.0.0 compat
- # https://github.com/linuxmint/Cinnamon/issues/3576
- "${FILESDIR}"/${PN}-pillow-10-support.patch
+ # Make wayland optional
+ # https://github.com/linuxmint/cinnamon/pull/12273
+ "${FILESDIR}/${PN}-6.2.0-optional-wayland.patch"
+
+ # Fix path for settings panels on arm64
+ # https://github.com/linuxmint/cinnamon/pull/12278
+ "${FILESDIR}/${PN}-6.2.0-fix-arm64-settings-panel-path.patch"
)
src_prepare() {
- xdg_src_prepare
+ if use internal-polkit; then
+ PATCHES+=(
+ # Use internal polkit agent on X11
+ # https://github.com/linuxmint/cinnamon/pull/12272
+ "${FILESDIR}/${PN}-6.2.0-polkit-agent-on-x11.patch"
+ )
+ else
+ # 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
+ fi
- # 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
+ default
# shebang fixing craziness
local p
@@ -139,6 +155,7 @@ src_configure() {
local emesonargs=(
$(meson_use gstreamer build_recorder)
$(meson_use gtk-doc docs)
+ $(meson_use wayland)
-Ddisable_networkmanager=$(usex networkmanager false true)
-Dpy3modules_dir="$(python_get_sitedir)"
)
@@ -154,13 +171,15 @@ src_install() {
# 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
+ # Doesn't exist by default
+ keepdir /etc/xdg/menus/applications-merged
- # 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
+ if ! use internal-polkit; then
+ # 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
+ fi
}
pkg_postinst() {
diff --git a/gnome-extra/cinnamon/files/cinnamon-6.2.0-fix-arm64-settings-panel-path.patch b/gnome-extra/cinnamon/files/cinnamon-6.2.0-fix-arm64-settings-panel-path.patch
new file mode 100644
index 000000000000..c81de09a6c43
--- /dev/null
+++ b/gnome-extra/cinnamon/files/cinnamon-6.2.0-fix-arm64-settings-panel-path.patch
@@ -0,0 +1,38 @@
+From eadca68df52f0fd7db2035c7dad3bb87240ecf34 Mon Sep 17 00:00:00 2001
+From: Sparky Bluefang <sparky@bluefang-logic.com>
+Date: Sat, 6 Jul 2024 04:43:53 -0400
+Subject: [PATCH] Simplify 64bit path handling. More than x86_64 uses
+ /usr/lib64 (i.e. arm64/aarch64). One additional path check is probably not
+ worth enumerating all of the applicable machine names.
+
+---
+ files/usr/share/cinnamon/cinnamon-settings/bin/capi.py | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/files/usr/share/cinnamon/cinnamon-settings/bin/capi.py b/files/usr/share/cinnamon/cinnamon-settings/bin/capi.py
+index 05d88dea20..77621a98a8 100644
+--- a/files/usr/share/cinnamon/cinnamon-settings/bin/capi.py
++++ b/files/usr/share/cinnamon/cinnamon-settings/bin/capi.py
+@@ -27,20 +27,18 @@ def __init__(self):
+ self.extension_point = Gio.io_extension_point_register ("cinnamon-control-center-1")
+ self.modules = []
+
+- architecture = platform.machine()
+ # get the arch-specific triplet, e.g. 'x86_64-linux-gnu' or 'arm-linux-gnueabihf'
+ # see also: https://wiki.debian.org/Python/MultiArch
+ triplet = sysconfig.get_config_var('MULTIARCH')
+- paths = ["/usr/lib", f"/usr/lib/{triplet}"]
++ paths = ["/usr/lib", "/usr/lib64", f"/usr/lib/{triplet}"]
+
+ # On x86 archs, iterate through multiple paths
+ # For instance, on a Mint i686 box, the path is actually /usr/lib/i386-linux-gnu
++ architecture = platform.machine()
+ x86archs = ["i386", "i486", "i586", "i686"]
+ if architecture in x86archs:
+ for arch in x86archs:
+ paths += ["/usr/lib/%s" % arch]
+- elif architecture == "x86_64":
+- paths += ["/usr/lib/x86_64", "/usr/lib64"]
+ else:
+ paths += ["/usr/lib/%s" % architecture]
+
diff --git a/gnome-extra/cinnamon/files/cinnamon-6.2.0-optional-wayland.patch b/gnome-extra/cinnamon/files/cinnamon-6.2.0-optional-wayland.patch
new file mode 100644
index 000000000000..ca22e32f9fb7
--- /dev/null
+++ b/gnome-extra/cinnamon/files/cinnamon-6.2.0-optional-wayland.patch
@@ -0,0 +1,79 @@
+From 92bcc5aabd92001b4f05ce13875422066bf82732 Mon Sep 17 00:00:00 2001
+From: Sparky Bluefang <sparky@bluefang-logic.com>
+Date: Wed, 3 Jul 2024 02:13:13 -0400
+Subject: [PATCH] Optionally install wayland session files
+
+---
+ data/meson.build | 13 +++++++------
+ meson.build | 11 ++++++++---
+ meson_options.txt | 5 +++++
+ 3 files changed, 20 insertions(+), 9 deletions(-)
+
+diff --git a/data/meson.build b/data/meson.build
+index f46bf967fb..807ea218a8 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -16,11 +16,10 @@ desktop_conf.set('bindir', join_paths(prefix, bindir))
+ desktop_conf.set('libexecdir', join_paths(prefix, libexecdir))
+ desktop_conf.set('VERSION', meson.project_version())
+
+-desktop_files = [
+- 'cinnamon.desktop',
+- 'cinnamon-wayland.desktop',
+- 'cinnamon2d.desktop',
+-]
++desktop_files = ['cinnamon.desktop', 'cinnamon2d.desktop']
++if get_option('wayland')
++ desktop_files += ['cinnamon-wayland.desktop']
++endif
+
+ foreach desktop_file : desktop_files
+ desktop = configure_file(
+@@ -40,7 +39,9 @@ foreach desktop_file : desktop_files
+ endforeach
+
+ subdir('xdg-portal')
+-subdir('wayland_sessions')
++if get_option('wayland')
++ subdir('wayland_sessions')
++endif
+ subdir('xsessions')
+ subdir('services')
+
+diff --git a/meson.build b/meson.build
+index d7705c0919..7b4c74c528 100644
+--- a/meson.build
++++ b/meson.build
+@@ -165,10 +165,15 @@ else
+ session_conf.set('REQUIRED', '')
+ endif
+
+-foreach file : ['cinnamon.session', 'cinnamon2d.session', 'cinnamon-wayland.session']
++session_files = ['cinnamon.session', 'cinnamon2d.session']
++if get_option('wayland')
++ session_files += ['cinnamon-wayland.session']
++endif
++
++foreach session_file : session_files
+ configure_file(
+- input: file + '.in',
+- output: file,
++ input: session_file + '.in',
++ output: session_file,
+ configuration: session_conf,
+ install_dir: join_paths(prefix, datadir, 'cinnamon-session', 'sessions'),
+ )
+diff --git a/meson_options.txt b/meson_options.txt
+index 82422246b0..321192d8c6 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -23,4 +23,9 @@ option('py3modules_dir',
+ value : '',
+ description: 'Where to install python3 modules'
+ )
++option('wayland',
++ type : 'boolean',
++ value : true,
++ description: 'Enable wayland support'
++)
+
diff --git a/gnome-extra/cinnamon/files/cinnamon-6.2.0-polkit-agent-on-x11.patch b/gnome-extra/cinnamon/files/cinnamon-6.2.0-polkit-agent-on-x11.patch
new file mode 100644
index 000000000000..7b8057fda647
--- /dev/null
+++ b/gnome-extra/cinnamon/files/cinnamon-6.2.0-polkit-agent-on-x11.patch
@@ -0,0 +1,75 @@
+From c6402be3b5eb84f53367ebd57b1a38664a240d44 Mon Sep 17 00:00:00 2001
+From: Sparky Bluefang <sparky@bluefang-logic.com>
+Date: Wed, 3 Jul 2024 02:10:18 -0400
+Subject: [PATCH] Use Polkit agent for X11 sessions. Don't crash if polkit
+ doesn't start properly.
+
+---
+ debian/control | 1 -
+ js/ui/main.js | 4 +---
+ js/ui/polkitAuthenticationAgent.js | 20 +++++++++++++++++++-
+ 3 files changed, 20 insertions(+), 5 deletions(-)
+
+diff --git a/debian/control b/debian/control
+index b9812a1276..d886fac1ec 100644
+--- a/debian/control
++++ b/debian/control
+@@ -85,7 +85,6 @@ Depends:
+ metacity,
+ nemo,
+ network-manager-gnome [linux-any],
+- policykit-1-gnome,
+ python3,
+ python3-dbus,
+ python3-distro,
+diff --git a/js/ui/main.js b/js/ui/main.js
+index 12bcfc0cfc..55703b96b3 100644
+--- a/js/ui/main.js
++++ b/js/ui/main.js
+@@ -430,9 +430,7 @@ function start() {
+ _initUserSession();
+ screenRecorder = new ScreenRecorder.ScreenRecorder();
+
+- if (Meta.is_wayland_compositor()) {
+- PolkitAuthenticationAgent.init();
+- }
++ PolkitAuthenticationAgent.init();
+
+ _startDate = new Date();
+
+diff --git a/js/ui/polkitAuthenticationAgent.js b/js/ui/polkitAuthenticationAgent.js
+index 5f0b55c387..e9ac7b8853 100644
+--- a/js/ui/polkitAuthenticationAgent.js
++++ b/js/ui/polkitAuthenticationAgent.js
+@@ -35,6 +35,7 @@ const PolkitAgent = imports.gi.PolkitAgent;
+ const ModalDialog = imports.ui.modalDialog;
+ const CinnamonEntry = imports.ui.cinnamonEntry;
+ const UserWidget = imports.ui.userWidget;
++const Main = imports.ui.main;
+
+ const DIALOG_ICON_SIZE = 64;
+
+@@ -389,5 +390,22 @@ AuthenticationAgent.prototype = {
+ }
+
+ function init() {
+- let agent = new AuthenticationAgent();
++ try {
++ let agent = new AuthenticationAgent();
++ } catch(err) {
++ if(!(err instanceof Error)) {
++ err = new Error(err);
++ }
++
++ log('polkitAuthenticationAgent: init error ' + err);
++
++ let icon = new St.Icon({ icon_name: 'dialog-warning',
++ icon_type: St.IconType.FULLCOLOR,
++ icon_size: 36 });
++
++ Main.warningNotify(_('Unable to start Cinnamon PolicyKit Agent'), err.message +
++ "\n\n" +
++ _("If you have another PolicyKit Agent configured to autostart, it should be disabled."),
++ icon);
++ }
+ }
diff --git a/gnome-extra/cinnamon/files/cinnamon-pillow-10-support.patch b/gnome-extra/cinnamon/files/cinnamon-pillow-10-support.patch
deleted file mode 100644
index c16db71c2e07..000000000000
--- a/gnome-extra/cinnamon/files/cinnamon-pillow-10-support.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-# https://github.com/linuxmint/cinnamon/issues/11746
-# https://github.com/linuxmint/cinnamon/commit/fce9aad1ebb290802dc550e8dae6344dddf9dec1
-diff --git a/files/usr/share/cinnamon/cinnamon-settings-users/cinnamon-settings-users.py b/files/usr/share/cinnamon/cinnamon-settings-users/cinnamon-settings-users.py
-index 46dd63256a..fde9822dd8 100755
---- a/files/usr/share/cinnamon/cinnamon-settings-users/cinnamon-settings-users.py
-+++ b/files/usr/share/cinnamon/cinnamon-settings-users/cinnamon-settings-users.py
-@@ -683,7 +683,7 @@ def _on_face_browse_menuitem_activated(self, menuitem):
- if response == Gtk.ResponseType.OK:
- path = dialog.get_filename()
- image = PIL.Image.open(path)
-- image.thumbnail((96, 96), Image.ANTIALIAS)
-+ image.thumbnail((96, 96), Image.LANCZOS)
- face_path = os.path.join(user.get_home_dir(), ".face")
- try:
- try:
-diff --git a/files/usr/share/cinnamon/cinnamon-settings/bin/imtools.py b/files/usr/share/cinnamon/cinnamon-settings/bin/imtools.py
-index 2ad0d8ce15..715cf4eb52 100644
---- a/files/usr/share/cinnamon/cinnamon-settings/bin/imtools.py
-+++ b/files/usr/share/cinnamon/cinnamon-settings/bin/imtools.py
-@@ -228,7 +228,7 @@ def create_corner(radius=100, opacity=255, factor=2):
- draw = ImageDraw.Draw(corner)
- draw.pieslice((0, 0, 2 * factor * radius, 2 * factor * radius),
- 180, 270, fill=opacity)
-- corner = corner.resize((radius, radius), Image.ANTIALIAS)
-+ corner = corner.resize((radius, radius), Image.LANCZOS)
- return corner
-
- def get_format(ext):
-diff --git a/files/usr/share/cinnamon/cinnamon-settings/modules/cs_backgrounds.py b/files/usr/share/cinnamon/cinnamon-settings/modules/cs_backgrounds.py
-index b6cdaa25c0..156506ac72 100755
---- a/files/usr/share/cinnamon/cinnamon-settings/modules/cs_backgrounds.py
-+++ b/files/usr/share/cinnamon/cinnamon-settings/modules/cs_backgrounds.py
-@@ -628,7 +628,7 @@ def get_pix(self, filename, size=None):
- img = Image.alpha_composite(bg_img, img)
- img = img.convert("RGB")
- if size:
-- img.thumbnail((size, size), Image.ANTIALIAS)
-+ img.thumbnail((size, size), Image.LANCZOS)
-
- import imtools
- img = imtools.round_image(img, {}, False, None, 3, 255)
-diff --git a/files/usr/share/cinnamon/cinnamon-settings/modules/cs_user.py b/files/usr/share/cinnamon/cinnamon-settings/modules/cs_user.py
-index fef4ef940a..582df385fe 100755
---- a/files/usr/share/cinnamon/cinnamon-settings/modules/cs_user.py
-+++ b/files/usr/share/cinnamon/cinnamon-settings/modules/cs_user.py
-@@ -165,7 +165,7 @@ def _on_face_photo_menuitem_activated(self, menuitem):
- bottom = (height + new_height) / 2
-
- image = image.crop((left, top, right, bottom))
-- image.thumbnail((255, 255), Image.ANTIALIAS)
-+ image.thumbnail((255, 255), Image.LANCZOS)
-
- face_path = os.path.join(self.accountService.get_home_dir(), ".face")
-
-@@ -202,7 +202,7 @@ def _on_face_browse_menuitem_activated(self, menuitem):
- if response == Gtk.ResponseType.OK:
- path = dialog.get_filename()
- image = Image.open(path)
-- image.thumbnail((255, 255), Image.ANTIALIAS)
-+ image.thumbnail((255, 255), Image.LANCZOS)
- face_path = os.path.join(self.accountService.get_home_dir(), ".face")
- image.save(face_path, "png")
- self.accountService.set_icon_file(face_path)
diff --git a/gnome-extra/cinnamon/metadata.xml b/gnome-extra/cinnamon/metadata.xml
index 24e82c1c597d..3eaadcd0d9a0 100644
--- a/gnome-extra/cinnamon/metadata.xml
+++ b/gnome-extra/cinnamon/metadata.xml
@@ -14,5 +14,6 @@
</upstream>
<use>
<flag name="desktop-portal">Enable <pkg>sys-apps/xdg-desktop-portal</pkg> backend implementation for Cinnamon</flag>
+ <flag name="internal-polkit">Use Cinnamon's internal polkit agent instead of <pkg>gnome-extra/polkit-gnome</pkg>. This does not currently support multi-user fast switching.</flag>
</use>
</pkgmetadata>