From 8b94dffde89a87a31c50d5c73ffb6f8a1b97616a Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 9 Jul 2015 19:19:09 -0500 Subject: 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. --- gnu/packages/gnucash.scm | 46 +++++++++++++++++++--- .../patches/gnucash-price-quotes-perl.patch | 23 +++++++++++ 2 files changed, 64 insertions(+), 5 deletions(-) create mode 100644 gnu/packages/patches/gnucash-price-quotes-perl.patch (limited to 'gnu') 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 +;;; Copyright © 2015 Eric Bavier ;;; ;;; 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)) -- cgit v1.2.3