gnu: Add Pfff.
[jackhill/guix/guix.git] / gnu / packages / gnucash.scm
CommitLineData
e55c1b67
RW
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
8b94dffd 3;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
e55c1b67
RW
4;;;
5;;; This file is part of GNU Guix.
6;;;
7;;; GNU Guix is free software; you can redistribute it and/or modify it
8;;; under the terms of the GNU General Public License as published by
9;;; the Free Software Foundation; either version 3 of the License, or (at
10;;; your option) any later version.
11;;;
12;;; GNU Guix is distributed in the hope that it will be useful, but
13;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15;;; GNU General Public License for more details.
16;;;
17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19
20(define-module (gnu packages gnucash)
21 #:use-module (guix licenses)
22 #:use-module (guix packages)
23 #:use-module (guix download)
24 #:use-module (guix build-system gnu)
25 #:use-module (gnu packages)
26 #:use-module (gnu packages gnome)
27 #:use-module (gnu packages glib)
28 #:use-module (gnu packages gtk)
29 #:use-module (gnu packages guile)
30 #:use-module (gnu packages icu4c)
8b94dffd 31 #:use-module (gnu packages perl)
e55c1b67 32 #:use-module (gnu packages pkg-config)
8b94dffd 33 #:use-module (gnu packages web)
e55c1b67
RW
34 #:use-module (gnu packages webkit)
35 #:use-module (gnu packages xml))
36
37(define-public gnucash
38 (package
39 (name "gnucash")
b6bbebbc 40 (version "2.6.9")
e55c1b67
RW
41 (source
42 (origin
43 (method url-fetch)
44 (uri (string-append "mirror://sourceforge/gnucash/gnucash-"
45 version ".tar.bz2"))
46 (sha256
47 (base32
b6bbebbc 48 "0iw25l1kv60cg6fd2vg11mcvzmjqnc5p9lp3rjy06ghkjfrn3and"))
8b94dffd 49 (patches (list (search-patch "gnucash-price-quotes-perl.patch")))))
e55c1b67 50 (build-system gnu-build-system)
e55c1b67
RW
51 (inputs
52 `(("guile" ,guile-2.0)
53 ("icu4c" ,icu4c)
54 ("glib" ,glib)
55 ("gtk" ,gtk+-2)
56 ("goffice" ,goffice-0.8)
57 ("libgnomecanvas" ,libgnomecanvas)
58 ("libxml2" ,libxml2)
59 ("libxslt" ,libxslt)
8b94dffd
EB
60 ("webkitgtk" ,webkitgtk/gtk+-2)
61 ("perl-date-manip" ,perl-date-manip)
62 ("perl-finance-quote" ,perl-finance-quote)))
e55c1b67
RW
63 (native-inputs
64 `(("glib" ,glib "bin") ; glib-compile-schemas, etc.
65 ("intltool" ,intltool)
66 ("pkg-config" ,pkg-config)))
8b94dffd
EB
67 (arguments
68 `(#:tests? #f ;FIXME: failing at /qof/gnc-date/qof print date dmy buff
69 #:configure-flags '("--disable-dbi")
70 #:phases
71 (modify-phases %standard-phases
72 (add-after
73 'install 'wrap-programs
74 (lambda* (#:key inputs outputs #:allow-other-keys)
75 (for-each (lambda (prog)
76 (wrap-program (string-append (assoc-ref outputs "out")
77 "/bin/" prog)
78 `("PERL5LIB" ":" prefix
79 ,(map (lambda (o)
80 (string-append o "/lib/perl5/site_perl/"
81 ,(package-version perl)))
82 (if (string=? prog "gnc-fq-helper")
83 (list
84 ,@(transitive-input-references
85 'inputs
86 (map (lambda (l)
87 (assoc l (inputs)))
88 '("perl-finance-quote"
89 "perl-date-manip"))))
90 (list
91 ,@(transitive-input-references
92 'inputs
93 (map (lambda (l)
94 (assoc l (inputs)))
95 '("perl-finance-quote")))))))))
96 '("gnucash"
97 "gnc-fq-check"
98 "gnc-fq-helper"
99 "gnc-fq-dump")))))))
e55c1b67
RW
100 (home-page "https://gnu.org/software/gnucash")
101 (synopsis "Personal and small business financial accounting software")
102 (description
103 "GnuCash is personal and professional financial-accounting software.
104It can be used to track bank accounts, stocks, income and expenses, based on
105the double-entry accounting practice. It includes support for QIF/OFX/HBCI
106import and transaction matching. It also automates several tasks, such as
107financial calculations or scheduled transactions.")
108 (license gpl3+)))