aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/gnucash.scm49
-rw-r--r--gnu/packages/patches/gnucash-disable-failing-tests.patch39
-rw-r--r--gnu/packages/patches/gnucash-price-quotes-perl.patch5
4 files changed, 81 insertions, 13 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 8c6579b03f..8f854e98b5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -762,6 +762,7 @@ dist_patch_DATA = \
%D%/packages/patches/gnome-todo-libical-compat.patch \
%D%/packages/patches/gnome-tweak-tool-search-paths.patch \
%D%/packages/patches/gnucash-price-quotes-perl.patch \
+ %D%/packages/patches/gnucash-disable-failing-tests.patch \
%D%/packages/patches/gnutls-skip-trust-store-test.patch \
%D%/packages/patches/gnutls-skip-pkgconfig-test.patch \
%D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm
index fc8a9b6bfc..45720df9a4 100644
--- a/gnu/packages/gnucash.scm
+++ b/gnu/packages/gnucash.scm
@@ -28,6 +28,7 @@
#:use-module (guix build-system cmake)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
@@ -50,7 +51,7 @@
(define-public gnucash
(package
(name "gnucash")
- (version "3.0")
+ (version "3.3")
(source
(origin
(method url-fetch)
@@ -58,11 +59,9 @@
version "/gnucash-" version ".tar.bz2"))
(sha256
(base32
- "1ffvf1rryg5yin86fnf1zvy6hnpwzrjarbdfmjmrf2mqlmv48xac"))
-
- ;; TODO: rebase this patch
-; (patches (search-patches "gnucash-price-quotes-perl.patch"))
- ))
+ "0grr5qi5rn1xvr7qx5d7mcxa2mcgycy2b325ry73bb485a6yv5l3"))
+ (patches (search-patches "gnucash-price-quotes-perl.patch"
+ "gnucash-disable-failing-tests.patch"))))
(build-system cmake-build-system)
(inputs
`(("guile" ,guile-2.2)
@@ -76,7 +75,8 @@
("webkitgtk" ,webkitgtk)
("aqbanking" ,aqbanking)
("perl-date-manip" ,perl-date-manip)
- ("perl-finance-quote" ,perl-finance-quote)))
+ ("perl-finance-quote" ,perl-finance-quote)
+ ("tzdata" ,tzdata-for-tests)))
(native-inputs
`(("glib" ,glib "bin") ; glib-compile-schemas, etc.
("intltool" ,intltool)
@@ -90,6 +90,13 @@
#:configure-flags
(list "-DWITH_OFX=OFF" ; libofx is not available yet
"-DWITH_SQL=OFF") ; without dbi.h
+ #:make-flags '("GUILE_AUTO_COMPILE=0")
+ #:modules ((guix build cmake-build-system)
+ ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
+ (guix build utils))
+ #:imported-modules (,@%gnu-build-system-modules
+ (guix build cmake-build-system)
+ (guix build glib-or-gtk-build-system))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unpack-gmock
@@ -99,14 +106,28 @@
"-C" "gmock" "--strip-components=1")
(setenv "GMOCK_ROOT" (string-append (getcwd) "/gmock/googlemock"))
#t))
+ (add-after 'unpack 'set-env-vars
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((tzdata (assoc-ref inputs "tzdata")))
+ ;; At least one test is time-related and requires this
+ ;; environment variable.
+ (setenv "TZDIR"
+ (string-append tzdata
+ "/share/zoneinfo"))
+ (substitute* "CMakeLists.txt"
+ (("set\\(SHELL /bin/bash\\)")
+ (string-append "set(SHELL " (which "bash") ")")))
+ #t)))
;; There are about 100 megabytes of documentation.
(add-after
'install 'install-docs
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((docs (assoc-ref inputs "gnucash-docs"))
(doc-output (assoc-ref outputs "doc")))
+ (mkdir-p (string-append doc-output "/share"))
(symlink (string-append docs "/share/gnome")
- (string-append doc-output "/share/gnome")))))
+ (string-append doc-output "/share/gnome"))
+ #t)))
(add-after
'install-docs 'wrap-programs
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -134,7 +155,11 @@
'("gnucash"
"gnc-fq-check"
"gnc-fq-helper"
- "gnc-fq-dump")))))))
+ "gnc-fq-dump"))))
+ (add-after 'install 'glib-or-gtk-compile-schemas
+ (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
+ (add-after 'install 'glib-or-gtk-wrap
+ (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
(home-page "https://www.gnucash.org/")
(synopsis "Personal and small business financial accounting software")
(description
@@ -150,7 +175,9 @@ financial calculations or scheduled transactions.")
(define gnucash-docs
(package
(name "gnucash-docs")
- (version (package-version gnucash))
+ ;;(version (package-version gnucash))
+ ;; The current version of gnucash-docs is not available at the moment.
+ (version "3.2")
(source
(origin
(method url-fetch)
@@ -158,7 +185,7 @@ financial calculations or scheduled transactions.")
version "/gnucash-docs-" version ".tar.gz"))
(sha256
(base32
- "0yq65s3z3dwdwdf2nq1d1w9ckdjdyjwkfpmvhzyib54b66q65xh5"))))
+ "1763m6d8gkhllwb9rnr9ifch39brmh7kr2m6icqfbc53a91m56j6"))))
(build-system gnu-build-system)
;; These are native-inputs because they are only required for building the
;; documentation.
diff --git a/gnu/packages/patches/gnucash-disable-failing-tests.patch b/gnu/packages/patches/gnucash-disable-failing-tests.patch
new file mode 100644
index 0000000000..e0fdd86b5d
--- /dev/null
+++ b/gnu/packages/patches/gnucash-disable-failing-tests.patch
@@ -0,0 +1,39 @@
+test-stress-options.scm does not exist, and test-qof passes when run in the
+build directory after the gnucash build.
+
+diff -ur gnucash-3.3.old/gnucash/report/standard-reports/test/CMakeLists.txt gnucash-3.3/gnucash/report/standard-reports/test/CMakeLists.txt
+--- gnucash-3.3.old/gnucash/report/standard-reports/test/CMakeLists.txt 2018-10-04 09:29:00.916641417 -0400
++++ gnucash-3.3/gnucash/report/standard-reports/test/CMakeLists.txt 2018-10-04 09:30:52.962504860 -0400
+@@ -13,10 +13,6 @@
+ test-income-gst.scm
+ )
+
+-set(scm_test_with_textual_ports_SOURCES
+- test-stress-options.scm
+-)
+-
+ set(GUILE_DEPENDS
+ scm-gnc-module
+ scm-app-utils
+@@ -31,9 +27,6 @@
+
+ if (HAVE_SRFI64)
+ gnc_add_scheme_tests("${scm_test_with_srfi64_SOURCES}")
+- if (HAVE_TEXT_PORTS)
+- gnc_add_scheme_tests("${scm_test_with_textual_ports_SOURCES}")
+- endif (HAVE_TEXT_PORTS)
+ endif (HAVE_SRFI64)
+
+ gnc_add_scheme_tests("${scm_test_standard_reports_SOURCES}")
+diff -ur gnucash-3.3.old/libgnucash/engine/test/CMakeLists.txt gnucash-3.3/libgnucash/engine/test/CMakeLists.txt
+--- gnucash-3.3.old/libgnucash/engine/test/CMakeLists.txt 2018-10-04 09:29:00.876640751 -0400
++++ gnucash-3.3/libgnucash/engine/test/CMakeLists.txt 2018-10-05 10:46:22.542962546 -0400
+@@ -54,8 +54,6 @@
+ # This test does not run on Win32
+ if (NOT WIN32)
+ set(SOURCES ${test_qof_SOURCES} ${CMAKE_SOURCE_DIR}/common/test-core/unittest-support.c)
+- add_engine_test(test-qof "${SOURCES}")
+- target_compile_definitions(test-qof PRIVATE TESTPROG=test_qof)
+
+ set(SOURCES ${test_engine_SOURCES} ${CMAKE_SOURCE_DIR}/common/test-core/unittest-support.c)
+ add_engine_test(test-engine "${SOURCES}")
diff --git a/gnu/packages/patches/gnucash-price-quotes-perl.patch b/gnu/packages/patches/gnucash-price-quotes-perl.patch
index 982763f0ec..3101ddb007 100644
--- a/gnu/packages/patches/gnucash-price-quotes-perl.patch
+++ b/gnu/packages/patches/gnucash-price-quotes-perl.patch
@@ -1,8 +1,9 @@
After wrapping gnc-fq-check and gnc-fq-helper we can no longer execute them
with perl, so execute them directly instead.
---- gnucash-2.6.6/src/scm/price-quotes.scm.orig 2014-04-27 17:42:28.000000000 -0500
-+++ gnucash-2.6.6/src/scm/price-quotes.scm 2015-07-09 16:12:11.196218472 -0500
+diff -ur gnucash-3.2.old/libgnucash/scm/price-quotes.scm gnucash-3.2/libgnucash/scm/price-quotes.scm
+--- gnucash-3.2.old/libgnucash/scm/price-quotes.scm 2018-09-15 00:48:33.718389646 -0400
++++ gnucash-3.2/libgnucash/scm/price-quotes.scm 2018-09-15 13:51:49.249862724 -0400
@@ -74,7 +74,7 @@
(define (start-program)
(if (not (string-null? gnc:*finance-quote-check*))