diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
commit | 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch) | |
tree | 7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /gnome-extra/gnome-calendar | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'gnome-extra/gnome-calendar')
-rw-r--r-- | gnome-extra/gnome-calendar/Manifest | 5 | ||||
-rw-r--r-- | gnome-extra/gnome-calendar/files/3.24.3-libical3-compat.patch | 49 | ||||
-rw-r--r-- | gnome-extra/gnome-calendar/files/3.24.3-week-grid-fixes.patch | 112 | ||||
-rw-r--r-- | gnome-extra/gnome-calendar/gnome-calendar-3.24.3.ebuild | 42 | ||||
-rw-r--r-- | gnome-extra/gnome-calendar/metadata.xml | 8 |
5 files changed, 216 insertions, 0 deletions
diff --git a/gnome-extra/gnome-calendar/Manifest b/gnome-extra/gnome-calendar/Manifest new file mode 100644 index 000000000000..b1e53c111199 --- /dev/null +++ b/gnome-extra/gnome-calendar/Manifest @@ -0,0 +1,5 @@ +AUX 3.24.3-libical3-compat.patch 1429 BLAKE2B ff22e520aeded89b65db02b511c869b8b76c1be1978b9be750565a6d813c0bdf8054a346849de4e2a8c840506d8fb72d34cf08148878b25839f5454d727a2a64 SHA512 72541436fc604ebb923e4d1d9bd033b22972c7f3305b81a2c4b3b77a9c56513654f382de433112e8327250d901e108b899baed437d871125f1709c21cbcfb370 +AUX 3.24.3-week-grid-fixes.patch 4124 BLAKE2B 99fca623889b10356defd0da2ab2672123dadf98ca0eb4ede729c0a586caf5677249ce541ba2a2a7cc440e5fc209a3a93fd4dd0e92607010f1320f988f3977c6 SHA512 9a4095c13470a1dcd7fef6d1d5e9ce12b54acde103029983ca7bb581efbc2502f74ef1fc53b6c7dfb40cc25d1778a1b5d82852dc674038217d2777e9e5a1d0a0 +DIST gnome-calendar-3.24.3.tar.xz 2425292 BLAKE2B cb859e229b040dd1ef34643e7aac5ddc1d0368d0bc6912effd73bd2c95ecab458294fef866f5718e108ef36f03bfc0dcb5a1140a571b3dc35128125ea8ff8e19 SHA512 979a369a5c5fc7d4621ff1ae69dfb1b53002cc014b2f1c480c0122da5bf4282c1928df9dcdb3528352e9589099184ab51f96d1a065e346be8e639aa5fc96ac67 +EBUILD gnome-calendar-3.24.3.ebuild 1136 BLAKE2B 7a1af8ac832510b41fd73df583ac12f1b695e1f6058102d33cce26d22db69330a3f3c7f54998644f0033958ba46047f07914841068efb8a1a4c0e43eb1109863 SHA512 6febd724b2740904b0821cfec5631f5218dd5e0732fd99bab55b9b7d546f2422f273dccbeb083eda2685115b73be28c5d860b2e9e3f68e8cf222babe27194e73 +MISC metadata.xml 253 BLAKE2B a1efbd3751efaa83ee173f557ec1c8a4497a90b60896cf5a7a07da40b4f94a7a299ca0385477e82b2f5e5dbdf9afa482ccbe21f35ef44214e9c451d764b65529 SHA512 8d59f413993268ca783f7407b676900bb2d964754bf705d4175e2bafbe058a52af74f3928e4bd84d292518f8cf13fab7051486ab7cdc61d02fae6e0188d44442 diff --git a/gnome-extra/gnome-calendar/files/3.24.3-libical3-compat.patch b/gnome-extra/gnome-calendar/files/3.24.3-libical3-compat.patch new file mode 100644 index 000000000000..5d0160e9773e --- /dev/null +++ b/gnome-extra/gnome-calendar/files/3.24.3-libical3-compat.patch @@ -0,0 +1,49 @@ +From ad404c26ed22690d842a01df3e10a851a198a0b7 Mon Sep 17 00:00:00 2001 +From: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> +Date: Wed, 15 Nov 2017 13:09:54 -0800 +Subject: [PATCH] utils: simplify gcal_dup_icaltime + +Instead of copying member by member, copy the entire struct contents. +It works as before, but doesn't depend on the member names. + +This fixes compiling gnome-calendar with libical 3.0.0, since the +struct icaltimetype had one of the members removed (is_utc). + +https://bugzilla.gnome.org/show_bug.cgi?id=790072 +--- + src/gcal-utils.c | 19 +------------------ + 1 file changed, 1 insertion(+), 18 deletions(-) + +diff --git a/src/gcal-utils.c b/src/gcal-utils.c +index c80ba53a..4558f540 100644 +--- a/src/gcal-utils.c ++++ b/src/gcal-utils.c +@@ -199,24 +199,7 @@ datetime_is_date (GDateTime *dt) + icaltimetype* + gcal_dup_icaltime (const icaltimetype *date) + { +- icaltimetype *new_date; +- +- if (date == NULL) +- return NULL; +- +- new_date= g_new (icaltimetype, 1); +- new_date->year = date->year; +- new_date->month = date->month; +- new_date->day = date->day; +- new_date->hour = date->hour; +- new_date->minute = date->minute; +- new_date->second = date->second; +- new_date->is_utc = date->is_utc; +- new_date->is_date = date->is_date; +- new_date->is_daylight = date->is_daylight; +- new_date->zone = date->zone; +- +- return new_date; ++ return g_memdup (date, sizeof (icaltimetype)); + } + + /** +-- +2.15.1 + diff --git a/gnome-extra/gnome-calendar/files/3.24.3-week-grid-fixes.patch b/gnome-extra/gnome-calendar/files/3.24.3-week-grid-fixes.patch new file mode 100644 index 000000000000..e382029ceeb1 --- /dev/null +++ b/gnome-extra/gnome-calendar/files/3.24.3-week-grid-fixes.patch @@ -0,0 +1,112 @@ +From 9f4bc90761bb9eb3b3e8bdc9ec6b42f44f02053e Mon Sep 17 00:00:00 2001 +From: Abdullahi Usman +Date: Mon, 10 Jul 2017 11:43:36 +0100 +Subject: week-grid : seperate week's events overlaps. + +The week view can display mutilple events that can partly or fully span +same time ranges. + +But week view fails to make correct assumption about the width of events when +two or more events span some time ranges in which these events also span some +time ranges with other events, and whereby the number of these other events +that they span time ranges with does not coincide with the number of the events +that the other event also span. Week view ended up calculating cells that +appears horizontally jointed up. Also int16_compare() does not dereference the +pointer from g_ptr_array_sort() correctly and that makes it sort events +incorrectly and hence making events appears vertically jointed up. + +If an event have other events in which they span some time, we calcuate its width +by taking into consideration of all the events that the other event may span +time with. The event that has the higher number of time spans is considered. +We also save and retrieve our positions using UINT_TO_POINTER and POINTER_TO_UINT() +respectively, and then dereference the pointer from g_ptr_array_sort() correctly. + +https://bugzilla.gnome.org/show_bug.cgi?id=777416 +--- + src/views/gcal-week-grid.c | 41 +++++++++++++++++++++++++++++++++++------ + 1 file changed, 35 insertions(+), 6 deletions(-) + +diff --git a/src/views/gcal-week-grid.c b/src/views/gcal-week-grid.c +index 20ddb48..ab125b0 100644 +--- a/src/views/gcal-week-grid.c ++++ b/src/views/gcal-week-grid.c +@@ -184,10 +184,10 @@ get_event_range (GcalWeekGrid *self, + } + + static inline gint +-int16_compare (gconstpointer a, +- gconstpointer b) ++uint16_compare (gconstpointer a, ++ gconstpointer b) + { +- return GPOINTER_TO_INT (a) - GPOINTER_TO_INT (b); ++ return GPOINTER_TO_UINT (*(gint*)a) - GPOINTER_TO_UINT (*(gint*)b); + } + + static inline guint +@@ -204,7 +204,7 @@ get_event_index (GcalRangeTree *tree, + if (!array) + return 0; + +- g_ptr_array_sort (array, int16_compare); ++ g_ptr_array_sort (array, uint16_compare); + + for (i = 0; array && i < array->len; i++) + { +@@ -235,6 +235,35 @@ count_overlaps_at_range (GcalRangeTree *self, + + n_events = gcal_range_tree_count_entries_at_range (self, i, i + 1); + ++ if (n_events == 0) ++ break; ++ ++ counter = MAX (counter, n_events); ++ } ++ ++ return counter; ++} ++ ++static guint ++count_overlaps_of_event (GcalRangeTree *self, ++ guint16 day_start, ++ guint16 day_end, ++ guint16 event_start, ++ guint16 event_end) ++{ ++ guint64 i, counter; ++ ++ counter = count_overlaps_at_range (self, event_start, day_end); ++ ++ for (i = event_start; i > day_start; i--) ++ { ++ guint n_events; ++ ++ n_events = gcal_range_tree_count_entries_at_range (self, i - 1, i); ++ ++ if (n_events == 0) ++ break; ++ + counter = MAX (counter, n_events); + } + +@@ -652,7 +681,7 @@ gcal_week_grid_size_allocate (GtkWidget *widget, + context = gtk_widget_get_style_context (event_widget); + + /* The total number of events available in this range */ +- events_at_range = count_overlaps_at_range (self->events, data->start, data->end); ++ events_at_range = count_overlaps_of_event (self->events, day_start, day_end, data->start, data->end); + + /* The real horizontal position of this event */ + widget_index = get_event_index (overlaps, data->start, data->end); +@@ -689,7 +718,7 @@ gcal_week_grid_size_allocate (GtkWidget *widget, + gcal_range_tree_add_range (overlaps, + data->start, + data->end, +- GINT_TO_POINTER (widget_index)); ++ GUINT_TO_POINTER (widget_index)); + } + + g_clear_pointer (&widgets_data, g_ptr_array_unref); +-- +cgit v0.12 + diff --git a/gnome-extra/gnome-calendar/gnome-calendar-3.24.3.ebuild b/gnome-extra/gnome-calendar/gnome-calendar-3.24.3.ebuild new file mode 100644 index 000000000000..ffbe2073b8fe --- /dev/null +++ b/gnome-extra/gnome-calendar/gnome-calendar-3.24.3.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit gnome2 + +DESCRIPTION="Manage your online calendars with simple and modern interface" +HOMEPAGE="https://wiki.gnome.org/Apps/Calendar" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +# >=libical-1.0.1 for https://bugzilla.gnome.org/show_bug.cgi?id=751244 +RDEPEND=" + >=dev-libs/glib-2.43.4:2 + >=x11-libs/gtk+-3.21.6:3 + >=gnome-extra/evolution-data-server-3.17.1:= + >=dev-libs/libical-1.0.1:0= + net-libs/libsoup:2.4 + >=net-libs/gnome-online-accounts-3.2.0:= + >=gnome-base/gsettings-desktop-schemas-3.21.2 +" +DEPEND="${RDEPEND} + dev-libs/appstream-glib + dev-util/gdbus-codegen + >=dev-util/intltool-0.40.6 + sys-devel/gettext + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PV}-week-grid-fixes.patch # from gnome-3-22 branch + "${FILESDIR}"/${PV}-libical3-compat.patch # from master branch, https://bugzilla.gnome.org/show_bug.cgi?id=790072 +) + +src_configure() { + # Explicit --enable-debug=minimum forces no -O and -g touching in development (odd minor) versions + gnome2_src_configure \ + --enable-debug=minimum +} diff --git a/gnome-extra/gnome-calendar/metadata.xml b/gnome-extra/gnome-calendar/metadata.xml new file mode 100644 index 000000000000..996e7cacd217 --- /dev/null +++ b/gnome-extra/gnome-calendar/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>gnome@gentoo.org</email> + <name>Gentoo GNOME Desktop</name> + </maintainer> +</pkgmetadata> |