git: 3edfc59720f6 - main - finance/kraft: import upstream patches to deal with Akonadi renames
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 10 Sep 2023 08:45:26 UTC
The branch main has been updated by adridg: URL: https://cgit.FreeBSD.org/ports/commit/?id=3edfc59720f656a84cda06ed267fbe7f19a78210 commit 3edfc59720f656a84cda06ed267fbe7f19a78210 Author: Adriaan de Groot <adridg@FreeBSD.org> AuthorDate: 2023-09-10 08:44:36 +0000 Commit: Adriaan de Groot <adridg@FreeBSD.org> CommitDate: 2023-09-10 08:45:22 +0000 finance/kraft: import upstream patches to deal with Akonadi renames --- finance/kraft/Makefile | 2 +- ...-0001-Adopt-CMake-files-to-Akonadi-prefix-KPim5 | 119 +++++++++++++++++ ...ption-to-set-AKO_PREFIX-rather-than-an-internal | 25 ++++ .../files/patch-0003-Fix-Akonadi-legacy-detection | 47 +++++++ ...-Akonadi-version-check-for-some-renamed-compone | 147 +++++++++++++++++++++ 5 files changed, 339 insertions(+), 1 deletion(-) diff --git a/finance/kraft/Makefile b/finance/kraft/Makefile index a0b7c789b0b2..4f6e5fee4193 100644 --- a/finance/kraft/Makefile +++ b/finance/kraft/Makefile @@ -1,7 +1,7 @@ PORTNAME= kraft DISTVERSIONPREFIX= v DISTVERSION= 1.0 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= finance kde MAINTAINER= kde@FreeBSD.org diff --git a/finance/kraft/files/patch-0001-Adopt-CMake-files-to-Akonadi-prefix-KPim5 b/finance/kraft/files/patch-0001-Adopt-CMake-files-to-Akonadi-prefix-KPim5 new file mode 100644 index 000000000000..8e5b8b0640b6 --- /dev/null +++ b/finance/kraft/files/patch-0001-Adopt-CMake-files-to-Akonadi-prefix-KPim5 @@ -0,0 +1,119 @@ +From f54b317f5cd894e4063b6d4c4c3a96012c1bcb28 Mon Sep 17 00:00:00 2001 +From: Klaas Freitag <kraft@freisturz.de> +Date: Sat, 29 Apr 2023 10:37:55 +0200 +Subject: [PATCH] Adopt CMake files to Akonadi prefix KPim5 + +--- + CMakeLists.txt | 16 ++++++++++------ + src/CMakeLists.txt | 13 ++++++------- + tools/CMakeLists.txt | 6 +++--- + 3 files changed, 19 insertions(+), 16 deletions(-) + +diff --git CMakeLists.txt CMakeLists.txt +index 07e15dd..8b5374c 100644 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -8,6 +8,9 @@ find_package(ECM REQUIRED NO_MODULE) + set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules) + set(CMAKE_AUTOMOC TRUE) + ++# Akonadi Prefix: Set this to KF5 for builds with Akonadi Libs before 5.23 ++set(AKO_PREFIX "KPim5") ++ + include(KDEInstallDirs) + include(KDECMakeSettings) + include(ECMInstallIcons) +@@ -47,23 +50,23 @@ set_package_properties(Grantlee5 PROPERTIES + TYPE OPTIONAL + ) + +-find_package(KF5Akonadi) +-set_package_properties(KF5Akonadi PROPERTIES ++find_package(${AKO_PREFIX}Akonadi) ++set_package_properties(${AKO_PREFIX}Akonadi PROPERTIES + DESCRIPTION "Library for general Access to Akonadi" + URL "https://www.kde.org/" + PURPOSE "Optionally used for addressbook integration" + TYPE OPTIONAL + ) + +-find_package(KF5AkonadiContact) +-set_package_properties(KF5AkonadiContact PROPERTIES ++find_package(${AKO_PREFIX}AkonadiContact) ++set_package_properties(${AKO_PREFIX}AkonadiContact PROPERTIES + DESCRIPTION "Library for Accessing Contacts stored in Akonadi" + URL "https://www.kde.org/" + PURPOSE "Optionally used for addressbook integration" + TYPE OPTIONAL + ) + +-if(KF5Akonadi_FOUND AND KF5AkonadiContact_FOUND) ++if(${AKO_PREFIX}Akonadi_FOUND AND ${AKO_PREFIX}AkonadiContact_FOUND) + add_definitions(-DHAVE_AKONADI) + endif() + +@@ -80,7 +83,8 @@ set(QT_DEFINITIONS "${Qt5Core_DEFINITIONS} ${Qt5Gui_DEFINITIONS} ${Qt5Widgets_DE + add_definitions(${QT_DEFINITIONS} ) + + include_directories(${QT_INCLUDES} src) +-include_directories( /usr/include/KF5/AkonadiCore ) ++include_directories( /usr/include/${AKO_PREFIX}/AkonadiCore ) ++include_directories(/usr/include/${AKO_PREFIX}/) + + if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po") + ki18n_install(po) +diff --git src/CMakeLists.txt src/CMakeLists.txt +index 6eaa557..8e9b069 100644 +--- src/CMakeLists.txt ++++ src/CMakeLists.txt +@@ -1,4 +1,3 @@ +-# include_directories(${KDE4_INCLUDES} ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR} ${KDEPIMLIBS_INCLUDE_DIRS} external) + + include_directories(${QT_INCLUDES} src) + add_subdirectory(pics) +@@ -167,13 +166,13 @@ set(KRAFT_LINK_LIBS + ${CTEMPLATE_LIBRARIES} pthread + Grantlee5::Templates + ) +-if(KF5Akonadi_FOUND) ++if(${AKO_PREFIX}Akonadi_FOUND) + list(APPEND KRAFT_LINK_LIBS +- KF5::AkonadiCore +- KF5::AkonadiContact +- KF5::AkonadiAgentBase +- KF5::AkonadiWidgets +- KF5::AkonadiXml ++ ${AKO_PREFIX}::AkonadiCore ++ ${AKO_PREFIX}::AkonadiContact ++ ${AKO_PREFIX}::AkonadiAgentBase ++ ${AKO_PREFIX}::AkonadiWidgets ++ ${AKO_PREFIX}::AkonadiXml + ) + endif() + +diff --git tools/CMakeLists.txt tools/CMakeLists.txt +index 0c58c75..f005cfe 100644 +--- tools/CMakeLists.txt ++++ tools/CMakeLists.txt +@@ -8,15 +8,15 @@ set(AUTOMOC ON) + # For now there is only the Akonadi based address backend, and thus + # the findcontact tool is only built if akonadi is there. + # If there are other backends, this must be FIXED. +-if(KF5Akonadi_FOUND) ++if(${AKO_PREFIX}Akonadi_FOUND) + add_executable(${findcontact_NAME} ${FINDCONTACT_SRC}) + + target_link_libraries( ${findcontact_NAME} + Qt5::Core + Qt5::Widgets + KF5::Contacts +- KF5::AkonadiCore +- KF5::AkonadiContact ++ ${AKO_PREFIX}::AkonadiCore ++ ${AKO_PREFIX}::AkonadiContact + ) + + ########### install files ############### +-- +2.41.0 + diff --git a/finance/kraft/files/patch-0002-use-option-to-set-AKO_PREFIX-rather-than-an-internal b/finance/kraft/files/patch-0002-use-option-to-set-AKO_PREFIX-rather-than-an-internal new file mode 100644 index 000000000000..3d556a6e2196 --- /dev/null +++ b/finance/kraft/files/patch-0002-use-option-to-set-AKO_PREFIX-rather-than-an-internal @@ -0,0 +1,25 @@ +From 50e090059365ddbacfd219325095f4f6c5f4aa7b Mon Sep 17 00:00:00 2001 +From: Klaas Freitag <kraft@freisturz.de> +Date: Sat, 29 Apr 2023 22:23:27 +0200 +Subject: [PATCH] use option to set AKO_PREFIX rather than an internal variable + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git CMakeLists.txt CMakeLists.txt +index 8b5374c..f5ecc41 100644 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -9,7 +9,7 @@ set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modul + set(CMAKE_AUTOMOC TRUE) + + # Akonadi Prefix: Set this to KF5 for builds with Akonadi Libs before 5.23 +-set(AKO_PREFIX "KPim5") ++option(AKO_PREFIX "Akonadi Prefix, either KF5 or KPim5, can be set by -DAKO_PREFIX=KF5" "KPim5") + + include(KDEInstallDirs) + include(KDECMakeSettings) +-- +2.41.0 + diff --git a/finance/kraft/files/patch-0003-Fix-Akonadi-legacy-detection b/finance/kraft/files/patch-0003-Fix-Akonadi-legacy-detection new file mode 100644 index 000000000000..64e346705d25 --- /dev/null +++ b/finance/kraft/files/patch-0003-Fix-Akonadi-legacy-detection @@ -0,0 +1,47 @@ +From 66b64505bbfbc3285ba34ccacdf454720c8e0abc Mon Sep 17 00:00:00 2001 +From: Klaas Freitag <kraft@freisturz.de> +Date: Mon, 1 May 2023 14:09:09 +0200 +Subject: [PATCH] Fix Akonadi legacy detection + +--- + CMakeLists.txt | 8 +++++++- + INSTALL.md | 3 +++ + 2 files changed, 10 insertions(+), 1 deletion(-) + +diff --git CMakeLists.txt CMakeLists.txt +index f5ecc41..82b4e07 100644 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -8,8 +8,14 @@ find_package(ECM REQUIRED NO_MODULE) + set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules) + set(CMAKE_AUTOMOC TRUE) + ++option(AKONADI_LEGACY_BUILD "Build with older versions of Akonadi (KF5 Prefix)" OFF) + # Akonadi Prefix: Set this to KF5 for builds with Akonadi Libs before 5.23 +-option(AKO_PREFIX "Akonadi Prefix, either KF5 or KPim5, can be set by -DAKO_PREFIX=KF5" "KPim5") ++set(AKO_PREFIX "KPim5") ++ ++if (AKONADI_LEGACY_BUILD) ++ set(AKO_PREFIX "KF5") ++endif() ++message("Akonadi Prefix is ${AKO_PREFIX}") + + include(KDEInstallDirs) + include(KDECMakeSettings) +diff --git INSTALL.md INSTALL.md +index 1edd0ae..77d559c 100644 +--- INSTALL.md ++++ INSTALL.md +@@ -59,6 +59,9 @@ These are optional to build with Akonadi Support: + - akonadi-contact-devel + - akonadi-devel + ++To build with Akonadi versions before 23.04, cmake has to run wtih the ++build option `-DAKONADI_LEGACY_BUILD=ON` to use the old prefix KF5. ++ + ### Build Kraft + + cmake is designed so that the build process can be done in a separate +-- +2.41.0 + diff --git a/finance/kraft/files/patch-0004-Added-Akonadi-version-check-for-some-renamed-compone b/finance/kraft/files/patch-0004-Added-Akonadi-version-check-for-some-renamed-compone new file mode 100644 index 000000000000..4327b0469e5a --- /dev/null +++ b/finance/kraft/files/patch-0004-Added-Akonadi-version-check-for-some-renamed-compone @@ -0,0 +1,147 @@ +From 51563665cb6b113881e8f1efe00f3df2df48d1f5 Mon Sep 17 00:00:00 2001 +From: Klaas Freitag <kraft@freisturz.de> +Date: Tue, 29 Aug 2023 21:03:40 +0200 +Subject: [PATCH] Added Akonadi version check for some renamed components + (#210) + +* Added Akonadi version check for some renamed components + +Akonadi renamed the contact viewer and editors namespace. + +kudos to @t-8ch +--- + CMakeLists.txt | 10 +++++++++- + src/CMakeLists.txt | 1 + + src/addressselectorwidget.cpp | 20 +++++++++++++++----- + src/addressselectorwidget.h | 15 +++++++++++++-- + 4 files changed, 38 insertions(+), 8 deletions(-) + +diff --git CMakeLists.txt CMakeLists.txt +index 0f5541d..0cd73f9 100644 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -109,7 +109,15 @@ set_package_properties(${AKO_PREFIX}AkonadiContact PROPERTIES + TYPE OPTIONAL + ) + +-if(${AKO_PREFIX}Akonadi_FOUND AND ${AKO_PREFIX}AkonadiContact_FOUND) ++find_package(${AKO_PREFIX}ContactEditor) ++set_package_properties(${AKO_PREFIX}ContactEditor PROPERTIES ++ DESCRIPTION "Library for editing contacts stored in Akonadi" ++ URL "https://www.kde.org/" ++ PURPOSE "Optionally used for addressbook integration" ++ TYPE OPTIONAL ++) ++ ++if(${AKO_PREFIX}Akonadi_FOUND AND ${AKO_PREFIX}AkonadiContact_FOUND AND ${AKO_PREFIX}ContactEditor_FOUND) + add_definitions(-DHAVE_AKONADI) + endif() + +diff --git src/CMakeLists.txt src/CMakeLists.txt +index a2bc5dc..eac624d 100644 +--- src/CMakeLists.txt ++++ src/CMakeLists.txt +@@ -173,6 +173,7 @@ if(${AKO_PREFIX}Akonadi_FOUND) + list(APPEND KRAFT_LINK_LIBS + ${AKO_PREFIX}::AkonadiCore + ${AKO_PREFIX}::AkonadiContact ++ ${AKO_PREFIX}::ContactEditor + ${AKO_PREFIX}::AkonadiAgentBase + ${AKO_PREFIX}::AkonadiWidgets + ${AKO_PREFIX}::AkonadiXml +diff --git src/addressselectorwidget.cpp src/addressselectorwidget.cpp +index fd08363..1cf2317 100644 +--- src/addressselectorwidget.cpp ++++ src/addressselectorwidget.cpp +@@ -235,7 +235,11 @@ KraftContactViewer::KraftContactViewer(QWidget *parent) + lay->setMargin(0); + setLayout(lay); + #ifdef HAVE_AKONADI ++#if AKONADICONTACT_VERSION >= QT_VERSION_CHECK(5, 24, 0) ++ _contactViewer = new ContactEditor::ContactViewer; ++#else + _contactViewer = new Akonadi::ContactViewer; ++#endif + _contactViewer->setShowQRCode(false); + + lay->addWidget(_contactViewer); +@@ -372,9 +376,12 @@ bool AddressSelectorWidget::backendUp() const + void AddressSelectorWidget::slotCreateNewContact() + { + #ifdef HAVE_AKONADI +- // FIXME +-_addressEditor.reset(new Akonadi::ContactEditorDialog( Akonadi::ContactEditorDialog::CreateMode, this )); +-_addressEditor->show(); ++#if AKONADICONTACT_VERSION >= QT_VERSION_CHECK(5, 24, 0) ++ _addressEditor = new ContactEditor::ContactEditorDialog(ContactEditor::ContactEditorDialog::EditMode, this ); ++#else ++ _addressEditor = new Akonadi::ContactEditorDialog(Akonadi::ContactEditorDialog::CreateMode, this ); ++#endif ++ _addressEditor->show(); + #endif + } + +@@ -398,13 +405,16 @@ void AddressSelectorWidget::slotAddresseeSelected(QModelIndex index) + void AddressSelectorWidget::slotEditContact() + { + #ifdef HAVE_AKONADI +- + if( _addressTreeView->selectionModel()->hasSelection() ) { + QModelIndex index = _addressTreeView->selectionModel()->currentIndex(); + if ( index.isValid() ) { + const Akonadi::Item item = index.data( Akonadi::EntityTreeModel::ItemRole ).value<Akonadi::Item>(); + if ( item.isValid() && item.hasPayload<KContacts::Addressee>() ) { +- _addressEditor.reset(new Akonadi::ContactEditorDialog( Akonadi::ContactEditorDialog::EditMode, this )); ++#if AKONADICONTACT_VERSION >= QT_VERSION_CHECK(5, 24, 0) ++ _addressEditor = new ContactEditor::ContactEditorDialog(ContactEditor::ContactEditorDialog::EditMode, this ); ++#else ++ _addressEditor = new Akonadi::ContactEditorDialog(Akonadi::ContactEditorDialog::CreateMode, this ); ++#endif + _addressEditor->setContact( item ); + _addressEditor->show(); + } +diff --git src/addressselectorwidget.h src/addressselectorwidget.h +index 4c5ec3e..70d9759 100644 +--- src/addressselectorwidget.h ++++ src/addressselectorwidget.h +@@ -30,7 +30,10 @@ + #else + #define AKONADICONTACT_VERSION AKONADI_VERSION + #endif +-#if AKONADICONTACT_VERSION >= QT_VERSION_CHECK(5, 20, 0) ++#if AKONADICONTACT_VERSION >= QT_VERSION_CHECK(5, 24, 0) ++#include <AkonadiContactEditor/Akonadi/ContactViewer> ++#include <AkonadiContactEditor/Akonadi/ContactEditorDialog> ++#elif AKONADICONTACT_VERSION >= QT_VERSION_CHECK(5, 20, 0) + #include <AkonadiContact/Akonadi/ContactViewer> + #include <AkonadiContact/Akonadi/ContactEditorDialog> + #else +@@ -66,8 +69,12 @@ class KraftContactViewer : public QWidget + + private: + #ifdef HAVE_AKONADI ++#if AKONADICONTACT_VERSION >= QT_VERSION_CHECK(5, 24, 0) ++ ContactEditor::ContactViewer *_contactViewer; ++#else + Akonadi::ContactViewer *_contactViewer; + #endif ++#endif + }; + + class AddressSortProxyModel : public QSortFilterProxyModel +@@ -124,7 +131,11 @@ private: + QTreeView *_addressTreeView; + KraftContactViewer *_contactViewer; + #ifdef HAVE_AKONADI +- QScopedPointer<Akonadi::ContactEditorDialog> _addressEditor; ++#if AKONADICONTACT_VERSION >= QT_VERSION_CHECK(5, 24, 0) ++ ContactEditor::ContactEditorDialog *_addressEditor; ++#else ++ Akonadi::ContactEditorDialog *_addressEditor; ++#endif + #endif + }; + +-- +2.41.0 +