aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/bash.scm
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2015-04-17 22:06:05 -0400
committerMark H Weaver <mhw@netris.org>2015-04-17 22:06:05 -0400
commit334345d9db53326fa062298e2372d6c33123949a (patch)
tree50774c171f1a348bd7de8e9a447bad2a14a9dffb /gnu/packages/bash.scm
parent8d7dc5d9dbf009009d33e21598f92c4685965cd5 (diff)
parent09dd019490e4a269b0a2d9512a07688f8ee657d3 (diff)
downloadguix-334345d9db53326fa062298e2372d6c33123949a.tar
guix-334345d9db53326fa062298e2372d6c33123949a.tar.gz
Merge branch 'core-updates'
Diffstat (limited to 'gnu/packages/bash.scm')
-rw-r--r--gnu/packages/bash.scm30
1 files changed, 27 insertions, 3 deletions
diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index 361eb475d6..02cb45c955 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -128,6 +128,26 @@ number/base32-hash tuples, directly usable in the 'patch-series' form."
(let ((out (assoc-ref outputs "out")))
(with-directory-excursion (string-append out "/bin")
(symlink "bash" "sh")))))
+ (install-headers-phase
+ '(lambda* (#:key outputs #:allow-other-keys)
+ ;; Install Bash headers so that packages that provide extensions
+ ;; can use them. We install them in include/bash; that's what
+ ;; Debian does and what Bash extensions like recutils or
+ ;; guile-bash expect.
+ (let ((include (string-append (assoc-ref outputs "include")
+ "/include/bash"))
+ (headers "^\\./(builtins/|lib/glob/|lib/tilde/|)[^/]+\\.h$"))
+ (mkdir-p include)
+ (for-each (lambda (file)
+ (when ((@ (ice-9 regex) string-match) headers file)
+ (let ((directory (string-append include "/"
+ (dirname file))))
+ (mkdir-p directory)
+ (copy-file file
+ (string-append directory "/"
+ (basename file))))))
+ (find-files "." "\\.h$"))
+ #t)))
(version "4.3"))
(package
(name "bash")
@@ -148,6 +168,9 @@ number/base32-hash tuples, directly usable in the 'patch-series' form."
(version (string-append version "."
(number->string (length %patch-series-4.3))))
(build-system gnu-build-system)
+
+ (outputs '("out"
+ "include")) ;headers used by extensions
(native-inputs `(("bison" ,bison))) ;to rebuild the parser
(inputs `(("readline" ,readline)
("ncurses" ,ncurses))) ;TODO: add texinfo
@@ -169,9 +192,10 @@ number/base32-hash tuples, directly usable in the 'patch-series' form."
;; for now.
#:tests? #f
- #:phases (alist-cons-after 'install 'post-install
- ,post-install-phase
- %standard-phases)))
+ #:phases (modify-phases %standard-phases
+ (add-after 'install 'post-install ,post-install-phase)
+ (add-after 'install 'install-headers
+ ,install-headers-phase))))
(synopsis "The GNU Bourne-Again SHell")
(description
"Bash is the shell, or command-line interpreter, of the GNU system. It