diff --git a/pkgs/development/libraries/readline/7.0.nix b/pkgs/development/libraries/readline/7.0.nix new file mode 100644 index 000000000000..9d1c1c57f8c1 --- /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 be9f15dd1fa8..a401628dabd0 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 a008a119e76f..6d72df36dab9 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 {