;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2018 Ricardo Wurmus ;;; Copyright © 2015 Eric Bavier ;;; Copyright © 2016, 2024 Efraim Flashner ;;; Copyright © 2017 Chris Marusich ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2019, 2021 Guillaume Le Vaillant ;;; Copyright © 2020 Prafulla Giri ;;; Copyright © 2020 Christopher Lam ;;; Copyright © 2023 gemmaro ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages gnucash) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages databases) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages finance) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages icu4c) #:use-module (gnu packages multiprecision) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages swig) #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages webkit) #:use-module (gnu packages xml) #:use-module (gnu packages) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix utils)) (define-public gnucash ;; TODO: Unbundle libraries such as guile-json found under the "borrowed/" ;; directory. (package (name "gnucash") (version "5.5") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gnucash/gnucash%20%28stable%29/" version "/gnucash-" version ".tar.bz2")) (sha256 (base32 "0fzds1yq298c3rvi07if1bfxff904jbzmsb27wr0ddwjp1xzdnml")))) (outputs '("out" "doc" "debug" "python")) (build-system cmake-build-system) (arguments (list #:test-target "check" #:configure-flags #~(list "-DWITH_PYTHON=ON") #:make-flags #~(list "GUILE_AUTO_COMPILE=0") #:imported-modules `(,@%gnu-build-system-modules (guix build cmake-build-system) (guix build glib-or-gtk-build-system)) #:modules '((guix build cmake-build-system) ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) (guix build utils)) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'disable-online-test (lambda _ (call-with-output-file "libgnucash/app-utils/test/CMakeLists.txt" (lambda (port) (display "set(CTEST_CUSTOM_TESTS_IGNORE online_wiggle)" port))))) (add-after 'unpack 'set-env-vars (lambda* (#:key inputs #:allow-other-keys) ;; At least one test is time-related and requires this ;; environment variable. (setenv "TZDIR" (search-input-directory inputs "share/zoneinfo")) (substitute* "CMakeLists.txt" (("set\\(SHELL /bin/bash\\)") (string-append "set(SHELL " (which "bash") ")"))))) ;; The qof test requires the en_US, en_GB, and fr_FR locales. (add-before 'check 'install-locales (lambda _ (setenv "LOCPATH" (getcwd))