summary refs log tree commit diff
path: root/pkgs/development/libraries/ncurses
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2015-10-06 15:24:20 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2015-10-06 15:24:20 +0200
commit741bf840dad05cd1728481045466811ae8ae8281 (patch)
tree93ce9aef00773772dfb9b782f20e20b79f024d48 /pkgs/development/libraries/ncurses
parentfe195af94462a6769f2e2c38c1d5739337c20d57 (diff)
downloadnixlib-741bf840dad05cd1728481045466811ae8ae8281.tar
nixlib-741bf840dad05cd1728481045466811ae8ae8281.tar.gz
nixlib-741bf840dad05cd1728481045466811ae8ae8281.tar.bz2
nixlib-741bf840dad05cd1728481045466811ae8ae8281.tar.lz
nixlib-741bf840dad05cd1728481045466811ae8ae8281.tar.xz
nixlib-741bf840dad05cd1728481045466811ae8ae8281.tar.zst
nixlib-741bf840dad05cd1728481045466811ae8ae8281.zip
Revert "Merge pull request #9543 from NixOS/staging.post-15.06"
This reverts commit f61176c5396ed513f3d399f73f38ab78a066667f, reversing
changes made to a27ca029ee2b39e04d7d2a516a7228f4b62067fb.

Conflicts:
	pkgs/development/libraries/ncurses/default.nix
Diffstat (limited to 'pkgs/development/libraries/ncurses')
-rw-r--r--pkgs/development/libraries/ncurses/default.nix24
-rw-r--r--pkgs/development/libraries/ncurses/gcc-5.patch46
2 files changed, 61 insertions, 9 deletions
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index a76bba24c62f..517410051581 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -1,37 +1,38 @@
-{ 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";
   };
 
+  # gcc-5.patch should be removed after 5.9
+  patches = [ ./gcc-5.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
   '';
@@ -68,6 +69,7 @@ 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
@@ -80,6 +82,10 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  preFixup = ''
+    rm $out/lib/*.a
+  '';
+
   meta = {
     description = "Free software emulation of curses in SVR4 and more";
 
@@ -106,6 +112,6 @@ stdenv.mkDerivation rec {
 
   passthru = {
     ldflags = "-lncurses";
-    inherit unicode;
+    inherit unicode abiVersion;
   };
 }
diff --git a/pkgs/development/libraries/ncurses/gcc-5.patch b/pkgs/development/libraries/ncurses/gcc-5.patch
new file mode 100644
index 000000000000..2448229b88e1
--- /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" <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 \