commit:     5058404d036dc91d732e31ca951b905615ec346c
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 16 16:12:28 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 16 16:24:10 2020 +0000
URL:        https://gitweb.gentoo.org/proj/kde-sunset.git/commit/?id=5058404d

kde-apps/kdepimlibs: Allow building with libical3

Thanks-to: Tommy Yu <y <AT> metatoaster.com>
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../kdepimlibs/files/fix-build-with-ical-3.0.diff  | 188 +++++++++++++++++++++
 .../kdepimlibs-4.14.11_pre20160611.ebuild          |   2 +
 2 files changed, 190 insertions(+)

diff --git a/kde-apps/kdepimlibs/files/fix-build-with-ical-3.0.diff 
b/kde-apps/kdepimlibs/files/fix-build-with-ical-3.0.diff
new file mode 100644
index 00000000..98755f6b
--- /dev/null
+++ b/kde-apps/kdepimlibs/files/fix-build-with-ical-3.0.diff
@@ -0,0 +1,188 @@
+diff -up kdepimlibs-4.14.10/kcalcore/icalformat_p.cpp.libical-3.0 
kdepimlibs-4.14.10/kcalcore/icalformat_p.cpp
+--- kdepimlibs-4.14.10/kcalcore/icalformat_p.cpp.libical-3.0   2017-11-12 
14:10:59.070922105 +0100
++++ kdepimlibs-4.14.10/kcalcore/icalformat_p.cpp       2017-11-12 
14:11:16.499921863 +0100
+@@ -2301,7 +2301,6 @@ icaltimetype ICalFormatImpl::writeICalDa
+     t.second = 0;
+ 
+     t.is_date = 1;
+-    t.is_utc = 0;
+     t.zone = 0;
+ 
+     return t;
+@@ -2322,8 +2321,7 @@ icaltimetype ICalFormatImpl::writeICalDa
+         t.minute = datetime.time().minute();
+         t.second = datetime.time().second();
+     }
+-    t.zone = 0;   // zone is NOT set
+-    t.is_utc = datetime.isUtc() ? 1 : 0;
++    t.zone = datetime.isUtc() ? icaltimezone_get_utc_timezone() : 0;   // 
zone is NOT set
+ 
+     // _dumpIcaltime( t );
+ 
+@@ -2398,7 +2396,7 @@ icalproperty *ICalFormatImpl::writeICalD
+     }
+ 
+     KTimeZone ktz;
+-    if (!t.is_utc) {
++    if (!icaltime_is_utc( t )) {
+         ktz = dt.timeZone();
+     }
+ 
+@@ -2431,7 +2429,7 @@ KDateTime ICalFormatImpl::readICalDateTi
+ //  _dumpIcaltime( t );
+ 
+     KDateTime::Spec timeSpec;
+-    if (t.is_utc  ||  t.zone == icaltimezone_get_utc_timezone()) {
++    if (icaltime_is_utc( t )  ||  t.zone == icaltimezone_get_utc_timezone()) {
+         timeSpec = KDateTime::UTC;   // the time zone is UTC
+         utc = false;    // no need to convert to UTC
+     } else {
+diff -up kdepimlibs-4.14.10/kcalcore/icaltimezones.cpp.libical-3.0 
kdepimlibs-4.14.10/kcalcore/icaltimezones.cpp
+--- kdepimlibs-4.14.10/kcalcore/icaltimezones.cpp.libical-3.0  2017-11-12 
14:11:03.603922042 +0100
++++ kdepimlibs-4.14.10/kcalcore/icaltimezones.cpp      2017-11-12 
14:11:15.029921884 +0100
+@@ -54,7 +54,7 @@ static QDateTime toQDateTime(const icalt
+ {
+     return QDateTime(QDate(t.year, t.month, t.day),
+                      QTime(t.hour, t.minute, t.second),
+-                     (t.is_utc ? Qt::UTC : Qt::LocalTime));
++                     (icaltime_is_utc( t ) ? Qt::UTC : Qt::LocalTime));
+ }
+ 
+ // Maximum date for time zone data.
+@@ -81,7 +81,6 @@ static icaltimetype writeLocalICalDateTi
+     t.second = local.time().second();
+     t.is_date = 0;
+     t.zone = 0;
+-    t.is_utc = 0;
+     return t;
+ }
+ 
+@@ -886,7 +885,7 @@ ICalTimeZone ICalTimeZoneSource::parse(i
+         case ICAL_LASTMODIFIED_PROPERTY:
+         {
+             const icaltimetype t = icalproperty_get_lastmodified(p);
+-            if (t.is_utc) {
++            if (icaltime_is_utc( t )) {
+                 data->d->lastModified = toQDateTime(t);
+             } else {
+                 kDebug() << "LAST-MODIFIED not UTC";
+@@ -1259,7 +1258,7 @@ QList<QDateTime> ICalTimeZoneSourcePriva
+     // Convert DTSTART to QDateTime, and from local time to UTC
+     const QDateTime localStart = toQDateTime(dtstart);     // local time
+     dtstart.second -= prevOffset;
+-    dtstart.is_utc = 1;
++    dtstart.zone = icaltimezone_get_utc_timezone();
+     const QDateTime utcStart = toQDateTime(icaltime_normalize(dtstart));      
 // UTC
+ 
+     transitions += utcStart;
+@@ -1286,13 +1285,13 @@ QList<QDateTime> ICalTimeZoneSourcePriva
+                     t.minute = dtstart.minute;
+                     t.second = dtstart.second;
+                     t.is_date = 0;
+-                    t.is_utc = 0;    // dtstart is in local time
++                    t.zone = 0;    // dtstart is in local time
+                 }
+                 // RFC2445 states that RDATE must be in local time,
+                 // but we support UTC as well to be safe.
+-                if (!t.is_utc) {
++                if (!icaltime_is_utc( t )) {
+                     t.second -= prevOffset;    // convert to UTC
+-                    t.is_utc = 1;
++                    t.zone = icaltimezone_get_utc_timezone();
+                     t = icaltime_normalize(t);
+                 }
+                 transitions += toQDateTime(t);
+diff -up kdepimlibs-4.14.10/kcal/icalformat_p.cpp.libical-3.0 
kdepimlibs-4.14.10/kcal/icalformat_p.cpp
+--- kdepimlibs-4.14.10/kcal/icalformat_p.cpp.libical-3.0       2017-11-12 
14:10:50.692922220 +0100
++++ kdepimlibs-4.14.10/kcal/icalformat_p.cpp   2017-11-12 14:11:08.915921968 
+0100
+@@ -2087,7 +2087,6 @@ icaltimetype ICalFormatImpl::writeICalDa
+   t.second = 0;
+ 
+   t.is_date = 1;
+-  t.is_utc = 0;
+   t.zone = 0;
+ 
+   return t;
+@@ -2106,8 +2105,7 @@ icaltimetype ICalFormatImpl::writeICalDa
+   t.second = datetime.time().second();
+ 
+   t.is_date = 0;
+-  t.zone = 0;   // zone is NOT set
+-  t.is_utc = datetime.isUtc() ? 1 : 0;
++  t.zone = datetime.isUtc() ? icaltimezone_get_utc_timezone() : 0;
+ 
+   // _dumpIcaltime( t );
+ 
+@@ -2174,7 +2172,7 @@ icalproperty *ICalFormatImpl::writeICalD
+   }
+ 
+   KTimeZone ktz;
+-  if ( !t.is_utc ) {
++  if ( !icaltime_is_utc( t ) ) {
+     ktz = dt.timeZone();
+   }
+ 
+@@ -2207,7 +2205,7 @@ KDateTime ICalFormatImpl::readICalDateTi
+ //  _dumpIcaltime( t );
+ 
+   KDateTime::Spec timeSpec;
+-  if ( t.is_utc  ||  t.zone == icaltimezone_get_utc_timezone() ) {
++  if ( icaltime_is_utc( t )  ||  t.zone == icaltimezone_get_utc_timezone() ) {
+     timeSpec = KDateTime::UTC;   // the time zone is UTC
+     utc = false;    // no need to convert to UTC
+   } else {
+diff -up kdepimlibs-4.14.10/kcal/icaltimezones.cpp.libical-3.0 
kdepimlibs-4.14.10/kcal/icaltimezones.cpp
+--- kdepimlibs-4.14.10/kcal/icaltimezones.cpp.libical-3.0      2017-11-12 
14:10:54.277922171 +0100
++++ kdepimlibs-4.14.10/kcal/icaltimezones.cpp  2017-11-12 14:11:13.407921906 
+0100
+@@ -50,7 +50,7 @@ static QDateTime toQDateTime( const ical
+ {
+   return QDateTime( QDate( t.year, t.month, t.day ),
+                     QTime( t.hour, t.minute, t.second ),
+-                    ( t.is_utc ? Qt::UTC : Qt::LocalTime ) );
++                    ( icaltime_is_utc( t ) ? Qt::UTC : Qt::LocalTime ) );
+ }
+ 
+ // Maximum date for time zone data.
+@@ -77,7 +77,6 @@ static icaltimetype writeLocalICalDateTi
+   t.second = local.time().second();
+   t.is_date = 0;
+   t.zone = 0;
+-  t.is_utc = 0;
+   return t;
+ }
+ 
+@@ -787,7 +786,7 @@ ICalTimeZone ICalTimeZoneSource::parse(
+     case ICAL_LASTMODIFIED_PROPERTY:
+     {
+       icaltimetype t = icalproperty_get_lastmodified(p);
+-      if ( t.is_utc ) {
++      if ( icaltime_is_utc( t ) ) {
+         data->d->lastModified = toQDateTime( t );
+       } else {
+         kDebug() << "LAST-MODIFIED not UTC";
+@@ -972,7 +971,7 @@ QList<QDateTime> ICalTimeZoneSourcePriva
+   // Convert DTSTART to QDateTime, and from local time to UTC
+   QDateTime localStart = toQDateTime( dtstart );   // local time
+   dtstart.second -= prevOffset;
+-  dtstart.is_utc = 1;
++  dtstart.zone = icaltimezone_get_utc_timezone();
+   QDateTime utcStart = toQDateTime( icaltime_normalize( dtstart ) );   // UTC
+ 
+   transitions += utcStart;
+@@ -999,13 +998,13 @@ QList<QDateTime> ICalTimeZoneSourcePriva
+           t.minute = dtstart.minute;
+           t.second = dtstart.second;
+           t.is_date = 0;
+-          t.is_utc = 0;    // dtstart is in local time
++          t.zone = 0;    // dtstart is in local time
+         }
+         // RFC2445 states that RDATE must be in local time,
+         // but we support UTC as well to be safe.
+-        if ( !t.is_utc ) {
++        if ( !icaltime_is_utc( t ) ) {
+           t.second -= prevOffset;    // convert to UTC
+-          t.is_utc = 1;
++          t.zone = icaltimezone_get_utc_timezone();
+           t = icaltime_normalize( t );
+         }
+         transitions += toQDateTime( t );

diff --git a/kde-apps/kdepimlibs/kdepimlibs-4.14.11_pre20160611.ebuild 
b/kde-apps/kdepimlibs/kdepimlibs-4.14.11_pre20160611.ebuild
index a7b125eb..828d6218 100644
--- a/kde-apps/kdepimlibs/kdepimlibs-4.14.11_pre20160611.ebuild
+++ b/kde-apps/kdepimlibs/kdepimlibs-4.14.11_pre20160611.ebuild
@@ -32,6 +32,8 @@ DEPEND="
 # bug #418071
 RDEPEND="${DEPEND}"
 
+PATCHES=( "${FILESDIR}/fix-build-with-ical-3.0.diff" )
+
 src_configure() {
        local mycmakeargs=(
                -DBUILD_TOOLS=OFF

Reply via email to