File mingw64-kmymoney5.spec of Package mingw64-kmymoney5
#
# spec file for package mingw64-kmymoney5
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define _with_kbanking 1
%define _with_weboob 0
%define _name kmymoney5
%define aq_version 6.0
%define gw_libversion 79
%define gw_version 5.1
Name: mingw64-%{_name}
Version: 5.0.2
Release: 0
Summary: A Personal Finance Manager for KF5
License: GPL-2.0 or GPL-3.0
Group: Productivity/Office/Finance
Url: https://www.kmymoney.org/
Source0: https://download.kde.org/stable/kmymoney/%{version}/src/kmymoney-%{version}.tar.xz
Source1: manage-translations
Source2: kmymoney-5.1.1.tar.xz
Patch0: 0001-Fix-bug-showing-incorrect-currency-symbol-in-smalles.patch
BuildRequires: doxygen
#BuildRequires: mingw64-akonadi-devel
BuildRequires: mingw64-aqbanking6-devel >= %{aq_version}
BuildRequires: mingw64-cross-cmake
BuildRequires: mingw64-cross-gcc-c++
BuildRequires: mingw64-cross-wine
# png2ico
BuildRequires: mingw64-cross-kdewin-tools
BuildRequires: mingw64-cross-libqt5-qmake >= 5.2.0
BuildRequires: mingw64(cmake:KChart)
BuildRequires: mingw64(cmake:KDEWin)
BuildRequires: mingw64(cmake:KF5Activities)
BuildRequires: mingw64(cmake:KF5Archive)
BuildRequires: mingw64(cmake:KF5Completion)
BuildRequires: mingw64(cmake:KF5Config)
BuildRequires: mingw64(cmake:KF5ConfigWidgets)
BuildRequires: mingw64(cmake:KF5Contacts)
BuildRequires: mingw64(cmake:KF5CoreAddons)
BuildRequires: mingw64(cmake:KF5Crash)
BuildRequires: mingw64(cmake:KF5DocTools)
BuildRequires: mingw64(cmake:KF5Holidays)
BuildRequires: mingw64(cmake:KF5I18n)
BuildRequires: mingw64(cmake:KF5IconThemes)
BuildRequires: mingw64(cmake:KF5ItemModels)
BuildRequires: mingw64(cmake:KF5ItemViews)
BuildRequires: mingw64(cmake:KF5KCMUtils)
BuildRequires: mingw64(cmake:KF5KIO)
BuildRequires: mingw64(cmake:KF5NewStuff)
BuildRequires: mingw64(cmake:KF5Notifications)
BuildRequires: mingw64(cmake:KF5Service)
BuildRequires: mingw64(cmake:KF5TextWidgets)
BuildRequires: mingw64(cmake:KF5Wallet)
BuildRequires: mingw64(cmake:KF5XmlGui)
BuildRequires: mingw64(cmake:LibAlkimia5) >= 8.1
BuildRequires: mingw64(cmake:QGpgme)
BuildRequires: mingw64(cmake:Qt5Concurrent)
BuildRequires: mingw64(cmake:Qt5Core) >= 5.15.2
BuildRequires: mingw64(cmake:Qt5DBus)
BuildRequires: mingw64(cmake:Qt5Keychain)
BuildRequires: mingw64(cmake:Qt5PrintSupport)
BuildRequires: mingw64(cmake:Qt5QuickWidgets)
BuildRequires: mingw64(cmake:Qt5Sql)
BuildRequires: mingw64(cmake:Qt5Svg)
BuildRequires: mingw64(cmake:Qt5Test)
BuildRequires: mingw64(cmake:Qt5WebKit)
BuildRequires: mingw64(cmake:Qt5Widgets)
BuildRequires: mingw64(cmake:Qt5Xml)
BuildRequires: mingw64(cmake:Python3)
BuildRequires: mingw64-gmp-devel
BuildRequires: mingw64-gwenhywfar5-devel >= %{gw_version}
BuildRequires: mingw64-libical-devel-static
BuildRequires: mingw64-libical-devel
BuildRequires: mingw64-libofx-devel
BuildRequires: mingw64-libqgpgme-devel
# FIXME should be dependency of qtbase-devel package
BuildRequires: mingw64-libqt5-qtbase-devel >= 5.2.0
BuildRequires: mingw64-libqt5-qtdeclarative-devel >= 5.2.0
BuildRequires: mingw64-libqt5-qtsvg-devel >= 5.2.0
BuildRequires: mingw64-opensp-devel
BuildRequires: mingw64-win_iconv-devel
BuildRequires: update-desktop-files
Recommends: %{name}-doc = %{version}
Recommends: %{name}-lang = %{version}
Requires: mingw64-libKChart2
Requires(post): mingw64-shared-mime-info
Requires(postun): mingw64-shared-mime-info
%_mingw64_package_header_debug
BuildArch: noarch
%description
KMyMoney is a Personal Finance Manager. It operates
similar to Quicken, supports various account types, categorization
of expenses, multiple currencies, online banking support via QIF,
OFX and HBCI, budgeting and a rich set of reports.
%package devel
Summary: Development Files for KMyMoney
Group: Development/Languages/C and C++
Requires: %{name} = %{version}
%description devel
Development files and headers need to build software using KMyMoney.
%package doc
Summary: Documentation for KMyMoney
Group: Documentation/HTML
Requires: %{name} = %{version}
%description doc
Documentation and help files for KMyMoney.
%lang_package
%_mingw64_debug_package
%prep
%autosetup -p1 -n kmymoney-%{version}
# unpack translations
sh -x %{_sourcedir}/manage-translations --unpack5 %{SOURCE2}
%build
%_mingw64_cmake_kf5 -d build -- -DPng2Ico_EXECUTABLE=/usr/bin/x86_64-w64-mingw32-png2ico -DKMM_DBUS=1 -DRUN_RESULT=0 -DRUN_RESULT__TRYRUN_OUTPUT="" -DPython3_LIBRARIES= -DPython3_INCLUDE_DIRS= -DBUILD_TESTING=1
%_mingw64_cmake_build
%check
# setup wine path
%_mingw64_cross_wine_init $PWD/build/bin
# avoid dependency to display for reports-chart-test
export QT_QPA_PLATFORM=offscreen
# run tests
%_mingw64_ctest --test-dir . || true
# show last log as --output-on-failure does not work
cat build/Testing/Temporary/LastTest.log
%install
%_mingw64_kf5_makeinstall -C build
# remove obsolete man dir
rm -rf %{buildroot}%{_mingw64_kf5_mandir}
%_mingw64_find_lang kmymoney || true
%suse_update_desktop_file org.kde.kmymoney
%files
%defattr(-,root,root,-)
%{_mingw64_kf5_sharedir}/mime/packages/x-kmymoney.xml
%{_mingw64_kf5_applicationsdir}/org.kde.kmymoney.desktop
%if %{?_with_kbanking}
# %%{_mingw64_kf5_appsdir}/kbanking/
%endif
%{_mingw64_kf5_appsdir}/kmymoney/
%if %{?_with_weboob}
%{_mingw64_kf5_appsdir}/weboob/
%endif
%{_mingw64_kf5_bindir}/kmymoney.exe
%{_mingw64_kf5_configkcfgdir}/
%{_mingw64_kf5_bindir}/lib*.dll
%dir %{_mingw64_kf5_plugindir}/kmymoney_plugins
%{_mingw64_kf5_plugindir}/kmymoney_plugins/*.dll
%dir %{_mingw64_kf5_plugindir}/kmymoney_plugins/kcms
%{_mingw64_kf5_plugindir}/kmymoney_plugins/kcms/*.dll
%{_mingw64_kf5_appstreamdir}/
%{_mingw64_kf5_iconsdir}
%{_mingw64_kf5_sharedir}/checkprinting/
%{_mingw64_kf5_sharedir}/kconf_update/
# %%{_mingw64_kf5_kxmlguidir}/
%files devel
%defattr(-,root,root,-)
%{_mingw64_kf5_prefix}/include/kmymoney/
%{_mingw64_kf5_libdir}/lib*.dll.a
%files lang -f kmymoney.lang
%defattr(-,root,root,-)
%dir %{_mingw64_kf5_localedir}/ko
%dir %{_mingw64_kf5_localedir}/ko/LC_SCRIPTS
%{_mingw64_kf5_localedir}/ko/LC_SCRIPTS/kmymoney.js
%files doc
%defattr(-,root,root,-)
%{_mingw64_kf5_htmldir}
%changelog