From a06a99ff779c7419c2e47c475b5c0fa8a9fc24c1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 10 Jan 2013 00:08:40 +0100 Subject: build-system/gnu: Improve support for "lib" outputs; support "doc" outputs. * guix/build/gnu-build-system.scm (configure)[package-name]: New procedure. When LIBDIR is true and INCLUDEDIR is false, add --includedir=LIBDIR/include. Add support for --docdir when a "doc" output exists. --- guix/build/gnu-build-system.scm | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'guix/build/gnu-build-system.scm') diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index e9421000bf..b7b9fdac95 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès +;;; Copyright © 2012, 2013 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -115,10 +115,20 @@ makefiles." (define* (configure #:key inputs outputs (configure-flags '()) out-of-source? #:allow-other-keys) + (define (package-name) + (let* ((out (assoc-ref outputs "out")) + (base (basename out)) + (dash (string-rindex base #\-))) + ;; XXX: We'd rather use `package-name->name+version' or similar. + (if dash + (substring base 0 dash) + base))) + (let* ((prefix (assoc-ref outputs "out")) (bindir (assoc-ref outputs "bin")) (libdir (assoc-ref outputs "lib")) (includedir (assoc-ref outputs "include")) + (docdir (assoc-ref outputs "doc")) (bash (or (and=> (assoc-ref inputs "bash") (cut string-append <> "/bin/bash")) "/bin/sh")) @@ -133,12 +143,21 @@ makefiles." (list (string-append "--bindir=" bindir "/bin")) '()) ,@(if libdir - (list (string-append "--libdir=" libdir "/lib")) + (cons (string-append "--libdir=" libdir "/lib") + (if includedir + '() + (list + (string-append "--includedir=" + libdir "/include")))) '()) ,@(if includedir (list (string-append "--includedir=" includedir "/include")) '()) + ,@(if docdir + (list (string-append "--docdir=" docdir + "/doc/" (package-name))) + '()) ,@configure-flags)) (abs-srcdir (getcwd)) (srcdir (if out-of-source? -- cgit v1.2.3