~ruther/guix-local

17a69cf623ed71c3373a5baad92f1a47321cc735 — Ricardo Wurmus 9 years ago a0f4320
import cran: Check if pkg-config is needed.

* guix/import/cran.scm (needs-pkg-config?): New procedure.
(description->package): Use it.
1 files changed, 13 insertions(+), 5 deletions(-)

M guix/import/cran.scm
M guix/import/cran.scm => guix/import/cran.scm +13 -5
@@ 235,6 235,13 @@ contain a zlib linker flag."
   tarball "-lz"
   "*/src/Makevars*" "*/src/configure*" "*/configure*"))

(define (needs-pkg-config? tarball)
  "Return #T if any of the Makevars files in the src directory of the TARBALL
reference the pkg-config tool."
  (tarball-files-match-pattern?
   tarball "pkg-config"
   "*/src/Makevars*" "*/src/configure*" "*/configure*"))

(define (description->package repository meta)
  "Return the `package' s-expression for an R package published on REPOSITORY
from the alist META, which was derived from the R package's DESCRIPTION file."


@@ 284,11 291,12 @@ from the alist META, which was derived from the R package's DESCRIPTION file."
        (build-system r-build-system)
        ,@(maybe-inputs sysdepends)
        ,@(maybe-inputs (map guix-name propagate) 'propagated-inputs)
        ,@(if (needs-fortran? tarball)
              `((native-inputs (,'quasiquote
                                ,(list "gfortran"
                                       (list 'unquote 'gfortran)))))
              '())
        ,@(maybe-inputs
           `(,@(if (needs-fortran? tarball)
                   '("gfortran") '())
             ,@(if (needs-pkg-config? tarball)
                   '("pkg-config") '()))
           'native-inputs)
        (home-page ,(if (string-null? home-page)
                        (string-append base-url name)
                        home-page))