diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix index 7133634f2eb..c1037a81c85 100644 --- a/pkgs/development/libraries/ncurses/default.nix +++ b/pkgs/development/libraries/ncurses/default.nix @@ -1,15 +1,14 @@ { lib, stdenv, fetchurl, pkgconfig +, abiVersion , mouseSupport ? false , unicode ? true , gpm }: let - inherit (stdenv) isDarwin; - abiVersion = if isDarwin then "5" else "6"; - version = if isDarwin then "5.9" else "6.0"; - sha256 = if isDarwin + version = if abiVersion == "5" then "5.9" else "6.0"; + sha256 = if abiVersion == "5" then "0fsn7xis81za62afan0vvm38bvgzg5wfmv1m86flqcj0nj7jjilh" else "0q3jck7lna77z5r42f13c4xglc7azd19pxfrjrpgp2yf615w4lgm"; in @@ -21,7 +20,7 @@ stdenv.mkDerivation rec { inherit sha256; }; - patches = [ ./clang.patch ]; + patches = [ ./clang.patch ] ++ lib.optional (abiVersion == "5" && stdenv.cc.isGNU) ./gcc-5.patch; outputs = [ "dev" "out" "man" ]; setOutputFlags = false; # some aren't supported diff --git a/pkgs/development/libraries/ncurses/gcc-5.patch b/pkgs/development/libraries/ncurses/gcc-5.patch new file mode 100644 index 00000000000..2448229b88e --- /dev/null +++ b/pkgs/development/libraries/ncurses/gcc-5.patch @@ -0,0 +1,46 @@ +https://bugs.gentoo.org/545114 + +extracted from the upstream change (which had many unrelated commits in one) + +From 97bb4678dc03e753290b39bbff30ba2825df9517 Mon Sep 17 00:00:00 2001 +From: "Thomas E. Dickey" +Date: Sun, 7 Dec 2014 03:10:09 +0000 +Subject: [PATCH] ncurses 5.9 - patch 20141206 + ++ modify MKlib_gen.sh to work around change in development version of + gcc introduced here: + https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html + https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00236.html + (reports by Marcus Shawcroft, Maohui Lei). + +diff --git a/ncurses/base/MKlib_gen.sh b/ncurses/base/MKlib_gen.sh +index d8cc3c9..b91398c 100755 +--- a/ncurses/base/MKlib_gen.sh ++++ b/ncurses/base/MKlib_gen.sh +@@ -474,11 +474,22 @@ sed -n -f $ED1 \ + -e 's/gen_$//' \ + -e 's/ / /g' >>$TMP + ++cat >$ED1 < $ED2 ++cat $ED2 >$TMP ++ + $preprocessor $TMP 2>/dev/null \ +-| sed \ +- -e 's/ / /g' \ +- -e 's/^ //' \ +- -e 's/_Bool/NCURSES_BOOL/g' \ ++| sed -f $ED1 \ + | $AWK -f $AW2 \ + | sed -f $ED3 \ + | sed \ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 800e159558e..1363c9a25ae 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8714,7 +8714,9 @@ in notify-sharp = callPackage ../development/libraries/notify-sharp { }; - ncurses = callPackage ../development/libraries/ncurses { }; + ncurses5 = callPackage ../development/libraries/ncurses { abiVersion = "5"; }; + ncurses6 = callPackage ../development/libraries/ncurses { abiVersion = "6"; }; + ncurses = if stdenv.isDarwin then ncurses5 else ncurses6; neardal = callPackage ../development/libraries/neardal { };