From c44899a28bd6287cd891899c2796cdcd18fa0a9e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 4 Nov 2012 22:37:22 +0100 Subject: distro: Split (distro packages base) into several files. * distro/packages/base.scm (libsigsegv, gawk, perl, m4, gmp, mpfr, mpc, ncurses, readline, bash, libtool, libunistring, libffi, pkg-config, libgc): Move to modules of their own. (guile-1.8, guile-2.0): Move to... * distro/packages/guile.scm: ... here. * distro/packages/bash.scm, distro/packages/bdw-gc.scm, distro/packages/gawk.scm, distro/packages/libffi.scm, distro/packages/libsigsegv.scm, distro/packages/libtool.scm, distro/packages/libunistring.scm, distro/packages/m4.scm, distro/packages/multiprecision.scm, distro/packages/ncurses.scm, distro/packages/perl.scm, distro/packages/pkg-config.scm, distro/packages/readline.scm: New files. --- distro/packages/bash.scm | 88 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 distro/packages/bash.scm (limited to 'distro/packages/bash.scm') diff --git a/distro/packages/bash.scm b/distro/packages/bash.scm new file mode 100644 index 0000000000..b4e5c1158a --- /dev/null +++ b/distro/packages/bash.scm @@ -0,0 +1,88 @@ +;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*- +;;; Copyright (C) 2012 Ludovic Courtès +;;; +;;; This file is part of Guix. +;;; +;;; Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with Guix. If not, see . + +(define-module (distro packages bash) + #:use-module (distro packages ncurses) + #:use-module (distro packages readline) + #:use-module (guix packages) + #:use-module (guix http) + #:use-module (guix utils) + #:use-module (guix build-system gnu)) + +(define-public bash + (let ((cppflags (string-join '("-DSYS_BASHRC='\"/etc/bashrc\"'" + "-DSYS_BASH_LOGOUT='\"/etc/bash_logout\"'" + "-DDEFAULT_PATH_VALUE='\"/no-such-path\"'" + "-DSTANDARD_UTILS_PATH='\"/no-such-path\"'" + "-DNON_INTERACTIVE_LOGIN_SHELLS" + "-DSSH_SOURCE_BASHRC") + " "))) + (package + (name "bash") + (version "4.2") + (source (origin + (method http-fetch) + (uri (string-append + "http://ftp.gnu.org/gnu/bash/bash-" version ".tar.gz")) + (sha256 + (base32 + "1n5kbblp5ykbz5q8aq88lsif2z0gnvddg9babk33024wxiwi2ym2")))) + (build-system gnu-build-system) + (inputs `(("readline" ,readline) + ("ncurses" ,ncurses))) ; TODO: add texinfo + (arguments + `(#:configure-flags `("--with-installed-readline" + ,,(string-append "CPPFLAGS=" cppflags) + ,(string-append + "LDFLAGS=-Wl,-rpath -Wl," + (assoc-ref %build-inputs "readline") + "/lib" + " -Wl,-rpath -Wl," + (assoc-ref %build-inputs "ncurses") + "/lib")) + + ;; Bash is reportedly not parallel-safe. See, for instance, + ;; and + ;; . + #:parallel-build? #f + #:parallel-tests? #f + + ;; XXX: The tests have a lot of hard-coded paths, so disable them + ;; for now. + #:tests? #f + + #:phases + (alist-cons-after 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + ;; Add a `bash' -> `sh' link. + (let ((out (assoc-ref outputs "out"))) + (with-directory-excursion + (string-append out "/bin") + (symlink "bash" "sh")))) + %standard-phases))) + (synopsis "GNU Bourne-Again Shell") + (description + "Bash is the shell, or command language interpreter, that will appear in +the GNU operating system. Bash is an sh-compatible shell that incorporates +useful features from the Korn shell (ksh) and C shell (csh). It is intended +to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It +offers functional improvements over sh for both programming and interactive +use. In addition, most sh scripts can be run by Bash without +modification.") + (license "GPLv3+") + (home-page "http://www.gnu.org/software/bash/")))) -- cgit v1.2.3