3
0
Fork 0
forked from mirrors/nixpkgs

ncurses: Add explicit 'ncurses5' and 'ncurses6' attrs

Also reinstate the gcc5 patch to make it build on Linux.
This commit is contained in:
Tuomas Tynkkynen 2016-07-16 23:29:30 +03:00
parent 2eb6300b87
commit b0cc1cd729
3 changed files with 53 additions and 6 deletions

View file

@ -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

View file

@ -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" <dickey@invisible-island.net>
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 <<EOF
+s/ / /g
+s/^ //
+s/ $//
+s/P_NCURSES_BOOL/NCURSES_BOOL/g
+EOF
+
+# A patch discussed here:
+# https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html
+# introduces spurious #line markers. Work around that by ignoring the system's
+# attempt to define "bool" and using our own symbol here.
+sed -e 's/bool/P_NCURSES_BOOL/g' $TMP > $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 \

View file

@ -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 { };