kmymoney, add KF5 version (#12609)

This commit is contained in:
Schrijvers Luc
2025-07-20 16:50:22 +02:00
committed by GitHub
parent ee67ddc519
commit ced4964c33

View File

@@ -0,0 +1,246 @@
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/kmymoney-$portVersion.tar.xz"
CHECKSUM_SHA256="f308b0a2297f22f43d9bbe46b4c7dc6aac08bd594454e635a844d06abda4d33c"
SOURCE_DIR="kmymoney-$portVersion"
PATCHES="kmymoney-$portVersion.patchset
8c4b84f290e50e62fbf90a61df8c701140a42715.patch"
ADDITIONAL_FILES="kmymoney.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="!x86"
libVersion="$portVersion"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
kmymoney_kf5$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:libgmp$secondaryArchSuffix
lib:libgpgmepp$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:libKF5ItemModels$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:libqt5keychain$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5WebKitWidgets$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
"
CONFLICTS="
kmymoney$secondaryArchSuffix
"
PROVIDES_devel="
kmymoney_kf5${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_kf5$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
extra_cmake_modules$secondaryArchSuffix
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:libqgpgme$secondaryArchSuffix
devel:libQt5Core$secondaryArchSuffix
devel:libQt5DBus$secondaryArchSuffix
devel:libqt5keychain$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 -B build -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}
rm -rf $dataDir/applications
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_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
}