diff options
author | Matt Turner <mattst88@gentoo.org> | 2022-09-15 15:43:53 -0400 |
---|---|---|
committer | Matt Turner <mattst88@gentoo.org> | 2022-09-15 15:52:05 -0400 |
commit | 5954d434790d108ff0e879a55bbebc740098e64b (patch) | |
tree | f5ec4ff3c5f4e6305fa629a1984560b83b26a2a8 /app-office | |
parent | gui-libs/libadwaita: Version bump to 1.2.0 (diff) | |
download | gentoo-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/Manifest | 1 | ||||
-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.patch | 84 | ||||
-rw-r--r-- | app-office/endeavour/metadata.xml (renamed from app-office/gnome-todo/metadata.xml) | 0 | ||||
-rw-r--r-- | app-office/gnome-todo/Manifest | 1 | ||||
-rw-r--r-- | app-office/gnome-todo/files/fix-build-with-meson-0.61.patch | 29 | ||||
-rw-r--r-- | app-office/gnome-todo/files/gnome-todo-eds-libecal-2.0.patch | 560 |
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, ¬e); -+ e_cal_component_set_descriptions (self->component, (description && *description) ? ¬e : 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, ¤t_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 |