ncurses5: Use v6 sources but compiled with --with-abi-version=5
So we don't have to dig out why ncurses5.9 stops compiling with newer compiler versions again and again. Inspired by: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=ncurses5-compat-libs
This commit is contained in:
@@ -11,23 +11,18 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = if abiVersion == "5" then "5.9" else "6.0-20171125";
|
||||
name = "ncurses-${version}";
|
||||
version = "6.0-20171125";
|
||||
name = "ncurses-${version}" + lib.optionalString (abiVersion == "5") "-abi5-compat";
|
||||
|
||||
src = fetchurl (if abiVersion == "5" then {
|
||||
url = "mirror://gnu/ncurses/${name}.tar.gz";
|
||||
sha256 = "0fsn7xis81za62afan0vvm38bvgzg5wfmv1m86flqcj0nj7jjilh";
|
||||
} else {
|
||||
src = fetchurl {
|
||||
urls = [
|
||||
"ftp://ftp.invisible-island.net/ncurses/current/${name}.tgz"
|
||||
"https://invisible-mirror.net/archives/ncurses/current/${name}.tgz"
|
||||
"ftp://ftp.invisible-island.net/ncurses/current/ncurses-${version}.tgz"
|
||||
"https://invisible-mirror.net/archives/ncurses/current/ncurses-${version}.tgz"
|
||||
];
|
||||
sha256 = "11adzj0k82nlgpfrflabvqn2m7fmhp2y6pd7ivmapynxqb9vvb92";
|
||||
});
|
||||
};
|
||||
|
||||
# Unnecessarily complicated in order to avoid mass-rebuilds
|
||||
patches = lib.optional (!stdenv.cc.isClang || abiVersion == "5") ./clang.patch
|
||||
++ lib.optional (stdenv.cc.isGNU && abiVersion == "5") ./gcc-5.patch;
|
||||
patches = lib.optional (!stdenv.cc.isClang) ./clang.patch;
|
||||
|
||||
outputs = [ "out" "dev" "man" ];
|
||||
setOutputFlags = false; # some aren't supported
|
||||
@@ -37,7 +32,8 @@ stdenv.mkDerivation rec {
|
||||
"--without-debug"
|
||||
"--enable-pc-files"
|
||||
"--enable-symlinks"
|
||||
] ++ lib.optional unicode "--enable-widec";
|
||||
] ++ lib.optional unicode "--enable-widec"
|
||||
++ lib.optional (abiVersion == "5") "--with-abi-version=5";
|
||||
|
||||
# Only the C compiler, and explicitly not C++ compiler needs this flag on solaris:
|
||||
CFLAGS = lib.optionalString stdenv.isSunOS "-D_XOPEN_SOURCE_EXTENDED";
|
||||
|
||||
Reference in New Issue
Block a user