diff --git a/extra/digikam/PKGBUILD b/extra/digikam/PKGBUILD index 5db734a0c..0ace7a0f6 100644 --- a/extra/digikam/PKGBUILD +++ b/extra/digikam/PKGBUILD @@ -11,9 +11,9 @@ pkgbase=digikam pkgname=('digikam' 'kipi-plugins') _pkgver=5.7.0 pkgver=${_pkgver//-/_} # for beta versions -pkgrel=1 -pkgdesc="Digital photo management application for KDE" -arch=('i686' 'x86_64') +pkgrel=3 +pkgdesc="An advanced digital photo management application" +arch=('x86_64') license=('GPL') url="http://www.digikam.org/" makedepends=('extra-cmake-modules' 'libkipi' 'libksane' 'liblqr' 'opencv' 'boost' @@ -21,8 +21,12 @@ makedepends=('extra-cmake-modules' 'libkipi' 'libksane' 'liblqr' 'opencv' 'boost 'kfilemetadata' 'akonadi-contacts' 'qtav' 'threadweaver' 'kcalcore' 'knotifyconfig' 'libmediawiki' 'libkvkontakte') source=("http://download.kde.org/stable/${pkgname}/${pkgname}-${_pkgver}.tar.xz" - '0001-optionally-enable-OpenGL.patch') + digikam-kcalcore-17.12.patch + digikam-qt-5.9.3.patch::"https://cgit.kde.org/digikam.git/patch/?id=855ba5b7" + 0001-optionally-enable-OpenGL.patch) sha256sums=('3605ffb5b6e8fbd6b725e5075f74f505d7edee7531789c2882d11df2d20150f5' + '61648bdeb88dcb94d2896b9d9211c6a6b50a39a143701e04465aa040a60053c0' + '03822e596321028d0971ec82351337dad76abeda93c9cef3b1d2a31807e02661' 'f6f234f430f02e058e12e48577f9d8441959e84b42f4e50d733706be8b214bf5') prepare() { @@ -32,6 +36,11 @@ prepare() { sed -e '/sv/d' -i $pkgname-$pkgver/doc-translated/CMakeLists.txt # fix conflicts with libkvkontakte rm $pkgbase-$pkgver/po/*/libkvkontakte.po +# fix build with kcalcore 17.12 + cd $pkgname-$_pkgver/core + patch -p1 -i "$srcdir"/digikam-kcalcore-17.12.patch +# fix thumbnails with Qt 5.9.3 + patch -p1 -i "$srcdir"/digikam-qt-5.9.3.patch # OpenGL switch cd $pkgbase-$pkgver/core diff --git a/extra/digikam/digikam-kcalcore-17.12.patch b/extra/digikam/digikam-kcalcore-17.12.patch new file mode 100644 index 000000000..914c5949e --- /dev/null +++ b/extra/digikam/digikam-kcalcore-17.12.patch @@ -0,0 +1,77 @@ +From dad750fadc926b62603cc9d64009ee5072a46d97 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Daniel=20Vr=C3=A1til?= +Date: Wed, 13 Sep 2017 16:51:14 +0200 +Subject: Adapt to KCalCore API changes + +This change supports both old (pre-QDateTime) and new version. + +Differential Revision: https://phabricator.kde.org/D7802 +--- + CMakeLists.txt | 3 +++ + app/utils/digikam_config.h.cmake.in | 3 +++ + utilities/assistants/calendar/print/calsettings.cpp | 14 ++++++++++---- + 3 files changed, 16 insertions(+), 4 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3ad686d..e2f28a7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -174,6 +174,9 @@ find_package(KF5 ${CALENDAR_MIN_VERSION} QUIET + OPTIONAL_COMPONENTS + CalendarCore # For Calendar tool. + ) ++if ("${KF5CalendarCore_VERSION}" VERSION_GREATER 5.6.40) ++ set(HAVE_KCALENDAR_QDATETIME TRUE) ++endif() + + if(ENABLE_AKONADICONTACTSUPPORT AND NOT KF5AkonadiContact_FOUND) + set(ENABLE_KFILEMETADATASUPPORT OFF) +diff --git a/app/utils/digikam_config.h.cmake.in b/app/utils/digikam_config.h.cmake.in +index 8a2e8e5..ffd3a22 100644 +--- a/app/utils/digikam_config.h.cmake.in ++++ b/app/utils/digikam_config.h.cmake.in +@@ -75,6 +75,9 @@ + /* Define to 1 if you have KCalendar core shared libraries installed */ + #cmakedefine HAVE_KCALENDAR 1 + ++/* Define to 1 if you have KCalendar core shared libraries with QDateTime support installed */ ++#cmakedefine HAVE_KCALENDAR_QDATETIME 1 ++ + /* Define to 1 if Panorama tool is supported */ + #cmakedefine HAVE_PANORAMA 1 + +diff --git a/utilities/assistants/calendar/print/calsettings.cpp b/utilities/assistants/calendar/print/calsettings.cpp +index 46e995d..c6554ef 100644 +--- a/utilities/assistants/calendar/print/calsettings.cpp ++++ b/utilities/assistants/calendar/print/calsettings.cpp +@@ -290,7 +290,13 @@ void CalSettings::loadSpecial(const QUrl& url, const QColor& color) + return; + } + +- KCalCore::MemoryCalendar::Ptr memCal(new KCalCore::MemoryCalendar(QString::fromLatin1("UTC"))); ++#if HAVE_KCALENDAR_QDATETIME ++ KCalCore::MemoryCalendar::Ptr memCal(new KCalCore::MemoryCalendar(QTimeZone::utc())); ++ using DateTime = QDateTime; ++#else ++ KCalCore::MemoryCalendar::Ptr memCal(new KCalCore::MemoryCalendar(QString::fromLatin1("UTC"))); ++ using DateTime = KDateTime; ++#endif + KCalCore::FileStorage::Ptr fileStorage(new KCalCore::FileStorage(memCal, url.toLocalFile(), new KCalCore::ICalFormat)); + + qCDebug(DIGIKAM_GENERAL_LOG) << "Loading calendar from file " << url.toLocalFile(); +@@ -308,9 +309,9 @@ void CalSettings::loadSpecial(const QUrl& url, const QColor& color) + qLast = calSys.date(params.year + 1, 1, 1); + qLast = qLast.addDays(-1); + +- KDateTime dtFirst(qFirst); +- KDateTime dtLast(qLast); +- KDateTime dtCurrent; ++ DateTime dtFirst(qFirst, QTime(0, 0)); ++ DateTime dtLast(qLast, QTime(0, 0)); ++ DateTime dtCurrent; + + int counter = 0; + KCalCore::Event::List list = memCal->rawEvents(qFirst, qLast); +-- +cgit v0.11.2 +