From e1e1aa3136347b58bb27928433429affa87f86c275140246727a8d9f9331b527 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 12 Aug 2020 08:27:12 +0000 Subject: [PATCH] Accepting request 825299 from GNOME:Apps - Update to 4.1 + New gnucash-cli executable for command line interactions + Improvements for business documents layout + When deleting accounts the destination accounts of moved splits will be checked to ensure that they have the same commodity as the source account. If they don't you'll get a warning and the opportunity to pick another account or to carry on regardless. + New type-ahead search added to sequential search when selecting an account in the register: Instead of typing the first few characters of a top level account, the separator, the first few characters of the next level account and so on you may instead type a few characters of any part of a full account name and the drop-list will be filtered to contain only matching accounts. Once you have a small enough list you can use the arrow keys to select the account that you want. + Python bindings are now localized and their strings available for translation. + A new Transaction Association dialog, available from the Update Association for Transaction menu item that has replaced the two association items in 3.x, allows setting, changing, and deleting associations. + Allow Associations to be added to invoices. The actual association when present is added as a link button which is shown below the notes. + A symbol is now displayed on transactions in the register when they have an attachment and the selected font supports the symbol. This does not work on MacOS, which will continue to use a letter. + The OFX file importer can now import more than one file at a time. + A new report menu supbmenu Multicolumn contains the old custom-multicolumn report and a new Dashboard report containing Account reports for expenses and income, an income-expense chart, and an account summary. + Support for UK VAT and Australian GST added to the Income-GST report. The reports options are changed from source accounts to source sales and purchase accounts to permit proper reporting of capital purchases. N.B. This is incompatible with previous versions of the report and will require regenerating saved configurations. + The matcher window columns are changed from R to C and from U+R to U+C, reflecting that the matcher marks transactions cleared but doesn't reconcile them. (Bug 797338) + OFX imports having balance information will now offer to immediately reconcile, passing the balance information in the file to the reconcile info. + Improve quickfill in the account pickers to filter the choices based on any part of the name. + The GnuCash widget hierarchy for CSS has been revised to be more consistent with Gtk practice. You may need to spend some time with the GtkInspector to get your custom CSS back the way you like it. + When creating a new account hierarchy it's now possible to load account templates from locales other than the one set for the user interface. (Bug 797472) + New Account - Online Account match list to the Import Map Editor. + New invalid maps dialog in the Import Map Editor. (Bug 797612) + Optionally include the account code option in budget view. + Account matcher will decline to match accounts with a different commodity from the imported split if the import information includes the commodity. + Ellipsize the Description and Memo fields in the account matcher. + Enable adding notes to budgets. (Bug 693180) + Support for AQBanking Version 6. This is required to support new FinTS protocols for the European Payment Services Directive (PSD2). + GnuCash 4.x will not migrate old gconf settings from GnuCash 2.4.x. + Reversing transactions will now pop a dialog box to request a posting date. (Bug 782455) + The Accounts page has a new optional column for the hidden property to make it easier to toggle it. Note that in order to see hidden accounts you must still enable that in the Filter by... dialog. (Bug 797486) + The Customer, Vendor, and Employee overviews have a process-payment toolbar. (Bug 797605). + Account codes may now optionally be displayed in the Budget Tree View. (Bug 797489). - Add gnucash-4.1-fix-gtest-path.patch to cope with file layout for gtest/gmock in openSUSE - Upgrade to 3.10 + Update latest translation from the Translation project. + [window-reconcile] when reconciling, warn on splits having a reconcile date > statement_date + [window-reconcile] when inputing statement_date, warn if it's after today + [find-transactions] add search for reconciled date + Show transaction value, not amount, for registers with subaccounts. + Add instance argument to Session constructor + Enables a python console to connect to the running GnuCash's session. + Make python console less noisy without --debug. + Provide locals and globals of calling context to the python console's shell on shell init + Merge Jean Laroche's '797006_subaccounts' into maint. + Add check to display warning dialog for mismatched commodities + Replicate changes in *2 files + Apply astyle to modified files + Merge Chris Mayo's iPython-fixes into maint. + Make pycons/ishell.py compatible with Python 3 and current IPython + [eguile-utilities] Prevent crash in balsheet-eg.scm + [eguile] escape-html -> gnc:html-string-sanitize + [qif-to-gnc] Properly mark intra-QIF internal transfers. + Bugfixes (forwarded request 824967 from j-engel) OBS-URL: https://build.opensuse.org/request/show/825299 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gnucash?expand=0&rev=86 --- gnucash-3.9.tar.bz2 | 3 - gnucash-4.1-fix-gtest-path.patch | 52 +++++++++++++++ gnucash-4.1.tar.bz2 | 3 + gnucash-libm.patch | 21 +++--- gnucash.changes | 109 +++++++++++++++++++++++++++++++ gnucash.spec | 41 ++++++++---- 6 files changed, 203 insertions(+), 26 deletions(-) delete mode 100644 gnucash-3.9.tar.bz2 create mode 100644 gnucash-4.1-fix-gtest-path.patch create mode 100644 gnucash-4.1.tar.bz2 diff --git a/gnucash-3.9.tar.bz2 b/gnucash-3.9.tar.bz2 deleted file mode 100644 index 71ee3ad..0000000 --- a/gnucash-3.9.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8d02dddc7cbc9d7324f4b577825dffffb8c4c938746701407e7b04bd647eb9ff -size 14174108 diff --git a/gnucash-4.1-fix-gtest-path.patch b/gnucash-4.1-fix-gtest-path.patch new file mode 100644 index 0000000..462b101 --- /dev/null +++ b/gnucash-4.1-fix-gtest-path.patch @@ -0,0 +1,52 @@ +--- gnucash-4.1/common/cmake_modules/GncAddTest.cmake.orig 2020-08-02 21:15:33.177983850 +0200 ++++ gnucash-4.1/common/cmake_modules/GncAddTest.cmake 2020-08-08 10:13:40.567411650 +0200 +@@ -130,13 +130,17 @@ function(gnc_gtest_configure) + unset(GTEST_SRC_DIR CACHE) + if (GTEST_ROOT) + find_path(GTEST_SRC_DIR src/gtest-all.cc NO_CMAKE_SYSTEM_PATH +- PATHS ${GTEST_ROOT}/googletest) ++ PATHS ${GTEST_ROOT}) + endif() + if (GTEST_SRC_DIR) +- if (EXISTS ${GTEST_SRC_DIR}/include/gtest/gtest.h) +- set(GTEST_INCLUDE_DIR ${GTEST_SRC_DIR}/include CACHE PATH "" FORCE) ++ if (EXISTS ${GTEST_SRC_DIR}/googletest/include/gtest/gtest.h) ++ set(GTEST_INCLUDE_DIR ${GTEST_SRC_DIR}/googletest/include CACHE PATH "" FORCE) + else() +- message(FATAL_ERROR "GTEST sources found, but it doesn't have 'gtest/gtest.h'") ++ if (EXISTS ${GTEST_SRC_DIR}/gtest.h) ++ set(GTEST_INCLUDE_DIR ${GTEST_SRC_DIR} CACHE PATH "" FORCE) ++ else() ++ message(FATAL_ERROR "GTEST sources found, but it doesn't have 'gtest/gtest.h'") ++ endif() + endif() + else() + if (GTEST_ROOT) +@@ -168,15 +172,24 @@ function(gnc_gtest_configure) + + message(STATUS "Checking for GMOCK") + unset(GMOCK_SRC_DIR CACHE) +- if (GTEST_ROOT) ++ if (GMOCK_ROOT) + find_path(GMOCK_SRC_DIR src/gmock-all.cc NO_CMAKE_SYSTEM_PATH +- PATHS ${GTEST_ROOT}/googlemock) ++ PATHS ${GMOCK_ROOT}) ++ else() ++ if (GTEST_ROOT) ++ find_path(GMOCK_SRC_DIR src/gmock-all.cc NO_CMAKE_SYSTEM_PATH ++ PATHS ${GTEST_ROOT}/googlemock) ++ endif() + endif() + if (GMOCK_SRC_DIR) + if (EXISTS ${GMOCK_SRC_DIR}/include/gmock/gmock.h) + set(GMOCK_INCLUDE_DIR ${GMOCK_SRC_DIR}/include CACHE PATH "" FORCE) + else() +- message(FATAL_ERROR "GMOCK sources found, but it doesn't have 'gmock/gmock.h'") ++ if (EXISTS ${GMOCK_SRC_DIR}/gmock.h) ++ set(GMOCK_INCLUDE_DIR ${GMOCK_SRC_DIR} CACHE PATH "" FORCE) ++ else() ++ message(FATAL_ERROR "GMOCK sources found, but it doesn't have 'gmock/gmock.h'") ++ endif() + endif() + else() + if (GTEST_ROOT) diff --git a/gnucash-4.1.tar.bz2 b/gnucash-4.1.tar.bz2 new file mode 100644 index 0000000..7ae20db --- /dev/null +++ b/gnucash-4.1.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a40fc37122e1466c8085ad2be914f0687a111065f15c5d952faede78802225aa +size 13994973 diff --git a/gnucash-libm.patch b/gnucash-libm.patch index 01d9c2b..4c2b449 100644 --- a/gnucash-libm.patch +++ b/gnucash-libm.patch @@ -1,13 +1,10 @@ -Index: gnucash-3.8/libgnucash/app-utils/CMakeLists.txt -=================================================================== ---- gnucash-3.8.orig/libgnucash/app-utils/CMakeLists.txt -+++ gnucash-3.8/libgnucash/app-utils/CMakeLists.txt -@@ -78,7 +78,7 @@ set (app_utils_SOURCES - set_source_files_properties (${app_utils_SOURCES} PROPERTIES OBJECT_DEPENDS ${CONFIG_H}) - - set(app_utils_ALL_SOURCES ${app_utils_SOURCES} ${app_utils_HEADERS} ${app_utils_noinst_HEADERS}) --set(app_utils_ALL_LIBRARIES gncmod-engine gnc-module ${GIO_LDFLAGS} ${LIBXML2_LDFLAGS} ${LIBXSLT_LDFLAGS}) -+set(app_utils_ALL_LIBRARIES gncmod-engine gnc-module ${GIO_LDFLAGS} ${LIBXML2_LDFLAGS} ${LIBXSLT_LDFLAGS} -lm) - set(app_utils_ALL_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/calculation ${GIO_INCLUDE_DIRS} ${LIBXML2_INCLUDE_DIRS} - ${LIBXSLT_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR}/libgnucash/backend ${CMAKE_SOURCE_DIR}/libgnucash/engine) +--- gnucash-4.1/libgnucash/app-utils/CMakeLists.txt.orig 2020-08-02 23:12:50.335306666 +0200 ++++ gnucash-4.1/libgnucash/app-utils/CMakeLists.txt 2020-08-02 23:13:12.071450498 +0200 +@@ -88,6 +88,7 @@ set(app_utils_ALL_LIBRARIES + ${LIBXML2_LDFLAGS} + ${LIBXSLT_LDFLAGS} + ${STANDARD_MATH_LIBRARY} ++ -lm + ) + set(app_utils_ALL_INCLUDES diff --git a/gnucash.changes b/gnucash.changes index bf6b4ff..3bed8ff 100644 --- a/gnucash.changes +++ b/gnucash.changes @@ -1,3 +1,112 @@ +------------------------------------------------------------------- +Sun Aug 2 18:26:26 UTC 2020 - Johannes Engel + +- Update to 4.1 + + New gnucash-cli executable for command line interactions + + Improvements for business documents layout + + When deleting accounts the destination accounts of moved splits + will be checked to ensure that they have the same commodity as + the source account. If they don't you'll get a warning and the + opportunity to pick another account or to carry on regardless. + + New type-ahead search added to sequential search when selecting + an account in the register: Instead of typing the first few + characters of a top level account, the separator, the first few + characters of the next level account and so on you may instead + type a few characters of any part of a full account name and the + drop-list will be filtered to contain only matching accounts. + Once you have a small enough list you can use the arrow keys to + select the account that you want. + + Python bindings are now localized and their strings available for + translation. + + A new Transaction Association dialog, available from the Update + Association for Transaction menu item that has replaced the two + association items in 3.x, allows setting, changing, and deleting + associations. + + Allow Associations to be added to invoices. The actual + association when present is added as a link button which is shown + below the notes. + + A symbol is now displayed on transactions in the register when + they have an attachment and the selected font supports the + symbol. This does not work on MacOS, which will continue to use + a letter. + + The OFX file importer can now import more than one file at a time. + + A new report menu supbmenu Multicolumn contains the old + custom-multicolumn report and a new Dashboard report containing + Account reports for expenses and income, an income-expense chart, + and an account summary. + + Support for UK VAT and Australian GST added to the Income-GST + report. The reports options are changed from source accounts to + source sales and purchase accounts to permit proper reporting of + capital purchases. N.B. This is incompatible with previous versions + of the report and will require regenerating saved configurations. + + The matcher window columns are changed from R to C and from U+R + to U+C, reflecting that the matcher marks transactions cleared but + doesn't reconcile them. (Bug 797338) + + OFX imports having balance information will now offer to immediately + reconcile, passing the balance information in the file to the + reconcile info. + + Improve quickfill in the account pickers to filter the choices + based on any part of the name. + + The GnuCash widget hierarchy for CSS has been revised to be more + consistent with Gtk practice. You may need to spend some time with + the GtkInspector to get your custom CSS back the way you like it. + + When creating a new account hierarchy it's now possible to load + account templates from locales other than the one set for the user + interface. (Bug 797472) + + New Account - Online Account match list to the Import Map Editor. + + New invalid maps dialog in the Import Map Editor. (Bug 797612) + + Optionally include the account code option in budget view. + + Account matcher will decline to match accounts with a different + commodity from the imported split if the import information includes + the commodity. + + Ellipsize the Description and Memo fields in the account matcher. + + Enable adding notes to budgets. (Bug 693180) + + Support for AQBanking Version 6. This is required to support new + FinTS protocols for the European Payment Services Directive (PSD2). + + GnuCash 4.x will not migrate old gconf settings from GnuCash 2.4.x. + + Reversing transactions will now pop a dialog box to request a + posting date. (Bug 782455) + + The Accounts page has a new optional column for the hidden + property to make it easier to toggle it. Note that in order + to see hidden accounts you must still enable that in the + Filter by... dialog. (Bug 797486) + + The Customer, Vendor, and Employee overviews have a + process-payment toolbar. (Bug 797605). + + Account codes may now optionally be displayed in the Budget + Tree View. (Bug 797489). +- Add gnucash-4.1-fix-gtest-path.patch to cope with file layout + for gtest/gmock in openSUSE + +------------------------------------------------------------------- +Sat May 30 19:18:12 UTC 2020 - Johannes Engel + +- Upgrade to 3.10 + + Update latest translation from the Translation project. + + [window-reconcile] when reconciling, warn on splits having a + reconcile date > statement_date + + [window-reconcile] when inputing statement_date, warn if it's + after today + + [find-transactions] add search for reconciled date + + Show transaction value, not amount, for registers with + subaccounts. + + Add instance argument to Session constructor + + Enables a python console to connect to the running GnuCash's + session. + + Make python console less noisy without --debug. + + Provide locals and globals of calling context to the python + console's shell on shell init + + Merge Jean Laroche's '797006_subaccounts' into maint. + + Add check to display warning dialog for mismatched commodities + + Replicate changes in *2 files + + Apply astyle to modified files + + Merge Chris Mayo's iPython-fixes into maint. + + Make pycons/ishell.py compatible with Python 3 and current + IPython + + [eguile-utilities] Prevent crash in balsheet-eg.scm + + [eguile] escape-html -> gnc:html-string-sanitize + + [qif-to-gnc] Properly mark intra-QIF internal transfers. + + Bugfixes + ------------------------------------------------------------------- Wed Apr 8 08:48:23 UTC 2020 - Paolo Stivanin diff --git a/gnucash.spec b/gnucash.spec index 88da9cd..e5f2231 100644 --- a/gnucash.spec +++ b/gnucash.spec @@ -18,8 +18,17 @@ %define __builder ninja +# Define used guile version +%if 0%{?suse_version} > 1500 +%define guile_version 3.0 +%else +%if 0%{?sle_version} == 150200 +%define guile_version 2.0 +%endif +%endif + Name: gnucash -Version: 3.9 +Version: 4.1 Release: 0 Summary: Personal Finance Manager License: SUSE-GPL-2.0-with-openssl-exception OR SUSE-GPL-3.0-with-openssl-exception @@ -32,31 +41,35 @@ Source1: %{name}-rpmlintrc Patch0: gnucash-cpan-warning.patch # PATCH-FIX-UPSTREAM gnucash-libm.patch gh#gnucash/gnucash#632 dimstar@opensuse.org -- Link libm: gnucash uses e.g. log10 without explicitly requesting libm Patch1: gnucash-libm.patch +Patch2: gnucash-4.1-fix-gtest-path.patch +BuildRequires: boost-devel >= 1.60.0 BuildRequires: cmake >= 3.5 BuildRequires: doxygen BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: gmock >= 1.8.0 BuildRequires: gtest >= 1.8.0 -BuildRequires: guile-devel < 3.0 -BuildRequires: libboost_date_time-devel >= 1.54.0 -BuildRequires: libboost_filesystem-devel >= 1.54.0 -BuildRequires: libboost_headers-devel >= 1.54.0 -BuildRequires: libboost_locale-devel >= 1.54.0 -BuildRequires: libboost_regex-devel >= 1.54.0 -BuildRequires: libboost_system-devel >= 1.54.0 +BuildRequires: guile-devel +BuildRequires: libboost_date_time-devel >= 1.60.0 +BuildRequires: libboost_filesystem-devel >= 1.60.0 +BuildRequires: libboost_headers-devel >= 1.60.0 +BuildRequires: libboost_locale-devel >= 1.60.0 +BuildRequires: libboost_program_options-devel >= 1.60.0 +BuildRequires: libboost_regex-devel >= 1.60.0 +BuildRequires: libboost_system-devel >= 1.60.0 BuildRequires: libdbi-drivers-dbd-sqlite3 BuildRequires: makeinfo BuildRequires: ninja BuildRequires: pkgconfig BuildRequires: python3-devel +BuildRequires: swig >= 3.0.12 BuildRequires: xsltproc -BuildRequires: pkgconfig(aqbanking) >= 4.0.0 +BuildRequires: pkgconfig(aqbanking) >= 6.0.0 BuildRequires: pkgconfig(dbi) >= 0.8.3 BuildRequires: pkgconfig(gdk-pixbuf-2.0) BuildRequires: pkgconfig(gio-2.0) -BuildRequires: pkgconfig(glib-2.0) >= 2.40 +BuildRequires: pkgconfig(glib-2.0) >= 2.56.1 BuildRequires: pkgconfig(gmodule-2.0) >= 2.40 BuildRequires: pkgconfig(gnome-keyring-1) >= 0.6 BuildRequires: pkgconfig(gobject-2.0) >= 2.40 @@ -138,7 +151,6 @@ a personal finance manager. %fdupes %{buildroot}%{_libdir} %fdupes %{buildroot}%{_datadir} # Remove MS-Windows-related files and auto-installed LICENSE file -rm %{buildroot}%{_docdir}/%{name}/README*win32-bin.txt rm %{buildroot}%{_docdir}/%{name}/LICENSE %post -p /sbin/ldconfig @@ -148,6 +160,7 @@ rm %{buildroot}%{_docdir}/%{name}/LICENSE %license LICENSE %{_bindir}/gnc-fq-* %{_bindir}/gnucash +%{_bindir}/gnucash-cli %{_bindir}/gnucash-valgrind %dir %{_datadir}/metainfo %{_datadir}/metainfo/gnucash.appdata.xml @@ -156,9 +169,15 @@ rm %{buildroot}%{_docdir}/%{name}/LICENSE %{_datadir}/gnucash/ %{_datadir}/icons/hicolor/*/apps/gnucash-icon.png %{_datadir}/icons/hicolor/scalable/apps/gnucash-icon.svg +%dir %{_datadir}/guile/site/%{guile_version} +%{_datadir}/guile/site/%{guile_version}/gnucash +%{_datadir}/guile/site/%{guile_version}/tests %doc %{_docdir}/%{name} %{_libdir}/*.so %{_libdir}/gnucash +%dir %{_libdir}/guile/%{guile_version}/site-ccache +%{_libdir}/guile/%{guile_version}/site-ccache/gnucash +%{_libdir}/guile/%{guile_version}/site-ccache/tests %{_mandir}/man?/*%{?ext_man} %dir %{_sysconfdir}/gnucash %config %{_sysconfdir}/gnucash/environment