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