Merge #17023: bring back ncurses5 to fix GHC bootstrapping
This commit is contained in:
commit
bf6759839a
@ -1,4 +1,4 @@
|
|||||||
{stdenv, lib, fetchurl, perl, libedit, ncurses, gmp}:
|
{stdenv, lib, fetchurl, perl, libedit, ncurses5, gmp}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "6.10.2";
|
version = "6.10.2";
|
||||||
@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
|
|||||||
(if stdenv.isLinux then ''
|
(if stdenv.isLinux then ''
|
||||||
find . -type f -perm -0100 \
|
find . -type f -perm -0100 \
|
||||||
-exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
-exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||||
--set-rpath "${libedit}/lib:${ncurses.out}/lib:${gmp.out}/lib" {} \;
|
--set-rpath "${libedit}/lib:${ncurses5.out}/lib:${gmp.out}/lib" {} \;
|
||||||
for prog in ld ar gcc strip ranlib; do
|
for prog in ld ar gcc strip ranlib; do
|
||||||
find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
|
find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
|
||||||
done
|
done
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{stdenv, fetchurl, perl, ncurses, gmp, libiconv}:
|
{stdenv, fetchurl, perl, ncurses5, gmp, libiconv}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "7.0.4";
|
version = "7.0.4";
|
||||||
@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
|
|||||||
stdenv.lib.optionalString stdenv.isLinux ''
|
stdenv.lib.optionalString stdenv.isLinux ''
|
||||||
find . -type f -perm -0100 \
|
find . -type f -perm -0100 \
|
||||||
-exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
-exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||||
--set-rpath "${ncurses.out}/lib:${gmp.out}/lib" {} \;
|
--set-rpath "${ncurses5.out}/lib:${gmp.out}/lib" {} \;
|
||||||
sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
|
sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
|
||||||
sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
|
sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
|
||||||
for prog in ld ar gcc strip ranlib; do
|
for prog in ld ar gcc strip ranlib; do
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{stdenv, fetchurl, perl, ncurses, gmp, libiconv, makeWrapper}:
|
{stdenv, fetchurl, perl, ncurses5, gmp, libiconv, makeWrapper}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "7.4.2";
|
version = "7.4.2";
|
||||||
@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
|
|||||||
# find editline/gmp.
|
# find editline/gmp.
|
||||||
stdenv.lib.optionalString stdenv.isLinux ''
|
stdenv.lib.optionalString stdenv.isLinux ''
|
||||||
mkdir -p "$out/lib"
|
mkdir -p "$out/lib"
|
||||||
ln -sv "${ncurses.out}/lib/libncurses.so" "$out/lib/libncurses${stdenv.lib.optionalString stdenv.is64bit "w"}.so.5"
|
ln -sv "${ncurses5.out}/lib/libncurses.so" "$out/lib/libncurses${stdenv.lib.optionalString stdenv.is64bit "w"}.so.5"
|
||||||
find . -type f -perm -0100 \
|
find . -type f -perm -0100 \
|
||||||
-exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
-exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||||
--set-rpath "$out/lib:${gmp.out}/lib" {} \;
|
--set-rpath "$out/lib:${gmp.out}/lib" {} \;
|
||||||
|
@ -1,15 +1,14 @@
|
|||||||
{ lib, stdenv, fetchurl, pkgconfig
|
{ lib, stdenv, fetchurl, pkgconfig
|
||||||
|
|
||||||
|
, abiVersion
|
||||||
, mouseSupport ? false
|
, mouseSupport ? false
|
||||||
, unicode ? true
|
, unicode ? true
|
||||||
|
|
||||||
, gpm
|
, gpm
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (stdenv) isDarwin;
|
version = if abiVersion == "5" then "5.9" else "6.0";
|
||||||
abiVersion = if isDarwin then "5" else "6";
|
sha256 = if abiVersion == "5"
|
||||||
version = if isDarwin then "5.9" else "6.0";
|
|
||||||
sha256 = if isDarwin
|
|
||||||
then "0fsn7xis81za62afan0vvm38bvgzg5wfmv1m86flqcj0nj7jjilh"
|
then "0fsn7xis81za62afan0vvm38bvgzg5wfmv1m86flqcj0nj7jjilh"
|
||||||
else "0q3jck7lna77z5r42f13c4xglc7azd19pxfrjrpgp2yf615w4lgm";
|
else "0q3jck7lna77z5r42f13c4xglc7azd19pxfrjrpgp2yf615w4lgm";
|
||||||
in
|
in
|
||||||
@ -21,7 +20,7 @@ stdenv.mkDerivation rec {
|
|||||||
inherit sha256;
|
inherit sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./clang.patch ];
|
patches = [ ./clang.patch ] ++ lib.optional (abiVersion == "5" && stdenv.cc.isGNU) ./gcc-5.patch;
|
||||||
|
|
||||||
outputs = [ "dev" "out" "man" ];
|
outputs = [ "dev" "out" "man" ];
|
||||||
setOutputFlags = false; # some aren't supported
|
setOutputFlags = false; # some aren't supported
|
||||||
|
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 \
|
@ -8716,7 +8716,9 @@ in
|
|||||||
|
|
||||||
notify-sharp = callPackage ../development/libraries/notify-sharp { };
|
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 { };
|
neardal = callPackage ../development/libraries/neardal { };
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user