Merge staging into closure-size
The most complex problems were from dealing with switches reverted in the meantime (gcc5, gmp6, ncurses6). It's likely that darwin is (still) broken nontrivially.
This commit is contained in:
@@ -1,35 +1,35 @@
|
||||
{ lib, stdenv, fetchurl, pkgconfig, libtool
|
||||
{ lib, stdenv, fetchurl
|
||||
|
||||
, mouseSupport ? false
|
||||
, unicode ? true
|
||||
|
||||
, gpm
|
||||
|
||||
# Extra Options
|
||||
, abiVersion ? "5"
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ncurses-6.0";
|
||||
name = "ncurses-5.9";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/ncurses/${name}.tar.gz";
|
||||
sha256 = "0q3jck7lna77z5r42f13c4xglc7azd19pxfrjrpgp2yf615w4lgm";
|
||||
sha256 = "0fsn7xis81za62afan0vvm38bvgzg5wfmv1m86flqcj0nj7jjilh";
|
||||
};
|
||||
|
||||
patches = [ ./clang.patch ];
|
||||
# gcc-5.patch should be removed after 5.9
|
||||
patches = [ ./clang.patch ./gcc-5.patch ];
|
||||
|
||||
outputs = [ "dev" "lib" "out" "man" ];
|
||||
setOutputFlags = false; # some aren't supported
|
||||
|
||||
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 = ''
|
||||
@@ -78,6 +78,7 @@ stdenv.mkDerivation rec {
|
||||
for dylibtype in so dll dylib; do
|
||||
if [ -e "$lib/lib/lib''${library}$suffix.$dylibtype" ]; then
|
||||
ln -svf lib''${library}$suffix.$dylibtype $lib/lib/lib$library$newsuffix.$dylibtype
|
||||
ln -svf lib''${library}$suffix.$dylibtype.${abiVersion} $lib/lib/lib$library$newsuffix.$dylibtype.${abiVersion}
|
||||
fi
|
||||
done
|
||||
for statictype in a dll.a la; do
|
||||
@@ -90,6 +91,10 @@ stdenv.mkDerivation rec {
|
||||
done
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
rm "$lib"/lib/*.a
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Free software emulation of curses in SVR4 and more";
|
||||
|
||||
@@ -116,6 +121,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
passthru = {
|
||||
ldflags = "-lncurses";
|
||||
inherit unicode;
|
||||
inherit unicode abiVersion;
|
||||
};
|
||||
}
|
||||
|
||||
46
pkgs/development/libraries/ncurses/gcc-5.patch
Normal file
46
pkgs/development/libraries/ncurses/gcc-5.patch
Normal 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 \
|
||||
Reference in New Issue
Block a user