guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

06/06: gnu: gnucash: Add Finance::Quote support.


From: Eric Bavier
Subject: 06/06: gnu: gnucash: Add Finance::Quote support.
Date: Thu, 10 Sep 2015 13:19:58 +0000

bavier pushed a commit to branch master
in repository guix.

commit 8b94dffde89a87a31c50d5c73ffb6f8a1b97616a
Author: Eric Bavier <address@hidden>
Date:   Thu Jul 9 19:19:09 2015 -0500

    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-system.am                                      |    1 +
 gnu/packages/gnucash.scm                           |   46 +++++++++++++++++--
 .../patches/gnucash-price-quotes-perl.patch        |   23 ++++++++++
 3 files changed, 65 insertions(+), 5 deletions(-)

diff --git a/gnu-system.am b/gnu-system.am
index 0294a9e..e6ebbe4 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -474,6 +474,7 @@ dist_patch_DATA =                                           
\
   gnu/packages/patches/glibc-ldd-x86_64.patch                  \
   gnu/packages/patches/glibc-locales.patch                     \
   gnu/packages/patches/gmp-arm-asm-nothumb.patch               \
+  gnu/packages/patches/gnucash-price-quotes-perl.patch         \
   gnu/packages/patches/gnutls-doc-fix.patch                    \
   gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch \
   gnu/packages/patches/gobject-introspection-cc.patch          \
diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm
index 6ab8f09..42d19af 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 <address@hidden>
+;;; Copyright © 2015 Eric Bavier <address@hidden>
 ;;;
 ;;; 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 0000000..982763f
--- /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))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]