Merge branch 'master' into staging

This commit is contained in:
Vladimír Čunát
2017-03-23 13:31:28 +01:00
163 changed files with 3073 additions and 1913 deletions

View File

@@ -76,7 +76,8 @@ let version = "5.4.0";
++ optional langAda ../gnat-cflags.patch
++ optional langFortran ../gfortran-driving.patch
# This could be applied unconditionally but I don't want to cause a full Linux rebuild.
# This could be applied unconditionally but I don't want to cause a full
# Linux rebuild.
++ optional stdenv.cc.isClang ./libcxx38-and-above.patch;
javaEcj = fetchurl {
@@ -234,6 +235,13 @@ stdenv.mkDerivation ({
libc_dev = stdenv.cc.libc_dev;
# This should kill all the stdinc frameworks that gcc and friends like to
# insert into default search paths.
prePatch = if stdenv.isDarwin then ''
substituteInPlace gcc/config/darwin-c.c \
--replace 'if (stdinc)' 'if (0)'
'' else null;
postPatch =
if (stdenv.isGNU
|| (libcCross != null # e.g., building `gcc.crossDrv'

View File

@@ -1,52 +0,0 @@
# This is a derivation specific to OS X (Darwin)
{gmp, mpfr, libmpc, isl_0_14, cloog, zlib, fetchurl, stdenv
, Libsystem
}:
stdenv.mkDerivation rec {
name = "gfortran-${version}";
version = "5.1.0";
buildInputs = [ gmp mpfr libmpc isl_0_14 cloog zlib ];
src = fetchurl {
url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
sha256 = "1bd5vj4px3s8nlakbgrh38ynxq4s654m6nxz7lrj03mvkkwgvnmp";
};
patches = ./gfortran-darwin.patch;
hardeningDisable = [ "format" ];
configureFlags = ''
--disable-bootstrap
--disable-cloog-version-check
--disable-isl-version-check
--disable-multilib
--enable-checking=release
--enable-languages=fortran
--with-cloog=${cloog}
--with-gmp=${gmp.dev}
--with-isl=${isl_0_14}
--with-mpc=${libmpc}
--with-mpfr=${mpfr.dev}
--with-native-system-header-dir=${Libsystem}/include
--with-system-zlib
'';
postConfigure = ''
export DYLD_LIBRARY_PATH=`pwd`/`uname -m`-apple-darwin`uname -r`/libgcc
'';
makeFlags = [ "CC=clang" ];
passthru.cc = stdenv.cc.cc;
meta = with stdenv.lib; {
description = "GNU Fortran compiler, part of the GNU Compiler Collection";
homepage = "https://gcc.gnu.org/fortran/";
license = licenses.gpl3Plus;
platforms = platforms.darwin;
};
}

View File

@@ -1,26 +0,0 @@
--- a/gcc/config/darwin-c.c 2015-01-09 22:18:42.000000000 +0200
+++ b/gcc/config/darwin-c.c 2015-06-27 04:17:58.000000000 +0300
@@ -490,8 +490,7 @@
static const char *framework_defaults [] =
{
- "/System/Library/Frameworks",
- "/Library/Frameworks",
+// stdenvDarwinPure
};
/* Register the GNU objective-C runtime include path if STDINC. */
/* Register the GNU objective-C runtime include path if STDINC. */
--- a/gcc/cppdefault.c 2015-01-05 14:33:28.000000000 +0200
+++ b/gcc/cppdefault.c 2015-06-27 04:16:15.000000000 +0300
@@ -35,6 +35,9 @@
# undef CROSS_INCLUDE_DIR
#endif
+// stdenvDarwinPure
+# undef LOCAL_INCLUDE_DIR
+
const struct default_include cpp_include_defaults[]
#ifdef INCLUDE_DEFAULTS
= INCLUDE_DEFAULTS;

View File

@@ -42,6 +42,7 @@ let
passthru = {
lib = self; # compatibility with gcc, so that `stdenv.cc.cc.lib` works on both
isClang = true;
inherit llvm;
} // stdenv.lib.optionalAttrs stdenv.isLinux {
inherit gcc;
};

View File

@@ -53,6 +53,7 @@ let
passthru = {
lib = self; # compatibility with gcc, so that `stdenv.cc.cc.lib` works on both
isClang = true;
inherit llvm;
} // stdenv.lib.optionalAttrs stdenv.isLinux {
inherit gcc;
};

View File

@@ -53,6 +53,7 @@ let
passthru = {
lib = self; # compatibility with gcc, so that `stdenv.cc.cc.lib` works on both
isClang = true;
inherit llvm;
} // stdenv.lib.optionalAttrs stdenv.isLinux {
inherit gcc;
};

View File

@@ -53,6 +53,7 @@ let
passthru = {
lib = self; # compatibility with gcc, so that `stdenv.cc.cc.lib` works on both
isClang = true;
inherit llvm;
} // stdenv.lib.optionalAttrs stdenv.isLinux {
inherit gcc;
};

View File

@@ -79,11 +79,11 @@ stdenv.mkDerivation ( rec {
# Stripping breaks linking for ponyc
dontStrip = true;
meta = {
meta = with stdenv.lib; {
description = "Pony is an Object-oriented, actor-model, capabilities-secure, high performance programming language";
homepage = http://www.ponylang.org;
license = stdenv.lib.licenses.bsd2;
maintainers = with stdenv.lib.maintainers; [ doublec kamilchm ];
platforms = stdenv.lib.platforms.unix;
license = licenses.bsd2;
maintainers = with maintainers; [ doublec kamilchm ];
platforms = subtractLists platforms.i686 platforms.unix;
};
})