I got it from cmake error when I tried to build with
kde-builder/kdesrc-build:

CMake Error at CMakeLists.txt:165 (find_package):
 By not providing "FindLibAlkimia6.cmake" in CMAKE_MODULE_PATH this project
 has asked CMake to find a package configuration file provided by
 "LibAlkimia6", but CMake did not find one.

 Could not find a package configuration file provided by "LibAlkimia6"
 (requested version 8.1.72) with any of the following names:

   LibAlkimia6Config.cmake
   libalkimia6-config.cmake

 Add the installation prefix of "LibAlkimia6" to CMAKE_PREFIX_PATH or set
 "LibAlkimia6_DIR" to a directory containing one of the above files.  If
 "LibAlkimia6" provides a separate development package or SDK, be sure it
 has been installed.


I didn't look close, but it looks like it's trying to build with kf5/qt5
indeed. I have libalkimia 8.1.2 from arch packages, but I guess that's a
long way behind 8.1.72...

When I tried to build alkimia from master it fails because it can't find
Plasma when looking for KF6. Ah, that's likely because when I build things
with kde-builder it's trying to builf qt6/kf6 by default. And there doesn't
seem to be a KF6Plasma.

Here's the patch I added on alkimia to try to build it. but of course it
fails because of the KNewStuff changes (No more EntryInternal anywhere,
which alkimia is subclassing).

So I guess the way to build currently is to use Qt5/KF5 until alkimia gets
fixed up/ported to KF6?


On Tue, Sep 17, 2024 at 12:10 PM Jack Ostroff via KMyMoney-devel <
kmymoney-devel@kde.org> wrote:

> On 9/17/24 12:42 PM, Jeremy Whiting via KMyMoney-devel wrote:
>
> Hello,
>
> How does one currently build kmymoney from master branch? I've been trying
> to sort it out myself, but have hit some walls. Here are my questions.
>
> 1. KMymoney master branch depends on alkimia 6, but alkimia master branch
> seems to still be Qt5/KF5 based. Where would I get alkimia6 from?
> 2. Trying to build alkimia with some patches to find Plasma since KF6
> Plasma changed a bit it's unable to find KNSCore::EntryInternal. I imagine
> because that got deprecated in the kf5 -> kf6 transition, but I haven't
> been able to yet find a guide on porting stuff from KF5 to KF6 that
> mentions classes that got deprecated and what to use instead. Does such a
> guide exist?
>
> thanks for any pointers.
>
> BR,
> Jeremy
>
> Hopefully I'm not way off, but I believe if you build alkimia from its
> master branch, that will be fine for KMM from master.  Alkimia6 is actually
> already somewhat old (and doesn't depend on Qt/KDE6).  I think v8.1.76 is
> the latest alkimia release - preparing for 8.2, which will be required by
> KMM 5.2.  (Yes, the numbering can get confusing.)  In fact, I'd ask where
> you got that KMM requires alkimia 6?  I think it actually requires 8.1.72.
> (I've got my builds automated (Gentoo linux) so I don't know the exact
> versions being used for builds from master.
>
> Have you tried simply building alkimia from master branch against Qt5/KDE5?
>
> Jack
>
From 06cfd6350f46154106d31b7bfd95c14b22ce4cb1 Mon Sep 17 00:00:00 2001
From: Jeremy Whiting <jpwhit...@kde.org>
Date: Fri, 14 Jun 2024 10:42:23 -0600
Subject: [PATCH] WIP: Fix Qt6/KF6 build with KF6 6.1

---
 CMakeLists.txt                                  | 2 +-
 plasma/applets/ForeignCurrencies/CMakeLists.txt | 2 +-
 src/alknewstuffentry_p.h                        | 4 ++++
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index d0e5f0c..5e6be49 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -173,11 +173,11 @@ else()
         ${KF_NETWORK_COMPONENT}
         ${KF_NEWSTUFF_COMPONENT}
         IconThemes
-        ${PLASMA_COMPONENT}
         TextWidgets
         XmlGui
     )
     find_package(KF${QT_MAJOR_VERSION} ${KF_MIN_VERSION} REQUIRED COMPONENTS ${KF_PRIVATE_COMPONENTS} ${KF_PUBLIC_COMPONENTS})
+    find_package(Plasma REQUIRED COMPONENTS ${PLASMA_COMPONENT})
 
     macro(ecm_add_executable)
         add_executable(${ARGN})
diff --git a/plasma/applets/ForeignCurrencies/CMakeLists.txt b/plasma/applets/ForeignCurrencies/CMakeLists.txt
index 6589405..1cd5cfe 100644
--- a/plasma/applets/ForeignCurrencies/CMakeLists.txt
+++ b/plasma/applets/ForeignCurrencies/CMakeLists.txt
@@ -1,5 +1,5 @@
 # Locate plasma_install_package macro.
-find_package(KF${QT_MAJOR_VERSION}Plasma REQUIRED)
+find_package(Plasma REQUIRED)
 
 set(APPLET_NAME org.wincak.foreigncurrencies2)
 
diff --git a/src/alknewstuffentry_p.h b/src/alknewstuffentry_p.h
index 4c2e40b..bd5db49 100644
--- a/src/alknewstuffentry_p.h
+++ b/src/alknewstuffentry_p.h
@@ -12,11 +12,15 @@
 #include "alkdebug.h"
 #include "alknewstuffentry.h"
 
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+    #include <KNSCore/entry.h>
+#else
 #if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
 #include <knscore/entryinternal.h>
 #else
 #include <knewstuff3/entry.h>
 #endif
+#endif
 
 #if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
 ALK_EXPORT QDebug operator<<(QDebug out, const KNSCore::EntryInternal &entry);
-- 
2.46.1

Reply via email to