From 6d6f8282f4583e0b1bde9ee8f5acda35050e71c8 Mon Sep 17 00:00:00 2001 From: Vladimír Čunát Date: Thu, 15 Oct 2015 13:39:24 +0200 Subject: bash: remove bashbug for non-interactive, refactor --- pkgs/shells/bash/default.nix | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) (limited to 'pkgs/shells/bash') diff --git a/pkgs/shells/bash/default.nix b/pkgs/shells/bash/default.nix index a01d17d3b59..e49e7ef5da4 100644 --- a/pkgs/shells/bash/default.nix +++ b/pkgs/shells/bash/default.nix @@ -9,6 +9,8 @@ let shortName = "bash43"; baseConfigureFlags = if interactive then "--with-installed-readline" else "--disable-readline"; sha256 = "1m14s1f61mf6bijfibcjm9y6pkyvz6gibyl8p4hxq90fisi8gimg"; + + inherit (stdenv.lib) optional optionalString; in stdenv.mkDerivation rec { @@ -41,17 +43,17 @@ stdenv.mkDerivation rec { }; in import ./bash-4.3-patches.nix patch) - ++ stdenv.lib.optional stdenv.isCygwin ./cygwin-bash-4.3.33-1.src.patch; + ++ optional stdenv.isCygwin ./cygwin-bash-4.3.33-1.src.patch; crossAttrs = { configureFlags = baseConfigureFlags + " bash_cv_job_control_missing=nomissing bash_cv_sys_named_pipes=nomissing" + - stdenv.lib.optionalString stdenv.isCygwin '' + optionalString stdenv.isCygwin '' --without-libintl-prefix --without-libiconv-prefix --with-installed-readline bash_cv_dev_stdin=present bash_cv_dev_fd=standard - bash_cv_termcap_lib=libncurses + bash_cv_termcap_lib=libncurses ''; }; @@ -59,24 +61,29 @@ stdenv.mkDerivation rec { # Note: Bison is needed because the patches above modify parse.y. nativeBuildInputs = [bison] - ++ stdenv.lib.optional (texinfo != null) texinfo - ++ stdenv.lib.optional interactive readline - ++ stdenv.lib.optional stdenv.isDarwin binutils; + ++ optional (texinfo != null) texinfo + ++ optional interactive readline + ++ optional stdenv.isDarwin binutils; # Bash randomly fails to build because of a recursive invocation to # build `version.h'. enableParallelBuilding = false; postInstall = '' - # Add an `sh' -> `bash' symlink. ln -s bash "$out/bin/sh" - '' + ''; + + postFixup = if interactive + then '' + substituteInPlace "$out/bin/bashbug" \ + --replace '${stdenv.shell}' "$out/bin/bash" + '' # most space is taken by locale data - + stdenv.lib.optionalString (!interactive) '' - rm -r "$out/share" + else '' + rm -r "$out/share" "$out/bin/bashbug" ''; - meta = { + meta = with stdenv.lib; { homepage = http://www.gnu.org/software/bash/; description = "GNU Bourne-Again Shell, the de facto standard shell on Linux" + @@ -93,11 +100,11 @@ stdenv.mkDerivation rec { Bash without modification. ''; - license = stdenv.lib.licenses.gpl3Plus; + license = licenses.gpl3Plus; - platforms = stdenv.lib.platforms.all; + platforms = platforms.all; - maintainers = [ stdenv.lib.maintainers.simons ]; + maintainers = [ maintainers.simons ]; }; passthru = { -- cgit 1.4.1