aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorEric Bavier <bavier@member.fsf.org>2015-07-09 19:19:09 -0500
committerEric Bavier <bavier@member.fsf.org>2015-09-10 03:21:55 -0500
commit8b94dffde89a87a31c50d5c73ffb6f8a1b97616a (patch)
tree0c2c78276495c7e8a3f6a135b9c1463c13cfc80b /gnu
parenta6d0b306c20f236324e4bd661d0f82750ee00e90 (diff)
downloadguix-8b94dffde89a87a31c50d5c73ffb6f8a1b97616a.tar.gz
guix-8b94dffde89a87a31c50d5c73ffb6f8a1b97616a.zip
gnu: gnucash: Add Finance::Quote support.
* gnu/packages/patches/gnucash-price-quotes-perl.patch: New patch. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/gnucash.scm (gnucash)[source]: Use it. [inputs]: Add perl-date-manip and perl-finance-quote. [arguments]: Add 'wrap-programs' phase. Move below inputs.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/gnucash.scm46
-rw-r--r--gnu/packages/patches/gnucash-price-quotes-perl.patch23
2 files changed, 64 insertions, 5 deletions
diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm
index 6ab8f09ce6..42d19af8f4 100644
--- a/gnu/packages/gnucash.scm
+++ b/gnu/packages/gnucash.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,7 +28,9 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages icu4c)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages web)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xml))
@@ -42,11 +45,9 @@
version ".tar.bz2"))
(sha256
(base32
- "103ir5qg6k8m2mmg9b99c3gn8myxh1gsqyr0mfhmrhqya68wfdr3"))))
+ "103ir5qg6k8m2mmg9b99c3gn8myxh1gsqyr0mfhmrhqya68wfdr3"))
+ (patches (list (search-patch "gnucash-price-quotes-perl.patch")))))
(build-system gnu-build-system)
- (arguments
- `(#:tests? #f ;FIXME: failing at /qof/gnc-date/qof print date dmy buff
- #:configure-flags '("--disable-dbi")))
(inputs
`(("guile" ,guile-2.0)
("icu4c" ,icu4c)
@@ -56,11 +57,46 @@
("libgnomecanvas" ,libgnomecanvas)
("libxml2" ,libxml2)
("libxslt" ,libxslt)
- ("webkitgtk" ,webkitgtk/gtk+-2)))
+ ("webkitgtk" ,webkitgtk/gtk+-2)
+ ("perl-date-manip" ,perl-date-manip)
+ ("perl-finance-quote" ,perl-finance-quote)))
(native-inputs
`(("glib" ,glib "bin") ; glib-compile-schemas, etc.
("intltool" ,intltool)
("pkg-config" ,pkg-config)))
+ (arguments
+ `(#:tests? #f ;FIXME: failing at /qof/gnc-date/qof print date dmy buff
+ #:configure-flags '("--disable-dbi")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after
+ 'install 'wrap-programs
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (for-each (lambda (prog)
+ (wrap-program (string-append (assoc-ref outputs "out")
+ "/bin/" prog)
+ `("PERL5LIB" ":" prefix
+ ,(map (lambda (o)
+ (string-append o "/lib/perl5/site_perl/"
+ ,(package-version perl)))
+ (if (string=? prog "gnc-fq-helper")
+ (list
+ ,@(transitive-input-references
+ 'inputs
+ (map (lambda (l)
+ (assoc l (inputs)))
+ '("perl-finance-quote"
+ "perl-date-manip"))))
+ (list
+ ,@(transitive-input-references
+ 'inputs
+ (map (lambda (l)
+ (assoc l (inputs)))
+ '("perl-finance-quote")))))))))
+ '("gnucash"
+ "gnc-fq-check"
+ "gnc-fq-helper"
+ "gnc-fq-dump")))))))
(home-page "https://gnu.org/software/gnucash")
(synopsis "Personal and small business financial accounting software")
(description
diff --git a/gnu/packages/patches/gnucash-price-quotes-perl.patch b/gnu/packages/patches/gnucash-price-quotes-perl.patch
new file mode 100644
index 0000000000..982763f0ec
--- /dev/null
+++ b/gnu/packages/patches/gnucash-price-quotes-perl.patch
@@ -0,0 +1,23 @@
+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
+@@ -74,7 +74,7 @@
+ (define (start-program)
+ (if (not (string-null? gnc:*finance-quote-check*))
+ (set! program (gnc-spawn-process-async
+- (list "perl" "-w" gnc:*finance-quote-check*) #t))))
++ (list gnc:*finance-quote-check*) #t))))
+
+ (define (get-sources)
+ (if (not (null? program))
+@@ -158,7 +158,7 @@
+ (define (start-quoter)
+ (if (not (string-null? gnc:*finance-quote-helper*))
+ (set! quoter (gnc-spawn-process-async
+- (list "perl" "-w" gnc:*finance-quote-helper*) #t))))
++ (list gnc:*finance-quote-helper*) #t))))
+
+ (define (get-quotes)
+ (if (not (null? quoter))