io.elementary.calendar: update to 7.0.0.

This commit is contained in:
Đoàn Trần Công Danh 2024-04-19 21:22:02 +07:00 committed by Đoàn Trần Công Danh
parent ca5992169f
commit 551a995da9
4 changed files with 30 additions and 178 deletions

View File

@ -1,6 +1,6 @@
--- a/core/Services/Calendar/EventStore.vala
+++ b/core/Services/Calendar/EventStore.vala
@@ -304,6 +304,7 @@ public class Calendar.EventStore : Object {
@@ -292,6 +292,7 @@ public class Calendar.EventStore : Objec
// number we want, so we convert the pointer address to a uint to get
// the data. Since the pointer address is actually data, using it as a
// pointer will segfault.
@ -8,7 +8,7 @@
uint week_day1 = (uint) Posix.NLTime.WEEK_1STDAY.to_string ();
var week_1stday = 0; // Default to 0 if unrecognized data
if (week_day1 == 19971130) { // Sunday
@@ -313,6 +314,9 @@ public class Calendar.EventStore : Object {
@@ -301,6 +302,9 @@ public class Calendar.EventStore : Objec
} else {
warning ("Unknown value of _NL_TIME_WEEK_1STDAY: %u", week_day1);
}
@ -18,7 +18,7 @@
/* The offset between GLib and local POSIX numbering.
* If week_1stday is Monday, data is correct for GLib: Monday=1 through Sunday=7,
* so offset is 0.
@@ -323,7 +327,11 @@ public class Calendar.EventStore : Object {
@@ -311,7 +315,11 @@ public class Calendar.EventStore : Objec
// Get the start of week
// HACK This line produces a string of 3 bytes. It takes the raw value
// of the first one and uses that as the value of week_start.
@ -32,9 +32,9 @@
if (week_start == 0) { // Sunday special case
--- a/meson.build
+++ b/meson.build
@@ -48,7 +48,14 @@ else
add_project_arguments('--vapidir', join_paths(meson.current_source_dir(), 'vapi'), language: 'vala')
endif
@@ -56,7 +56,14 @@ libportal_dep = [ dependency('libportal'
add_project_arguments('-DLIBICAL_GLIB_UNSTABLE_API=1', language: 'c')
-m_dep = meson.get_compiler('c').find_library('m', required : false)
+cc = meson.get_compiler('c')
@ -48,3 +48,23 @@
gresource_calendar = gnome.compile_resources(
'gresource_calendar',
--- a/core/Tests/meson.build
+++ b/core/Tests/meson.build
@@ -19,7 +19,11 @@ util_tests = executable(
test('Utils Tests', util_tests, suite: 'core', is_parallel: false)
# We need these three locales to run the tests
-locales = run_command('locale', '-a', check: true).stdout().split('\n')
+locale_bin = find_program('locale', required: false)
+if not locale_bin.found()
+message('EventStore Tests have been disabled, no locale.')
+else
+locales = run_command(locale_bin, '-a', check: true).stdout().split('\n')
if locales.contains ('en_GB.utf8') and locales.contains ('en_US.utf8') and locales.contains ('ar_AE.utf8')
eventstore_tests = executable(
tests_name + '-eventstore',
@@ -30,3 +34,4 @@ if locales.contains ('en_GB.utf8') and l
else
message('EventStore Tests have been disabled, a locale is missing in the system.')
endif
+endif

View File

@ -1,32 +0,0 @@
--- a/core/Tests/meson.build
+++ b/core/Tests/meson.build
@@ -18,15 +18,20 @@ util_tests = executable(
)
test('Utils Tests', util_tests, suite: 'core', is_parallel: false)
+locale_prog = find_program('locale', required: false)
# We need these three locales to run the tests
-locales = run_command('locale', '-a').stdout().split('\n')
-if locales.contains ('en_GB.utf8') and locales.contains ('en_US.utf8') and locales.contains ('ar_AE.utf8')
- eventstore_tests = executable(
- tests_name + '-eventstore',
- 'eventstore-tests.vala',
- dependencies: tests_deps
- )
- test('EventStore Tests', eventstore_tests, suite: 'core', is_parallel: false)
+if locale_prog.found()
+ locales = run_command(locale_prog, '-a').stdout().split('\n')
+ if locales.contains ('en_GB.utf8') and locales.contains ('en_US.utf8') and locales.contains ('ar_AE.utf8')
+ eventstore_tests = executable(
+ tests_name + '-eventstore',
+ 'eventstore-tests.vala',
+ dependencies: tests_deps
+ )
+ test('EventStore Tests', eventstore_tests, suite: 'core', is_parallel: false)
+ else
+ message('EventStore Tests have been disabled, a locale is missing in the system.')
+ endif
else
-message('EventStore Tests have been disabled, a locale is missing in the system.')
+ message('EventStore Tests have been disabled, the locale command is missing in the system.')
endif

View File

@ -1,137 +0,0 @@
From 62c20e5786accd68b96c423b04e32c043e726cac Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Corentin=20No=C3=ABl?= <tintou@noel.tf>
Date: Sun, 7 Aug 2022 21:18:35 +0200
Subject: [PATCH] Add support for Evolution Data Server 3.46
EDS 3.46 has switched to libsoup-3
Co-authored-by: Bobby Rong <rjl931189261@126.com>
---
meson.build | 10 ++++++++--
plugins/CalDAV/CalDAVBackend.vala | 12 ++++++++++++
plugins/Google/GoogleBackend.vala | 26 ++++++++++++++++++++++++++
3 files changed, 46 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build
index ff7a2d0f9..703a9686d 100644
--- a/meson.build
+++ b/meson.build
@@ -28,14 +28,20 @@ gtk_dep = dependency('gtk+-3.0', version: '>=3.22')
handy_dep = dependency('libhandy-1', version: '>=0.90.0')
libedataserver_dep = dependency('libedataserver-1.2', version: '>=3.8.0')
libedataserverui_dep = dependency('libedataserverui-1.2', version: '>=3.8.0')
-libsoup_dep = dependency('libsoup-2.4')
+if (libedataserver_dep.version().version_compare ('>=3.46'))
+ libsoup_dep = []
+ geocode_glib_dep = dependency('geocode-glib-2.0')
+ add_project_arguments('--define', 'HAS_EDS_3_46', language: 'vala')
+else
+ geocode_glib_dep = dependency('geocode-glib-1.0')
+ libsoup_dep = dependency('libsoup-2.4')
+endif
gmodule_dep = dependency('gmodule-2.0')
champlain_dep = dependency('champlain-0.12')
champlain_gtk_dep = dependency('champlain-gtk-0.12')
clutter_dep = dependency('clutter-1.0')
clutter_gtk_dep = dependency('clutter-gtk-1.0')
folks_dep = dependency('folks')
-geocode_glib_dep = dependency('geocode-glib-1.0')
gclue_dep = dependency('libgeoclue-2.0')
libecal_dep = dependency('libecal-2.0')
libical_dep = dependency('libical-glib')
diff --git a/plugins/CalDAV/CalDAVBackend.vala b/plugins/CalDAV/CalDAVBackend.vala
index e1f6fde53..e4f5e0f5c 100644
--- a/plugins/CalDAV/CalDAVBackend.vala
+++ b/plugins/CalDAV/CalDAVBackend.vala
@@ -73,7 +73,11 @@ public class Maya.CalDavBackend : GLib.Object, Maya.Backend {
collection.add (url_entry);
if (to_edit != null) {
E.SourceWebdav webdav = (E.SourceWebdav)to_edit.get_extension (E.SOURCE_EXTENSION_WEBDAV_BACKEND);
+#if HAS_EDS_3_46
+ var uri = webdav.dup_uri ();
+#else
var uri = webdav.dup_soup_uri ();
+#endif
if (uri.get_port () != 80) {
((Gtk.Entry)url_entry.widget).text = "%s://%s:%u%s".printf (uri.get_scheme (), uri.get_host (), uri.get_port (), uri.get_path ());
} else {
@@ -147,7 +151,11 @@ public class Maya.CalDavBackend : GLib.Object, Maya.Backend {
foreach (var widget in widgets) {
switch (widget.ref_name) {
case "url_entry":
+#if HAS_EDS_3_46
+ webdav.uri = GLib.Uri.parse (((Gtk.Entry)widget.widget).text, GLib.UriFlags.NONE);
+#else
webdav.soup_uri = new Soup.URI (((Gtk.Entry)widget.widget).text);
+#endif
break;
case "user_entry":
auth.user = ((Gtk.Entry)widget.widget).text;
@@ -190,7 +198,11 @@ public class Maya.CalDavBackend : GLib.Object, Maya.Backend {
foreach (var widget in widgets) {
switch (widget.ref_name) {
case "url_entry":
+#if HAS_EDS_3_46
+ webdav.uri = GLib.Uri.parse (((Gtk.Entry)widget.widget).text, GLib.UriFlags.NONE);
+#else
webdav.soup_uri = new Soup.URI (((Gtk.Entry)widget.widget).text);
+#endif
break;
case "user_entry":
auth.user = ((Gtk.Entry)widget.widget).text;
diff --git a/plugins/Google/GoogleBackend.vala b/plugins/Google/GoogleBackend.vala
index 2f9fa3f2b..3f77bd13b 100644
--- a/plugins/Google/GoogleBackend.vala
+++ b/plugins/Google/GoogleBackend.vala
@@ -83,12 +83,25 @@ public class Maya.GoogleBackend : GLib.Object, Maya.Backend {
}
auth.user = decoded_user;
+#if HAS_EDS_3_46
+ webdav.uri = GLib.Uri.build (
+ GLib.UriFlags.NONE,
+ "https",
+ null,
+ "www.google.com",
+ -1,
+ "/calendar/dav/%s/events".printf (decoded_user),
+ null,
+ null
+ );
+#else
var soup_uri = new Soup.URI (null);
soup_uri.set_host ("www.google.com");
soup_uri.set_scheme ("https");
soup_uri.set_user (decoded_user);
soup_uri.set_path ("/calendar/dav/%s/events".printf (decoded_user));
webdav.soup_uri = soup_uri;
+#endif
break;
case "keep_copy":
offline.set_stay_synchronized (((Gtk.CheckButton)widget.widget).active);
@@ -128,12 +141,25 @@ public class Maya.GoogleBackend : GLib.Object, Maya.Backend {
}
auth.user = decoded_user;
+#if HAS_EDS_3_46
+ webdav.uri = GLib.Uri.build (
+ GLib.UriFlags.NONE,
+ "https",
+ null,
+ "www.google.com",
+ -1,
+ "/calendar/dav/%s/events".printf (decoded_user),
+ null,
+ null
+ );
+#else
var soup_uri = new Soup.URI (null);
soup_uri.set_host ("www.google.com");
soup_uri.set_scheme ("https");
soup_uri.set_user (decoded_user);
soup_uri.set_path ("/calendar/dav/%s/events".printf (decoded_user));
webdav.soup_uri = soup_uri;
+#endif
break;
case "keep_copy":
offline.set_stay_synchronized (((Gtk.CheckButton)widget.widget).active);

View File

@ -1,12 +1,13 @@
# Template file for 'io.elementary.calendar'
pkgname=io.elementary.calendar
version=6.1.2
revision=2
version=7.0.0
revision=1
build_style=meson
build_helper="gir"
hostmakedepends="gettext pkg-config vala desktop-file-utils AppStream
glib-devel evolution-data-server-devel"
makedepends="granite-devel libglib-devel gtk+3-devel libgee08-devel
libportal-devel libportal-gtk3-devel
libchamplain-devel clutter-devel evolution-data-server-devel libhandy1-devel
folks-devel geocode-glib-devel geoclue2-devel libical-devel libnotify-devel"
short_desc="Desktop calendar app designed for elementary OS"
@ -14,7 +15,7 @@ maintainer="Cameron Nemo <cam@nohom.org>"
license="GPL-3.0-only"
homepage="https://github.com/elementary/calendar"
distfiles="https://github.com/elementary/calendar/archive/refs/tags/${version}.tar.gz"
checksum=4051f4d190d2144054c3fb637e53281850a7db858771d73adf157c914dba8f31
checksum=389a46896b8cf883ef30cf60eab9edd397cfa38a2375164f833921b1ff72aefc
libio.elementary.calendar_package() {
short_desc+=" - library"