- Update to 5.8

+ Edit account to make it sub account under other account
- Update to 5.7
  + Bugfixes
  + Save the Scheduled Transactions number of months
  + Save the Scheduled Transaction divider position
  + Move to blank transaction
  + AutoComplete Only Considers Visible Transactions
  + Reports calculating net worth incorrectly after stock split
  + Failed import QIF investment
  + option account selector fails to include appropriate hidden accounts.
  + Cannot write a check over $1000
  + Crashes when pasting a copied transaction
  + Import Matcher (CSV) does not compute correctly the share amount based on
    security price
  + Deleting a transaction may trigger a crash
  + Invoice register context menu issue
  + Shortcut Ctrl-G does not work in the General Journal register for the
    default date value
  + Nullpointer exception in gnc_quote_source_s
  + Crash when there is more than one unknown quote source for commodities
  + Import Multi-split CSV can duplicate 'Notes' field from one transaction to
    next
  + GNUCash Immediately Exits on Startup
  + Invalid free in gvalue_from_kvp_value()
  + GnuCash re-opens to incorrect account window if there are transient tabs
    present when closed.
  + Stock Assistant closes with its New Account dialog
  + RFE: Add Document Link for Payments to Owner Report
- Drop gnucash-fix-qif-import.patch: merged upstream

OBS-URL: https://build.opensuse.org/package/show/Office/gnucash?expand=0&rev=46
This commit is contained in:
Johannes Engel 2024-07-27 13:40:06 +00:00 committed by Git OBS Bridge
commit c3a80bdff1
11 changed files with 3311 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -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)

3
gnucash-5.6.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b4b42c626350f3e79f7ca1f2173545cc63ddee1addf2460b1a1f22221bf21bd1
size 15110621

3
gnucash-5.8.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a2c823fb700b9d4598692ec81394959bde388d8ef191efe4ea2c02426bb52593
size 14998331

View File

