diff options
Diffstat (limited to 'gnome-extra/cinnamon/files')
4 files changed, 210 insertions, 85 deletions
diff --git a/gnome-extra/cinnamon/files/cinnamon-5.2.7-eds-detection.patch b/gnome-extra/cinnamon/files/cinnamon-5.2.7-eds-detection.patch new file mode 100644 index 000000000000..bda0feedceb7 --- /dev/null +++ b/gnome-extra/cinnamon/files/cinnamon-5.2.7-eds-detection.patch @@ -0,0 +1,114 @@ +https://github.com/linuxmint/cinnamon/commit/ef463cc0aaedd714f2956daab227aeda1d87897e + +From ef463cc0aaedd714f2956daab227aeda1d87897e Mon Sep 17 00:00:00 2001 +From: Michael Webster <miketwebster@gmail.com> +Date: Wed, 12 Jan 2022 14:50:47 -0500 +Subject: [PATCH] calendar events: Check if evolution-data-server is running + before enabling events. + +None of the e-d-s libraries actually depend on evolution-data-server +(which is what provides the backend to these libraries). Also, not +everyone may want this sort of thing in the first place. + +So, check if the e-d-s service we require is active before trying +to enable event support. + +ref: #10597, #10567 +--- + .../applets/calendar@cinnamon.org/calendar.js | 2 +- + .../calendar@cinnamon.org/eventView.js | 43 +++++++++++++++---- + js/misc/interfaces.js | 4 ++ + 3 files changed, 39 insertions(+), 10 deletions(-) + +diff --git a/files/usr/share/cinnamon/applets/calendar@cinnamon.org/calendar.js b/files/usr/share/cinnamon/applets/calendar@cinnamon.org/calendar.js +index 460883c063..5078a201ed 100644 +--- a/files/usr/share/cinnamon/applets/calendar@cinnamon.org/calendar.js ++++ b/files/usr/share/cinnamon/applets/calendar@cinnamon.org/calendar.js +@@ -159,7 +159,7 @@ class Calendar { + this.desktop_settings = new Gio.Settings({ schema_id: DESKTOP_SCHEMA }); + this.desktop_settings.connect("changed::" + FIRST_WEEKDAY_KEY, Lang.bind(this, this._onSettingsChange)); + +- this.events_enabled = true; ++ this.events_enabled = false; + this.events_manager.connect("events-updated", this._events_updated.bind(this)); + this.events_manager.connect("events-manager-ready", this._update_events_enabled.bind(this)); + this.events_manager.connect("has-calendars-changed", this._update_events_enabled.bind(this)); +diff --git a/files/usr/share/cinnamon/applets/calendar@cinnamon.org/eventView.js b/files/usr/share/cinnamon/applets/calendar@cinnamon.org/eventView.js +index 1d1035c605..2e73363fb7 100644 +--- a/files/usr/share/cinnamon/applets/calendar@cinnamon.org/eventView.js ++++ b/files/usr/share/cinnamon/applets/calendar@cinnamon.org/eventView.js +@@ -17,6 +17,7 @@ const Main = imports.ui.main; + const Util = imports.misc.util; + const Mainloop = imports.mainloop; + const Tweener = imports.ui.tweener; ++const Interfaces = imports.misc.interfaces; + + const STATUS_UNKNOWN = 0; + const STATUS_NO_CALENDARS = 1; +@@ -302,18 +303,42 @@ class EventsManager { + + start_events() { + if (this._calendar_server == null) { +- Cinnamon.CalendarServerProxy.new_for_bus( +- Gio.BusType.SESSION, +- // Gio.DBusProxyFlags.NONE, +- Gio.DBusProxyFlags.DO_NOT_AUTO_START_AT_CONSTRUCTION, +- "org.cinnamon.CalendarServer", +- "/org/cinnamon/CalendarServer", +- null, +- this._calendar_server_ready.bind(this) +- ); ++ Interfaces.getDBusAsync((proxy, error) => { ++ if (error) { ++ this.log_dbus_error(error); ++ return; ++ } ++ ++ proxy.NameHasOwnerRemote("org.gnome.evolution.dataserver.Calendar8", (has_owner, error) => { ++ if (error) { ++ this.log_dbus_error(error); ++ return; ++ } ++ ++ if (has_owner[0]) { ++ log("calendar@cinnamon.org: Calendar events supported.") ++ ++ Cinnamon.CalendarServerProxy.new_for_bus( ++ Gio.BusType.SESSION, ++ Gio.DBusProxyFlags.DO_NOT_AUTO_START_AT_CONSTRUCTION, ++ "org.cinnamon.CalendarServer", ++ "/org/cinnamon/CalendarServer", ++ null, ++ this._calendar_server_ready.bind(this) ++ ); ++ } else { ++ log("calendar@cinnamon.org: No calendar event support (needs evolution-data-server)") ++ ++ } ++ }); ++ }) + } + } + ++ log_dbus_error(e) { ++ global.logError(`calendar@cinnamon.org: Could not check for calendar event support: ${e.toString()}`); ++ } ++ + _calendar_server_ready(obj, res) { + try { + this._calendar_server = Cinnamon.CalendarServerProxy.new_for_bus_finish(res); +diff --git a/js/misc/interfaces.js b/js/misc/interfaces.js +index 8bc6e717d4..6bdb7b78c2 100644 +--- a/js/misc/interfaces.js ++++ b/js/misc/interfaces.js +@@ -13,6 +13,10 @@ const DBusIface = '\ + <arg type="s" direction="in" /> \ + <arg type="s" direction="out" /> \ + </method> \ ++ <method name="NameHasOwner"> \ ++ <arg type="s" direction="in" /> \ ++ <arg type="b" direction="out" /> \ ++ </method> \ + <method name="ListNames"> \ + <arg type="as" direction="out" /> \ + </method> \ diff --git a/gnome-extra/cinnamon/files/cinnamon-5.2.7-meson-0.61-fix.patch b/gnome-extra/cinnamon/files/cinnamon-5.2.7-meson-0.61-fix.patch new file mode 100644 index 000000000000..3645221cc7a3 --- /dev/null +++ b/gnome-extra/cinnamon/files/cinnamon-5.2.7-meson-0.61-fix.patch @@ -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, + ) diff --git a/gnome-extra/cinnamon/files/cinnamon-5.2.7-optional-eds.patch b/gnome-extra/cinnamon/files/cinnamon-5.2.7-optional-eds.patch deleted file mode 100644 index c0646359552b..000000000000 --- a/gnome-extra/cinnamon/files/cinnamon-5.2.7-optional-eds.patch +++ /dev/null @@ -1,85 +0,0 @@ -diff --git a/files/usr/share/cinnamon/applets/calendar@cinnamon.org/eventView.js b/files/usr/share/cinnamon/applets/calendar@cinnamon.org/eventView.js -index 1d1035c60..ebfd5a3a4 100644 ---- a/files/usr/share/cinnamon/applets/calendar@cinnamon.org/eventView.js -+++ b/files/usr/share/cinnamon/applets/calendar@cinnamon.org/eventView.js -@@ -301,7 +301,7 @@ class EventsManager { - } - - start_events() { -- if (this._calendar_server == null) { -+ if (this._calendar_server == null && Cinnamon.CalendarServerProxy) { - Cinnamon.CalendarServerProxy.new_for_bus( - Gio.BusType.SESSION, - // Gio.DBusProxyFlags.NONE, -diff --git a/meson.build b/meson.build -index 2c1baf47d..aba5d5a30 100644 ---- a/meson.build -+++ b/meson.build -@@ -179,6 +179,9 @@ install_subdir( - strip_directory: true, - ) - --subdir('calendar-server') -+ -+if get_option('build_calendar_server') -+ subdir('calendar-server') -+endif - subdir('python3') - subdir('install-scripts') -diff --git a/meson_options.txt b/meson_options.txt -index 82422246b..752f7904e 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -13,6 +13,11 @@ option('build_recorder', - value: true, - description: 'Build the cinnamon recorder into source' - ) -+option('build_calendar_server', -+ type: 'boolean', -+ value: true, -+ description: 'Build the cinnamon EDS calendar server' -+) - option('disable_networkmanager', - type: 'boolean', - value: false, -diff --git a/src/meson.build b/src/meson.build -index 7999c0a67..1b22aa279 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -3,12 +3,6 @@ subdir('hotplug-sniffer') - - include_src = include_directories('.') - --calendar_generated = gnome.gdbus_codegen('cinnamon-calendar', -- sources: 'org.cinnamon.CalendarServer.xml', -- interface_prefix: 'org.cinnamon.', -- namespace: 'Cinnamon' --) -- - cinnamon_headers = [ - 'cinnamon-app.h', - 'cinnamon-app-system.h', -@@ -59,10 +53,21 @@ cinnamon_sources = [ - 'cinnamon-window-tracker.c', - 'cinnamon-wm.c', - 'cinnamon-xfixes-cursor.c', -- cinnamon_headers, -- calendar_generated -+ cinnamon_headers - ] - -+if get_option('build_calendar_server') -+ calendar_generated = gnome.gdbus_codegen('cinnamon-calendar', -+ sources: 'org.cinnamon.CalendarServer.xml', -+ interface_prefix: 'org.cinnamon.', -+ namespace: 'Cinnamon' -+ ) -+ -+ cinnamon_sources += [ -+ calendar_generated -+ ] -+endif -+ - cinnamon_enum_types = gnome.mkenums_simple( - 'cinnamon-enum-types', - sources: cinnamon_headers, diff --git a/gnome-extra/cinnamon/files/cinnamon-5.2.7-revert-meson-0.60-fix.patch b/gnome-extra/cinnamon/files/cinnamon-5.2.7-revert-meson-0.60-fix.patch new file mode 100644 index 000000000000..aa5503517ec7 --- /dev/null +++ b/gnome-extra/cinnamon/files/cinnamon-5.2.7-revert-meson-0.60-fix.patch @@ -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', |