summaryrefslogtreecommitdiff
path: root/finance/kraft
diff options
context:
space:
mode:
authorAdriaan de Groot <adridg@FreeBSD.org>2023-09-10 10:44:36 +0200
committerAdriaan de Groot <adridg@FreeBSD.org>2023-09-10 10:45:22 +0200
commit3edfc59720f656a84cda06ed267fbe7f19a78210 (patch)
tree28a9a9df04991145d24b0992fa294d4a8338540a /finance/kraft
parentmultimedia/emby-server: regen distinfo (diff)
finance/kraft: import upstream patches to deal with Akonadi renames
Diffstat (limited to 'finance/kraft')
-rw-r--r--finance/kraft/Makefile2
-rw-r--r--finance/kraft/files/patch-0001-Adopt-CMake-files-to-Akonadi-prefix-KPim5119
-rw-r--r--finance/kraft/files/patch-0002-use-option-to-set-AKO_PREFIX-rather-than-an-internal25
-rw-r--r--finance/kraft/files/patch-0003-Fix-Akonadi-legacy-detection47
-rw-r--r--finance/kraft/files/patch-0004-Added-Akonadi-version-check-for-some-renamed-compone147
5 files changed, 339 insertions, 1 deletions
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
+