Sync from SUSE:SLFO:Main libical revision 15327f7e57c4700e50805663c613ac29

This commit is contained in:
Adrian Schröter 2024-05-03 15:05:34 +02:00
commit 05837ef9ea
12 changed files with 1347 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

View File

@ -0,0 +1,84 @@
From 6c167138a204cd2e0580036bad32a51dae05c80b Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Mon, 17 Sep 2018 16:47:16 +0200
Subject: [PATCH 1/5] vcc.y - factor out hexdigit conversion
References: https://github.com/libical/libical/pull/354
---
src/libicalvcal/vcc.c | 17 +++++++++++------
src/libicalvcal/vcc.y | 17 +++++++++++------
2 files changed, 22 insertions(+), 12 deletions(-)
diff --git a/src/libicalvcal/vcc.c b/src/libicalvcal/vcc.c
index d47bc099..c2a743c2 100644
--- a/src/libicalvcal/vcc.c
+++ b/src/libicalvcal/vcc.c
@@ -1126,6 +1126,15 @@ static int match_begin_end_name(int end) {
return 0;
}
+static int hexdigit_decode(char c)
+{
+ if (c >= '0' && c <= '9')
+ return c - '0';
+ if (c >= 'A' && c <= 'F')
+ return c - 'A' + 10;
+ return -1;
+}
+
static char* lexGetQuotedPrintable()
{
char cur;
@@ -1139,12 +1148,8 @@ static char* lexGetQuotedPrintable()
int next[2];
int i;
for (i = 0; i < 2; i++) {
- next[i] = lexGetc();
- if (next[i] >= '0' && next[i] <= '9')
- c = c * 16 + next[i] - '0';
- else if (next[i] >= 'A' && next[i] <= 'F')
- c = c * 16 + next[i] - 'A' + 10;
- else
+ next[i] = hexdigit_decode(lexGetc());
+ if (next[i] < 0)
break;
}
if (i == 0) {
diff --git a/src/libicalvcal/vcc.y b/src/libicalvcal/vcc.y
index d97ea83b..45243df6 100644
--- a/src/libicalvcal/vcc.y
+++ b/src/libicalvcal/vcc.y
@@ -947,6 +947,15 @@ static int match_begin_end_name(int end) {
return 0;
}
+static int hexdigit_decode(char c)
+{
+ if (c >= '0' && c <= '9')
+ return c - '0';
+ if (c >= 'A' && c <= 'F')
+ return c - 'A' + 10;
+ return -1;
+}
+
static char* lexGetQuotedPrintable()
{
char cur;
@@ -960,12 +969,8 @@ static char* lexGetQuotedPrintable()
int next[2];
int i;
for (i = 0; i < 2; i++) {
- next[i] = lexGetc();
- if (next[i] >= '0' && next[i] <= '9')
- c = c * 16 + next[i] - '0';
- else if (next[i] >= 'A' && next[i] <= 'F')
- c = c * 16 + next[i] - 'A' + 10;
- else
+ next[i] = hexdigit_decode(lexGetc());
+ if (next[i] < 0)
break;
}
if (i == 0) {
--
2.19.1

View File

@ -0,0 +1,46 @@
From bf83a0d664f46229836852f5b41539c263c3b921 Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Mon, 17 Sep 2018 16:36:36 +0200
Subject: [PATCH 2/5] vcc.y - fix infinite loop with lower-case hex digits
References: https://github.com/libical/libical/pull/354
When lower-case hex digits are used in a quoted-printable-encoded
character, an infinite loop would occur in the vcard parser.
"N;ENCODING=QUOTED-PRINTABLE:=c3=a4=c3=b6;=c3=bC=c3=9f\n"
References: #353
---
src/libicalvcal/vcc.c | 2 ++
src/libicalvcal/vcc.y | 2 ++
2 files changed, 4 insertions(+)
diff --git a/src/libicalvcal/vcc.c b/src/libicalvcal/vcc.c
index c2a743c2..29354df4 100644
--- a/src/libicalvcal/vcc.c
+++ b/src/libicalvcal/vcc.c
@@ -1132,6 +1132,8 @@ static int hexdigit_decode(char c)
return c - '0';
if (c >= 'A' && c <= 'F')
return c - 'A' + 10;
+ if (c >= 'a' && c <= 'f')
+ return c - 'a' + 10;
return -1;
}
diff --git a/src/libicalvcal/vcc.y b/src/libicalvcal/vcc.y
index 45243df6..a052e9a2 100644
--- a/src/libicalvcal/vcc.y
+++ b/src/libicalvcal/vcc.y
@@ -953,6 +953,8 @@ static int hexdigit_decode(char c)
return c - '0';
if (c >= 'A' && c <= 'F')
return c - 'A' + 10;
+ if (c >= 'a' && c <= 'f')
+ return c - 'a' + 10;
return -1;
}
--
2.19.1

View File

@ -0,0 +1,124 @@
From 5d937a51725609adcfba2c663ca4c1fe65974a55 Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Mon, 17 Sep 2018 17:15:28 +0200
Subject: [PATCH 3/5] vcc.y - fix infinite loop with non-hex digits
References: https://github.com/libical/libical/pull/354
When nonsensical characters are used in a QP character,
an infinite loop would occur in the vcard parser.
"N;ENCODING=QUOTED-PRINTABLE:=c3=g4\n"
References: #353
---
src/libicalvcal/vcc.c | 38 ++++++++++++++++----------------------
src/libicalvcal/vcc.y | 38 ++++++++++++++++----------------------
2 files changed, 32 insertions(+), 44 deletions(-)
diff --git a/src/libicalvcal/vcc.c b/src/libicalvcal/vcc.c
index 29354df4..f723a4e1 100644
--- a/src/libicalvcal/vcc.c
+++ b/src/libicalvcal/vcc.c
@@ -1146,31 +1146,25 @@ static char* lexGetQuotedPrintable()
cur = lexGetc();
switch (cur) {
case '=': {
- int c = 0;
- int next[2];
- int i;
- for (i = 0; i < 2; i++) {
- next[i] = hexdigit_decode(lexGetc());
- if (next[i] < 0)
- break;
+ int c = 0, d;
+ cur = lexGetc();
+ if (cur == '\n') {
+ ++mime_lineNum;
+ break;
}
- if (i == 0) {
- /* single '=' follow by LINESEP is continuation sign? */
- if (next[0] == '\n') {
- ++mime_lineNum;
- }
- else {
- lexPushLookaheadc('=');
- goto EndString;
- }
+ d = hexdigit_decode(cur);
+ if (d < 0) {
+ lexAppendc(cur);
+ break;
}
- else if (i == 1) {
- lexPushLookaheadc(next[1]);
- lexPushLookaheadc(next[0]);
- lexAppendc('=');
- } else {
- lexAppendc(c);
+ c = d << 4;
+ cur = lexGetc();
+ d = hexdigit_decode(cur);
+ if (d < 0) {
+ lexAppendc(cur);
+ break;
}
+ lexAppendc(c | d);
break;
} /* '=' */
case '\n': {
diff --git a/src/libicalvcal/vcc.y b/src/libicalvcal/vcc.y
index a052e9a2..4f52fe35 100644
--- a/src/libicalvcal/vcc.y
+++ b/src/libicalvcal/vcc.y
@@ -967,31 +967,25 @@ static char* lexGetQuotedPrintable()
cur = lexGetc();
switch (cur) {
case '=': {
- int c = 0;
- int next[2];
- int i;
- for (i = 0; i < 2; i++) {
- next[i] = hexdigit_decode(lexGetc());
- if (next[i] < 0)
- break;
+ int c = 0, d;
+ cur = lexGetc();
+ if (cur == '\n') {
+ ++mime_lineNum;
+ break;
}
- if (i == 0) {
- /* single '=' follow by LINESEP is continuation sign? */
- if (next[0] == '\n') {
- ++mime_lineNum;
- }
- else {
- lexPushLookaheadc('=');
- goto EndString;
- }
+ d = hexdigit_decode(cur);
+ if (d < 0) {
+ lexAppendc(cur);
+ break;
}
- else if (i == 1) {
- lexPushLookaheadc(next[1]);
- lexPushLookaheadc(next[0]);
- lexAppendc('=');
- } else {
- lexAppendc(c);
+ c = d << 4;
+ cur = lexGetc();
+ d = hexdigit_decode(cur);
+ if (d < 0) {
+ lexAppendc(cur);
+ break;
}
+ lexAppendc(c | d);
break;
} /* '=' */
case '\n': {
--
2.19.1

View File

@ -0,0 +1,140 @@
From aacb3875a9a645880cbfe014fb0c4cb078ff4342 Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Mon, 17 Sep 2018 21:27:43 +0200
Subject: [PATCH 4/5] vobject.c - vCard Unicode reading support
References: https://github.com/libical/libical/pull/354
RFC 6350 declares vCard to be UTF-8 throughout without exceptions.
However, any non-ASCII vCard content is garbled because the
"fakeUnicode" botched the conversion to wchar_t: The conversion just
copies values from char to wchar_t, which is neither correct for
UTF-8 nor (a hypothetical) ISO-8859-1/-15 coded input.
This patch fixes that.
References: #353
---
src/libicalvcal/vobject.c | 94 ++++++++++++++++++++++++++++++++-------
1 file changed, 78 insertions(+), 16 deletions(-)
diff --git a/src/libicalvcal/vobject.c b/src/libicalvcal/vobject.c
index 10d0cf5a..b880716f 100644
--- a/src/libicalvcal/vobject.c
+++ b/src/libicalvcal/vobject.c
@@ -45,6 +45,9 @@ DFARS 252.227-7013 or 48 CFR 52.227-19, as applicable.
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+#include <errno.h>
+#include <iconv.h>
+#include <stdint.h>
#include "vobject.h"
@@ -1414,27 +1417,86 @@ char* writeMemVObjects(char *s, int *len, VObject *list)
/*----------------------------------------------------------------------
APIs to do fake Unicode stuff.
----------------------------------------------------------------------*/
+/*
+ * Convert UTF-8 to wide chars.
+ *
+ * The only place where this spells Unicode is 1.) in "UTF-8", 2.) when it does
+ * the secondary pass to replace \n and \r with U+2028 and 2029, respectively.
+ * That step blindly pretends wchar_t shares the Unicode codepoints (happens to
+ * work for the important contemporary platforms, but otherwise is nonsense).
+ */
wchar_t* fakeUnicode(const char *ps, size_t *bytes)
{
- wchar_t *r, *pw;
- size_t len = strlen(ps)+1;
+ /*
+ * Assuming the input were all ASCII, then
+ *
+ * method1_out_size = zs * sizeof(wchar_t)
+ *
+ * would make sense. But if the input were all 3-byte UTF-8 codepoints,
+ * then that would be a large wasteful allocation, and
+ *
+ * method2_out_size = zs * sizeof(wchar_t) / 3
+ *
+ * would be more reasonable. Since there is no way of knowing in
+ * advance what is in @ps, method 1 will be chosen if that is a 1KB
+ * allocation (or less), and method 2 otherwise. From there, the
+ * standard exponential progression for realloc is applied.
+ */
+ size_t zs = strlen(ps), out_size, out_rem;
+ char *out_block, *out_iter;
+ iconv_t conv = iconv_open("wchar_t", "utf-8");
- pw = r = (wchar_t*)malloc(sizeof(wchar_t)*len);
- if (bytes)
- *bytes = len * sizeof(wchar_t);
+ if (conv == (iconv_t)-1)
+ return NULL;
+ if (zs >= (SIZE_MAX - sizeof(wchar_t)) / sizeof(wchar_t))
+ /* Input is larger than anything we want to handle */
+ return NULL;
+ /* Initial allocation size as per above. */
+ out_size = out_rem = zs * sizeof(wchar_t);
+ if (out_size >= 1024 - sizeof(wchar_t))
+ out_size /= 3;
+ out_iter = out_block = malloc(out_size + sizeof(wchar_t));
+ if (out_block == NULL) {
+ iconv_close(conv);
+ return NULL;
+ }
- while (*ps) {
- if (*ps == '\n')
- *pw = (wchar_t)0x2028;
- else if (*ps == '\r')
- *pw = (wchar_t)0x2029;
- else
- *pw = (wchar_t)(unsigned char)*ps;
- ps++; pw++;
- }
- *pw = (wchar_t)0;
+ while (zs > 0) {
+ int ret;
+ errno = 0;
+ ret = iconv(conv, (char **)&ps, &zs, &out_iter, &out_rem);
+ if (ret >= 0)
+ continue;
+ if (errno == EILSEQ || errno == EINVAL) {
+ ++ps;
+ --zs;
+ continue;
+ }
+ if (errno != E2BIG)
+ break;
+ out_rem += out_size;
+ out_size *= 2;
+ char *new_block = realloc(out_block, out_size + sizeof(wchar_t));
+ if (new_block == NULL) {
+ free(out_block);
+ iconv_close(conv);
+ return NULL;
+ }
+ out_iter = new_block + (out_iter - out_block);
+ out_block = new_block;
+ }
- return r;
+ wchar_t *wide = (wchar_t *)out_block, *p = wide;
+ for (; p < (wchar_t *)(out_block + out_size - out_rem); ++p) {
+ if (*p == '\n')
+ *p = 0x2028;
+ else if (*p == '\r')
+ *p = 0x2029;
+ }
+ *p = L'\0';
+ if (bytes != NULL)
+ *bytes = (char *)p - out_block;
+ return wide;
}
int uStrLen(const wchar_t *u)
--
2.19.1

View File

@ -0,0 +1,52 @@
From 5fbba6b0db3e13bb42a6208c408497469e501a26 Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Mon, 17 Sep 2018 22:05:03 +0200
Subject: [PATCH 5/5] vcc.y - do not ignore field separator in QUOTED-PRINTABLE
mode
References: https://github.com/libical/libical/pull/354
"N;ENCODING=QUOTED-PRINTABLE:=C3=A4=C3=B6;=C3=BC=C3=9F\n"
was parsed as a single field, while in fact, it is two.
References: #353
---
src/libicalvcal/vcc.c | 5 +++--
src/libicalvcal/vcc.y | 5 +++--
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/libicalvcal/vcc.c b/src/libicalvcal/vcc.c
index f723a4e1..fd056992 100644
--- a/src/libicalvcal/vcc.c
+++ b/src/libicalvcal/vcc.c
@@ -1167,8 +1167,9 @@ static char* lexGetQuotedPrintable()
lexAppendc(c | d);
break;
} /* '=' */
- case '\n': {
- lexPushLookaheadc('\n');
+ case '\n':
+ case ';': {
+ lexPushLookaheadc(cur);
goto EndString;
}
case (char)EOF:
diff --git a/src/libicalvcal/vcc.y b/src/libicalvcal/vcc.y
index 4f52fe35..df770df6 100644
--- a/src/libicalvcal/vcc.y
+++ b/src/libicalvcal/vcc.y
@@ -988,8 +988,9 @@ static char* lexGetQuotedPrintable()
lexAppendc(c | d);
break;
} /* '=' */
- case '\n': {
- lexPushLookaheadc('\n');
+ case '\n':
+ case ';': {
+ lexPushLookaheadc(cur);
goto EndString;
}
case (char)EOF:
--
2.19.1

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>glib</package>
</multibuild>

2
baselibs.conf Normal file
View File

@ -0,0 +1,2 @@
libical3
libical-glib3

BIN
libical-3.0.16.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

1
libical-rpmlintrc Normal file
View File

@ -0,0 +1 @@
addFilter("shlib-fixed-dependency .*")

628
libical.changes Normal file
View File

@ -0,0 +1,628 @@
-------------------------------------------------------------------
Wed Oct 19 09:14:47 UTC 2022 - Chris Coutinho <chrisbcoutinho@gmail.com>
- Update to 3.0.16
* Fix regressions in 3.0.15 due to improperly tested fuzz fixes
* Fix argument guards in icaltime_as_timet to match documentation and tests.
-------------------------------------------------------------------
Fri Oct 7 12:12:32 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 3.0.15:
* Add missing property parameters into libical-glib
* Fix CMake option USE_32BIT_TIME_T actually uses a 32-bit time_t value
* Fix icaltime_as_timet, which returned incorrect results for years >= 2100,
to work properly between years 1902 and 10k.
* Fix x-property comma handling and escaping
* Built-in timezones updated to tzdata2022d (now with a VTIMEZONE for each time zone alias)
* Fix fuzzer issues
* Handle unreachable-code compile warnings with clang
* Ensure all vanew_foo() calls finish with (void*)0 (not 0)
-------------------------------------------------------------------
Sun Mar 20 21:21:57 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 3.0.14:
* icalvalue: Reset non-UTC icaltimetype::zone on set
* Fix icalcomponent_set_due not removing TZID when necessary
-------------------------------------------------------------------
Fri Jan 21 21:03:36 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 3.0.13:
* icalcomponent_get_dtend() return icaltime_null_time(), unless called on
VEVENT, VAVAILABILITY or VFREEBUSY
* icalcomponent_get_duration() for VTODO calculate with DUE instead of DTEND
* Replace CMake FindBDB with FindBerleyDB
* Fix finding ICU and BerkeleyDB on Mac
-------------------------------------------------------------------
Sat Dec 11 09:22:05 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 3.0.12:
* Fix a libicalval crash in cleanVObject
* METHOD:DECLINECOUNTER must have DTEND or DURATION
* Handle if DTEND and DURATION are both missing
* Improved FindICU (copied from official CMake)
* Buildsystem fixes (especially for the Ninja generator)
* Built-in timezones updated to tzdata2021e
-------------------------------------------------------------------
Mon Dec 6 07:48:27 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 3.0.11:
* Fix icalrecur_iterator_set_start() for hourly, minutely, and secondly
recurrences
* Fix build for Berkeley DB version greater than 5
* Fix vcal for some architectures (like aarch64, ppc64le and s390x)
* Fix memory leaks in vcal
* Prevent crash when looking for tzid in initialize_rscale
* Adjust libdir and includedir in generated pkgconfig files
* Built-in timezones updated to tzdata2021c
-------------------------------------------------------------------
Tue Apr 20 09:08:38 UTC 2021 - Paolo Stivanin <info@paolostivanin.com>
- update to 3.0.10:
* Fix generating wrong recurrence rules
* Fix a bug computing transitions in tzfiles
* Fix reading TZif files to use TZ string in the footer as the last
(non-terminating) transitions
* Fix reading TZif files to use more RRULEs and/or RDATEs whevever possible
* Built-in timezones updated to tzdata2021a
-------------------------------------------------------------------
Wed Apr 7 21:07:41 UTC 2021 - Dirk Müller <dmueller@suse.com>
- filelist fix for the glib build
-------------------------------------------------------------------
Sun Jan 24 20:01:42 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 3.0.9:
* Add support for empty parameters, e.g. CN=""
* Accept VTIMEZONE with more than one X- property
* Several fixes for recurrences containing BYWEEKNO
* icalrecurrencetype_from_string() will reject any RRULE that contains a
rule-part that occurs more than once
* Improve thread safety
* Fix compiled-in path for the built-in timezone data
* Fix reading TZif files with empty v1 data (use v2+ whenever possible)
* Add backwards compatibility for previous TZIDs
* Built-in timezones updated to tzdata2020d
* Fix build with newer libicu
* Fix cross-compile support in libical-glib
- remove 0001-Fix-build-with-icu-68.1.patch libical-read-v2-v3-data.patch:
upstream
-------------------------------------------------------------------
Fri Dec 4 23:18:50 UTC 2020 - Michael Gorse <mgorse@suse.com>
- Add 0001-Fix-build-with-icu-68.1.patch: fix build with icu 68.1.
-------------------------------------------------------------------
Tue Nov 17 18:49:00 UTC 2020 - Michael Gorse <mgorse@suse.com>
- Add libical-read-v2-v3-data.patch: correctly read slim timezone
data (bsc#1178412).
-------------------------------------------------------------------
Sat Apr 11 19:46:49 UTC 2020 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 3.0.8:
* Fix for icalattach_new_from_data() and the 'free_fn' argument.
* Fix if recurrencetype contains both COUNT and UNTIL (only
output UNTIL in the RRULE).
- Replace gcc-c++ with generic c++_compiler BuildRequires.
- Use cmake_build macro, forcing single thread building is no
longer needed. This breaks support for SLE12SP4, but that one is
superseeded by SP5 anyway.
-------------------------------------------------------------------
Thu Dec 19 22:36:07 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Update to release 3.0.7
* Fix memory leaks in attachment handling and elsewhere.
* Fix a multithreading race condition.
-------------------------------------------------------------------
Wed Oct 30 11:49:14 UTC 2019 - Adam Majer <adam.majer@suse.de>
- Fix multibuild building. For baselibs.conf and _multibuild to
work correctly, we need to define all possible %package in the
spec file irrespective of the "flavor". Packages are not generated
if they do not have a %files section
-------------------------------------------------------------------
Wed Oct 30 02:37:57 UTC 2019 - Yifan Jiang <yfjiang@suse.com>
- Add pkgconfig(libical) BuildRequires: pkg-config 0.29.2 is not
able to generate libical-glib pkgconfig dependency without
libical.pc.
-------------------------------------------------------------------
Wed Oct 16 10:45:43 UTC 2019 - Dominique Leuenberger <dimstar@opensuse.org>
- Fix glib-devel dependencies on the typelib files after they were
renamed to match the correct names.
-------------------------------------------------------------------
Wed Oct 16 09:55:21 UTC 2019 - Dominique Leuenberger <dimstar@opensuse.org>
- Add libical-glib3 to baselibs.conf: dependency to evolution.
-------------------------------------------------------------------
Wed Oct 9 21:08:22 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Update to release 3.0.6
* Handle both COUNT and UNTIL in RRULEs
* Fix RRULE BYDAY with INTERVAL=2 conflict
* Various fuzzification fixes
* New publicly available function:
icaltimezone_truncate_vtimezone()
* Add option to disable building the test suite
* Built-in timezones updated to tzdata2019c
-------------------------------------------------------------------
Fri Oct 4 08:18:14 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Use proper grammar in description.
-------------------------------------------------------------------
Tue Oct 1 14:48:12 UTC 2019 - Michael Gorse <mgorse@suse.com>
- Build glib and gobject-introspection bindings separately in order
to avoid build cycle.
- Move gobject-introspection bindings into their own packages.
- Move libical gir into libical-glib-devel.
-------------------------------------------------------------------
Thu Aug 29 04:17:25 UTC 2019 - Luke Jones <luke@ljones.dev>
- Enable libical-glib, required by evolution-data-server 3.33+
- Add rpmlintrc to filter typelib warnings
-------------------------------------------------------------------
Sun Jun 2 13:23:45 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Update to new upstream release 3.0.5
* New publicly available function:
icalproperty_get_datetime_with_component().
* Allow reset DATE/DATE-TIME VALUE parameter for all-day events
* icalproperty_get_datetime_with_component() will use location
as TZID fallback.
* Built-in timezones updated to tzdata2019a.
-------------------------------------------------------------------
Fri Nov 9 00:52:39 UTC 2018 - Jan Engelhardt <jengelh@inai.de>
- Add patches 0001-vcc.y-factor-out-hexdigit-conversion.patch,
0002-vcc.y-fix-infinite-loop-with-lower-case-hex-digits.patch,
0003-vcc.y-fix-infinite-loop-with-non-hex-digits.patch,
0004-vobject.c-vCard-Unicode-reading-support.patch,
0005-vcc.y-do-not-ignore-field-separator-in-QUOTED-PRINTA.patch
to support Unicode in VCF (and fix infinite loops).
[https://github.com/libical/libical/pull/354 ]
-------------------------------------------------------------------
Thu Aug 23 21:31:54 UTC 2018 - jengelh@inai.de
- Update to new upstream release 3.0.4
* Silently fail RSCALE recurrence clauses when RSCALE is disabled
* Fixed icalcomponent_set_comment() and icalcomponent_set_uid()
* fix FREQ=MONTHLY;BYMONTH
* Skip UTF-8 marker when parsing
* Fix parsing ? in VCF files produced by Outlook
* Fix TZID on DATE-TIME value can override time specified in UTC
* CMake discovery module for ICU uses pkg-config now
* New publicly available function: icalparameter_kind_is_valid()
* Built-in timezones updated to tzdata2018e
-------------------------------------------------------------------
Sat Mar 3 10:36:33 UTC 2018 - jengelh@inai.de
- Update to new upstream release 3.0.3
* Various changes to the API over 2.x.
* Fixed use-after-free issues and some memory leaks
* More accurate VTIMEZONE generation when using the system time
zone data (when USE_BUILTIN_TZDATA=False)
* icalvalue_new/set_date and icalvalue_new/set_datetime now
enforce DATE and DATE-TIME values respectively.
* draft-ietf-calext-extensions (RFC 7986) support added.
* Parameter values are now en/decoded per RFC 6868.
* Added support for VPATCH component.
- Disable building static libs, nothing seems to be using it.
- Remove 0001-build-ICU-must-appear-as-Requires-in-pkgconfig.patch,
libical-boo986631-read-past-end.patch,
libical-boo986631-check-prev-char.patch,
libical-parser-sanity-check.patch,
libical-timezone-use-after-free.patch,
libical-boo1015964-use-after-free.patch (all are upstream)
-------------------------------------------------------------------
Wed Feb 28 16:35:25 UTC 2018 - dimstar@opensuse.org
- Modernize spec-file by calling spec-cleaner
-------------------------------------------------------------------
Mon Jun 19 19:54:50 UTC 2017 - mgorse@suse.com
- Add fixes for various crashes:
libical-boo986631-read-past-end.patch
libical-boo986631-check-prev-char.patch
libical-parser-sanity-check.patch
libical-timezone-use-after-free.patch
libical-boo1015964-use-after-free.patch
Fixes boo#986631 (CVE-2016-5827), boo#986639 (CVE-2016-5824),
boo#1015964 (CVE-2016-9584), and boo#1044995.
-------------------------------------------------------------------
Mon Oct 3 08:38:07 UTC 2016 - jengelh@inai.de
- Add 0001-build-ICU-must-appear-as-Requires-in-pkgconfig.patch
-------------------------------------------------------------------
Thu Sep 29 14:06:35 UTC 2016 - jengelh@inai.de
- Fix wrong baselibs provides
-------------------------------------------------------------------
Fri Sep 9 07:36:22 UTC 2016 - zaitor@opensuse.org
- Add pkgconfig(icu-i18n) BuildRequires: Build the new RSCALE
support.
-------------------------------------------------------------------
Thu Jul 21 07:42:45 UTC 2016 - dimstar@opensuse.org
- Update to version 2.0.0:
+ Lots of source code scrubbing.
+ RSCALE support (requires libicu).
+ CalDAV attachment support (draft-daboo-caldav-attachments).
+ Resurrect the Berkeley DB storage support.
+ Incorrect recurrence generation for weekly pattern
(gh#libical/libical#83)
+ Handle RRULEs better.
+ Handle threading better.
- Drop reproducible-generator.patch: fixed upstream.
- Bump sonum to 2, following upstream (also update baselibs.conf).
-------------------------------------------------------------------
Thu Apr 14 15:11:40 UTC 2016 - mgorse@suse.com
- Update to GNOME 3.20 Fate#318572
- Drop libical-sle12-abi.patch:
use standard libical 1.0.1 ABI for SP2.
-------------------------------------------------------------------
Tue Feb 3 19:04:34 UTC 2015 - coolo@suse.com
- add reproducible-generator.patch from debian bug report to
get reproducible builds (and predicatable API actually)
-------------------------------------------------------------------
Fri Dec 26 20:45:25 UTC 2014 - badshah400@gmail.com
- Update to version 1.0.1:
+ Bug fixes:
- issue74: Do not escape double quote character
- issue80,issue92: fix crashes using
icaltimezone_load_builtin_timezone() recursively
- Fix icalcomponent_foreach_recurrence() and large durations
between recurrences (e.g. FREQ=YEARLY)
- Properly handle UTCOFFSETs of the form +/-00mmss
- Properly skip bogus dates (e.g. 2/30, 4/31) in
RRULE:FREQ=MONTHLY
- Properly handle RRULE:FREQ=MONTHLY;BYDAY;BYMONTHDAY when
DTSTART isn't on BYDAY
- Fix RRULE:FREQ=YEARLY;BYDAY;BYWEEKNO - MUST use ISO weeks
- Properly skip bogus dates (e.g. 2/29) in
RRULE:FREQ=YEARLY[;BYMONTH][;BYMONTHDAY]
+ Build fixes/features:
- Autotools build system is removed
- CMake version 2.8.9 (or higher) is required (was CMake
version 2.4.0)
- Add new -DSHARED_ONLY and -DSTATIC_ONLY CMake options
- Remove -DSTATIC_LIBRARY CMake option
- MSYS2 builds (fixed instructions)
- Now can build api documentation with make docs
+ Update tzdata to version 2014g
+ Support added for schedule params: agent, status, force-send
+ Added a UID to the VFREEBUSY component
+ Allow dates > 2038 if sizeof(time_t) > 4
+ Add properties from draft-ietf-tzdist-service
+ Add support for RRULE:FREQ=YEARLY;BYDAY;BYYEARDAY and fixed
RRULE:FREQ=YEARLY;BYYEARDAY with negative days
+ More regression tests added, in particular for recurrence
+ Almost all compile warnings silenced
+ A bunch of Coverity Scan warnings silenced
+ Package cmake macros installed by package.
- Add libical-sle12-abi.patch:
use enum values used in prior SLE12 package, for ABI
compatibility (bsc#954161).
- Drop 941609-typo-fix_icaltime_days_in_year.patch:
fixed upstream (bsc#941609).
-------------------------------------------------------------------
Thu Oct 20 08:31:46 UTC 2014 - cxiong@suse.com
- Add 941609-typo-fix_icaltime_days_in_year.patch:
Typo fix "icaltime_days_in_year". This bug doesn't affect any
functionality of SLE-12, backport for code correctness and
completeness (bsc#941609).
-------------------------------------------------------------------
Fri Sep 26 05:25:01 UTC 2014 - coolo@suse.com
- disable parallel build, too unreliable
-------------------------------------------------------------------
Thu Sep 18 08:28:26 UTC 2014 - jengelh@inai.de
- Use %cmake macros so that %optflags reliably lands on the build
command lines
- Improve on RPM group classification
- Drop strange Recommends: from libical-doc to libical1
(the latter does not offer any directly-usable feature when
the docs are installed).
- Documentation subpackage should be noarch
-------------------------------------------------------------------
Sat Jun 15 20:38:04 UTC 2013 - schwab@linux-m68k.org
- Build with %{optflags}
-------------------------------------------------------------------
Sun Jun 9 09:18:41 UTC 2013 - toddrme2178@gmail.com
- New 1.x package.
This version uses the cmake build system
- Add devel-static subpackage
- Remove unneeded buildrequires
- Changed license from MPL-1.1 to MPL-1.0. That is the license
listed in the COPYING file and the headers.
- Removed scripts directory from documentation. Putting perl
files in the documentation directory is apparently no longer
allowed.
- Ran spec-cleaner
-------------------------------------------------------------------
Sat Jan 28 18:37:35 UTC 2012 - jengelh@medozas.de
- Changed: The -devel subpackage should require the lib package,
not the main one
-------------------------------------------------------------------
Sat Jan 28 17:40:52 UTC 2012 - tabraham@novell.com
- Update to version 0.48
+ Allow duration specifications containing week along with day
and time. even though this is against the RFC, but apparently
we generate such durations so we need to be able to read them
back. + handle the case of the ATTACH type be explicitly set
to URI + added a lock to avoid threading problems when
icaltimezone_parse_zone_tab is called on multiple threads
+ bugfixes
- removed patches deprecated by this release:
- libical-0.46-fix-race.patch
- libical-0.46-fix-fatal-error-macro-usage.patch
- libical-0.46-fix-endless-loop.patch
-------------------------------------------------------------------
Mon Jan 23 17:50:24 UTC 2012 - cdenicolo@suse.com
- license update: MPL-1.1 or LGPL-2.1
is a dual license: MPL-1.1 or LGPL-2.1
-------------------------------------------------------------------
Thu Jan 12 11:30:43 UTC 2012 - coolo@suse.com
- change license to be in spdx.org format
-------------------------------------------------------------------
Sun Nov 20 20:10:20 UTC 2011 - jengelh@medozas.de
- Remove redundant/unwanted tags/section (cf. specfile guidelines)
-------------------------------------------------------------------
Sat Nov 19 15:58:14 UTC 2011 - coolo@suse.com
- add libtool as buildrequire to avoid implicit dependency
-------------------------------------------------------------------
Fri Mar 11 20:04:22 UTC 2011 - gber@opensuse.org
- update to version 0.46
+ allow control over how components, properties and parameters
with unknown names are handled
+ renamed static set_zone_directory() to set_zonedir()
+ added appropriate icaltime_* functions as methods to
icaltimetype
+ added icaltimetype.datetime for converting a icaltimetype to a
python datetime
+ added icalarray_copy for easy copying of icalarrays
+ renamed icaltimetype.datetime to icaltimetype.as_datetime and
added icaltimetype.from_datetime staticmethod
+ bugfixes
- correct licensing information
- run autoreconf since tarball misses autconf autgenerated files
(sf#3072673)
- added libical-0.46-fix-race.patch from upstream svn which fixes a
race in populating builtin timezone components
- added libical-0.46-fix-fatal-error-macro-usage.patch from
upstream svn in order to replace broken ICAL_ERRORS_ARE_FATAL
preprocessor conditions with the correct check for the macros
value (sf#3140405)
- added libical-0.46-fix-fatal-error-macro-usage.patch from
upstream svn which fixes endless loop in the recurrence
calculation (sf#3177380)
-------------------------------------------------------------------
Sat Apr 24 11:38:20 UTC 2010 - coolo@novell.com
- buildrequire pkg-config to fix provides
-------------------------------------------------------------------
Wed Jan 6 04:49:26 CET 2010 - jengelh@medozas.de
- Package baselibs.conf
- Enable parallel build
-------------------------------------------------------------------
Sun Sep 27 10:54:57 EDT 2009 - msuman@gnome.org
- Update to version 0.44:
+ Memory leak fixes by Alvaro Manera
+ Various build fixes
- Fixes for rpmlint warnings, remove the '--enable-python' configure
option as python bindings were broken sometime ago.
-------------------------------------------------------------------
Mon Jan 12 23:26:35 IST 2009 - msuman@suse.de
- Update to version 0.43:
+ Incorporates bugfixes submitted by the GNOME Evolution team.
+ New API call icaltimezone_set_tzid_prefix() to allow downstream
applications to generate tzid's with custom namespaces.
-------------------------------------------------------------------
Sat Dec 20 23:48:21 IST 2008 - msuman@suse.de
- Use proper RPM macros in the spec file, remove unnecessary
options passed to the configure script.
-------------------------------------------------------------------
Tue Dec 2 00:27:07 CET 2008 - dmueller@suse.de
- update to 0.42:
* Fix for storing inline attachments
* Safety fix when formatting date strings
* compile / portability fixes
-------------------------------------------------------------------
Thu Nov 27 16:48:24 CET 2008 - wstephenson@suse.de
- Backport from 0.42:
* Fix for storing inline attachments
* Safety fix when formatting date strings
-------------------------------------------------------------------
Wed Oct 15 09:48:30 CEST 2008 - dmueller@suse.de
- update to 0.40:
* adopt new memory management semantics from the Evolution fork of libical,
essentially every function now has a _r variant as well.
* CMake build system in parallel
* Crash fixes
-------------------------------------------------------------------
Tue Sep 16 19:45:36 CEST 2008 - dmueller@suse.de
- update to 0.33:
- Massive merges from KDE PIM's fork of libical
-------------------------------------------------------------------
Wed Sep 3 00:58:14 CEST 2008 - dmueller@suse.de
- update to 0.32:
- Massive merges from Evolution Data Server
and other sources.
-------------------------------------------------------------------
Wed May 7 22:02:49 CEST 2008 - coolo@suse.de
- fix rename from libical
-------------------------------------------------------------------
Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de
- added baselibs.conf file to build xxbit packages
for multilib support
-------------------------------------------------------------------
Tue Jan 29 14:02:50 CET 2008 - sf@suse.de
- update to 0.27
- Merges some patches from KDE and Citadel.
- Updates timezone data to tzdata 2007c.
- merges the libical forks from KDE, Evolution and SourceForge.
- Updates timezone data to tzdata 2005j.
- rename library package to libical0
-------------------------------------------------------------------
Wed Jan 25 21:37:29 CET 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
-------------------------------------------------------------------
Mon Sep 26 23:30:57 CEST 2005 - mls@suse.de
- make devel package require base package
-------------------------------------------------------------------
Wed Jan 19 17:11:54 CET 2005 - sf@suse.de
- fix use of uninitialized variable
-------------------------------------------------------------------
Mon Mar 22 14:01:37 CET 2004 - sf@suse.de
- remove some temporary /object files in examples
-------------------------------------------------------------------
Wed Mar 17 01:41:27 CET 2004 - ro@suse.de
- re-apply patch to make it build
-------------------------------------------------------------------
Fri Feb 6 15:25:04 CET 2004 - adrian@suse.de
- update to version 0.24 RC4
-------------------------------------------------------------------
Sat Jan 10 17:17:40 CET 2004 - adrian@suse.de
- add %run_ldconfig
-------------------------------------------------------------------
Thu Jul 3 18:19:21 CEST 2003 - ro@suse.de
- added unpackaged files
-------------------------------------------------------------------
Fri Jan 17 07:28:07 CET 2003 - stark@suse.de
- update to cvs 20030116 for upcoming Mozilla 1.3
-------------------------------------------------------------------
Wed Dec 11 11:55:49 CET 2002 - stark@suse.de
- update to cvs 20021211 for Mozilla 1.3a
-------------------------------------------------------------------
Thu Oct 17 15:01:29 CEST 2002 - stark@suse.de
- "update" to version 0.23a used and provided by mozilla.org
-------------------------------------------------------------------
Tue Sep 17 17:34:28 CEST 2002 - ro@suse.de
- removed bogus self-provides
-------------------------------------------------------------------
Mon Jun 17 16:17:11 CEST 2002 - meissner@suse.de
- rerun auto* tools
-------------------------------------------------------------------
Wed Apr 17 14:00:21 CEST 2002 - rhafer@suse.de
- added missing header files to -devel subpackage
- moved *.so links to -devel subpackage
- uses %{_libdir} now
-------------------------------------------------------------------
Tue Apr 2 16:13:53 CEST 2002 - sf@suse.de
- initial version

241
libical.spec Normal file
View File

@ -0,0 +1,241 @@
#
# spec file
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global flavor @BUILD_FLAVOR@%{nil}
%define sonum 3
%if "%{flavor}" == "glib"
%define name_ext -glib
%bcond_without glib
%else
%define name_ext %{nil}
%bcond_with glib
%endif
Name: libical%{name_ext}
Version: 3.0.16
Release: 0
URL: https://github.com/libical/libical
Source: %{url}/releases/download/v%{version}/libical-%{version}.tar.gz
Source2: baselibs.conf
Source3: libical-rpmlintrc
Patch1: 0001-vcc.y-factor-out-hexdigit-conversion.patch
Patch2: 0002-vcc.y-fix-infinite-loop-with-lower-case-hex-digits.patch
Patch3: 0003-vcc.y-fix-infinite-loop-with-non-hex-digits.patch
Patch4: 0004-vobject.c-vCard-Unicode-reading-support.patch
Patch5: 0005-vcc.y-do-not-ignore-field-separator-in-QUOTED-PRINTA.patch
BuildRequires: c++_compiler
BuildRequires: cmake >= 3.1
BuildRequires: pkgconfig
BuildRequires: pkgconfig(icu-i18n)
%if %{without glib}
Summary: An Implementation of Basic iCAL Protocols
License: LGPL-2.1-only OR MPL-2.0
Group: Development/Libraries/C and C++
%else
Summary: GObject wrapper for libical library
License: LGPL-2.1-only OR MPL-2.0
Group: Development/Libraries/C and C++
%endif
%if %{with glib}
BuildRequires: gtk-doc
BuildRequires: vala
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(libical)
BuildRequires: pkgconfig(libxml-2.0)
%endif
%if %{without glib}
%description -n libical
Libical is an implementation of the IETF's iCalendar
calendaring and scheduling protocols (RFC 2445, 2446, and 2447). It
parses iCal components and provides a C API for manipulating the
component properties, parameters, and subcomponents.
%else
%description -n libical-glib
This package provides a GObject wrapper for libical library with support
for GObject Introspection.
%endif
%package -n libical%{sonum}
Summary: An Implementation of Basic iCAL Protocols
Group: System/Libraries
Provides: libical = %{version}
Obsoletes: libical < %{version}
%description -n libical%{sonum}
Libical is an implementation of the IETF's iCalendar
calendaring and scheduling protocols (RFC 2445, 2446, and 2447). It
parses iCal components and provides a C API for manipulating the
component properties, parameters, and subcomponents.
%package -n libical-devel
Summary: Development files for libical, an implementation of basic iCAL protocols
Group: Development/Libraries/C and C++
Requires: libical%{sonum} = %{version}
# Typelib should be required, but might create a build cycle
# Requires: typelib-1_0-libical%%{sonum} = %%{version}
%description -n libical-devel
Libical is an implementation of the IETF's iCalendar
Calendaring and Scheduling protocols. (RFC 2445, 2446, and 2447). It
parses iCal components and provides a C API for manipulating the
component properties, parameters, and subcomponents.
%package -n libical-doc
Summary: Example source code for programs to use libical
Group: Documentation/Other
BuildArch: noarch
%description -n libical-doc
Libical is an implementation of the IETF's iCalendar
calendaring and scheduling protocols (RFC 2445, 2446, and 2447). It
parses iCal components and provides a C API for manipulating the
component properties, parameters, and subcomponents.
%package -n libical-glib%{sonum}
Summary: GObject wrapper for libical library
Group: System/Libraries
Provides: libical-glib = %{version}
Obsoletes: libical-glib < %{version}
%description -n libical-glib%{sonum}
This package provides a GObject wrapper for libical library with support
for GObject Introspection.
%package -n libical-glib-devel
Summary: Development files for building against libical-glib
Group: Development/Libraries/C and C++
Requires: libical-glib%{sonum} = %{version}
Requires: typelib-1_0-ICal-3_0 = %{version}
Requires: typelib-1_0-ICalGLib-3_0 = %{version}
%description -n libical-glib-devel
Development files for building against libical-glib%{sonum}
%package -n libical-glib-doc
Summary: Documentation files for libical-glib%{sonum}
Group: Documentation/Other
BuildArch: noarch
%description -n libical-glib-doc
Documentation files for %{name}%{sonum}
%package -n typelib-1_0-ICal-3_0
Summary: Introspection bindings for libical
Group: Development/Libraries/C and C++
%description -n typelib-1_0-ICal-3_0
This package provides the gobject-introspection bindings for libical.
%package -n typelib-1_0-ICalGLib-3_0
Summary: Introspection bindings for the libical glib bindings.
Group: Development/Libraries/C and C++
%description -n typelib-1_0-ICalGLib-3_0
This package provides the gobject-introspection bindings for libical-glib.
%prep
%autosetup -p1 -n libical-%{version}
%build
%cmake \
-DICAL_ALLOW_EMPTY_PROPERTIES=true \
%if %{with glib}
-DICAL_GLIB=true \
-DGOBJECT_INTROSPECTION=true \
-DICAL_GLIB_VAPI=true \
%else
-DICAL_GLIB=false \
%endif
-DSHARED_ONLY=true
%cmake_build
%install
%cmake_install
rm examples/CMakeLists.txt
%if %{with glib}
rm -r %{buildroot}%{_includedir}/libical/
rm -r %{buildroot}%{_libdir}/cmake/LibIcal
rm %{buildroot}%{_libdir}/libical.so*
rm %{buildroot}%{_libdir}/libical_cxx.so*
rm %{buildroot}%{_libdir}/libicalss.so*
rm %{buildroot}%{_libdir}/libicalss_cxx.so*
rm %{buildroot}%{_libdir}/libicalvcal.so*
rm %{buildroot}%{_libdir}/pkgconfig/libical.pc
%endif
%if %{without glib}
%post -n %{name}%{sonum} -p /sbin/ldconfig
%postun -n %{name}%{sonum} -p /sbin/ldconfig
%else
%post -n %{name} -p /sbin/ldconfig
%postun -n %{name} -p /sbin/ldconfig
%endif
%if %{without glib}
%files -n %{name}%{sonum}
%license COPYING
%doc AUTHORS README.md ReleaseNotes.txt TEST THANKS TODO
%{_libdir}/libical.so.*
%{_libdir}/libical_cxx.so.*
%{_libdir}/libicalss.so.*
%{_libdir}/libicalss_cxx.so.*
%{_libdir}/libicalvcal.so.*
%files devel
%{_libdir}/libical.so
%{_libdir}/libical_cxx.so
%{_libdir}/libicalss.so
%{_libdir}/libicalss_cxx.so
%{_libdir}/libicalvcal.so
%{_libdir}/pkgconfig/libical.pc
%{_libdir}/cmake/LibIcal/
%{_includedir}/libical/
%files doc
%doc doc/*.txt
%doc examples/
%else
%files -n %{name}%{sonum}
%{_libdir}/libical-glib.so.*
%files devel
%{_libdir}/libical-glib.so
%{_libdir}/pkgconfig/libical-glib.pc
%dir %{_libexecdir}/libical
%{_libexecdir}/libical/ical-glib-src-generator
%{_includedir}/libical-glib/
%dir %{_datadir}/vala/vapi
%{_datadir}/vala/vapi/libical-glib.vapi
# This should really be in libical-devel
%{_datadir}/gir-1.0/ICal-3.0.gir
%{_datadir}/gir-1.0/ICalGLib-3.0.gir
%files doc
%{_datadir}/gtk-doc/html/libical-glib
%files -n typelib-1_0-ICal-3_0
%{_libdir}/girepository-1.0/ICal-3.0.typelib
%files -n typelib-1_0-ICalGLib-3_0
%{_libdir}/girepository-1.0/ICalGLib-3.0.typelib
%endif
%changelog