From 1b6b20aa9dc235fd2f786939c9406a3c1070fdd3 Mon Sep 17 00:00:00 2001 From: Schrijvers Luc Date: Mon, 24 Jul 2023 13:11:29 +0200 Subject: [PATCH] akonadi_calendar, new recipe (#9079) --- .../akonadi_calendar-22.04.3.recipe | 180 ++++++++++++++++++ kde-apps/akonadi-calendar/licenses/CC0 v1.0 | 119 ++++++++++++ .../patches/akonadi_calendar-22.04.3.patchset | 27 +++ 3 files changed, 326 insertions(+) create mode 100644 kde-apps/akonadi-calendar/akonadi_calendar-22.04.3.recipe create mode 100644 kde-apps/akonadi-calendar/licenses/CC0 v1.0 create mode 100644 kde-apps/akonadi-calendar/patches/akonadi_calendar-22.04.3.patchset diff --git a/kde-apps/akonadi-calendar/akonadi_calendar-22.04.3.recipe b/kde-apps/akonadi-calendar/akonadi_calendar-22.04.3.recipe new file mode 100644 index 000000000..2df756334 --- /dev/null +++ b/kde-apps/akonadi-calendar/akonadi_calendar-22.04.3.recipe @@ -0,0 +1,180 @@ +SUMMARY="Akonadi calendar integration" +DESCRIPTION="Akonadi Calendar is a library that effectively bridges the type-agnostic API of the \ +Akonadi client libraries and the domain-specific KCalCore library. It provides jobs, models and \ +other helpers to make working with events and calendars through Akonadi easier. + +The most notable class is Akonadi::ETMCalendar, a model built on top of the \ +Akonadi::EntityTreeModel which provides filters to only show events from selected calendars, \ +iterate over events, including recurrences, provides reverse lookup from KCalCore::Incidence to \ +Akonadi::Item and other features. + +Besides the model there is for example Akonadi::FreeBusyProviderBase, an interface for Akonadi \ +Resources that can provide Free/Busy information." +HOMEPAGE="https://community.kde.org/KDE_PIM" +COPYRIGHT="2010-2022 KDE Organisation" +LICENSE="BSD (3-clause) + CC0 v1.0 + GNU LGPL v2 + GNU LGPL v2.1" +REVISION="1" +SOURCE_URI="https://download.kde.org/Attic/release-service/$portVersion/src/akonadi-calendar-$portVersion.tar.xz" +CHECKSUM_SHA256="e4fd0bbcca26a9660ca3902fd1d04b593f222893171e5f5310a75de82f148c41" +SOURCE_DIR="akonadi-calendar-$portVersion" +PATCHES="akonadi_calendar-$portVersion.patchset" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +GLOBAL_WRITABLE_FILES=" + settings/xdg/autostart/org.kde.kalendarac.desktop keep-old + " + +commandBinDir=$binDir +commandSuffix=$secondaryArchSuffix +if [ "$targetArchitecture" = x86_gcc2 ]; then + commandSuffix= + commandBinDir=$prefix/bin +fi + +libVersion="5.20.3" +libVersionCompat="$libVersion compat >= ${libVersion%%.*}" + +PROVIDES=" + akonadi_calendar$secondaryArchSuffix = $portVersion + cmd:kalendarac$commandSuffix = $portVersion + lib:libKF5AkonadiCalendar$secondaryArchSuffix = $libVersionCompat + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libGrantlee_Templates$secondaryArchSuffix + lib:libKF5AkonadiContact$secondaryArchSuffix + lib:libKF5AkonadiCore$secondaryArchSuffix + lib:libKF5AkonadiWidgets$secondaryArchSuffix + lib:libKF5AkonadiMime$secondaryArchSuffix + lib:libKF5Auth$secondaryArchSuffix + lib:libKF5CalendarCore$secondaryArchSuffix + lib:libKF5CalendarUtils$secondaryArchSuffix + lib:libKF5Codecs$secondaryArchSuffix + lib:libKF5Completion$secondaryArchSuffix + lib:libKF5Contacts$secondaryArchSuffix + lib:libKF5ConfigCore$secondaryArchSuffix + lib:libKF5ConfigWidgets$secondaryArchSuffix + lib:libKF5CoreAddons$secondaryArchSuffix + lib:libKF5DBusAddons$secondaryArchSuffix + lib:libKF5GrantleeTheme$secondaryArchSuffix + lib:libKF5I18n$secondaryArchSuffix + lib:libKF5IdentityManagement$secondaryArchSuffix + lib:libKF5ItemModels$secondaryArchSuffix + lib:libKF5KIOCore$secondaryArchSuffix + lib:libKF5JobWidgets$secondaryArchSuffix + lib:libKF5MailTransport$secondaryArchSuffix + lib:libKF5MailTransportAkonadi$secondaryArchSuffix + lib:libKF5Mime$secondaryArchSuffix + lib:libKF5Notifications$secondaryArchSuffix + lib:libKF5Service$secondaryArchSuffix + lib:libKF5Solid$secondaryArchSuffix + lib:libKF5Wallet$secondaryArchSuffix + lib:libKF5WidgetsAddons$secondaryArchSuffix + lib:libKF5WindowSystem$secondaryArchSuffix + lib:libKF5XmlGui$secondaryArchSuffix + lib:libQt5Core$secondaryArchSuffix + lib:libQt5DBus$secondaryArchSuffix + lib:libQt5Gui$secondaryArchSuffix + lib:libQt5Network$secondaryArchSuffix + lib:libQt5Widgets$secondaryArchSuffix + lib:libQt5Xml$secondaryArchSuffix + " + +PROVIDES_devel=" + akonadi_calendar${secondaryArchSuffix}_devel = $portVersion + devel:libKF5AkonadiCalendar$secondaryArchSuffix = $libVersionCompat + " +REQUIRES_devel=" + akonadi_calendar$secondaryArchSuffix == $portVersion base + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + extra_cmake_modules$secondaryArchSuffix >= 5.93.0 + devel:libGrantlee_Templates$secondaryArchSuffix + devel:libKF5AkonadiContact$secondaryArchSuffix + devel:libKF5AkonadiCore$secondaryArchSuffix + devel:libKF5AkonadiMime$secondaryArchSuffix + devel:libKF5Auth$secondaryArchSuffix + devel:libKF5Bookmarks$secondaryArchSuffix + devel:libKF5CalendarCore$secondaryArchSuffix + devel:libKF5CalendarUtils$secondaryArchSuffix + devel:libKF5Codecs$secondaryArchSuffix + devel:libKF5Completion$secondaryArchSuffix + devel:libKF5Contacts$secondaryArchSuffix + devel:libKF5ConfigCore$secondaryArchSuffix + devel:libKF5ConfigWidgets$secondaryArchSuffix + devel:libKF5CoreAddons$secondaryArchSuffix + devel:libKF5DBusAddons$secondaryArchSuffix + devel:libKF5GrantleeTheme$secondaryArchSuffix + devel:libKF5I18n$secondaryArchSuffix + devel:libKF5IconThemes$secondaryArchSuffix + devel:libKF5IdentityManagement$secondaryArchSuffix + devel:libKF5ItemModels$secondaryArchSuffix + devel:libKF5ItemViews$secondaryArchSuffix + devel:libKF5JobWidgets$secondaryArchSuffix + devel:libKF5KIOCore$secondaryArchSuffix + devel:libKF5MailTransportAkonadi$secondaryArchSuffix + devel:libKF5Mime$secondaryArchSuffix + devel:libKF5Notifications$secondaryArchSuffix + devel:libKF5NotifyConfig$secondaryArchSuffix + devel:libKF5PimTextEdit$secondaryArchSuffix + devel:libKF5Service$secondaryArchSuffix + devel:libKF5Solid$secondaryArchSuffix + devel:libKF5SonnetCore$secondaryArchSuffix + devel:libKF5TextWidgets$secondaryArchSuffix + devel:libKF5Wallet$secondaryArchSuffix + devel:libKF5WidgetsAddons$secondaryArchSuffix + devel:libKF5WindowSystem$secondaryArchSuffix + devel:libKF5XmlGui$secondaryArchSuffix + devel:libQt5Core$secondaryArchSuffix + devel:libQt5DBus$secondaryArchSuffix + devel:libQt5Gui$secondaryArchSuffix + devel:libQt5Network$secondaryArchSuffix + devel:libQt5Widgets$secondaryArchSuffix + devel:libQt5Xml$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:g++$secondaryArchSuffix + cmd:make + cmd:msgmerge + cmd:pkg_config$secondaryArchSuffix + cmd:qdbuscpp2xml$secondaryArchSuffix >= 5 + " + +PATCH() +{ + sed -e '/platforms:/ a \ \ \ \ - name: Haiku' -i $sourceDir/metainfo.yaml +} + +BUILD() +{ + cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=Release \ + $cmakeDirArgs \ + -DCMAKE_INSTALL_BINDIR=$commandBinDir \ + -DCMAKE_BUILD_TYPE=Release \ + -DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt5 \ + -DKDE_INSTALL_QMLDIR=$dataDir/Qt5/qml \ + -DECM_MKSPECS_INSTALL_DIR=$dataDir/Qt5/mkspecs \ + -DECM_DIR=/system/data/cmake/Modules/ECM/cmake + make -C build $jobArgs +} + +INSTALL() +{ + make -C build install + + prepareInstalledDevelLib \ + libKF5AkonadiCalendar + + packageEntries devel \ + $libDir/cmake \ + $dataDir/Qt5/mkspecs \ + $developDir +} diff --git a/kde-apps/akonadi-calendar/licenses/CC0 v1.0 b/kde-apps/akonadi-calendar/licenses/CC0 v1.0 new file mode 100644 index 000000000..a343ccd43 --- /dev/null +++ b/kde-apps/akonadi-calendar/licenses/CC0 v1.0 @@ -0,0 +1,119 @@ +Creative Commons Legal Code + +CC0 1.0 Universal CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES +NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE +AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION +ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE +OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS +LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION +OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer exclusive +Copyright and Related Rights (defined below) upon the creator and subsequent +owner(s) (each and all, an "owner") of an original work of authorship and/or +a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for the +purpose of contributing to a commons of creative, cultural and scientific +works ("Commons") that the public can reliably and without fear of later claims +of infringement build upon, modify, incorporate in other works, reuse and +redistribute as freely as possible in any form whatsoever and for any purposes, +including without limitation commercial purposes. These owners may contribute +to the Commons to promote the ideal of a free culture and the further production +of creative, cultural and scientific works, or to gain reputation or greater +distribution for their Work in part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any expectation +of additional consideration or compensation, the person associating CC0 with +a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright +and Related Rights in the Work, voluntarily elects to apply CC0 to the Work +and publicly distribute the Work under its terms, with knowledge of his or +her Copyright and Related Rights in the Work and the meaning and intended +legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected +by copyright and related or neighboring rights ("Copyright and Related Rights"). +Copyright and Related Rights include, but are not limited to, the following: + +i. the right to reproduce, adapt, distribute, perform, display, communicate, +and translate a Work; + + ii. moral rights retained by the original author(s) and/or performer(s); + +iii. publicity and privacy rights pertaining to a person's image or likeness +depicted in a Work; + +iv. rights protecting against unfair competition in regards to a Work, subject +to the limitations in paragraph 4(a), below; + +v. rights protecting the extraction, dissemination, use and reuse of data +in a Work; + +vi. database rights (such as those arising under Directive 96/9/EC of the +European Parliament and of the Council of 11 March 1996 on the legal protection +of databases, and under any national implementation thereof, including any +amended or successor version of such directive); and + +vii. other similar, equivalent or corresponding rights throughout the world +based on applicable law or treaty, and any national implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention of, +applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and +unconditionally waives, abandons, and surrenders all of Affirmer's Copyright +and Related Rights and associated claims and causes of action, whether now +known or unknown (including existing as well as future claims and causes of +action), in the Work (i) in all territories worldwide, (ii) for the maximum +duration provided by applicable law or treaty (including future time extensions), +(iii) in any current or future medium and for any number of copies, and (iv) +for any purpose whatsoever, including without limitation commercial, advertising +or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the +benefit of each member of the public at large and to the detriment of Affirmer's +heirs and successors, fully intending that such Waiver shall not be subject +to revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason be +judged legally invalid or ineffective under applicable law, then the Waiver +shall be preserved to the maximum extent permitted taking into account Affirmer's +express Statement of Purpose. In addition, to the extent the Waiver is so +judged Affirmer hereby grants to each affected person a royalty-free, non +transferable, non sublicensable, non exclusive, irrevocable and unconditional +license to exercise Affirmer's Copyright and Related Rights in the Work (i) +in all territories worldwide, (ii) for the maximum duration provided by applicable +law or treaty (including future time extensions), (iii) in any current or +future medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional purposes +(the "License"). The License shall be deemed effective as of the date CC0 +was applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder of +the License, and in such case Affirmer hereby affirms that he or she will +not (i) exercise any of his or her remaining Copyright and Related Rights +in the Work or (ii) assert any associated claims and causes of action with +respect to the Work, in either case contrary to Affirmer's express Statement +of Purpose. + + 4. Limitations and Disclaimers. + +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, +licensed or otherwise affected by this document. + +b. Affirmer offers the Work as-is and makes no representations or warranties +of any kind concerning the Work, express, implied, statutory or otherwise, +including without limitation warranties of title, merchantability, fitness +for a particular purpose, non infringement, or the absence of latent or other +defects, accuracy, or the present or absence of errors, whether or not discoverable, +all to the greatest extent permissible under applicable law. + +c. Affirmer disclaims responsibility for clearing rights of other persons +that may apply to the Work or any use thereof, including without limitation +any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims +responsibility for obtaining any necessary consents, permissions or other +rights required for any use of the Work. + +d. Affirmer understands and acknowledges that Creative Commons is not a party +to this document and has no duty or obligation with respect to this CC0 or +use of the Work. diff --git a/kde-apps/akonadi-calendar/patches/akonadi_calendar-22.04.3.patchset b/kde-apps/akonadi-calendar/patches/akonadi_calendar-22.04.3.patchset new file mode 100644 index 000000000..7b7543d2a --- /dev/null +++ b/kde-apps/akonadi-calendar/patches/akonadi_calendar-22.04.3.patchset @@ -0,0 +1,27 @@ +From 458fd5ea1b2e16a5d387ff1ffd6a3c89bfcf8705 Mon Sep 17 00:00:00 2001 +From: Begasus +Date: Tue, 18 Jul 2023 17:26:16 +0000 +Subject: Fix error message on launch + + +diff --git a/reminder-daemon/kalendaracmain.cpp b/reminder-daemon/kalendaracmain.cpp +index 0566c7f..6c3635e 100644 +--- a/reminder-daemon/kalendaracmain.cpp ++++ b/reminder-daemon/kalendaracmain.cpp +@@ -12,10 +12,12 @@ + + int main(int argc, char **argv) + { ++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) ++ QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); ++#endif + QGuiApplication app(argc, argv); + app.setQuitOnLastWindowClosed(false); + #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) +- QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); + app.setAttribute(Qt::AA_UseHighDpiPixmaps, true); + #endif + +-- +2.37.3 +