finance/kraft: import upstream patches to deal with Akonadi renames
This commit is contained in:
parent
1c5ba1421a
commit
3edfc59720
5 changed files with 339 additions and 1 deletions
|
@ -1,7 +1,7 @@
|
|||
PORTNAME= kraft
|
||||
DISTVERSIONPREFIX= v
|
||||
DISTVERSION= 1.0
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= finance kde
|
||||
|
||||
MAINTAINER= kde@FreeBSD.org
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
47
finance/kraft/files/patch-0003-Fix-Akonadi-legacy-detection
Normal file
47
finance/kraft/files/patch-0003-Fix-Akonadi-legacy-detection
Normal file
|
@ -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
|
||||
|
|
@ -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
|
||||
|
Loading…
Reference in a new issue