ncurses: 5.9 -> 6.0

This commit is contained in:
William A. Kennington III 2015-08-20 12:54:38 -07:00
parent eae9889b82
commit 3f1d497fbe
2 changed files with 10 additions and 60 deletions

@ -1,38 +1,39 @@
{ lib, stdenv, fetchurl
{ lib, stdenv, fetchurl, pkgconfig, libtool
, mouseSupport ? false
, unicode ? true
, gpm
# Extra Options
, abiVersion ? "5"
}:
stdenv.mkDerivation rec {
name = "ncurses-5.9";
name = "ncurses-6.0";
src = fetchurl {
url = "mirror://gnu/ncurses/${name}.tar.gz";
sha256 = "0fsn7xis81za62afan0vvm38bvgzg5wfmv1m86flqcj0nj7jjilh";
sha256 = "0q3jck7lna77z5r42f13c4xglc7azd19pxfrjrpgp2yf615w4lgm";
};
# gcc-5.patch should be removed after 5.9
patches = [ ./clang.patch ./gcc-5.patch ];
patches = [ ./clang.patch ];
configureFlags = [
"--with-shared"
"--with-cxx-shared"
"--with-libtool"
"--without-debug"
"--enable-overwrite" # Needed for proper header installation
"--enable-pc-files"
"--enable-symlinks"
] ++ lib.optional unicode "--enable-widec";
nativeBuildInputs = [ pkgconfig libtool ];
buildInputs = lib.optional (mouseSupport && stdenv.isLinux) gpm;
preConfigure = ''
configureFlagsArray+=("--includedir=$out/include")
export PKG_CONFIG_LIBDIR="$out/lib/pkgconfig"
mkdir -p "$PKG_CONFIG_LIBDIR"
configureFlagsArray+=("--with-pkg-config-libdir=$PKG_CONFIG_LIBDIR")
'' + lib.optionalString stdenv.isCygwin ''
sed -i -e 's,LIB_SUFFIX="t,LIB_SUFFIX=",' configure
'';
@ -69,7 +70,6 @@ stdenv.mkDerivation rec {
for dylibtype in so dll dylib; do
if [ -e "$out/lib/lib''${lib}$suffix.$dylibtype" ]; then
ln -svf lib''${lib}$suffix.$dylibtype $out/lib/lib$lib$newsuffix.$dylibtype
ln -svf lib''${lib}$suffix.$dylibtype.${abiVersion} $out/lib/lib$lib$newsuffix.$dylibtype.${abiVersion}
fi
done
for statictype in a dll.a la; do
@ -82,10 +82,6 @@ stdenv.mkDerivation rec {
done
'';
preFixup = ''
rm $out/lib/*.a
'';
meta = {
description = "Free software emulation of curses in SVR4 and more";
@ -112,6 +108,6 @@ stdenv.mkDerivation rec {
passthru = {
ldflags = "-lncurses";
inherit unicode abiVersion;
inherit unicode;
};
}

@ -1,46 +0,0 @@
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 \