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
openSUSE Build Service is sponsored by