summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2016-09-17 01:14:00 +0200
committerVladimír Čunát <vcunat@gmail.com>2016-09-17 01:16:24 +0200
commitbbadb1da2a852d1a1517c2ce21232dba49260d83 (patch)
tree95288110d307413b57007543751466a7c96180a5 /pkgs
parent02163da708fdae58e9769a169511949675f35d82 (diff)
downloadnixpkgs-bbadb1da2a852d1a1517c2ce21232dba49260d83.tar
nixpkgs-bbadb1da2a852d1a1517c2ce21232dba49260d83.tar.gz
nixpkgs-bbadb1da2a852d1a1517c2ce21232dba49260d83.tar.bz2
nixpkgs-bbadb1da2a852d1a1517c2ce21232dba49260d83.tar.lz
nixpkgs-bbadb1da2a852d1a1517c2ce21232dba49260d83.tar.xz
nixpkgs-bbadb1da2a852d1a1517c2ce21232dba49260d83.tar.zst
nixpkgs-bbadb1da2a852d1a1517c2ce21232dba49260d83.zip
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).
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/libraries/readline/7.0.nix66
-rw-r--r--pkgs/shells/bash/default.nix9
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 74 insertions, 3 deletions
diff --git a/pkgs/development/libraries/readline/7.0.nix b/pkgs/development/libraries/readline/7.0.nix
new file mode 100644
index 00000000000..9d1c1c57f8c
--- /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 be9f15dd1fa..a401628dabd 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 a008a119e76..6d72df36dab 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 {