From 8f0511b0a0855746f5f1dd174295557d7c7ed9f0 Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Sat, 25 Jan 2014 14:24:10 -0700 Subject: [PATCH] gawk: add gawkInteractive with readline support stdenv (on linux) depends on gawk, readline and similar are useless for non-interactive usage. Close #1596. Original patch was almost completely rewritten by vcunat. On darwin we always specify whether to use readline, so it isn't always picked as reported. --- pkgs/tools/text/gawk/default.nix | 10 +++++++--- pkgs/top-level/all-packages.nix | 3 ++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/text/gawk/default.nix b/pkgs/tools/text/gawk/default.nix index 901f53c5e5c..b231f2875c0 100644 --- a/pkgs/tools/text/gawk/default.nix +++ b/pkgs/tools/text/gawk/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libsigsegv }: +{ stdenv, fetchurl, libsigsegv, readline, readlineSupport ? false }: stdenv.mkDerivation rec { name = "gawk-4.1.0"; @@ -12,9 +12,13 @@ stdenv.mkDerivation rec { doCheck = !stdenv.isCygwin; # XXX: `test-dup2' segfaults on Cygwin 6.1 - buildInputs = [ libsigsegv ]; + buildInputs = [ libsigsegv ] + ++ stdenv.lib.optional readlineSupport readline; - configureFlags = [ "--with-libsigsegv-prefix=${libsigsegv}" ]; + configureFlags = [ "--with-libsigsegv-prefix=${libsigsegv}" ] + ++ stdenv.lib.optional readlineSupport "--with-readline=${readline}" + # only darwin where reported, seems OK on non-chrooted Fedora (don't rebuild stdenv) + ++ stdenv.lib.optional (!readlineSupport && stdenv.isDarwin) "--without-readline"; meta = { homepage = http://www.gnu.org/software/gawk/; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 460cf40f0a6..43c8b14b2bc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -974,7 +974,8 @@ let g500-control = callPackage ../tools/misc/g500-control { }; - gawk = callPackage ../tools/text/gawk { }; + gawk = lowPrio (callPackage ../tools/text/gawk { }); + gawkInteractive = gawk.override { readlineSupport = true; }; gdmap = callPackage ../tools/system/gdmap { };