From 4a674282e525886cc2bb0b17d3df76f9c5694e18 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Fri, 16 Sep 2016 22:05:18 +0200 Subject: bash: 4.3 -> 4.4 --- pkgs/shells/bash/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'pkgs/shells') diff --git a/pkgs/shells/bash/default.nix b/pkgs/shells/bash/default.nix index c6868eedba6cc..b7c65b9e64b49 100644 --- a/pkgs/shells/bash/default.nix +++ b/pkgs/shells/bash/default.nix @@ -4,11 +4,11 @@ assert interactive -> readline != null; assert stdenv.isDarwin -> binutils != null; let - version = "4.3"; + version = "4.4"; realName = "bash-${version}"; - shortName = "bash43"; + shortName = "bash44"; baseConfigureFlags = if interactive then "--with-installed-readline" else "--disable-readline"; - sha256 = "1m14s1f61mf6bijfibcjm9y6pkyvz6gibyl8p4hxq90fisi8gimg"; + sha256 = "1jyz6snd63xjn6skk7za6psgidsd53k05cr3lksqybi0q6936syq"; inherit (stdenv.lib) optional optionalString; in -- cgit 1.4.1 From 3689be00d8eee155b9d63591da1515dde4d46c6f Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Fri, 16 Sep 2016 22:06:55 +0200 Subject: Add bash-4.4-patches.nix --- pkgs/shells/bash/bash-4.4-patches.nix | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 pkgs/shells/bash/bash-4.4-patches.nix (limited to 'pkgs/shells') diff --git a/pkgs/shells/bash/bash-4.4-patches.nix b/pkgs/shells/bash/bash-4.4-patches.nix new file mode 100644 index 0000000000000..b8019fb335024 --- /dev/null +++ b/pkgs/shells/bash/bash-4.4-patches.nix @@ -0,0 +1,4 @@ +# Automatically generated by `update-patch-set.sh'; do not edit. + +patch: [ +] -- cgit 1.4.1 From 02163da708fdae58e9769a169511949675f35d82 Mon Sep 17 00:00:00 2001 From: Vladimír Čunát Date: Sat, 17 Sep 2016 00:42:05 +0200 Subject: bash: fixup the patch-list paths --- pkgs/shells/bash/bash-4.3-patches.nix | 50 ----------------------------------- pkgs/shells/bash/default.nix | 2 +- 2 files changed, 1 insertion(+), 51 deletions(-) delete mode 100644 pkgs/shells/bash/bash-4.3-patches.nix (limited to 'pkgs/shells') diff --git a/pkgs/shells/bash/bash-4.3-patches.nix b/pkgs/shells/bash/bash-4.3-patches.nix deleted file mode 100644 index 83743938de329..0000000000000 --- a/pkgs/shells/bash/bash-4.3-patches.nix +++ /dev/null @@ -1,50 +0,0 @@ -# Automatically generated by `update-patch-set.sh'; do not edit. - -patch: [ -(patch "001" "0hip2n2s5hws8p4nfcz37379zn6cak83ljsm64z52rw6ckrdzczc") -(patch "002" "0ashj5d1g3zbyr7zf0r72s5wnk96cz1xj919y3jajadbc9qcvrzf") -(patch "003" "0z88q4daq7dmw93iqd9c5i5d1sndklih3nrh0v75746da2n6w3h0") -(patch "004" "0f0kh9j5k4ym6knshscx31przm50x5cc7ifkwqk0swh6clna982y") -(patch "005" "1ym3b8b7lgmdp3dklp8qaqhyq965wd5392namq8mz7rb0d231j0s") -(patch "006" "04q20igq49py49ynb0f83f6f52cdkyqwd9bpic6akr0m5pkqwr50") -(patch "007" "18zkz23d9myshrwfcwcdjk7qmkqp8az5n91ni9jaixlwqlhy64qi") -(patch "008" "0pprcwvh7ngdli0x95pc1cpssg4qg7layi9xrv2jq6c7965ajhcr") -(patch "009" "19a0pf0alp30d1bjj0zf3zq2f5n0s6y91w7brm9jyswl51kns8n0") -(patch "010" "1dzhr5ammyijisz48cqi5vaw26hfr5vh9smnqxq4qc9p06f7j1ff") -(patch "011" "0fvzdzzi142a8rf3v965r6gbpn0k7fv2gif1yq8a4160vcn40qvw") -(patch "012" "04lcgfcyz7p3zagb4hkia3hkpd7lii9m8ycy9qqwzyrm1c1pj4ry") -(patch "013" "0y9cqi378z6flapkd5k5lfl4lq3ivzg4njj3i3wmw7xb6r9wma5z") -(patch "014" "04xcb0k9fxxq4vashgzb98567xzdnm4655nlm4jvfvjv6si6ykas") -(patch "015" "13ay6lldy1p00xj41nfjpq8lai3vw2qwca79gx6s80z04j53wa8k") -(patch "016" "0wq7bvx3pfw90pnfb86yg5nr9jgjsvm2nq5rrkqxf6zn977hpmlj") -(patch "017" "103p7sibihv6cshqj12k546zsbz0dnd5cv5vlx1719avddfc4rqj") -(patch "018" "0n1x3812y1brb9xbabaj3fvr4cpvm2225iwckmqk2fcpkq5b9a3s") -(patch "019" "08rd1p7zpzgbpmmmnj2im8wj2pcwmbbx51psr9vdc5c049si9ad7") -(patch "020" "163c6g05qpag2plx5q795pmw3f3m904jy7z93xj2i08pgzc8cpna") -(patch "021" "1a90cl3h10dh8k9f2ddrsjmw5ywaw2d5x78xb4fd2sryi039yhs1") -(patch "022" "120s0s4qcqd0q12j1iv0hkpf9fp3w5jnqw646kv66n66jnxlfkgx") -(patch "023" "1m00sfi88p2akgiyrg4hw0gvz3s1586pkzjdr3dm73vs773m1hls") -(patch "024" "0v0gjqzjsqjfgj5x17fq7g649k94jn8zq92qsxkhc2d6l215hl1v") -(patch "025" "0lcj96i659q35f1jcmwwbnw3p7w7vvlxjxqi989vn6d6qksqcl8y") -(patch "026" "0k919ir0inwn4wai2vdzpbwqq5h54fnrlkmgccxjg91v3ch15k1f") -(patch "027" "1gnsfvq6bhb3srlbh0cannj2hackdsipcg7z0ds7zlk1hp96mdqy") -(patch "028" "17a65c4fn4c5rgsiw9gqqnzhznh3gwnd2xzzv2dppyi48znxpc78") -(patch "029" "14k27p28r5l2fz3r03kd0x72vvsq8bja8c6hjz5kxikbzsbs7i2c") -(patch "030" "0nrqb0m7s89qsrbfaffpilc5gcf82bx9yvgzld4hr79p5y54yhw5") -(patch "031" "07d62bl3z7qa8v6kgk47vzzazw563mlk9zhrsr4xsbqgvmcrylnd") -(patch "032" "0jjgapfq4qhmndfrw8c3q3lva8xjdhlbd9cc631v41b0kb95g4w8") -(patch "033" "05ma5rlxiadnfh925p4y7s0vvk917kmsdb1mfdx05gizl63pfapv") -(patch "034" "12gq9whkq3naa3iy7c7x5pfpvrg7d0kwqld8609zxphhy424ysgi") -(patch "035" "1qy1jflmbazjykq766gwabkaiswnx7pwa66whqiny0w02zjqa39p") -(patch "036" "0z6jbyy70lfdm6d3x0sbazbqdxb3xnpn9bmz7madpvrnbd284pxc") -(patch "037" "04sqr8zkl6s5fccfvb775ppn3ldij5imria9swc39aq0fkfp1w9k") -(patch "038" "0rv3g14mpgv8br267bf7rmgqlgwnc4v6g3g8y0sjba571i8amgmd") -(patch "039" "1v3l3vkc3g2b6fjycqwlakr8xhiw6bmw6q0zd6bi0m0m4bnxr55b") -(patch "040" "0sypv66vsldmc95gwvf7ylz1k7y37vnvdsjg8ajjr6b2j9mkkfw4") -(patch "041" "06ic2gdpbi1afik3wqf9d4vh95if4bz8bmhcgr555621dsb35i2f") -(patch "042" "06a90k0p6bqc4wk2dsmapna69124an76xvlnlj3xm497vci968dc") -(patch "043" "1031g97w8gamimb41jr9r2qm7mn10k5mr3sd3y12avml0p0a7a27") -(patch "044" "16bzaq9fs2kaw2n2k6vvljkjw5k5kx06isnq8hxkfrxz60384f4k") -(patch "045" "08q02mj9imp2njpgm6f5q5m61i7qzp33rbxxzarixalyisbw6vms") -(patch "046" "13v8dymwj83wcvrfayjqrs5kqar05bcj4zpiacrjkkchnsk5dd5k") -] diff --git a/pkgs/shells/bash/default.nix b/pkgs/shells/bash/default.nix index b7c65b9e64b49..be9f15dd1fa88 100644 --- a/pkgs/shells/bash/default.nix +++ b/pkgs/shells/bash/default.nix @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { inherit sha256; }; in - import ./bash-4.3-patches.nix patch) + import ./bash-4.4-patches.nix patch) ++ optional stdenv.isCygwin ./cygwin-bash-4.3.33-1.src.patch; crossAttrs = { -- cgit 1.4.1 From bbadb1da2a852d1a1517c2ce21232dba49260d83 Mon Sep 17 00:00:00 2001 From: Vladimír Čunát Date: Sat, 17 Sep 2016 01:14:00 +0200 Subject: readline70: init at 7.0p0 Also switch bash-4.4 to it, as it's unable to link with older readline versions (only bashInteractive is affected). --- pkgs/development/libraries/readline/7.0.nix | 66 +++++++++++++++++++++++++++++ pkgs/shells/bash/default.nix | 9 ++-- pkgs/top-level/all-packages.nix | 2 + 3 files changed, 74 insertions(+), 3 deletions(-) create mode 100644 pkgs/development/libraries/readline/7.0.nix (limited to 'pkgs/shells') diff --git a/pkgs/development/libraries/readline/7.0.nix b/pkgs/development/libraries/readline/7.0.nix new file mode 100644 index 0000000000000..9d1c1c57f8c1c --- /dev/null +++ b/pkgs/development/libraries/readline/7.0.nix @@ -0,0 +1,66 @@ +{ fetchurl, stdenv, ncurses }: + +stdenv.mkDerivation rec { + name = "readline-${version}"; + version = "7.0p0"; + + src = fetchurl { + url = "mirror://gnu/readline/readline-${meta.branch}.tar.gz"; + sha256 = "0d13sg9ksf982rrrmv5mb6a2p4ys9rvg9r71d6il0vr8hmql63bm"; + }; + + outputs = [ "out" "dev" "doc" ]; + + propagatedBuildInputs = [ncurses]; + + patchFlags = "-p0"; + + patches = + [ ./link-against-ncurses.patch + ./no-arch_only-6.3.patch + ] + ; + /* + ++ + (let + patch = nr: sha256: + fetchurl { + url = "mirror://gnu/readline/readline-${meta.branch}-patches/readline70-${nr}"; + inherit sha256; + }; + in + import ./readline-7.0-patches.nix patch); + */ + + # Don't run the native `strip' when cross-compiling. + dontStrip = stdenv ? cross; + bash_cv_func_sigsetjmp = if stdenv.isCygwin then "missing" else null; + + meta = with stdenv.lib; { + description = "Library for interactive line editing"; + + longDescription = '' + The GNU Readline library provides a set of functions for use by + applications that allow users to edit command lines as they are + typed in. Both Emacs and vi editing modes are available. The + Readline library includes additional functions to maintain a + list of previously-entered command lines, to recall and perhaps + reedit those lines, and perform csh-like history expansion on + previous commands. + + The history facilities are also placed into a separate library, + the History library, as part of the build process. The History + library may be used without Readline in applications which + desire its capabilities. + ''; + + homepage = http://savannah.gnu.org/projects/readline/; + + license = licenses.gpl3Plus; + + maintainers = [ ]; + + platforms = platforms.unix; + branch = "7.0"; + }; +} diff --git a/pkgs/shells/bash/default.nix b/pkgs/shells/bash/default.nix index be9f15dd1fa88..a401628dabd02 100644 --- a/pkgs/shells/bash/default.nix +++ b/pkgs/shells/bash/default.nix @@ -1,6 +1,8 @@ -{ stdenv, fetchurl, readline ? null, interactive ? false, texinfo ? null, binutils ? null, bison }: +{ stdenv, fetchurl, readline70 ? null, interactive ? false, texinfo ? null +, binutils ? null, bison +}: -assert interactive -> readline != null; +assert interactive -> readline70 != null; assert stdenv.isDarwin -> binutils != null; let @@ -67,9 +69,10 @@ stdenv.mkDerivation rec { # Note: Bison is needed because the patches above modify parse.y. nativeBuildInputs = [bison] ++ optional (texinfo != null) texinfo - ++ optional interactive readline ++ optional stdenv.isDarwin binutils; + buildInputs = optional interactive readline70; + # Bash randomly fails to build because of a recursive invocation to # build `version.h'. enableParallelBuilding = false; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a008a119e76f3..6d72df36dab92 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9358,6 +9358,8 @@ in readline63 = callPackage ../development/libraries/readline/6.3.nix { }; + readline70 = callPackage ../development/libraries/readline/7.0.nix { }; + readosm = callPackage ../development/libraries/readosm { }; lambdabot = callPackage ../development/tools/haskell/lambdabot { -- cgit 1.4.1 From 40a6918af379a8fa06661b5c229bff6101fb0784 Mon Sep 17 00:00:00 2001 From: Vladimír Čunát Date: Sat, 17 Sep 2016 10:30:48 +0200 Subject: bash: bring back 4.3 for the non-interactive version ... until someone looks better at the outputs. The size has grown in 4.4, and it seems like installing binary plugins, headers, etc. --- pkgs/shells/bash/4.3.nix | 118 +++++++++++++++++++++++++++++++++ pkgs/shells/bash/4.4.nix | 121 ++++++++++++++++++++++++++++++++++ pkgs/shells/bash/bash-4.3-patches.nix | 50 ++++++++++++++ pkgs/shells/bash/default.nix | 121 ---------------------------------- pkgs/top-level/all-packages.nix | 4 +- 5 files changed, 291 insertions(+), 123 deletions(-) create mode 100644 pkgs/shells/bash/4.3.nix create mode 100644 pkgs/shells/bash/4.4.nix create mode 100644 pkgs/shells/bash/bash-4.3-patches.nix delete mode 100644 pkgs/shells/bash/default.nix (limited to 'pkgs/shells') diff --git a/pkgs/shells/bash/4.3.nix b/pkgs/shells/bash/4.3.nix new file mode 100644 index 0000000000000..c6868eedba6cc --- /dev/null +++ b/pkgs/shells/bash/4.3.nix @@ -0,0 +1,118 @@ +{ stdenv, fetchurl, readline ? null, interactive ? false, texinfo ? null, binutils ? null, bison }: + +assert interactive -> readline != null; +assert stdenv.isDarwin -> binutils != null; + +let + version = "4.3"; + realName = "bash-${version}"; + shortName = "bash43"; + baseConfigureFlags = if interactive then "--with-installed-readline" else "--disable-readline"; + sha256 = "1m14s1f61mf6bijfibcjm9y6pkyvz6gibyl8p4hxq90fisi8gimg"; + + inherit (stdenv.lib) optional optionalString; +in + +stdenv.mkDerivation rec { + name = "${realName}-p${toString (builtins.length patches)}"; + + src = fetchurl { + url = "mirror://gnu/bash/${realName}.tar.gz"; + inherit sha256; + }; + + hardeningDisable = [ "format" ]; + + outputs = [ "out" "doc" "info" ]; + + # the man pages are small and useful enough + outputMan = if interactive then "out" else null; + + NIX_CFLAGS_COMPILE = '' + -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 + ''; + + patchFlags = "-p0"; + + patches = + (let + patch = nr: sha256: + fetchurl { + url = "mirror://gnu/bash/${realName}-patches/${shortName}-${nr}"; + inherit sha256; + }; + in + import ./bash-4.3-patches.nix 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" + + 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 + ''; + }; + + configureFlags = baseConfigureFlags; + + # Note: Bison is needed because the patches above modify parse.y. + nativeBuildInputs = [bison] + ++ 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 = '' + 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 + else '' + rm -r "$out/share" "$out/bin/bashbug" + ''; + + meta = with stdenv.lib; { + homepage = http://www.gnu.org/software/bash/; + description = + "GNU Bourne-Again Shell, the de facto standard shell on Linux" + + (if interactive then " (for interactive use)" else ""); + + longDescription = '' + 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 = licenses.gpl3Plus; + + platforms = platforms.all; + + maintainers = [ maintainers.peti ]; + }; + + passthru = { + shellPath = "/bin/bash"; + }; +} diff --git a/pkgs/shells/bash/4.4.nix b/pkgs/shells/bash/4.4.nix new file mode 100644 index 0000000000000..a401628dabd02 --- /dev/null +++ b/pkgs/shells/bash/4.4.nix @@ -0,0 +1,121 @@ +{ stdenv, fetchurl, readline70 ? null, interactive ? false, texinfo ? null +, binutils ? null, bison +}: + +assert interactive -> readline70 != null; +assert stdenv.isDarwin -> binutils != null; + +let + version = "4.4"; + realName = "bash-${version}"; + shortName = "bash44"; + baseConfigureFlags = if interactive then "--with-installed-readline" else "--disable-readline"; + sha256 = "1jyz6snd63xjn6skk7za6psgidsd53k05cr3lksqybi0q6936syq"; + + inherit (stdenv.lib) optional optionalString; +in + +stdenv.mkDerivation rec { + name = "${realName}-p${toString (builtins.length patches)}"; + + src = fetchurl { + url = "mirror://gnu/bash/${realName}.tar.gz"; + inherit sha256; + }; + + hardeningDisable = [ "format" ]; + + outputs = [ "out" "doc" "info" ]; + + # the man pages are small and useful enough + outputMan = if interactive then "out" else null; + + NIX_CFLAGS_COMPILE = '' + -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 + ''; + + patchFlags = "-p0"; + + patches = + (let + patch = nr: sha256: + fetchurl { + url = "mirror://gnu/bash/${realName}-patches/${shortName}-${nr}"; + inherit sha256; + }; + in + import ./bash-4.4-patches.nix 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" + + 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 + ''; + }; + + configureFlags = baseConfigureFlags; + + # Note: Bison is needed because the patches above modify parse.y. + nativeBuildInputs = [bison] + ++ optional (texinfo != null) texinfo + ++ optional stdenv.isDarwin binutils; + + buildInputs = optional interactive readline70; + + # Bash randomly fails to build because of a recursive invocation to + # build `version.h'. + enableParallelBuilding = false; + + postInstall = '' + 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 + else '' + rm -r "$out/share" "$out/bin/bashbug" + ''; + + meta = with stdenv.lib; { + homepage = http://www.gnu.org/software/bash/; + description = + "GNU Bourne-Again Shell, the de facto standard shell on Linux" + + (if interactive then " (for interactive use)" else ""); + + longDescription = '' + 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 = licenses.gpl3Plus; + + platforms = platforms.all; + + maintainers = [ maintainers.peti ]; + }; + + passthru = { + shellPath = "/bin/bash"; + }; +} diff --git a/pkgs/shells/bash/bash-4.3-patches.nix b/pkgs/shells/bash/bash-4.3-patches.nix new file mode 100644 index 0000000000000..83743938de329 --- /dev/null +++ b/pkgs/shells/bash/bash-4.3-patches.nix @@ -0,0 +1,50 @@ +# Automatically generated by `update-patch-set.sh'; do not edit. + +patch: [ +(patch "001" "0hip2n2s5hws8p4nfcz37379zn6cak83ljsm64z52rw6ckrdzczc") +(patch "002" "0ashj5d1g3zbyr7zf0r72s5wnk96cz1xj919y3jajadbc9qcvrzf") +(patch "003" "0z88q4daq7dmw93iqd9c5i5d1sndklih3nrh0v75746da2n6w3h0") +(patch "004" "0f0kh9j5k4ym6knshscx31przm50x5cc7ifkwqk0swh6clna982y") +(patch "005" "1ym3b8b7lgmdp3dklp8qaqhyq965wd5392namq8mz7rb0d231j0s") +(patch "006" "04q20igq49py49ynb0f83f6f52cdkyqwd9bpic6akr0m5pkqwr50") +(patch "007" "18zkz23d9myshrwfcwcdjk7qmkqp8az5n91ni9jaixlwqlhy64qi") +(patch "008" "0pprcwvh7ngdli0x95pc1cpssg4qg7layi9xrv2jq6c7965ajhcr") +(patch "009" "19a0pf0alp30d1bjj0zf3zq2f5n0s6y91w7brm9jyswl51kns8n0") +(patch "010" "1dzhr5ammyijisz48cqi5vaw26hfr5vh9smnqxq4qc9p06f7j1ff") +(patch "011" "0fvzdzzi142a8rf3v965r6gbpn0k7fv2gif1yq8a4160vcn40qvw") +(patch "012" "04lcgfcyz7p3zagb4hkia3hkpd7lii9m8ycy9qqwzyrm1c1pj4ry") +(patch "013" "0y9cqi378z6flapkd5k5lfl4lq3ivzg4njj3i3wmw7xb6r9wma5z") +(patch "014" "04xcb0k9fxxq4vashgzb98567xzdnm4655nlm4jvfvjv6si6ykas") +(patch "015" "13ay6lldy1p00xj41nfjpq8lai3vw2qwca79gx6s80z04j53wa8k") +(patch "016" "0wq7bvx3pfw90pnfb86yg5nr9jgjsvm2nq5rrkqxf6zn977hpmlj") +(patch "017" "103p7sibihv6cshqj12k546zsbz0dnd5cv5vlx1719avddfc4rqj") +(patch "018" "0n1x3812y1brb9xbabaj3fvr4cpvm2225iwckmqk2fcpkq5b9a3s") +(patch "019" "08rd1p7zpzgbpmmmnj2im8wj2pcwmbbx51psr9vdc5c049si9ad7") +(patch "020" "163c6g05qpag2plx5q795pmw3f3m904jy7z93xj2i08pgzc8cpna") +(patch "021" "1a90cl3h10dh8k9f2ddrsjmw5ywaw2d5x78xb4fd2sryi039yhs1") +(patch "022" "120s0s4qcqd0q12j1iv0hkpf9fp3w5jnqw646kv66n66jnxlfkgx") +(patch "023" "1m00sfi88p2akgiyrg4hw0gvz3s1586pkzjdr3dm73vs773m1hls") +(patch "024" "0v0gjqzjsqjfgj5x17fq7g649k94jn8zq92qsxkhc2d6l215hl1v") +(patch "025" "0lcj96i659q35f1jcmwwbnw3p7w7vvlxjxqi989vn6d6qksqcl8y") +(patch "026" "0k919ir0inwn4wai2vdzpbwqq5h54fnrlkmgccxjg91v3ch15k1f") +(patch "027" "1gnsfvq6bhb3srlbh0cannj2hackdsipcg7z0ds7zlk1hp96mdqy") +(patch "028" "17a65c4fn4c5rgsiw9gqqnzhznh3gwnd2xzzv2dppyi48znxpc78") +(patch "029" "14k27p28r5l2fz3r03kd0x72vvsq8bja8c6hjz5kxikbzsbs7i2c") +(patch "030" "0nrqb0m7s89qsrbfaffpilc5gcf82bx9yvgzld4hr79p5y54yhw5") +(patch "031" "07d62bl3z7qa8v6kgk47vzzazw563mlk9zhrsr4xsbqgvmcrylnd") +(patch "032" "0jjgapfq4qhmndfrw8c3q3lva8xjdhlbd9cc631v41b0kb95g4w8") +(patch "033" "05ma5rlxiadnfh925p4y7s0vvk917kmsdb1mfdx05gizl63pfapv") +(patch "034" "12gq9whkq3naa3iy7c7x5pfpvrg7d0kwqld8609zxphhy424ysgi") +(patch "035" "1qy1jflmbazjykq766gwabkaiswnx7pwa66whqiny0w02zjqa39p") +(patch "036" "0z6jbyy70lfdm6d3x0sbazbqdxb3xnpn9bmz7madpvrnbd284pxc") +(patch "037" "04sqr8zkl6s5fccfvb775ppn3ldij5imria9swc39aq0fkfp1w9k") +(patch "038" "0rv3g14mpgv8br267bf7rmgqlgwnc4v6g3g8y0sjba571i8amgmd") +(patch "039" "1v3l3vkc3g2b6fjycqwlakr8xhiw6bmw6q0zd6bi0m0m4bnxr55b") +(patch "040" "0sypv66vsldmc95gwvf7ylz1k7y37vnvdsjg8ajjr6b2j9mkkfw4") +(patch "041" "06ic2gdpbi1afik3wqf9d4vh95if4bz8bmhcgr555621dsb35i2f") +(patch "042" "06a90k0p6bqc4wk2dsmapna69124an76xvlnlj3xm497vci968dc") +(patch "043" "1031g97w8gamimb41jr9r2qm7mn10k5mr3sd3y12avml0p0a7a27") +(patch "044" "16bzaq9fs2kaw2n2k6vvljkjw5k5kx06isnq8hxkfrxz60384f4k") +(patch "045" "08q02mj9imp2njpgm6f5q5m61i7qzp33rbxxzarixalyisbw6vms") +(patch "046" "13v8dymwj83wcvrfayjqrs5kqar05bcj4zpiacrjkkchnsk5dd5k") +] diff --git a/pkgs/shells/bash/default.nix b/pkgs/shells/bash/default.nix deleted file mode 100644 index a401628dabd02..0000000000000 --- a/pkgs/shells/bash/default.nix +++ /dev/null @@ -1,121 +0,0 @@ -{ stdenv, fetchurl, readline70 ? null, interactive ? false, texinfo ? null -, binutils ? null, bison -}: - -assert interactive -> readline70 != null; -assert stdenv.isDarwin -> binutils != null; - -let - version = "4.4"; - realName = "bash-${version}"; - shortName = "bash44"; - baseConfigureFlags = if interactive then "--with-installed-readline" else "--disable-readline"; - sha256 = "1jyz6snd63xjn6skk7za6psgidsd53k05cr3lksqybi0q6936syq"; - - inherit (stdenv.lib) optional optionalString; -in - -stdenv.mkDerivation rec { - name = "${realName}-p${toString (builtins.length patches)}"; - - src = fetchurl { - url = "mirror://gnu/bash/${realName}.tar.gz"; - inherit sha256; - }; - - hardeningDisable = [ "format" ]; - - outputs = [ "out" "doc" "info" ]; - - # the man pages are small and useful enough - outputMan = if interactive then "out" else null; - - NIX_CFLAGS_COMPILE = '' - -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 - ''; - - patchFlags = "-p0"; - - patches = - (let - patch = nr: sha256: - fetchurl { - url = "mirror://gnu/bash/${realName}-patches/${shortName}-${nr}"; - inherit sha256; - }; - in - import ./bash-4.4-patches.nix 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" + - 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 - ''; - }; - - configureFlags = baseConfigureFlags; - - # Note: Bison is needed because the patches above modify parse.y. - nativeBuildInputs = [bison] - ++ optional (texinfo != null) texinfo - ++ optional stdenv.isDarwin binutils; - - buildInputs = optional interactive readline70; - - # Bash randomly fails to build because of a recursive invocation to - # build `version.h'. - enableParallelBuilding = false; - - postInstall = '' - 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 - else '' - rm -r "$out/share" "$out/bin/bashbug" - ''; - - meta = with stdenv.lib; { - homepage = http://www.gnu.org/software/bash/; - description = - "GNU Bourne-Again Shell, the de facto standard shell on Linux" + - (if interactive then " (for interactive use)" else ""); - - longDescription = '' - 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 = licenses.gpl3Plus; - - platforms = platforms.all; - - maintainers = [ maintainers.peti ]; - }; - - passthru = { - shellPath = "/bin/bash"; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 02fd446256f18..2832f9646095d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4314,12 +4314,12 @@ in ### SHELLS - bash = lowPrio (callPackage ../shells/bash { + bash = lowPrio (callPackage ../shells/bash/4.3.nix { texinfo = null; interactive = stdenv.isCygwin; # patch for cygwin requires readline support }); - bashInteractive = appendToName "interactive" (callPackage ../shells/bash { + bashInteractive = appendToName "interactive" (callPackage ../shells/bash/4.4.nix { interactive = true; }); -- cgit 1.4.1 From f37566d3962d2ef1f2a518d8e5d794e0bea6d8ff Mon Sep 17 00:00:00 2001 From: Vladimír Čunát Date: Sat, 17 Sep 2016 10:51:32 +0200 Subject: bash 4.4: split headers into .dev --- pkgs/shells/bash/4.4.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'pkgs/shells') diff --git a/pkgs/shells/bash/4.4.nix b/pkgs/shells/bash/4.4.nix index a401628dabd02..406ca4d08fd7a 100644 --- a/pkgs/shells/bash/4.4.nix +++ b/pkgs/shells/bash/4.4.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; - outputs = [ "out" "doc" "info" ]; + outputs = [ "out" "dev" "doc" "info" ]; # the man pages are small and useful enough outputMan = if interactive then "out" else null; @@ -79,6 +79,7 @@ stdenv.mkDerivation rec { postInstall = '' ln -s bash "$out/bin/sh" + moveToOutput lib/bash/Makefile.inc "$dev" ''; postFixup = if interactive -- cgit 1.4.1