Merge remote-tracking branch 'upstream/master' into staging
This commit is contained in:
@@ -178,33 +178,6 @@ let
|
||||
}));
|
||||
|
||||
in rec {
|
||||
binaryCrystal_0_27 = genericBinary {
|
||||
version = "0.27.2";
|
||||
sha256s = {
|
||||
x86_64-linux = "05l5x7kx2acgnv42fj3rr17z73ix06zvi05h7d7vf3kw0izxrasm";
|
||||
i686-linux = "1iwizkvn6pglc0azkyfhlmk9ap793krdgcnbihd1kvrvs4cz0mm9";
|
||||
x86_64-darwin = "14c69ac2dmfwmb5q56ps3xyxxb0mrbc91ahk9h07c8fiqfii3k9g";
|
||||
};
|
||||
};
|
||||
|
||||
binaryCrystal_0_29 = genericBinary {
|
||||
version = "0.29.0";
|
||||
sha256s = {
|
||||
x86_64-linux = "1wrk29sfx35akg7hxwpdiikvl18wd40gq1kwirw7x522hnq7vlna";
|
||||
i686-linux = "1nx0piis2k3nn7kqiijqazzbvlaavhgvsln0l3dxmpfa4i4dz5h2";
|
||||
x86_64-darwin = "1fd0fbyf05abivnp3igjlrm2axf65n2wdmg4aq6nqj60ipc01rvd";
|
||||
};
|
||||
};
|
||||
|
||||
binaryCrystal_0_30 = genericBinary {
|
||||
version = "0.30.1";
|
||||
sha256s = {
|
||||
x86_64-linux = "1k2mb74jh3ns3m7y73j4wpf571sayn73zbn6d7q81d09r280zrma";
|
||||
i686-linux = "0vsq1ayf922spydp2g2mmimc797jmm7nl5nljhfppcclrwygdyk2";
|
||||
x86_64-darwin = "1p3s4lwdgykb7h7aysjhrs7vm0zhinzw5d7rfv6jsyin4j8yxhzz";
|
||||
};
|
||||
};
|
||||
|
||||
binaryCrystal_0_31 = genericBinary {
|
||||
version = "0.31.1";
|
||||
sha256s = {
|
||||
@@ -214,32 +187,11 @@ in rec {
|
||||
};
|
||||
};
|
||||
|
||||
crystal_0_27 = generic {
|
||||
version = "0.27.2";
|
||||
sha256 = "0vxqnpqi85yh0167nrkbksxsni476iwbh6y3znbvbjbbfhsi3nsj";
|
||||
doCheck = false; # about 20 tests out of more than 15000 are failing
|
||||
binary = binaryCrystal_0_27;
|
||||
};
|
||||
|
||||
crystal_0_29 = generic {
|
||||
version = "0.29.0";
|
||||
sha256 = "0v9l253b2x8yw6a43vvalywpwciwr094l3g5wakmndfrzak2s3zr";
|
||||
doCheck = false; # 6 checks are failing now
|
||||
binary = binaryCrystal_0_29;
|
||||
};
|
||||
|
||||
crystal_0_30 = generic {
|
||||
version = "0.30.1";
|
||||
sha256 = "0fbk784zjflsl3hys5a1xmn8mda8kb2z7ql58wpyfavivswxanbs";
|
||||
doCheck = false; # 6 checks are failing now
|
||||
binary = binaryCrystal_0_29;
|
||||
};
|
||||
|
||||
crystal_0_31 = generic {
|
||||
version = "0.31.1";
|
||||
sha256 = "1dswxa32w16gnc6yjym12xj7ibg0g6zk3ngvl76lwdjqb1h6lwz8";
|
||||
doCheck = false; # 5 checks are failing now
|
||||
binary = binaryCrystal_0_30;
|
||||
binary = binaryCrystal_0_31;
|
||||
};
|
||||
|
||||
crystal_0_32 = generic {
|
||||
@@ -248,7 +200,21 @@ in rec {
|
||||
binary = binaryCrystal_0_31;
|
||||
};
|
||||
|
||||
crystal = crystal_0_32;
|
||||
crystal_0_33 = generic {
|
||||
version = "0.33.0";
|
||||
sha256 = "1zg0qixcws81s083wrh54hp83ng2pa8iyyafaha55mzrh8293jbi";
|
||||
binary = binaryCrystal_0_31;
|
||||
doCheck = false; # 4 checks are failing now
|
||||
};
|
||||
|
||||
crystal_0_34 = generic {
|
||||
version = "0.34.0";
|
||||
sha256 = "110lfpxk9jnqyznbfnilys65ixj5sdmy8pvvnlhqhc3ccvrlnmq4";
|
||||
binary = crystal_0_33;
|
||||
doCheck = false; # 4 checks are failing now
|
||||
};
|
||||
|
||||
crystal = crystal_0_34;
|
||||
|
||||
crystal2nix = callPackage ./crystal2nix.nix {};
|
||||
}
|
||||
|
||||
@@ -2,13 +2,17 @@
|
||||
|
||||
# build-tools
|
||||
, bootPkgs
|
||||
, autoconf, autoreconfHook, automake, coreutils, fetchgit, fetchpatch, perl, python3, m4, sphinx
|
||||
, autoconf, autoreconfHook, automake, coreutils, fetchgit, perl, python3, m4, sphinx
|
||||
, bash
|
||||
|
||||
, libiconv ? null, ncurses
|
||||
|
||||
, # GHC can be built with system libffi or a bundled one.
|
||||
libffi ? null
|
||||
|
||||
, enableDwarf ? !stdenv.targetPlatform.isDarwin &&
|
||||
!stdenv.targetPlatform.isWindows, elfutils # for DWARF support
|
||||
!stdenv.targetPlatform.isWindows
|
||||
, elfutils # for DWARF support
|
||||
|
||||
, useLLVM ? !stdenv.targetPlatform.isx86 || stdenv.targetPlatform.isiOS
|
||||
, # LLVM is conceptually a run-time-only depedendency, but for
|
||||
@@ -18,7 +22,8 @@
|
||||
|
||||
, # If enabled, GHC will be built with the GPL-free but slower integer-simple
|
||||
# library instead of the faster but GPLed integer-gmp library.
|
||||
enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
|
||||
enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms)
|
||||
, gmp
|
||||
|
||||
, # If enabled, use -fPIC when compiling static libs.
|
||||
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
|
||||
@@ -30,7 +35,7 @@
|
||||
, # Whetherto build terminfo.
|
||||
enableTerminfo ? !stdenv.targetPlatform.isWindows
|
||||
|
||||
, version ? "8.10.20191119"
|
||||
, version ? "8.11.20200403"
|
||||
, # What flavour to build. An empty string indicates no
|
||||
# specific flavour and falls back to ghc default values.
|
||||
ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
|
||||
@@ -75,6 +80,7 @@ let
|
||||
|
||||
# Splicer will pull out correct variations
|
||||
libDeps = platform: stdenv.lib.optional enableTerminfo ncurses
|
||||
++ [libffi]
|
||||
++ stdenv.lib.optional (!enableIntegerSimple) gmp
|
||||
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
|
||||
++ stdenv.lib.optional enableDwarf elfutils;
|
||||
@@ -97,17 +103,14 @@ stdenv.mkDerivation (rec {
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://gitlab.haskell.org/ghc/ghc.git/";
|
||||
rev = "0418c38d55c7a47967187dce2db5ea2ab1021b1e";
|
||||
sha256 = "1d8g30ii0w4xh6fh61bxbalsqqyanny99nn3p727fx7favnhgvxi";
|
||||
rev = "4291bddaea3148908c55f235ee8978e1d9aa6f20";
|
||||
sha256 = "1gs3mxmsdpsgsp7vnawx8mys0qwg4x2zhfrbciy3wv8nv13ar1af";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
outputs = [ "out" "doc" ];
|
||||
|
||||
patches = [
|
||||
];
|
||||
|
||||
postPatch = "patchShebangs .";
|
||||
|
||||
# GHC is a bit confused on its cross terminology.
|
||||
@@ -130,8 +133,8 @@ stdenv.mkDerivation (rec {
|
||||
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
|
||||
|
||||
echo -n "${buildMK}" > mk/build.mk
|
||||
echo ${version} >VERSION
|
||||
echo ${src.rev} >GIT_COMMIT_ID
|
||||
echo ${version} > VERSION
|
||||
echo ${src.rev} > GIT_COMMIT_ID
|
||||
./boot
|
||||
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
|
||||
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
|
||||
@@ -161,31 +164,40 @@ stdenv.mkDerivation (rec {
|
||||
# TODO(@Ericson2314): Always pass "--target" and always prefix.
|
||||
configurePlatforms = [ "build" "host" ]
|
||||
++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
|
||||
|
||||
# `--with` flags for libraries needed for RTS linker
|
||||
configureFlags = [
|
||||
"--datadir=$doc/share/doc/ghc"
|
||||
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
|
||||
"--with-curses-libraries=${ncurses.out}/lib"
|
||||
] ++ stdenv.lib.optionals (libffi != null) [
|
||||
"--with-system-libffi"
|
||||
"--with-ffi-includes=${targetPackages.libffi.dev}/include"
|
||||
"--with-ffi-libraries=${targetPackages.libffi.out}/lib"
|
||||
] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
|
||||
"--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
|
||||
"--with-gmp-includes=${targetPackages.gmp.dev}/include"
|
||||
"--with-gmp-libraries=${targetPackages.gmp.out}/lib"
|
||||
] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
|
||||
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
|
||||
"--with-iconv-includes=${libiconv}/include"
|
||||
"--with-iconv-libraries=${libiconv}/lib"
|
||||
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
|
||||
"--enable-bootstrap-with-devel-snapshot"
|
||||
] ++ stdenv.lib.optionals useLdGold [
|
||||
"CFLAGS=-fuse-ld=gold"
|
||||
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
|
||||
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
|
||||
] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
|
||||
"--disable-large-address-space"
|
||||
] ++ stdenv.lib.optionals enableDwarf [
|
||||
] ++ stdenv.lib.optional disableLargeAddressSpace "--disable-large-address-space"
|
||||
++ stdenv.lib.optionals enableDwarf [
|
||||
"--enable-dwarf-unwind"
|
||||
"--with-libdw-includes=${stdenv.lib.getDev elfutils}/include"
|
||||
"--with-libdw-libraries=${stdenv.lib.getLib elfutils}/lib"
|
||||
];
|
||||
|
||||
# Make sure we never relax`$PATH` and hooks support for compatability.
|
||||
# Make sure we never relax`$PATH` and hooks support for compatibility.
|
||||
strictDeps = true;
|
||||
|
||||
# Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
|
||||
dontAddExtraLibs = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
perl autoconf autoreconfHook automake m4 python3 sphinx
|
||||
ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
{ llvmPackages, lib, fetchFromGitHub, cmake
|
||||
, libpng, libjpeg, mesa, eigen, openblas
|
||||
, libpng, libjpeg, mesa, eigen
|
||||
, openblas, blas, lapack
|
||||
}:
|
||||
|
||||
assert blas.implementation == "openblas" && lapack.implementation == "openblas";
|
||||
|
||||
let
|
||||
version = "2019_08_27";
|
||||
|
||||
|
||||
@@ -7,28 +7,22 @@
|
||||
# standard library dependencies
|
||||
, curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2
|
||||
# linear algebra
|
||||
, openblas, arpack
|
||||
, blas, lapack, arpack
|
||||
# Darwin frameworks
|
||||
, CoreServices, ApplicationServices
|
||||
}:
|
||||
|
||||
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
# All dependencies must use the same OpenBLAS.
|
||||
let
|
||||
arpack_ = arpack;
|
||||
in
|
||||
let
|
||||
arpack = arpack_.override { inherit openblas; };
|
||||
in
|
||||
|
||||
let
|
||||
majorVersion = "1";
|
||||
minorVersion = "3";
|
||||
maintenanceVersion = "1";
|
||||
src_sha256 = "0q9a7yc3b235psrwl5ghyxgwly25lf8n818l8h6bkf2ymdbsv5p6";
|
||||
version = "${majorVersion}.${minorVersion}.${maintenanceVersion}";
|
||||
in
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "julia";
|
||||
@@ -67,7 +61,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [
|
||||
arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr
|
||||
pcre2.dev openblas openlibm openspecfun readline utf8proc
|
||||
pcre2.dev blas lapack openlibm openspecfun readline utf8proc
|
||||
zlib
|
||||
]
|
||||
++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices]
|
||||
@@ -94,13 +88,9 @@ stdenv.mkDerivation rec {
|
||||
"SHELL=${stdenv.shell}"
|
||||
|
||||
"USE_SYSTEM_BLAS=1"
|
||||
"USE_BLAS64=${if openblas.blas64 then "1" else "0"}"
|
||||
"LIBBLAS=-lopenblas"
|
||||
"LIBBLASNAME=libopenblas"
|
||||
"USE_BLAS64=${if blas.is64bit then "1" else "0"}"
|
||||
|
||||
"USE_SYSTEM_LAPACK=1"
|
||||
"LIBLAPACK=-lopenblas"
|
||||
"LIBLAPACKNAME=libopenblas"
|
||||
|
||||
"USE_SYSTEM_ARPACK=1"
|
||||
"USE_SYSTEM_FFTW=1"
|
||||
@@ -123,7 +113,7 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
LD_LIBRARY_PATH = makeLibraryPath [
|
||||
arpack fftw fftwSinglePrec gmp libgit2 mpfr openblas openlibm
|
||||
arpack fftw fftwSinglePrec gmp libgit2 mpfr blas openlibm
|
||||
openspecfun pcre2
|
||||
];
|
||||
|
||||
|
||||
@@ -15,20 +15,14 @@
|
||||
# standard library dependencies
|
||||
, curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2
|
||||
# linear algebra
|
||||
, openblas, arpack
|
||||
, blas, lapack, arpack
|
||||
# Darwin frameworks
|
||||
, CoreServices, ApplicationServices
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
# All dependencies must use the same OpenBLAS.
|
||||
let
|
||||
arpack_ = arpack;
|
||||
in
|
||||
let
|
||||
arpack = arpack_.override { inherit openblas; };
|
||||
in
|
||||
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||
|
||||
let
|
||||
dsfmtVersion = "2.2.3";
|
||||
@@ -118,7 +112,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [
|
||||
arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr
|
||||
pcre2.dev openblas openlibm openspecfun readline utf8proc
|
||||
pcre2.dev blas lapack openlibm openspecfun readline utf8proc
|
||||
zlib
|
||||
]
|
||||
++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices]
|
||||
@@ -143,13 +137,9 @@ stdenv.mkDerivation rec {
|
||||
"SHELL=${stdenv.shell}"
|
||||
|
||||
"USE_SYSTEM_BLAS=1"
|
||||
"USE_BLAS64=${if openblas.blas64 then "1" else "0"}"
|
||||
"LIBBLAS=-lopenblas"
|
||||
"LIBBLASNAME=libopenblas"
|
||||
"USE_BLAS64=${if blas.is64bit then "1" else "0"}"
|
||||
|
||||
"USE_SYSTEM_LAPACK=1"
|
||||
"LIBLAPACK=-lopenblas"
|
||||
"LIBLAPACKNAME=libopenblas"
|
||||
|
||||
"USE_SYSTEM_ARPACK=1"
|
||||
"USE_SYSTEM_FFTW=1"
|
||||
@@ -173,7 +163,7 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
LD_LIBRARY_PATH = makeLibraryPath [
|
||||
arpack fftw fftwSinglePrec gmp libgit2 mpfr openblas openlibm
|
||||
arpack fftw fftwSinglePrec gmp libgit2 mpfr blas lapack openlibm
|
||||
openspecfun pcre2
|
||||
];
|
||||
|
||||
|
||||
@@ -1,25 +1,47 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, llvmPackages, libxml2, zlib }:
|
||||
{ stdenv, fetchFromGitHub, cmake, llvmPackages, libxml2, zlib, substituteAll }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.5.0";
|
||||
llvmPackages.stdenv.mkDerivation rec {
|
||||
version = "0.6.0";
|
||||
pname = "zig";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ziglang";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0xyl0riakh6kwb3yvxihb451kqs4ai4q0aygqygnlb2rlr1dn1zb";
|
||||
sha256 = "13dwm2zpscn4n0p5x8ggs9n7mwmq9cgip383i3qqphg7m3pkls8z";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ llvmPackages.clang-unwrapped llvmPackages.llvm libxml2 zlib ];
|
||||
buildInputs = [
|
||||
llvmPackages.clang-unwrapped
|
||||
llvmPackages.llvm
|
||||
llvmPackages.lld
|
||||
libxml2
|
||||
zlib
|
||||
];
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./llvm10_polly.patch;
|
||||
llvm_extras = "-Wl,${llvmPackages.llvm}/lib/LLVMPolly.so";
|
||||
})
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
export HOME=$TMPDIR;
|
||||
'';
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
./zig test $src/test/stage1/behavior.zig
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Programming languaged designed for robustness, optimality, and clarity";
|
||||
description =
|
||||
"General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software";
|
||||
homepage = "https://ziglang.org/";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 97608cddf..e451c0711 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -369,4 +369,5 @@ target_link_libraries(zig_cpp LINK_PUBLIC
|
||||
${CLANG_LIBRARIES}
|
||||
${LLD_LIBRARIES}
|
||||
${LLVM_LIBRARIES}
|
||||
+ @llvm_extras@
|
||||
)
|
||||
Reference in New Issue
Block a user