%bcond_without dbi # don't build SQL support (via libdbi)
%bcond_without webkit # disable WebKit, use GtkHTML
#
+%define guile_version 2.2
+#
Summary: GnuCash is an application to keep track of your finances
Summary(ja.UTF-8): GnuCash - 家計簿ソフト
Summary(pl.UTF-8): GnuCash - aplikacja do zarządzania twoimi finansami
Summary(pt_BR.UTF-8): O GnuCash é uma aplicação para acompanhamento de suas finanças
Summary(zh_CN.UTF-8): GnuCash - 您的个人财务管理软件
Name: gnucash
-Version: 3.11
+Version: 4.8
Release: 1
License: GPL v2+
Group: X11/Applications
Source0: https://sourceforge.net/projects/gnucash/files/gnucash%20%28stable%29/%{version}/%{name}-%{version}.tar.bz2
-# Source0-md5: 391f07eb0934618154d9e9c7d717d8e6
-Source1: %{name}-icon.png
-Source2: %{name}.sh
-Patch0: lto.patch
+# Source0-md5: bd8254441065ea53018999c7ffef7878
+Patch0: 285017793d2c0c9f5a8d52b3db42944480e3f557.patch
URL: http://www.gnucash.org/
-BuildRequires: GConf2-devel >= 2.0
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: gettext-tools
-BuildRequires: glib2-devel >= 1:2.13.0
-BuildRequires: gtk+2-devel >= 2:2.11.0
-BuildRequires: gtkhtml-devel >= 3.16
-BuildRequires: guile-devel >= 5:1.8.2-2
-BuildRequires: guile-www
-BuildRequires: gwenhywfar-gtk-devel
-BuildRequires: intltool
-BuildRequires: libglade2-devel >= 2.4
-BuildRequires: libgnome-devel >= 2.19.0
-BuildRequires: libgnomeprint-devel >= 2.2
-BuildRequires: libgnomeprintui-devel >= 2.2
-BuildRequires: libgnomeui-devel >= 2.4
-BuildRequires: libgoffice08-devel
-BuildRequires: libltdl-devel
-BuildRequires: libofx-devel >= 0.7.0
-BuildRequires: libtool
-BuildRequires: libxml2-devel >= 1:2.5.10
-BuildRequires: pango-devel >= 1.8.0
+BuildRequires: boost-devel >= 1.60.0
+BuildRequires: cmake >= 3.5
+BuildRequires: doxygen
+BuildRequires: gdk-pixbuf2-devel
+BuildRequires: glib2-devel >= 2.56.1
+BuildRequires: gmock-devel >= 1.8.0
+BuildRequires: gtest-devel >= 1.8.0
+BuildRequires: gtk+3-devel >= 3.10.0
+BuildRequires: guile-devel
+BuildRequires: libatomic_ops-devel
+BuildRequires: libglade2-devel
+BuildRequires: libgnome-keyring-devel >= 0.6
+BuildRequires: libicu-devel
+BuildRequires: libofx-devel >= 0.9.0
+BuildRequires: libsecret-devel >= 0.18
+BuildRequires: libxml2-devel >= 2.7.0
+BuildRequires: libxslt-devel
+BuildRequires: libxslt-progs
+BuildRequires: ninja
BuildRequires: pkgconfig
-BuildRequires: popt-devel >= 1.5
-BuildRequires: readline-devel
-BuildRequires: rpm-perlprov
-BuildRequires: sed >= 4.0
-BuildRequires: slib >= 2c4
-BuildRequires: texinfo
-BuildRequires: zlib-devel
+BuildRequires: python3-devel
+BuildRequires: swig >= 3.0.12
+BuildRequires: swig-guile
%if %{with dbi}
-BuildRequires: libdbi-devel
+BuildRequires: libdbi-devel >= 0.8.3
+BuildRequires: libdbi-drivers-sqlite3
%endif
%if %{with hbci}
-BuildRequires: aqbanking-devel >= 3.8.1
-BuildRequires: gwenhywfar-devel >= 3.6.0
+BuildRequires: aqbanking-devel >= 6.0.0
+BuildRequires: gwenhywfar-devel >= 3.99.20
+BuildRequires: gwenhywfar-gui-gtk3-devel >= 3.99.20
BuildRequires: ktoblzcheck-devel >= 1.20
%endif
%if %{with webkit}
-BuildRequires: gtk-webkit-devel >= 1.0
+BuildRequires: gtk-webkit4-devel
%endif
Requires(post,preun): /sbin/ldconfig
-Requires: guile >= 5:1.8.2-2
-Requires: guile-www
-Requires: dconf
+Recommends: %{name}-docs
+# For translation of currency names
+Recommends: iso-codes
+Recommends: python3-gnucash = %{version}
+# Optional perl modules for online price retrieval
+Recommends: perl(Date::Manip)
+Recommends: perl(Finance::Quote)
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _noautostrip .*\\.go
suporte de princípios de contabilidade com entrada dupla para garantir
livros balanceados.
+%package -n python3-gnucash
+Summary: Python bindings for GnuCash
+Summary(pl.UTF-8): Wiązania Pythona 3.x dla GnuCash
+Group: Development/Languages/Python
+Requires: %{name} = %{version}
+
+%description -n python3-gnucash
+This package provides the Python 3 bindings for development of
+GnuCash, a personal finance manager.
+
+%description -n python3-gnucash -l pt_BR.UTF-8
+Ten pakiet zawiera powiązania Pythona 3 do programowania GnuCash,
+menedżera finansów osobistych.
+
%package devel
Summary: Header files for GnuCash libraries
Summary(pl.UTF-8): Pliki nagłówkowe bibliotek GnuCash
%prep
%setup -q
-
%patch0 -p1
%build
install -d build
cd build
-#CFLAGS="$CFLAGS -DGLIB_DISABLE_DEPRECATION_WARNINGS" \
%cmake \
-DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/%{name} \
+ -DWITH_PYTHON=ON \
../
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_pixmapsdir}
cd build
-%{__make} install -j1 \
- DESTDIR=$RPM_BUILD_ROOT \
- gnomeappdir=%{_desktopdir}
-
-cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_pixmapsdir}
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
cd ..
-rm -rf $RPM_BUILD_ROOT/usr/share/locale/{kok@latin,mni@bengali}
-rm $RPM_BUILD_ROOT/%{_datadir}/glib-2.0/schemas/gschemas.compiled
+rm -rf $RPM_BUILD_ROOT%{_localedir}/{kok@latin,mni@bengali}
+rm $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas/gschemas.compiled
%find_lang %{name}
-# --with-gnome
-
-listfiles() {
- echo "%%defattr(644,root,root,755)" > "$1.files"
- find "${RPM_BUILD_ROOT}$2" -name "$3" -printf '%%h\n' | sort | uniq | \
- awk -v "pref=${RPM_BUILD_ROOT}$2/" \
- '$0 ~ pref {sub(pref,"",$1); n=split($1,A,"/"); s=""; for (i=1;i<=n;i++) { s=s "/" A[i]; B[s]=1;};}
- END {for (i in B) print i}' | \
- sort | while read d
- do
- echo "%%dir $2$d" >> "$1.files"
- done
- for f in `find "${RPM_BUILD_ROOT}$2" -name "$3" -printf '%%P '`; do
- echo "$2/$f" >> "$1.files"
- done
- cd "$oldd"
- unset oldd
-}
-
-listfiles scm "%{_datadir}/%{name}/scm" "*.scm"
-listfiles scmcache "%{_libdir}/%{name}/scm/ccache" "*.go"
-listfiles icons "%{_datadir}/%{name}/icons" "*.png"
-
-cat scm.files scmcache.files icons.files >> %{name}.lang
%clean
rm -rf $RPM_BUILD_ROOT
%post
/sbin/ldconfig
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
-%glib_compile_schemas
-
-%preun
+%update_icon_cache hicolor
%postun
/sbin/ldconfig
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
-if [ "$1" = "0" ]; then
- %glib_compile_schemas
-fi
+%update_icon_cache hicolor
%files -f %{name}.lang
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/gnc-fq-helper
%attr(755,root,root) %{_bindir}/gnc-fq-update
%attr(755,root,root) %{_bindir}/gnucash
+%attr(755,root,root) %{_bindir}/gnucash-cli
%attr(755,root,root) %{_bindir}/gnucash-valgrind
%attr(755,root,root) %{_libdir}/lib*.so
%dir %{_libdir}/%{name}
%attr(755,root,root) %{_libdir}/%{name}/*.so*
+%dir %{_libdir}/guile/%{guile_version}/site-ccache
+%{_libdir}/guile/%{guile_version}/site-ccache/%{name}
%{_desktopdir}/gnucash.desktop
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/accounts
%{_docdir}/%{name}/ChangeLog.2017
%{_docdir}/%{name}/ChangeLog.2018
%{_docdir}/%{name}/ChangeLog.2019
+%{_docdir}/%{name}/ChangeLog.2020
%{_docdir}/%{name}/DOCUMENTERS
%{_docdir}/%{name}/HACKING
%{_docdir}/%{name}/LICENSE
%{_docdir}/%{name}/swipe.qif
%{_docdir}/%{name}/taxreport.%{name}
%{_docdir}/%{name}/web.qif
-%{_datadir}/glib-2.0/schemas/org.gnucash.dialogs.business.gschema.xml
-%{_datadir}/glib-2.0/schemas/org.gnucash.dialogs.checkprinting.gschema.xml
-%{_datadir}/glib-2.0/schemas/org.gnucash.dialogs.commodities.gschema.xml
-%{_datadir}/glib-2.0/schemas/org.gnucash.dialogs.export.csv.gschema.xml
-%{_datadir}/glib-2.0/schemas/org.gnucash.dialogs.gschema.xml
-%{_datadir}/glib-2.0/schemas/org.gnucash.dialogs.import.csv.gschema.xml
-%{_datadir}/glib-2.0/schemas/org.gnucash.dialogs.import.generic.gschema.xml
-%{_datadir}/glib-2.0/schemas/org.gnucash.dialogs.import.hbci.gschema.xml
-%{_datadir}/glib-2.0/schemas/org.gnucash.dialogs.import.ofx.gschema.xml
-%{_datadir}/glib-2.0/schemas/org.gnucash.dialogs.import.qif.gschema.xml
-%{_datadir}/glib-2.0/schemas/org.gnucash.dialogs.reconcile.gschema.xml
-%{_datadir}/glib-2.0/schemas/org.gnucash.dialogs.sxs.gschema.xml
-%{_datadir}/glib-2.0/schemas/org.gnucash.dialogs.totd.gschema.xml
-%{_datadir}/glib-2.0/schemas/org.gnucash.general.finance-quote.gschema.xml
-%{_datadir}/glib-2.0/schemas/org.gnucash.gschema.xml
-%{_datadir}/glib-2.0/schemas/org.gnucash.history.gschema.xml
-%{_datadir}/glib-2.0/schemas/org.gnucash.warnings.gschema.xml
-%{_datadir}/glib-2.0/schemas/org.gnucash.window.pages.account.tree.gschema.xml
-%{_datadir}/glib-2.0/schemas/org.gnucash.window.pages.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnucash.GnuCash.deprecated.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.business.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.checkprinting.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.commodities.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.export.csv.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.flicker.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.import.csv.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.import.generic.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.import.hbci.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.import.ofx.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.import.qif.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.reconcile.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.sxs.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.totd.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnucash.GnuCash.general.finance-quote.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnucash.GnuCash.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnucash.GnuCash.history.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnucash.GnuCash.warnings.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnucash.GnuCash.window.pages.account.tree.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnucash.GnuCash.window.pages.gschema.xml
%dir %{_datadir}/%{name}/icons
+%{_datadir}/%{name}/icons/hicolor
%dir %{_datadir}/%{name}/gtkbuilder
%{_datadir}/%{name}/gtkbuilder/*.glade
-%dir %{_datadir}/%{name}/jqplot/
-%{_datadir}/%{name}/jqplot/jqplot.BezierCurveRenderer.js
-%{_datadir}/%{name}/jqplot/jqplot.barRenderer.js
-%{_datadir}/%{name}/jqplot/jqplot.blockRenderer.js
-%{_datadir}/%{name}/jqplot/jqplot.bubbleRenderer.js
-%{_datadir}/%{name}/jqplot/jqplot.canvasAxisLabelRenderer.js
-%{_datadir}/%{name}/jqplot/jqplot.canvasAxisTickRenderer.js
-%{_datadir}/%{name}/jqplot/jqplot.canvasTextRenderer.js
-%{_datadir}/%{name}/jqplot/jqplot.categoryAxisRenderer.js
-%{_datadir}/%{name}/jqplot/jqplot.ciParser.js
-%{_datadir}/%{name}/jqplot/jqplot.cursor.js
-%{_datadir}/%{name}/jqplot/jqplot.dateAxisRenderer.js
-%{_datadir}/%{name}/jqplot/jqplot.donutRenderer.js
-%{_datadir}/%{name}/jqplot/jqplot.dragable.js
-%{_datadir}/%{name}/jqplot/jqplot.enhancedLegendRenderer.js
-%{_datadir}/%{name}/jqplot/jqplot.funnelRenderer.js
-%{_datadir}/%{name}/jqplot/jqplot.highlighter.js
-%{_datadir}/%{name}/jqplot/jqplot.json2.js
-%{_datadir}/%{name}/jqplot/jqplot.logAxisRenderer.js
-%{_datadir}/%{name}/jqplot/jqplot.mekkoAxisRenderer.js
-%{_datadir}/%{name}/jqplot/jqplot.mekkoRenderer.js
-%{_datadir}/%{name}/jqplot/jqplot.meterGaugeRenderer.js
-%{_datadir}/%{name}/jqplot/jqplot.ohlcRenderer.js
-%{_datadir}/%{name}/jqplot/jqplot.pieRenderer.js
-%{_datadir}/%{name}/jqplot/jqplot.pointLabels.js
-%{_datadir}/%{name}/jqplot/jqplot.trendline.js
-%{_datadir}/%{name}/jqplot/jquery.jqplot.css
-%{_datadir}/%{name}/jqplot/jquery.jqplot.js
-%{_datadir}/%{name}/jqplot/jquery.min.js
-%{_datadir}/%{name}/pixmaps
+%dir %{_datadir}/%{name}/chartjs
+%{_datadir}/%{name}/chartjs/*.js
%{_datadir}/%{name}/tip_of_the_day.list
%{_datadir}/%{name}/ui
-%{_datadir}/%{name}/make-prefs-migration-script.xsl
+%{_datadir}/%{name}/pixmaps
%{_datadir}/metainfo/gnucash.appdata.xml
%{_datadir}/%{name}/migratable-prefs.xml
-%dir %{_datadir}/%{name}/scm
-%{_datadir}/%{name}/scm/gnucash/report/*.css
-%dir %{_libdir}/%{name}/scm
-%dir %{_libdir}/%{name}/scm/ccache
+%dir %{_datadir}/guile/site/%{guile_version}
+%{_datadir}/guile/site/%{guile_version}/%{name}
%{_mandir}/man1/gnc-fq-dump.1*
%{_mandir}/man1/gnc-fq-helper.1*
-
%{_mandir}/man1/gnucash.1*
-%{_pixmapsdir}/*
+%{_mandir}/man1/gnucash-cli.1*
%{_iconsdir}/hicolor/*/apps/*
+%files -n python3-gnucash
+%defattr(644,root,root,755)
+%{_datadir}/gnucash/python
+%dir %{py3_sitedir}/gnucash
+%{py3_sitedir}/gnucash
+
%files devel
%defattr(644,root,root,755)
%{_includedir}/%{name}