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') 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