Merge staging into closure-size

This makes gcc5 the default builder, etc.
This commit is contained in:
Vladimír Čunát
2015-10-03 14:45:56 +02:00
57 changed files with 668 additions and 396 deletions

View File

@@ -196,7 +196,7 @@ let version = "5.2.0";
stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else "";
bootstrap = cross == null && !stdenv.isArm && !stdenv.isMips;
bootstrap = cross == null;
in
@@ -208,8 +208,6 @@ stdenv.mkDerivation ({
builder = ../builder.sh;
outputs = [ "out" "info" ];
src = fetchurl {
url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
sha256 = "1bccp8a106xwz3wkixn65ngxif112vn90qf95m6lzpgpnl25p0sz";
@@ -217,6 +215,12 @@ stdenv.mkDerivation ({
inherit patches;
outputs = [ "out" "lib" "doc" ];
setOutputFlags = false;
NIX_NO_SELF_RPATH = true;
libc_dev = stdenv.cc.libc_dev;
postPatch =
if (stdenv.isGNU
|| (libcCross != null # e.g., building `gcc.crossDrv'
@@ -357,7 +361,7 @@ stdenv.mkDerivation ({
)
}
${if (stdenv ? glibc && cross == null)
then " --with-native-system-header-dir=${stdenv.glibc}/include"
then " --with-native-system-header-dir=${stdenv.glibc.dev}/include"
else ""}
${if langAda then " --enable-libada" else ""}
${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""}

View File

@@ -20,7 +20,7 @@
{ lib, fetchurl, writeScript, ruby, libxml2, libxslt, python, stdenv, which
, libiconv, postgresql, v8_3_16_14, clang, sqlite, zlib, imagemagick
, pkgconfig , ncurses, xapian, gpgme, utillinux, fetchpatch, tzdata, icu, libffi
, cmake, libssh2, openssl, mysql
, cmake, libssh2, openssl, mysql, darwin
}:
let
@@ -70,6 +70,7 @@ in
"--with-exslt-lib=${libxslt}/lib"
"--with-exslt-include=${libxslt}/include"
] ++ lib.optional stdenv.isDarwin "--with-iconv-dir=${libiconv}";
buildInputs = lib.optional stdenv.isDarwin darwin.libobjc;
};
pg = attrs: {
@@ -119,6 +120,10 @@ in
'';
};
unf_ext = attrs: {
buildInputs = lib.optional stdenv.isDarwin darwin.libobjc;
};
xapian-ruby = attrs: {
# use the system xapian
buildInputs = [ xapian pkgconfig zlib ];

View File

@@ -3,11 +3,11 @@
with stdenv.lib;
stdenv.mkDerivation rec {
name = "glew-1.11.0";
name = "glew-1.13.0";
src = fetchurl {
url = "mirror://sourceforge/glew/${name}.tgz";
sha256 = "1mhkllxz49l1x680dmzrv2i82qjrq017sykah3xc90f2d8qcxfv9";
sha256 = "1iwb2a6wfhkzv6fa7zx2gz1lkwa0iwnd9ka1im5vdc44xm4dq9da";
};
nativeBuildInputs = [ xlibsWrapper libXmu libXi ];

View File

@@ -1,11 +1,11 @@
{ fetchurl, stdenv }:
stdenv.mkDerivation rec {
name = "glpk-4.52.1";
name = "glpk-4.56";
src = fetchurl {
url = "mirror://gnu/glpk/${name}.tar.gz";
sha256 = "0nz9ngmx23c8gbjr8l8ygnfaanxj2mwbl8awpg630bgrkxdnhc9j";
sha256 = "0syzix6qvpn0fzp08c84c8snansf1cam5vd0dk2w91mz2c85d18h";
};
doCheck = true;

View File

@@ -10,10 +10,10 @@ stdenv.mkDerivation {
sha1 = "71302be302e84fc19b559e811951b5d600d976f8";
};
configureFlags = [ "--enable-shared" ]; # shared libs required by hyenae
buildInputs = [ automake autoconf libtool ];
CFLAGS="-fPIC";
# .so endings are missing (quick and dirty fix)
postInstall = ''
for i in $out/lib/*; do

View File

@@ -1,17 +0,0 @@
{ stdenv }:
assert stdenv.isDarwin;
stdenv.mkDerivation {
name = "libunwind-native";
unpackPhase = ":";
dontBuild = true;
installPhase = ''
mkdir -p $out/lib
cat /usr/lib/system/libunwind.dylib > $out/lib/libunwind.dylib
'';
meta.platforms = stdenv.lib.platforms.darwin;
}

View File

@@ -23,7 +23,7 @@ else
with { inherit (stdenv.lib) optional optionalString; };
let
version = "10.6.8";
version = "11.0.2";
# this is the default search path for DRI drivers
driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32";
in
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
"https://launchpad.net/mesa/trunk/${version}/+download/mesa-${version}.tar.xz"
"ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz"
];
sha256 = "e36ee5ceeadb3966fb5ce5b4cf18322dbb76a4f075558ae49c3bba94f57d58fd";
sha256 = "fce11fb27eb87adf1e620a76455d635c6136dfa49ae58c53b34ef8d0c7b7eae4";
};
prePatch = "patchShebangs .";

View File

@@ -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;
};
}

View File

@@ -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 \

View File

@@ -14,11 +14,12 @@ let
in
stdenv.mkDerivation rec {
name = "neon-0.29.6";
version = "0.30.1";
name = "neon-${version}";
src = fetchurl {
url = "http://www.webdav.org/neon/${name}.tar.gz";
sha256 = "0hzbjqdx1z8zw0vmbknf159wjsxbcq8ii0wgwkqhxj3dimr0nr4w";
sha256 = "1pawhk02x728xn396a1kcivy9gqm94srmgad6ymr9l0qvk02dih0";
};
patches = optionals stdenv.isDarwin [ ./0.29.6-darwin-fix-configure.patch ];

View File

@@ -1,84 +0,0 @@
{ stdenv, fetchurl, perl
, withCryptodev ? false, cryptodevHeaders }:
with stdenv.lib;
let
opensslCrossSystem = attrByPath [ "openssl" "system" ]
(throw "openssl needs its platform name cross building" null)
stdenv.cross;
in
stdenv.mkDerivation rec {
name = "openssl-1.0.2d";
src = fetchurl {
urls = [
"http://www.openssl.org/source/${name}.tar.gz"
"http://openssl.linux-mirror.org/source/${name}.tar.gz"
];
sha1 = "d01d17b44663e8ffa6a33a5a30053779d9593c3d";
};
patches = optional stdenv.isCygwin ./1.0.1-cygwin64.patch;
nativeBuildInputs = [ perl ];
buildInputs = stdenv.lib.optional withCryptodev cryptodevHeaders;
# On x86_64-darwin, "./config" misdetects the system as
# "darwin-i386-cc". So specify the system type explicitly.
configureScript =
if stdenv.system == "x86_64-darwin" then "./Configure darwin64-x86_64-cc"
else if stdenv.system == "x86_64-solaris" then "./Configure solaris64-x86_64-gcc"
else "./config";
configureFlags = [
"shared"
"--libdir=lib"
"--openssldir=etc/ssl"
] ++ stdenv.lib.optionals withCryptodev [
"-DHAVE_CRYPTODEV"
"-DUSE_CRYPTODEV_DIGESTS"
];
makeFlags = [
"MANDIR=$(out)/share/man"
];
# Parallel building is broken in OpenSSL.
enableParallelBuilding = false;
postInstall = ''
# If we're building dynamic libraries, then don't install static
# libraries.
if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib $out/lib/*.dll)" ]; then
rm "$out/lib/"*.a
fi
# remove dependency on Perl at runtime
rm -r $out/etc/ssl/misc $out/bin/c_rehash
'';
postFixup = ''
# Check to make sure we don't depend on perl
if grep -r '${perl}' $out; then
echo "Found an erroneous dependency on perl ^^^" >&2
exit 1
fi
'';
crossAttrs = {
preConfigure=''
# It's configure does not like --build or --host
export configureFlags="${concatStringsSep " " (configureFlags ++ [ opensslCrossSystem ])}"
'';
configureScript = "./Configure";
};
meta = {
homepage = http://www.openssl.org/;
description = "A cryptographic library that implements the SSL and TLS protocols";
platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.simons ];
priority = 10; # resolves collision with man-pages
};
}

View File

@@ -8,14 +8,14 @@ let
stdenv.cross;
in
stdenv.mkDerivation rec {
name = "openssl-1.0.1p";
name = "openssl-1.0.2d";
src = fetchurl {
urls = [
"http://www.openssl.org/source/${name}.tar.gz"
"http://openssl.linux-mirror.org/source/${name}.tar.gz"
];
sha1 = "9d1977cc89242cd11471269ece2ed4650947c046";
sha256 = "671c36487785628a703374c652ad2cebea45fa920ae5681515df25d9f2c9a8c8";
};
patches = optional stdenv.isCygwin ./1.0.1-cygwin64.patch

View File

@@ -5,8 +5,8 @@
}:
let # beware: updates often break cups_filters build
version = "0.34.0"; # even major numbers are stable
sha256 = "1c2wa4pfzqmvzq1jpp3ps5nmzz745gcg8dnpwqpfdccy5ydbm90v";
version = "0.36.0"; # even major numbers are stable
sha256 = "13i440kv873wgmw50rs4d1v05cj0r7bqnghd70hp9vy44dxhdk4k";
in
stdenv.mkDerivation rec {
name = "poppler-${suffix}-${version}";

View File

@@ -0,0 +1,36 @@
{ stdenv, fetchurl, python, utillinux, openssl, http-parser, zlib, libuv }:
let
version = "3.1.0";
inherit (stdenv.lib) optional maintainers licenses platforms;
in stdenv.mkDerivation {
name = "iojs-${version}";
src = fetchurl {
url = "https://iojs.org/dist/v${version}/iojs-v${version}.tar.gz";
sha256 = "15qh5pscg3588hyf4yfhma34gjkg87v5i4xzxj804g6m52m6y727";
};
prePatch = ''
sed -e 's|^#!/usr/bin/env python$|#!${python}/bin/python|g' -i configure
'';
configureFlags = [ "--shared-openssl" "--shared-http-parser" "--shared-zlib" "--shared-libuv" ];
# iojs has --enable-static but no --disable-static. Automatically adding --disable-static
# causes configure to fail, so don't add --disable-static.
dontDisableStatic = true;
buildInputs = [ python openssl http-parser zlib libuv ] ++ (optional stdenv.isLinux utillinux);
setupHook = ../nodejs/setup-hook.sh;
passthru.interpreterName = "iojs";
meta = {
description = "A friendly fork of Node.js with an open governance model";
homepage = https://iojs.org/;
license = licenses.mit;
platforms = platforms.linux;
maintainers = [ maintainers.havvy ];
};
}

View File

@@ -0,0 +1,24 @@
diff -Naur a/tools/gyp/pylib/gyp/xcode_emulation.py b/tools/gyp/pylib/gyp/xcode_emulation.py
--- a/tools/gyp/pylib/gyp/xcode_emulation.py 2014-01-23 06:05:51.000000000 +0100
+++ b/tools/gyp/pylib/gyp/xcode_emulation.py 2014-02-04 17:49:48.000000000 +0100
@@ -1018,12 +1033,16 @@
# Since the value returned by this function is only used when ARCHS is not
# set, then on iOS we return "i386", as the default xcode project generator
# does not set ARCHS if it is not set in the .gyp file.
- if self.isIOS:
+
+ try:
+ if self.isIOS:
+ return 'i386'
+ version, build = self._XcodeVersion()
+ if version >= '0500':
+ return 'x86_64'
return 'i386'
- version, build = self._XcodeVersion()
- if version >= '0500':
+ except:
return 'x86_64'
- return 'i386'
class MacPrefixHeader(object):
"""A class that helps with emulating Xcode's GCC_PREFIX_HEADER feature.

View File

@@ -38,12 +38,13 @@ in stdenv.mkDerivation {
dontDisableStatic = true;
prePatch = ''
patchShebangs .
sed -i 's/raise.*No Xcode or CLT version detected.*/version = "7.0.0"/' tools/gyp/pylib/gyp/xcode_emulation.py
'';
patches = stdenv.lib.optional stdenv.isDarwin ./no-xcode.patch;
patches = stdenv.lib.optionals stdenv.isDarwin [ ./no-xcode.patch ./pkg-libpath.patch ];
buildInputs = [ python http-parser zlib libuv openssl python ]
++ (optional stdenv.isLinux utillinux);
buildInputs = [ python zlib libuv openssl python ]
++ optionals stdenv.isLinux [ utillinux http-parser ]
nativeBuildInputs = [ pkgconfig ]
++ optional stdenv.isDarwin libtool;
setupHook = ./setup-hook.sh;

View File

@@ -70,24 +70,3 @@ diff -Naur a/tools/gyp/pylib/gyp/xcode_emulation.py b/tools/gyp/pylib/gyp/xcode_
def AdjustLibraries(self, libraries, config_name=None):
"""Transforms entries like 'Cocoa.framework' in libraries into entries like
@@ -1018,12 +1033,16 @@
# Since the value returned by this function is only used when ARCHS is not
# set, then on iOS we return "i386", as the default xcode project generator
# does not set ARCHS if it is not set in the .gyp file.
- if self.isIOS:
+
+ try:
+ if self.isIOS:
+ return 'i386'
+ version, build = self._XcodeVersion()
+ if version >= '0500':
+ return 'x86_64'
return 'i386'
- version, build = self._XcodeVersion()
- if version >= '0500':
+ except:
return 'x86_64'
- return 'i386'
class MacPrefixHeader(object):
"""A class that helps with emulating Xcode's GCC_PREFIX_HEADER feature.

View File

@@ -0,0 +1,13 @@
diff --git a/configure b/configure
index d199975..66d903b 100755
--- a/configure
+++ b/configure
@@ -734,7 +734,7 @@ def configure_library(lib, output):
# libpath needs to be provided ahead libraries
if pkg_libpath:
output['libraries'] += (
- filter(None, map(str.strip, pkg_cflags.split('-L'))))
+ pkg_libpath.split())
default_libs = getattr(options, shared_lib + '_libname')
default_libs = map('-l{0}'.format, default_libs.split(','))

View File

@@ -42,7 +42,7 @@ in stdenv.mkDerivation {
patchShebangs .
'';
patches = stdenv.lib.optional stdenv.isDarwin ./no-xcode.patch;
patches = stdenv.lib.optionals stdenv.isDarwin [ ./default-arch.patch ./no-xcode.patch ];
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
(cd tools/gyp; patch -Np1 -i ${../../python-modules/gyp/no-darwin-cflags.patch})