kmymoney, bump to 5.2.0, switch to Qt6 (#12521)

Enable 32bit
This commit is contained in:
Schrijvers Luc
2025-06-22 17:34:47 +02:00
committed by GitHub
parent f338de2228
commit 5236daf004
3 changed files with 238 additions and 205 deletions

View File

@@ -1,198 +0,0 @@
SUMMARY="Personal finance manager based on KDE Frameworks"
DESCRIPTION="KMyMoney is a cross-platform personal finance manager build on KDE frameworks \
technologies for your desktop and notebook environment. It enables users to keep careful track of \
their personal finances by providing a broad array of financial features and tools."
HOMEPAGE="https://kmymoney.org/"
COPYRIGHT="2010-2023 KDE Organisation"
LICENSE="GNU GPL v2"
REVISION="3"
SOURCE_URI="https://download.kde.org/stable/kmymoney/$portVersion/src/kmymoney-$portVersion.tar.xz"
CHECKSUM_SHA256="3938b8078b7391ba32e12bb4239762fae134683a0c2ec1a75105c302ca3e5e3f"
PATCHES="kmymoney-$portVersion.patchset"
ADDITIONAL_FILES="kmymoney.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="!x86"
libVersion="$portVersion"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
kmymoney$secondaryArchSuffix = $portVersion
app:KMyMoney = $portVersion
lib:libkmm_csvimportercore$secondaryArchSuffix = $libVersionCompat
lib:libkmm_icons$secondaryArchSuffix = $libVersionCompat
lib:libkmm_menus$secondaryArchSuffix = $libVersionCompat
lib:libkmm_models$secondaryArchSuffix = $libVersionCompat
lib:libkmm_mymoney$secondaryArchSuffix = $libVersionCompat
lib:libkmm_payeeidentifier$secondaryArchSuffix = $libVersionCompat
lib:libkmm_plugin$secondaryArchSuffix = $libVersionCompat
lib:libkmm_printer$secondaryArchSuffix = $libVersionCompat
lib:libkmm_settings$secondaryArchSuffix = $libVersionCompat
lib:libkmm_widgets$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libgmp$secondaryArchSuffix
lib:libalkimia5$secondaryArchSuffix
lib:libKF5Activities$secondaryArchSuffix
lib:libKF5Codecs$secondaryArchSuffix
lib:libKF5Contacts$secondaryArchSuffix
lib:libKF5Completion$secondaryArchSuffix
lib:libKF5ConfigCore$secondaryArchSuffix
lib:libKF5ConfigWidgets$secondaryArchSuffix
lib:libKF5CoreAddons$secondaryArchSuffix
lib:libKF5Holidays$secondaryArchSuffix
lib:libKF5I18n$secondaryArchSuffix
lib:libKF5KCMutils$secondaryArchSuffix
lib:libKF5Notifications$secondaryArchSuffix
lib:libKF5ItemViews$secondaryArchSuffix
lib:libKF5KIOCore$secondaryArchSuffix
lib:libKF5JobWidgets$secondaryArchSuffix
lib:libKF5Service$secondaryArchSuffix
lib:libKF5SonnetCore$secondaryArchSuffix
lib:libKF5WebKit$secondaryArchSuffix
lib:libKF5WidgetsAddons$secondaryArchSuffix
lib:libKF5TextWidgets$secondaryArchSuffix
lib:libKF5XmlGui$secondaryArchSuffix
lib:libKPim5AkonadiCore$secondaryArchSuffix
lib:libKPim5IdentityManagement$secondaryArchSuffix
lib:libsqlcipher$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5WebKitWidgets$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
"
PROVIDES_devel="
kmymoney${secondaryArchSuffix}_devel = $portVersion
devel:libkmm_csvimportercore$secondaryArchSuffix = $libVersionCompat
devel:libkmm_icons$secondaryArchSuffix = $libVersionCompat
devel:libkmm_menus$secondaryArchSuffix = $libVersionCompat
devel:libkmm_models$secondaryArchSuffix = $libVersionCompat
devel:libkmm_mymoney$secondaryArchSuffix = $libVersionCompat
devel:libkmm_payeeidentifier$secondaryArchSuffix = $libVersionCompat
devel:libkmm_plugin$secondaryArchSuffix = $libVersionCompat
devel:libkmm_printer$secondaryArchSuffix = $libVersionCompat
devel:libkmm_settings$secondaryArchSuffix = $libVersionCompat
devel:libkmm_widgets$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
kmymoney$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
extra_cmake_modules$secondaryArchSuffix >= 5.93.0
devel:libalkimia5$secondaryArchSuffix
devel:libgpgmepp$secondaryArchSuffix
devel:libgmp$secondaryArchSuffix
devel:libical$secondaryArchSuffix
devel:libKChart$secondaryArchSuffix
devel:libKF5Activities$secondaryArchSuffix
devel:libKF5Auth$secondaryArchSuffix
devel:libKF5Archive$secondaryArchSuffix
devel:libKF5Bookmarks$secondaryArchSuffix
devel:libKF5Codecs$secondaryArchSuffix
devel:libKF5Contacts$secondaryArchSuffix
devel:libKF5Completion$secondaryArchSuffix
devel:libKF5ConfigCore$secondaryArchSuffix
devel:libKF5ConfigWidgets$secondaryArchSuffix
devel:libKF5CoreAddons$secondaryArchSuffix
devel:libKF5Holidays$secondaryArchSuffix
devel:libKF5I18n$secondaryArchSuffix
devel:libKF5IconThemes$secondaryArchSuffix
devel:libKF5ItemModels$secondaryArchSuffix
devel:libKF5ItemViews$secondaryArchSuffix
devel:libKF5JobWidgets$secondaryArchSuffix
devel:libKF5KIOCore$secondaryArchSuffix
devel:libKF5KCMutils$secondaryArchSuffix
devel:libKF5Notifications$secondaryArchSuffix
devel:libKF5Service$secondaryArchSuffix
devel:libKF5Solid$secondaryArchSuffix
devel:libKF5SonnetCore$secondaryArchSuffix
devel:libKF5TextWidgets$secondaryArchSuffix
devel:libKF5WebKit$secondaryArchSuffix
devel:libKF5WidgetsAddons$secondaryArchSuffix
devel:libKF5Wallet$secondaryArchSuffix
devel:libKF5WindowSystem$secondaryArchSuffix
devel:libKF5XmlGui$secondaryArchSuffix
devel:libKPim5AkonadiCore$secondaryArchSuffix
devel:libKPim5IdentityManagement$secondaryArchSuffix
devel:libKPim5TextEdit$secondaryArchSuffix
devel:libsqlcipher$secondaryArchSuffix
devel:libQt5Core$secondaryArchSuffix
devel:libQt5DBus$secondaryArchSuffix
devel:libQt5WebEngineWidgets$secondaryArchSuffix
devel:libQt5WebKitWidgets$secondaryArchSuffix
devel:libQt5Widgets$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:g++$secondaryArchSuffix
cmd:make
cmd:msgfmt
cmd:msgmerge
cmd:pkg_config$secondaryArchSuffix
# cmd:python3 # build failure
cmd:qdbuscpp2xml$secondaryArchSuffix >= 5
"
BUILD()
{
cmake -Bbuild -S. $cmakeDirArgs \
-DCMAKE_BUILD_TYPE=Release \
-DKDE_INSTALL_BINDIR=$appsDir \
-DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt5 \
-DECM_DIR=/system/data/cmake/Modules/ECM/cmake \
-DFETCH_TRANSLATIONS=ON \
-DBUILD_TESTING=OFF -Wno-dev
make -C build $jobArgs
}
INSTALL()
{
make -C build install
rm -rf $dataDir/mime/{aliases,generic-icons,globs,globs2,icons,magic}
rm -rf $dataDir/mime/{mime.cache,subclasses,treemagic,types,version,XMLnamespaces}
mv $appsDir/kmymoney $appsDir/KMyMoney
# we are not linux
rm -rf $dataDir/{application,icons,metainfo}
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local APP_NAME="KMyMoney"
local LONG_INFO="$SUMMARY"
local APP_SIGNATURE="application/x-vnd.kmymoney"
sed \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
-e "s|@APP_NAME@|$APP_NAME|" \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
$portDir/additional-files/kmymoney.rdef.in > kmymoney.rdef
addResourcesToBinaries kmymoney.rdef $appsDir/KMyMoney
addAppDeskbarSymlink $appsDir/KMyMoney
prepareInstalledDevelLibs \
libkmm_csvimportercore \
libkmm_icons \
libkmm_menus \
libkmm_models \
libkmm_mymoney \
libkmm_payeeidentifier \
libkmm_plugin \
libkmm_printer \
libkmm_settings \
libkmm_widgets
packageEntries devel \
$developDir
}

View File

@@ -0,0 +1,232 @@
SUMMARY="Personal finance manager based on KDE Frameworks"
DESCRIPTION="KMyMoney is a cross-platform personal finance manager build on KDE frameworks \
technologies for your desktop and notebook environment. It enables users to keep careful track of \
their personal finances by providing a broad array of financial features and tools."
HOMEPAGE="https://kmymoney.org/"
COPYRIGHT="2010-2025 KDE Organisation"
LICENSE="GNU GPL v2"
REVISION="1"
SOURCE_URI="https://download.kde.org/stable/kmymoney/$portVersion/kmymoney-$portVersion.tar.xz"
CHECKSUM_SHA256="f308b0a2297f22f43d9bbe46b4c7dc6aac08bd594454e635a844d06abda4d33c"
PATCHES="kmymoney-$portVersion.patchset"
ADDITIONAL_FILES="kmymoney.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="$portVersion"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
kmymoney$secondaryArchSuffix = $portVersion
app:KMyMoney = $portVersion
lib:libkmm_base_dialogs$secondaryArchSuffix = $libVersionCompat
lib:libkmm_base_widgets$secondaryArchSuffix = $libVersionCompat
lib:libkmm_csvimportercore$secondaryArchSuffix = $libVersionCompat
lib:libkmm_extended_dialogs$secondaryArchSuffix = $libVersionCompat
lib:libkmm_gpgfile$secondaryArchSuffix = $libVersionCompat
lib:libkmm_keychain$secondaryArchSuffix = $libVersionCompat
lib:libkmm_icons$secondaryArchSuffix = $libVersionCompat
lib:libkmm_menuactionexchanger$secondaryArchSuffix = $libVersionCompat
lib:libkmm_menus$secondaryArchSuffix = $libVersionCompat
lib:libkmm_models$secondaryArchSuffix = $libVersionCompat
lib:libkmm_mymoney$secondaryArchSuffix = $libVersionCompat
lib:libkmm_payeeidentifier$secondaryArchSuffix = $libVersionCompat
lib:libkmm_plugin$secondaryArchSuffix = $libVersionCompat
lib:libkmm_printer$secondaryArchSuffix = $libVersionCompat
lib:libkmm_selections$secondaryArchSuffix = $libVersionCompat
lib:libkmm_settings$secondaryArchSuffix = $libVersionCompat
lib:libkmm_templates$secondaryArchSuffix = $libVersionCompat
lib:libkmm_webconnect$secondaryArchSuffix = $libVersionCompat
lib:libkmm_widgets$secondaryArchSuffix = $libVersionCompat
lib:libkmm_wizard$secondaryArchSuffix = $libVersionCompat
lib:libkmm_yesno$secondaryArchSuffix = $libVersionCompat
lib:libonlinetask_interfaces$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libalkimia6$secondaryArchSuffix
lib:libgpgmepp$secondaryArchSuffix
lib:libgmp$secondaryArchSuffix
lib:libical$secondaryArchSuffix
lib:libKChart6$secondaryArchSuffix
lib:libqt6keychain$secondaryArchSuffix
lib:libsqlcipher$secondaryArchSuffix
# KF6
lib:libKF6ColorScheme$secondaryArchSuffix
lib:libKF6Completion$secondaryArchSuffix
lib:libKF6ConfigCore$secondaryArchSuffix
lib:libKF6ConfigWidgets$secondaryArchSuffix
lib:libKF6CoreAddons$secondaryArchSuffix
lib:libKF6Holidays$secondaryArchSuffix
lib:libKF6I18n$secondaryArchSuffix
lib:libKF6KCMutils$secondaryArchSuffix
lib:libKF6ItemViews$secondaryArchSuffix
lib:libKF6KIOCore$secondaryArchSuffix
lib:libKF6ItemModels$secondaryArchSuffix
lib:libKF6JobWidgets$secondaryArchSuffix
lib:libKF6SonnetUi$secondaryArchSuffix
lib:libKF6WidgetsAddons$secondaryArchSuffix
lib:libKF6TextWidgets$secondaryArchSuffix
lib:libKF6XmlGui$secondaryArchSuffix
# Qt6
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Core5Compat$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Widgets$secondaryArchSuffix
"
PROVIDES_devel="
kmymoney${secondaryArchSuffix}_devel = $portVersion
devel:libkmm_base_dialogs$secondaryArchSuffix = $libVersionCompat
devel:libkmm_base_widgets$secondaryArchSuffix = $libVersionCompat
devel:libkmm_csvimportercore$secondaryArchSuffix = $libVersionCompat
devel:libkmm_extended_dialogs$secondaryArchSuffix = $libVersionCompat
devel:libkmm_gpgfile$secondaryArchSuffix = $libVersionCompat
devel:libkmm_keychain$secondaryArchSuffix = $libVersionCompat
devel:libkmm_icons$secondaryArchSuffix = $libVersionCompat
devel:libkmm_menuactionexchanger$secondaryArchSuffix = $libVersionCompat
devel:libkmm_menus$secondaryArchSuffix = $libVersionCompat
devel:libkmm_models$secondaryArchSuffix = $libVersionCompat
devel:libkmm_mymoney$secondaryArchSuffix = $libVersionCompat
devel:libkmm_payeeidentifier$secondaryArchSuffix = $libVersionCompat
devel:libkmm_plugin$secondaryArchSuffix = $libVersionCompat
devel:libkmm_printer$secondaryArchSuffix = $libVersionCompat
devel:libkmm_selections$secondaryArchSuffix = $libVersionCompat
devel:libkmm_settings$secondaryArchSuffix = $libVersionCompat
devel:libkmm_templates$secondaryArchSuffix = $libVersionCompat
devel:libkmm_webconnect$secondaryArchSuffix = $libVersionCompat
devel:libkmm_widgets$secondaryArchSuffix = $libVersionCompat
devel:libkmm_wizard$secondaryArchSuffix = $libVersionCompat
devel:libkmm_yesno$secondaryArchSuffix = $libVersionCompat
devel:libonlinetask_interfaces$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
kmymoney$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libalkimia6$secondaryArchSuffix
devel:libgpgmepp$secondaryArchSuffix
devel:libqgpgmeqt6$secondaryArchSuffix
devel:libgmp$secondaryArchSuffix
devel:libical$secondaryArchSuffix
devel:libKChart6$secondaryArchSuffix
devel:libqt6keychain$secondaryArchSuffix
devel:libsqlcipher$secondaryArchSuffix
# KF6
extra_cmake_modules$secondaryArchSuffix
devel:libKF6Archive$secondaryArchSuffix
devel:libKF6Contacts$secondaryArchSuffix
devel:libKF6Completion$secondaryArchSuffix
devel:libKF6ConfigCore$secondaryArchSuffix
devel:libKF6ConfigWidgets$secondaryArchSuffix
devel:libKF6CoreAddons$secondaryArchSuffix
devel:libKF6Holidays$secondaryArchSuffix
devel:libKF6I18n$secondaryArchSuffix
devel:libKF6ItemModels$secondaryArchSuffix
devel:libKF6ItemViews$secondaryArchSuffix
devel:libKF6KIOCore$secondaryArchSuffix
devel:libKF6KCMutils$secondaryArchSuffix
devel:libKF6Notifications$secondaryArchSuffix
devel:libKF6Service$secondaryArchSuffix
devel:libKF6TextWidgets$secondaryArchSuffix
devel:libKF6XmlGui$secondaryArchSuffix
# Qt6
devel:libQt6Core$secondaryArchSuffix
devel:libQt6Core5Compat$secondaryArchSuffix
devel:libQt6Svg$secondaryArchSuffix
devel:libQt6QuickWidgets$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:g++$secondaryArchSuffix
cmd:make
cmd:msgfmt$secondaryArchSuffix
cmd:msgmerge$secondaryArchSuffix
cmd:pkg_config$secondaryArchSuffix
cmd:python3.10
"
TEST_REQUIRES="
qthaikuplugins$secondaryArchSuffix
"
BUILD()
{
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \
$cmakeDirArgs \
-DKDE_INSTALL_BINDIR=$appsDir \
-DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt6 \
-DECM_DIR=/system/data/cmake/Modules/ECM/cmake \
-DBUILD_WITH_QT6=ON \
-DBUILD_TESTING=OFF \
-Wno-dev
make -C build $jobArgs
}
INSTALL()
{
make -C build install
rm -rf $dataDir/mime/{aliases,generic-icons,globs,globs2,icons,magic}
rm -rf $dataDir/mime/{mime.cache,subclasses,treemagic,types,version,XMLnamespaces}
mv $appsDir/kmymoney $appsDir/KMyMoney
# we are not linux
rm -rf $dataDir/{applications,icons,metainfo}
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local APP_NAME="KMyMoney"
local LONG_INFO="$SUMMARY"
local APP_SIGNATURE="application/x-kmymoney"
sed \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
-e "s|@APP_NAME@|$APP_NAME|" \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
$portDir/additional-files/kmymoney.rdef.in > kmymoney.rdef
addResourcesToBinaries kmymoney.rdef $appsDir/KMyMoney
addAppDeskbarSymlink $appsDir/KMyMoney
prepareInstalledDevelLibs \
libkmm_base_dialogs \
libkmm_base_widgets \
libkmm_csvimportercore \
libkmm_extended_dialogs \
libkmm_gpgfile \
libkmm_keychain \
libkmm_icons \
libkmm_menuactionexchanger \
libkmm_menus \
libkmm_models \
libkmm_mymoney \
libkmm_payeeidentifier \
libkmm_plugin \
libkmm_printer \
libkmm_selections \
libkmm_settings \
libkmm_templates \
libkmm_webconnect \
libkmm_widgets \
libkmm_wizard \
libkmm_yesno \
libonlinetask_interfaces
packageEntries devel \
$developDir
}
TEST()
{
ctest --test-dir build --output-on-failure
}

View File

@@ -1,27 +1,26 @@
From b9daa9d0188570ad0997f34b8203eb70f93cf5f5 Mon Sep 17 00:00:00 2001
From f679cd10fdc7e8ed38dee7b30e96e86fb27321e2 Mon Sep 17 00:00:00 2001
From: Begasus <begasus@gmail.com>
Date: Sat, 25 Nov 2023 11:29:01 +0100
Subject: Silense deprecated warnings
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9b49d5c..fd06f0c 100644
index 4345b4b..f3b3904 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -469,6 +469,13 @@ option(USE_QT_DESIGNER
add_feature_info("QtDesigner" USE_QT_DESIGNER "Qt-Designer library support (for devs only).")
@@ -510,6 +510,12 @@ option(KMM_I18N_GENERATION
"Generate i18n messages and documentation (default=ON)" ON)
add_feature_info("Internationalization" KMM_I18N_GENERATION "Generation of i18n files (messages and docs)")
+################# disable deprecated warnings #################
+
+if (HAIKU)
+ add_definitions(-Wno-deprecated-declarations) # TODO too much spam for now
+endif()
+
+
######################### The Actual Targets ##########################
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
--
2.42.1
2.48.1