@ -0,0 +1,45 @@
Index: libgnucash/quotes/gnc-fq-update.in
===================================================================
--- a/libgnucash/quotes/gnc-fq-update.in
+++ b/libgnucash/quotes/gnc-fq-update.in
@@ -24,11 +24,39 @@
use strict;
use CPAN;
+print "\n";
+print "WARNING: This program updates several Perl packages to untested latest\n";
+print "versions from CPAN. It could potentially cause unexpected failures\n";
+print "in any program or future upgrade problems.\n";
+print "\n";
+print "It is strongly recommended NOT TO USE this program and report possible\n";
+print "problems with parsing of stock quotes to http://bugzilla.novell.com/\n";
+print "\n";
+print "Please use the Perl packages provided by the distribution instead!\n";
+print "\n\n";
+
+print "Do you want to continue? (y/n) ";
+
+my $input = <STDIN>;
+chomp ($input);
+
+exit 0 if ($input ne "y");
+print "\n\n";
+print "It invalidates your system certification!\n";
+print "\n";
+print "Are you absolutely sure? Do you prefer to abort now? (y/n) ";
+
+my $input = <STDIN>;
+chomp ($input);
+
+exit 0 if ($input ne "n");
+
+
if ($( != 0) {
print "\n";
print "You probably need to be root before running gnc-fq-update.";
print "\n\n";
- print "Are you sure, you want to update parts of your Perl library? (y/n) ";
+ print "Are you sure, you want to update parts of your Perl library (RECONSIDER - Last warning!)? (y/n) ";
my $input = <STDIN>;
chomp ($input);

View File

@ -0,0 +1,32 @@
See https://github.com/Gnucash/gnucash/commit/b33b864c2fa0ba72d1940465e7fa962dd36833c9
--- gnucash-5.6/gnucash/import-export/qif-imp/qif-to-gnc.scm.orig 2024-04-02 23:12:50.335306666 +0200
+++ gnucash-5.6/gnucash/import-export/qif-imp/qif-to-gnc.scm 2024-04-01 23:13:12.071450498 +0200
@@ -596,13 +596,6 @@
(else
(apply xaccTransSetDate gnc-xtn (qif-xtn:date qif-xtn))))
- (unless qif-action
- (qif-import:log progress-dialog "qif-import:qif-xtn-to-gnc-xtn"
- (format #f (G_ "Missing QIF investment action for transaction dated ~a.")
- (qof-print-date (qif-date-to-time64 qif-date))))
- (throw 'missing-action "qif-import:qif-xtn-to-gnc-xtn" "Missing investment action."
- #f #f))
-
;; fixme: bug #105
(if qif-payee
(xaccTransSetDescription gnc-xtn qif-payee))
@@ -743,6 +736,13 @@
(if (not num-shares) (set! num-shares (gnc-numeric-zero)))
+ (unless qif-action
+ (qif-import:log progress-dialog "qif-import:qif-xtn-to-gnc-xtn"
+ (format #f (G_ "Missing QIF investment action for transaction dated ~a.")
+ (qof-print-date (qif-date-to-time64 qif-date))))
+ (throw 'missing-action "qif-import:qif-xtn-to-gnc-xtn" "Missing investment action."
+ #f #f))
+
;; Determine the extended price of all shares without commission.
(if xtn-amt
;; Adjust for commission (if any).

10
gnucash-libm.patch Normal file
View File

@ -0,0 +1,10 @@
--- 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

7
gnucash-rpmlintrc Normal file
View File

@ -0,0 +1,7 @@
# This line is mandatory to access the configuration functions
from Config import *
addFilter("gnucash.* devel-file-in-non-devel-package .*/usr/lib.*\.so")
addFilter("gnucash.* non-executable-script .*/usr/share/gnucash/python/pycons/.*\.py")
# Splitting the shared libs is not desired at the moment
addFilter("gnucash.* shlib-policy-missing-suffix")

2911
gnucash.changes Normal file

File diff suppressed because it is too large Load Diff

224
gnucash.spec Normal file
View File

@ -0,0 +1,224 @@
#
# spec file for package gnucash
#
# Copyright (c) 2024 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#
%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
%if 0%{?suse_version} > 1600
%bcond_without python
%else
%bcond_with python
%endif
Name: gnucash
Version: 5.8
Release: 0
Summary: Personal Finance Manager
License: SUSE-GPL-2.0-with-openssl-exception OR SUSE-GPL-3.0-with-openssl-exception
Group: Productivity/Office/Finance
URL: http://www.gnucash.org/
Source: https://github.com/Gnucash/gnucash/releases/download/%{version}/%{name}-%{version}.tar.bz2
Source1: %{name}-rpmlintrc
## Cpan-warning patch must always be applied.
# PATCH-FIX-UPSTREAM gnucash-cpan-warning.patch -- Add a warning about the danger of using gnc-fq-update to update the perl modules used by GnuCash.
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: cmake >= 3.14
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: gcc-c++
%if 0%{?suse_version} == 1500
BuildRequires: gcc13-PIE
BuildRequires: gcc13-c++
%endif
BuildRequires: gmock >= 1.8.0
BuildRequires: gtest >= 1.8.0
BuildRequires: guile-devel
BuildRequires: libboost_date_time-devel-impl >= 1.67.0
BuildRequires: libboost_filesystem-devel-impl >= 1.67.0
BuildRequires: libboost_headers-devel-impl >= 1.67.0
BuildRequires: libboost_locale-devel-impl >= 1.67.0
BuildRequires: libboost_program_options-devel-impl >= 1.67.0
BuildRequires: libboost_regex-devel-impl >= 1.67.0
BuildRequires: libboost_system-devel-impl >= 1.67.0
BuildRequires: libdbi-drivers-dbd-sqlite3
BuildRequires: libicu-devel
BuildRequires: makeinfo
BuildRequires: ninja
BuildRequires: pkgconfig
%if %{with python}
BuildRequires: python3-devel >= 3.8
%endif
BuildRequires: swig >= 3.0.12
BuildRequires: xsltproc
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.56.1
BuildRequires: pkgconfig(gmodule-2.0) >= 2.40
BuildRequires: pkgconfig(gnome-keyring-1) >= 0.6
BuildRequires: pkgconfig(gobject-2.0) >= 2.40
BuildRequires: pkgconfig(gthread-2.0) >= 2.40
BuildRequires: pkgconfig(gtk+-3.0) >= 3.22.29
BuildRequires: pkgconfig(gwenhywfar) >= 3.99.20
BuildRequires: pkgconfig(icu-i18n)
BuildRequires: pkgconfig(icu-uc)
BuildRequires: pkgconfig(ktoblzcheck)
BuildRequires: pkgconfig(libglade-2.0)
BuildRequires: pkgconfig(libofx) >= 0.9.0
BuildRequires: pkgconfig(libsecret-1) >= 0.18
BuildRequires: pkgconfig(libxml-2.0) >= 2.9.4
BuildRequires: pkgconfig(libxslt)
BuildRequires: pkgconfig(webkit2gtk-4.1)
Recommends: %{name}-docs
# For translation of currency names
Recommends: iso-codes
%if %{with python}
Recommends: python3-gnucash = %{version}
%endif
# Optional perl modules for online price retrieval
Recommends: perl(Date::Manip)
Recommends: yelp
Recommends: perl(Finance::Quote)
BuildRequires: pkgconfig(gwengui-gtk3)
%description
GnuCash is a personal finance manager. A check book-like register GUI
allows you to enter and track bank accounts, stocks, income, and even
currency trades.
Feature Highlights:
* Double-Entry Accounting;
* Stock/Bond/Mutual Fund Accounts;
* Small-Business Accounting;
* Reports, Graphs;
* QIF/OFX/HBCI Import, Transaction Matching;
* Scheduled Transactions;
* Financial Calculations.
%if %{with python}
%package -n python3-gnucash
Summary: Python bindings for GnuCash
Group: Development/Libraries/Python
Requires: %{name} = %{version}
%description -n python3-gnucash
This package provides the Python 3 bindings for development of GnuCash,
a personal finance manager.
%endif
%package devel
Summary: Development files for GnuCash
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
%description devel
This package provides all the necessary files for development of GnuCash,
a personal finance manager.
%lang_package
%prep
%autosetup -p1 -n %{name}-%{version}
%build
%define _lto_cflags %{nil}
%define __builder ninja
%if 0%{?suse_version} == 1500
export CXX=g++-13
%endif
%cmake \
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=OFF \
-DCMAKE_SKIP_RPATH=OFF \
-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \
-DCMAKE_INSTALL_DOCDIR=%{_docdir}/%{name} \
-DGMOCK_ROOT=%{_includedir}/gmock \
-DGTEST_ROOT=%{_includedir}/gtest \
%if %{with python}
-DWITH_PYTHON=ON \
%else
-DWITH_PYTHON=OFF \
%endif
-DCOMPILE_GSCHEMAS=OFF \
-DCMAKE_CXX_FLAGS=-Wno-error
%cmake_build
%install
%cmake_install
%find_lang %{name} %{?no_lang_C}
%fdupes %{buildroot}%{_libdir}
%fdupes %{buildroot}%{_datadir}
# Remove MS-Windows-related files and auto-installed LICENSE file
rm %{buildroot}%{_docdir}/%{name}/LICENSE
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%license LICENSE
%{_bindir}/gnc-fq-*
%{_bindir}/finance-quote-wrapper
%{_bindir}/gnucash
%{_bindir}/gnucash-cli
%{_bindir}/gnucash-valgrind
%dir %{_datadir}/metainfo
%{_datadir}/metainfo/gnucash.appdata.xml
%{_datadir}/applications/*.desktop
%{_datadir}/glib-2.0/schemas/org.gnucash.*.xml
%{_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
%doc %{_docdir}/%{name}
%{_libdir}/*.so
%{_libdir}/gnucash
%dir %{_libdir}/guile/%{guile_version}/site-ccache
%{_libdir}/guile/%{guile_version}/site-ccache/gnucash
%{_mandir}/man?/*%{?ext_man}
%dir %{_sysconfdir}/gnucash
%config %{_sysconfdir}/gnucash/environment
%exclude %{_datadir}/gnucash/python
%if %{with python}
%files -n python3-gnucash
%{_datadir}/gnucash/python
%dir %{python3_sitearch}/gnucash
%{python3_sitearch}/gnucash
%endif
%files devel
%doc ChangeLog README
%{_includedir}/gnucash/
%files lang -f %{name}.lang
%changelog