Subject: [PATCH v3] gnu: gnucash: Update to 5.0

From: Andy Tai <[email-masked]>
Date: Mon, 17 Apr 2023 22:17:29 -0700

* gnu/packages/gnucash.scm (gnucash): Update to 5.0
  [arguments]<phase>: Patch out unsupported tests.
  Remove references in patching code to removed source
  files upstream

* gnu/packages/gnucash.scm (gnucash-doc): Update to 5.0
  [native-inputs]: Add texinfo per upstream build doc
---
 gnu/packages/gnucash.scm | 28 +++++++++++++++-------------
 1 file changed, 15 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm
index 0386910ce6..6fe63f487e 100644
--- a/gnu/packages/gnucash.scm
+++ b/gnu/packages/gnucash.scm
@@ -47,6 +47,7 @@ (define-module (gnu packages gnucash)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages swig)
+  #:use-module (gnu packages texinfo)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web)
   #:use-module (gnu packages webkit)
@@ -64,14 +65,14 @@ (define-public gnucash
   ;; directory.
   (package
     (name "gnucash")
-    (version "4.11")
+    (version "5.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://sourceforge/gnucash/gnucash%20%28stable%29/"
                            version "/gnucash-" version ".tar.bz2"))
        (sha256
-        (base32 "069b216dkpjs9hp32s4bhi6f76lbc81qvbmjmz0dxq3v1piys57q"))))
+        (base32 "09482f1w4yawrdw5c2wi0jb8hwlp1x9mdvq552bf9n5f66mkphfg"))))
     (outputs '("out" "doc" "debug" "python"))
     (build-system cmake-build-system)
     (arguments
@@ -87,6 +88,13 @@ (define-public gnucash
                   (guix build utils))
       #:phases
       #~(modify-phases %standard-phases
+          (add-after 'unpack 'disable-unsupported-test
+               ;; test test-gnc-quotes neeeds perl JSON::Parse
+               ;; not packaged in Guix yet
+            (lambda _
+              (substitute* "libgnucash/app-utils/test/CMakeLists.txt"
+                    (("gnc_add_test\\(test-gnc-quotes")
+                     "#gnc_add_test\\(test-gnc-quotes"))))
           (add-after 'unpack 'set-env-vars
             (lambda* (#:key inputs #:allow-other-keys)
               ;; At least one test is time-related and requires this
@@ -95,12 +103,6 @@ (define-public gnucash
               (substitute* "CMakeLists.txt"
                 (("set\\(SHELL /bin/bash\\)")
                  (string-append "set(SHELL " (which "bash") ")")))))
-          ;; After wrapping gnc-fq-check and gnc-fq-helper we can no longer
-          ;; execute them with perl, so execute them directly instead.
-          (add-after 'unpack 'fix-finance-quote-check
-            (lambda _
-              (substitute* "gnucash/price-quotes.scm"
-                (("\"perl\" \"-w\" ") ""))))
           ;; The qof test requires the en_US, en_GB, and fr_FR locales.
           (add-before 'check 'install-locales
             (lambda _
@@ -155,9 +157,7 @@ (define-public gnucash
                                            (assoc l (package-inputs this-package)))
                                          '("perl-finance-quote")))))))))
                '("gnucash"
-                 "gnc-fq-check"
-                 "gnc-fq-helper"
-                 "gnc-fq-dump"))))
+                 "gnc-fq-update"))))
           (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
@@ -217,7 +217,7 @@ (define gnucash-docs
                "mirror://sourceforge/gnucash/gnucash%20%28stable%29/"
                version "/gnucash-docs-" version revision ".tar.gz"))
          (sha256
-          (base32 "162qq8p76grczdnsd4qbpxn1d8ap6l2n1a00a601v5hij7rqwfx8"))))
+          (base32 "1cgdb5qrwrx6yf6dsc8zlhi67lbyjs1g82i0n53sw6n6v38dd882"))))
       (build-system cmake-build-system)
       ;; These are native-inputs because they are only required for building the
       ;; documentation.
@@ -226,9 +226,11 @@ (define gnucash-docs
        ;; XML during the tests.
        (list docbook-xml
              docbook-xsl
+             libsecret
              libxml2
              libxslt
-             scrollkeeper))
+             scrollkeeper
+             texinfo))
       (arguments
        `(#:tests? #f))                  ;no test target
       (home-page "https://www.gnucash.org/")

base-commit: 9a5e1dc1f16f5f8c056e64f2077b035784003673
prerequisite-patch-id: 2fe043491619f0182074f836ad7b0c91f725637e
-- 
2.39.2