summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gentoo.org>2022-09-15 15:43:53 -0400
committerMatt Turner <mattst88@gentoo.org>2022-09-15 15:52:05 -0400
commit5954d434790d108ff0e879a55bbebc740098e64b (patch)
treef5ec4ff3c5f4e6305fa629a1984560b83b26a2a8 /app-office
parentgui-libs/libadwaita: Version bump to 1.2.0 (diff)
downloadgentoo-5954d434790d108ff0e879a55bbebc740098e64b.tar.gz
gentoo-5954d434790d108ff0e879a55bbebc740098e64b.tar.bz2
gentoo-5954d434790d108ff0e879a55bbebc740098e64b.zip
app-office/endeavour: Move from app-office/gnome-todo
And at the same time * Add v42.0 * Drop v3.28 * Update 9999 ebuild Signed-off-by: Matt Turner <mattst88@gentoo.org>
Diffstat (limited to 'app-office')
-rw-r--r--app-office/endeavour/Manifest1
-rw-r--r--app-office/endeavour/endeavour-42.0.ebuild (renamed from app-office/gnome-todo/gnome-todo-3.28.1-r2.ebuild)48
-rw-r--r--app-office/endeavour/endeavour-9999.ebuild (renamed from app-office/gnome-todo/gnome-todo-9999.ebuild)17
-rw-r--r--app-office/endeavour/files/42.0-build-Generate-enum-headers-first.patch84
-rw-r--r--app-office/endeavour/metadata.xml (renamed from app-office/gnome-todo/metadata.xml)0
-rw-r--r--app-office/gnome-todo/Manifest1
-rw-r--r--app-office/gnome-todo/files/fix-build-with-meson-0.61.patch29
-rw-r--r--app-office/gnome-todo/files/gnome-todo-eds-libecal-2.0.patch560
8 files changed, 117 insertions, 623 deletions
diff --git a/app-office/endeavour/Manifest b/app-office/endeavour/Manifest
new file mode 100644
index 000000000000..689910024e6c
--- /dev/null
+++ b/app-office/endeavour/Manifest
@@ -0,0 +1 @@
+DIST Endeavour-v42.0.tar.bz2 606645 BLAKE2B f9575eeaa67f837e465cbf8e8790a477c299bea12410ceda3c1f9ab5df69948087c7c8679cee5651eac828b69fe64f2b22ff759c2174f044166b94a25270668c SHA512 6312bad832f864adc3e4e01112efccb9c867b31485460791a1d1cf0d515586e7fdb7dd9dca3790201f764b72c39cff69626794f7020b4b084034fdbd0e07d94a
diff --git a/app-office/gnome-todo/gnome-todo-3.28.1-r2.ebuild b/app-office/endeavour/endeavour-42.0.ebuild
index 9a33b3fd557f..cb393edc681b 100644
--- a/app-office/gnome-todo/gnome-todo-3.28.1-r2.ebuild
+++ b/app-office/endeavour/endeavour-42.0.ebuild
@@ -6,19 +6,31 @@ EAPI=8
inherit gnome.org gnome2-utils meson xdg
DESCRIPTION="Personal task manager"
-HOMEPAGE="https://wiki.gnome.org/Apps/Todo"
+HOMEPAGE="https://wiki.gnome.org/Apps/Todo https://gitlab.gnome.org/World/Endeavour"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.gnome.org/World/Endeavour.git"
+ SRC_URI=""
+else
+ SRC_URI="https://gitlab.gnome.org/World/${PN^}/-/archive/v${PV}/${PN^}-v${PV}.tar.bz2"
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/${PN^}-v${PV}"
+fi
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64"
-IUSE="gtk-doc +introspection"
+IUSE="+introspection"
+RESTRICT="test" # Tests are broken in 42.0
RDEPEND="
- >=dev-libs/glib-2.43.4:2
- >=x11-libs/gtk+-3.22.0:3[introspection?]
- >=net-libs/gnome-online-accounts-3.25.3
+ >=dev-libs/glib-2.58.0:2
+ >=gui-libs/gtk-3.92.0:4[introspection?]
+ >=gui-libs/libadwaita-1.2.0:1
+ >=net-libs/gnome-online-accounts-3.25.3:=
>=dev-libs/libpeas-1.17
- >=gnome-extra/evolution-data-server-3.33.1:=[gtk]
+ dev-libs/libportal:0=[gtk]
+ >=gnome-extra/evolution-data-server-3.33.2:=[gtk]
net-libs/rest:0.7
dev-libs/json-glib
introspection? ( >=dev-libs/gobject-introspection-1.42:= )
@@ -27,17 +39,12 @@ DEPEND="${RDEPEND}"
BDEPEND="
dev-libs/libxml2:2
dev-util/glib-utils
- gtk-doc? (
- dev-util/gtk-doc
- app-text/docbook-xml-dtd:4.3
- )
>=sys-devel/gettext-0.19.8
virtual/pkgconfig
"
PATCHES=(
- "${FILESDIR}"/gnome-todo-eds-libecal-2.0.patch
- "${FILESDIR}"/fix-build-with-meson-0.61.patch
+ "${FILESDIR}"/${PV}-build-Generate-enum-headers-first.patch
)
src_configure() {
@@ -45,17 +52,14 @@ src_configure() {
# TODO: should just always build introspection support as an application that needs it for full functionality?
# Todoist plugin requires 3.25.3 GOA for being able to add a Todoist account
local emesonargs=(
- -Dbackground_plugin=true
- -Ddark_theme_plugin=true
- -Dscheduled_panel_plugin=true
- -Dscore_plugin=true
- -Dtoday_panel_plugin=true
- -Dunscheduled_panel_plugin=true
+ $(meson_use introspection)
+ -Dtracing=false
+ -Dprofile=default
+
-Dtodo_txt_plugin=true
-Dtodoist_plugin=true
- -Dtracing=false
- $(meson_use gtk-doc gtk_doc)
- $(meson_use introspection)
+ -Dunscheduled_panel_plugin=true
+ -Dbackground_plugin=true
)
meson_src_configure
}
diff --git a/app-office/gnome-todo/gnome-todo-9999.ebuild b/app-office/endeavour/endeavour-9999.ebuild
index 0ef934158147..97a763cfccef 100644
--- a/app-office/gnome-todo/gnome-todo-9999.ebuild
+++ b/app-office/endeavour/endeavour-9999.ebuild
@@ -6,14 +6,16 @@ EAPI=8
inherit gnome.org gnome2-utils meson xdg
DESCRIPTION="Personal task manager"
-HOMEPAGE="https://wiki.gnome.org/Apps/Todo https://gitlab.gnome.org/GNOME/gnome-todo"
+HOMEPAGE="https://wiki.gnome.org/Apps/Todo https://gitlab.gnome.org/World/Endeavour"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
- EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/gnome-todo.git"
+ EGIT_REPO_URI="https://gitlab.gnome.org/World/Endeavour.git"
SRC_URI=""
else
+ SRC_URI="https://gitlab.gnome.org/World/${PN^}/-/archive/v${PV}/${PN^}-v${PV}.tar.bz2"
KEYWORDS="~amd64"
+ S="${WORKDIR}/${PN^}-v${PV}"
fi
LICENSE="GPL-3+"
@@ -23,13 +25,11 @@ IUSE="+introspection"
RDEPEND="
>=dev-libs/glib-2.58.0:2
>=gui-libs/gtk-3.92.0:4[introspection?]
- gui-libs/libadwaita:1
- >=net-libs/gnome-online-accounts-3.25.3
+ >=gui-libs/libadwaita-1.2.0:1
+ >=net-libs/gnome-online-accounts-3.2.0:=
>=dev-libs/libpeas-1.17
dev-libs/libportal:0=[gtk]
>=gnome-extra/evolution-data-server-3.33.2:=[gtk]
- net-libs/rest:0.7
- dev-libs/json-glib
introspection? ( >=dev-libs/gobject-introspection-1.42:= )
"
DEPEND="${RDEPEND}"
@@ -43,15 +43,10 @@ BDEPEND="
src_configure() {
# TODO: There aren't any consumers of the introspection outside gnome-todo's own plugins, so maybe we
# TODO: should just always build introspection support as an application that needs it for full functionality?
- # Todoist plugin requires 3.25.3 GOA for being able to add a Todoist account
local emesonargs=(
$(meson_use introspection)
-Dtracing=false
-Dprofile=default
-
- -Dtodo_txt_plugin=true
- -Dtodoist_plugin=true
- -Dunscheduled_panel_plugin=true
)
meson_src_configure
}
diff --git a/app-office/endeavour/files/42.0-build-Generate-enum-headers-first.patch b/app-office/endeavour/files/42.0-build-Generate-enum-headers-first.patch
new file mode 100644
index 000000000000..6efa26dead2c
--- /dev/null
+++ b/app-office/endeavour/files/42.0-build-Generate-enum-headers-first.patch
@@ -0,0 +1,84 @@
+From b492285e2a4fafad887df2c4fd2a5bdb53ce39fb Mon Sep 17 00:00:00 2001
+From: Jamie Murphy <hello@itsjamie.dev>
+Date: Fri, 5 Aug 2022 18:52:20 -0700
+Subject: [PATCH] build: Generate enum headers first
+
+Fixes #380, #398, !120, !110
+---
+ src/meson.build | 38 +++++++++++++++++++-------------------
+ src/plugins/meson.build | 3 ++-
+ 2 files changed, 21 insertions(+), 20 deletions(-)
+
+diff --git a/src/meson.build b/src/meson.build
+index deb410a2..8f621e78 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -16,6 +16,25 @@ vcs_identifier_h = declare_dependency(sources: vcs_tag)
+
+ endeavour_deps += vcs_identifier_h
+
++#########
++# Enums #
++#########
++
++enum_headers = files(
++ join_paths('animation', 'gtd-animation-enums.h'),
++)
++
++enum_types = 'gtd-enum-types'
++
++gtd_enum_types = gnome.mkenums(
++ enum_types,
++ sources: enum_headers,
++ c_template: enum_types + '.c.template',
++ h_template: enum_types + '.h.template'
++)
++
++sources += gtd_enum_types
++
+ ###########
+ # Plugins #
+ ###########
+@@ -42,25 +61,6 @@ gtd_deps = endeavour_deps + [
+ plugins_dep,
+ ]
+
+-
+-#########
+-# Enums #
+-#########
+-
+-enum_headers = files(
+- join_paths('animation', 'gtd-animation-enums.h'),
+-)
+-
+-enum_types = 'gtd-enum-types'
+-
+-sources += gnome.mkenums(
+- enum_types,
+- sources: enum_headers,
+- c_template: enum_types + '.c.template',
+- h_template: enum_types + '.h.template'
+-)
+-
+-
+ ################
+ # Header files #
+ ################
+diff --git a/src/plugins/meson.build b/src/plugins/meson.build
+index 3d7ac4e4..2a13aff5 100644
+--- a/src/plugins/meson.build
++++ b/src/plugins/meson.build
+@@ -3,7 +3,8 @@ plugins_incs = [
+ include_directories('..'),
+ ]
+
+-plugins_sources = []
++# Ensure enum types header is generated before building plugins
++plugins_sources = [ gtd_enum_types[1] ]
+ plugins_deps = [ endeavour_deps ]
+ plugins_ldflags = []
+ plugins_libs = []
+--
+2.35.1
+
diff --git a/app-office/gnome-todo/metadata.xml b/app-office/endeavour/metadata.xml
index 7b343b06be8a..7b343b06be8a 100644
--- a/app-office/gnome-todo/metadata.xml
+++ b/app-office/endeavour/metadata.xml
diff --git a/app-office/gnome-todo/Manifest b/app-office/gnome-todo/Manifest
deleted file mode 100644
index 4316fe661ed5..000000000000
--- a/app-office/gnome-todo/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST gnome-todo-3.28.1.tar.xz 751448 BLAKE2B 55c4909d35e65a763bd283e55b85dc3a6dc0190c39f3f97c33bde7c071abd8e7a88479ed72733e66bd550133bb683ed9cafb9dff36f41b4f7d6bcb9f889f2a39 SHA512 26371dd2a460656b5b7d323420cfdc3f26c548cabe0bf6a01081a017d68e062fb54164f6d0c5cf5054b59f30be65681dedde450d9b98b88f73c07131cd01f57a
diff --git a/app-office/gnome-todo/files/fix-build-with-meson-0.61.patch b/app-office/gnome-todo/files/fix-build-with-meson-0.61.patch
deleted file mode 100644
index 5dabf1b9dddc..000000000000
--- a/app-office/gnome-todo/files/fix-build-with-meson-0.61.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://bugs.gentoo.org/832136
---- a/data/appdata/meson.build
-+++ b/data/appdata/meson.build
-@@ -1,7 +1,6 @@
- appdata = 'org.gnome.Todo.appdata.xml'
-
- i18n.merge_file(
-- appdata,
- input: appdata + '.in',
- output: appdata,
- po_dir: po_dir,
---- a/data/meson.build
-+++ b/data/meson.build
-@@ -1,7 +1,6 @@
- desktop = 'org.gnome.Todo.desktop'
-
- i18n.merge_file(
-- desktop,
- type: 'desktop',
- input: desktop + '.in',
- output: desktop,
-@@ -13,7 +12,6 @@ i18n.merge_file(
- autostart = 'org.gnome.Todo.Autostart.desktop'
-
- i18n.merge_file(
-- autostart,
- type: 'desktop',
- input: autostart + '.in',
- output: autostart,
diff --git a/app-office/gnome-todo/files/gnome-todo-eds-libecal-2.0.patch b/app-office/gnome-todo/files/gnome-todo-eds-libecal-2.0.patch
deleted file mode 100644
index ddf35636352c..000000000000
--- a/app-office/gnome-todo/files/gnome-todo-eds-libecal-2.0.patch
+++ /dev/null
@@ -1,560 +0,0 @@
-Taken from Fedora from
-https://src.fedoraproject.org/rpms/gnome-todo/raw/master/f/gnome-todo-eds-libecal-2.0.patch
-
---- a/plugins/eds/gtd-eds-autoptr.h
-+++ b/plugins/eds/gtd-eds-autoptr.h
-@@ -23,6 +23,5 @@
- #include <libecal/libecal.h>
-
- G_DEFINE_AUTOPTR_CLEANUP_FUNC (ECalComponent, g_object_unref);
--G_DEFINE_AUTOPTR_CLEANUP_FUNC (ECalComponentId, e_cal_component_free_id);
-+G_DEFINE_AUTOPTR_CLEANUP_FUNC (ECalComponentId, e_cal_component_id_free);
- G_DEFINE_AUTOPTR_CLEANUP_FUNC (ECalClient, g_object_unref);
--G_DEFINE_AUTOPTR_CLEANUP_FUNC (ESource, g_object_unref);
---- a/plugins/eds/gtd-provider-eds.c
-+++ b/plugins/eds/gtd-provider-eds.c
-@@ -554,6 +554,7 @@ gtd_provider_eds_create_task (GtdProvider *provider,
-
- e_cal_client_create_object (client,
- e_cal_component_get_icalcomponent (component),
-+ E_CAL_OPERATION_FLAG_NONE,
- NULL,
- (GAsyncReadyCallback) on_task_created_cb,
- new_task);
-@@ -587,6 +588,7 @@ gtd_provider_eds_update_task (GtdProvider *provider,
- e_cal_client_modify_object (client,
- e_cal_component_get_icalcomponent (component),
- E_CAL_OBJ_MOD_THIS,
-+ E_CAL_OPERATION_FLAG_NONE,
- NULL,
- (GAsyncReadyCallback) on_task_modified_cb,
- task);
-@@ -616,9 +618,10 @@ gtd_provider_eds_remove_task (GtdProvider *provider,
- gtd_object_push_loading (GTD_OBJECT (provider));
-
- e_cal_client_remove_object (client,
-- id->uid,
-- id->rid,
-+ e_cal_component_id_get_uid (id),
-+ e_cal_component_id_get_rid (id),
- E_CAL_OBJ_MOD_THIS,
-+ E_CAL_OPERATION_FLAG_NONE,
- NULL,
- (GAsyncReadyCallback) on_task_removed_cb,
- provider);
---- a/plugins/eds/gtd-task-eds.c
-+++ b/plugins/eds/gtd-task-eds.c
-@@ -46,19 +46,19 @@ static GParamSpec *properties [N_PROPS];
- */
-
- static GDateTime*
--convert_icaltime (const icaltimetype *date)
-+convert_icaltime (const ICalTime *date)
- {
- GDateTime *dt;
-
- if (!date)
- return NULL;
-
-- dt = g_date_time_new_utc (date->year,
-- date->month,
-- date->day,
-- date->is_date ? 0 : date->hour,
-- date->is_date ? 0 : date->minute,
-- date->is_date ? 0 : date->second);
-+ dt = g_date_time_new_utc (i_cal_time_get_year (date),
-+ i_cal_time_get_month (date),
-+ i_cal_time_get_day (date),
-+ i_cal_time_is_date (date) ? 0 : i_cal_time_get_hour (date),
-+ i_cal_time_is_date (date) ? 0 : i_cal_time_get_minute (date),
-+ i_cal_time_is_date (date) ? 0 : i_cal_time_get_second (date));
-
- return dt;
- }
-@@ -67,19 +67,20 @@ static void
- set_description (GtdTaskEds *self,
- const gchar *description)
- {
-- ECalComponentText text;
-+ ECalComponentText *text;
- GSList note;
-
-- text.value = description && *description ? description : "";
-- text.altrep = NULL;
-+ text = e_cal_component_text_new (description ? description : "", NULL);
-
-- note.data = &text;
-+ note.data = text;
- note.next = NULL;
-
- g_clear_pointer (&self->description, g_free);
- self->description = g_strdup (description);
-
-- e_cal_component_set_description_list (self->component, &note);
-+ e_cal_component_set_descriptions (self->component, (description && *description) ? &note : NULL);
-+
-+ e_cal_component_text_free (text);
- }
-
- static void
-@@ -90,7 +91,7 @@ setup_description (GtdTaskEds *self)
- GSList *l;
-
- /* concatenates the multiple descriptions a task may have */
-- e_cal_component_get_description_list (self->component, &text_list);
-+ text_list = e_cal_component_get_descriptions (self->component);
-
- for (l = text_list; l != NULL; l = l->next)
- {
-@@ -105,21 +106,21 @@ setup_description (GtdTaskEds *self)
- {
- carrier = g_strconcat (desc,
- "\n",
-- text->value,
-+ e_cal_component_text_get_value (text),
- NULL);
- g_free (desc);
- desc = carrier;
- }
- else
- {
-- desc = g_strdup (text->value);
-+ desc = g_strdup (e_cal_component_text_get_value (text));
- }
- }
- }
-
- set_description (self, desc);
-
-- e_cal_component_free_text_list (text_list);
-+ g_slist_free_full (text_list, e_cal_component_text_free);
- }
-
-
-@@ -138,7 +139,7 @@ gtd_task_eds_get_uid (GtdObject *object)
- self = GTD_TASK_EDS (object);
-
- if (self->component)
-- e_cal_component_get_uid (self->component, &uid);
-+ uid = e_cal_component_get_uid (self->component);
- else
- uid = NULL;
-
-@@ -159,7 +160,7 @@ gtd_task_eds_set_uid (GtdObject *object,
- if (!self->component)
- return;
-
-- e_cal_component_get_uid (self->component, &current_uid);
-+ current_uid = e_cal_component_get_uid (self->component);
-
- if (g_strcmp0 (current_uid, uid) != 0)
- {
-@@ -177,7 +178,7 @@ gtd_task_eds_set_uid (GtdObject *object,
- static gboolean
- gtd_task_eds_get_complete (GtdTask *task)
- {
-- icalproperty_status status;
-+ ICalPropertyStatus status;
- GtdTaskEds *self;
- gboolean completed;
-
-@@ -185,8 +186,8 @@ gtd_task_eds_get_complete (GtdTask *task)
-
- self = GTD_TASK_EDS (task);
-
-- e_cal_component_get_status (self->component, &status);
-- completed = status == ICAL_STATUS_COMPLETED;
-+ status = e_cal_component_get_status (self->component);
-+ completed = status == I_CAL_STATUS_COMPLETED;
-
- return completed;
- }
-@@ -195,8 +196,8 @@ static void
- gtd_task_eds_set_complete (GtdTask *task,
- gboolean complete)
- {
-- icalproperty_status status;
-- icaltimetype *dt;
-+ ICalPropertyStatus status;
-+ ICalTime *dt;
- GtdTaskEds *self;
- gint percent;
-
-@@ -209,54 +210,54 @@ gtd_task_eds_set_complete (GtdTask *task,
- percent = 100;
- status = ICAL_STATUS_COMPLETED;
-
-- dt = g_new0 (icaltimetype, 1);
-- dt->year = g_date_time_get_year (now);
-- dt->month = g_date_time_get_month (now);
-- dt->day = g_date_time_get_day_of_month (now);
-- dt->hour = g_date_time_get_hour (now);
-- dt->minute = g_date_time_get_minute (now);
-- dt->second = g_date_time_get_seconds (now);
-- dt->zone = icaltimezone_get_utc_timezone ();
-+ dt = i_cal_time_new_null_time ();
-+ i_cal_time_set_date (dt,
-+ g_date_time_get_year (now),
-+ g_date_time_get_month (now),
-+ g_date_time_get_day_of_month (now));
-+ i_cal_time_set_time (dt,
-+ g_date_time_get_hour (now),
-+ g_date_time_get_minute (now),
-+ g_date_time_get_seconds (now));
-+ i_cal_time_set_timezone (dt, i_cal_timezone_get_utc_timezone ());
-
- /* convert timezone
- *
- * FIXME: This does not do anything until we have an ical
- * timezone associated with the task
- */
-- icaltimezone_convert_time (dt, NULL, icaltimezone_get_utc_timezone ());
-+ i_cal_time_convert_timezone (dt, NULL, i_cal_timezone_get_utc_timezone ());
- }
- else
- {
- dt = NULL;
- percent = 0;
-- status = ICAL_STATUS_NEEDSACTION;
-+ status = I_CAL_STATUS_NEEDSACTION;
- }
-
-- e_cal_component_set_percent_as_int (self->component, percent);
-+ e_cal_component_set_percent_complete (self->component, percent);
- e_cal_component_set_status (self->component, status);
- e_cal_component_set_completed (self->component, dt);
-
-- if (dt)
-- e_cal_component_free_icaltimetype (dt);
-+ g_clear_object (&dt);
- }
-
- static GDateTime*
- gtd_task_eds_get_creation_date (GtdTask *task)
- {
-- icaltimetype *idt;
-+ ICalTime *idt;
- GtdTaskEds *self;
- GDateTime *dt;
-
- self = GTD_TASK_EDS (task);
-- idt = NULL;
- dt = NULL;
-
-- e_cal_component_get_created (self->component, &idt);
-+ idt = e_cal_component_get_created (self->component);
-
- if (idt)
- dt = convert_icaltime (idt);
-
-- g_clear_pointer (&idt, e_cal_component_free_icaltimetype);
-+ g_clear_object (&idt);
-
- return dt;
- }
-@@ -286,7 +287,7 @@ gtd_task_eds_set_description (GtdTask *task,
- static GDateTime*
- gtd_task_eds_get_due_date (GtdTask *task)
- {
-- ECalComponentDateTime comp_dt;
-+ ECalComponentDateTime *comp_dt;
- GtdTaskEds *self;
- GDateTime *date;
-
-@@ -294,10 +295,12 @@ gtd_task_eds_get_due_date (GtdTask *task)
-
- self = GTD_TASK_EDS (task);
-
-- e_cal_component_get_due (self->component, &comp_dt);
-+ comp_dt = e_cal_component_get_due (self->component);
-+ if (!comp_dt)
-+ return NULL;
-
-- date = convert_icaltime (comp_dt.value);
-- e_cal_component_free_datetime (&comp_dt);
-+ date = convert_icaltime (e_cal_component_datetime_get_value (comp_dt));
-+ e_cal_component_datetime_free (comp_dt);
-
- return date;
- }
-@@ -317,11 +320,10 @@ gtd_task_eds_set_due_date (GtdTask *task,
-
- if (dt != current_dt)
- {
-- ECalComponentDateTime comp_dt;
-- icaltimetype *idt;
-+ ECalComponentDateTime *comp_dt;
-+ ICalTime *idt;
-
-- comp_dt.value = NULL;
-- comp_dt.tzid = NULL;
-+ comp_dt = NULL;
- idt = NULL;
-
- if (!current_dt ||
-@@ -329,36 +331,34 @@ gtd_task_eds_set_due_date (GtdTask *task,
- dt &&
- g_date_time_compare (current_dt, dt) != 0))
- {
-- idt = g_new0 (icaltimetype, 1);
-+ idt = i_cal_time_new_null_time ();
-
- g_date_time_ref (dt);
-
- /* Copy the given dt */
-- idt->year = g_date_time_get_year (dt);
-- idt->month = g_date_time_get_month (dt);
-- idt->day = g_date_time_get_day_of_month (dt);
-- idt->hour = g_date_time_get_hour (dt);
-- idt->minute = g_date_time_get_minute (dt);
-- idt->second = g_date_time_get_seconds (dt);
-- idt->is_date = (idt->hour == 0 &&
-- idt->minute == 0 &&
-- idt->second == 0);
--
-- comp_dt.tzid = g_strdup ("UTC");
-+ i_cal_time_set_date (idt,
-+ g_date_time_get_year (dt),
-+ g_date_time_get_month (dt),
-+ g_date_time_get_day_of_month (dt));
-+ i_cal_time_set_time (idt,
-+ g_date_time_get_hour (dt),
-+ g_date_time_get_minute (dt),
-+ g_date_time_get_seconds (dt));
-+ i_cal_time_set_is_date (idt,
-+ i_cal_time_get_hour (idt) == 0 &&
-+ i_cal_time_get_minute (idt) == 0 &&
-+ i_cal_time_get_second (idt) == 0);
-
-- comp_dt.value = idt;
-+ comp_dt = e_cal_component_datetime_new_take (idt, g_strdup ("UTC"));
-
-- e_cal_component_set_due (self->component, &comp_dt);
-+ e_cal_component_set_due (self->component, comp_dt);
-
-- e_cal_component_free_datetime (&comp_dt);
-+ e_cal_component_datetime_free (comp_dt);
-
- g_date_time_unref (dt);
- }
- else if (!dt)
- {
-- idt = NULL;
-- comp_dt.tzid = NULL;
--
- e_cal_component_set_due (self->component, NULL);
- }
- }
-@@ -369,19 +369,13 @@ gtd_task_eds_set_due_date (GtdTask *task,
- static gint32
- gtd_task_eds_get_priority (GtdTask *task)
- {
-- g_autofree gint *priority = NULL;
- GtdTaskEds *self;
-
- g_assert (GTD_IS_TASK_EDS (task));
-
- self = GTD_TASK_EDS (task);
-
-- e_cal_component_get_priority (self->component, &priority);
--
-- if (!priority)
-- return -1;
--
-- return *priority;
-+ return e_cal_component_get_priority (self->component);
- }
-
- static void
-@@ -394,29 +388,26 @@ gtd_task_eds_set_priority (GtdTask *task,
-
- self = GTD_TASK_EDS (task);
-
-- e_cal_component_set_priority (self->component, &priority);
-+ e_cal_component_set_priority (self->component, priority);
- }
-
- static const gchar*
- gtd_task_eds_get_title (GtdTask *task)
- {
-- ECalComponentText summary;
- GtdTaskEds *self;
-
- g_return_val_if_fail (GTD_IS_TASK_EDS (task), NULL);
-
- self = GTD_TASK_EDS (task);
-
-- e_cal_component_get_summary (self->component, &summary);
--
-- return summary.value;
-+ return i_cal_component_get_summary (e_cal_component_get_icalcomponent (self->component));
- }
-
- static void
- gtd_task_eds_set_title (GtdTask *task,
- const gchar *title)
- {
-- ECalComponentText new_summary;
-+ ECalComponentText *new_summary;
- GtdTaskEds *self;
-
- g_return_if_fail (GTD_IS_TASK_EDS (task));
-@@ -424,10 +415,11 @@ gtd_task_eds_set_title (GtdTask *task,
-
- self = GTD_TASK_EDS (task);
-
-- new_summary.value = title;
-- new_summary.altrep = NULL;
-+ new_summary = e_cal_component_text_new (title, NULL);
-
-- e_cal_component_set_summary (self->component, &new_summary);
-+ e_cal_component_set_summary (self->component, new_summary);
-+
-+ e_cal_component_text_free (new_summary);
- }
-
-
-@@ -436,10 +428,10 @@ gtd_task_eds_subtask_added (GtdTask *task,
- GtdTask *subtask)
- {
- g_autoptr (GList) subtasks = NULL;
-- ECalComponentId *id;
-+ const gchar *uid;
- ECalComponent *comp;
-- icalcomponent *ical_comp;
-- icalproperty *property;
-+ ICalComponent *ical_comp;
-+ ICalProperty *property;
- GtdTaskEds *subtask_self;
- GtdTaskEds *self;
-
-@@ -450,17 +442,17 @@ gtd_task_eds_subtask_added (GtdTask *task,
- /* Hook with parent's :subtask_added */
- GTD_TASK_CLASS (gtd_task_eds_parent_class)->subtask_added (task, subtask);
-
-- id = e_cal_component_get_id (self->component);
-+ uid = e_cal_component_get_uid (self->component);
- comp = subtask_self->component;
- ical_comp = e_cal_component_get_icalcomponent (comp);
-- property = icalcomponent_get_first_property (ical_comp, ICAL_RELATEDTO_PROPERTY);
-+ property = i_cal_component_get_first_property (ical_comp, I_CAL_RELATEDTO_PROPERTY);
-
- if (property)
-- icalproperty_set_relatedto (property, id->uid);
-+ i_cal_property_set_relatedto (property, uid);
- else
-- icalcomponent_add_property (ical_comp, icalproperty_new_relatedto (id->uid));
-+ i_cal_component_take_property (ical_comp, i_cal_property_new_relatedto (uid));
-
-- e_cal_component_free_id (id);
-+ g_clear_object (&property);
- }
-
- static void
-@@ -468,8 +460,8 @@ gtd_task_eds_subtask_removed (GtdTask *task,
- GtdTask *subtask)
- {
- g_autoptr (GList) subtasks = NULL;
-- icalcomponent *ical_comp;
-- icalproperty *property;
-+ ICalComponent *ical_comp;
-+ ICalProperty *property;
- GtdTaskEds *subtask_self;
-
- subtask_self = GTD_TASK_EDS (subtask);
-@@ -480,12 +472,13 @@ gtd_task_eds_subtask_removed (GtdTask *task,
-
- /* Remove the parent link from the subtask's component */
- ical_comp = e_cal_component_get_icalcomponent (subtask_self->component);
-- property = icalcomponent_get_first_property (ical_comp, ICAL_RELATEDTO_PROPERTY);
-+ property = i_cal_component_get_first_property (ical_comp, I_CAL_RELATEDTO_PROPERTY);
-
- if (!property)
- return;
-
-- icalcomponent_remove_property (ical_comp, property);
-+ i_cal_component_remove_property (ical_comp, property);
-+ g_object_unref (property);
- }
-
-
---- a/plugins/eds/gtd-task-list-eds.c
-+++ b/plugins/eds/gtd-task-list-eds.c
-@@ -85,19 +85,19 @@ setup_parent_task (GtdTaskListEds *self,
- GtdTask *task)
- {
- ECalComponent *component;
-- icalcomponent *ical_comp;
-- icalproperty *property;
-+ ICalComponent *ical_comp;
-+ ICalProperty *property;
- GtdTask *parent_task;
- const gchar *parent_uid;
-
- component = gtd_task_eds_get_component (GTD_TASK_EDS (task));
- ical_comp = e_cal_component_get_icalcomponent (component);
-- property = icalcomponent_get_first_property (ical_comp, ICAL_RELATEDTO_PROPERTY);
-+ property = i_cal_component_get_first_property (ical_comp, I_CAL_RELATEDTO_PROPERTY);
-
- if (!property)
- return;
-
-- parent_uid = icalproperty_get_relatedto (property);
-+ parent_uid = i_cal_property_get_relatedto (property);
- parent_task = gtd_task_list_get_task_by_id (GTD_TASK_LIST (self), parent_uid);
-
- if (parent_task)
-@@ -112,6 +112,8 @@ setup_parent_task (GtdTaskListEds *self,
-
- g_ptr_array_add (self->pending_subtasks, data);
- }
-+
-+ g_object_unref (property);
- }
-
- static void
-@@ -161,8 +163,8 @@ on_view_objects_added_cb (ECalClientView *view,
- GtdTask *task;
- const gchar *uid;
-
-- component = e_cal_component_new_from_string (icalcomponent_as_ical_string (l->data));
-- e_cal_component_get_uid (component, &uid);
-+ component = e_cal_component_new_from_icalcomponent (i_cal_component_clone (l->data));
-+ uid = e_cal_component_get_uid (component);
-
- task = gtd_task_list_get_task_by_id (self, uid);
-
-@@ -211,8 +213,8 @@ on_view_objects_modified_cb (ECalClientView *view,
- GtdTask *task;
- const gchar *uid;
-
-- component = e_cal_component_new_from_string (icalcomponent_as_ical_string (l->data));
-- e_cal_component_get_uid (component, &uid);
-+ component = e_cal_component_new_from_icalcomponent (i_cal_component_clone (l->data));
-+ uid = e_cal_component_get_uid (component);
-
- task = gtd_task_list_get_task_by_id (self, uid);
-
-@@ -244,7 +246,7 @@ on_view_objects_removed_cb (ECalClientView *view,
- GtdTask *task;
-
- id = l->data;
-- task = gtd_task_list_get_task_by_id (self, id->uid);
-+ task = gtd_task_list_get_task_by_id (self, e_cal_component_id_get_uid (id));
-
- if (!task)
- continue;
---- a/plugins/eds/meson.build
-+++ b/plugins/eds/meson.build
-@@ -8,10 +8,9 @@ plugins_ldflags += ['-Wl,--undefined=gtd_plugin_eds_register_types']
- ################
-
- eds_plugin_deps = [
-- dependency('libecal-1.2', version: '>= 3.13.90'),
-+ dependency('libecal-2.0', version: '>= 3.33.1'),
- dependency('libedataserver-1.2', version: '>= 3.17.1'),
- dependency('libedataserverui-1.2', version: '>= 3.17.1'),
-- dependency('libical', version: '>= 0.43'),
- ]
-
- eds_plugin_deps += gnome_todo_deps