Merge branch 'master' into staging

This commit is contained in:
Robert Schütz
2018-04-10 09:13:36 +02:00
61 changed files with 1226 additions and 141 deletions

View File

@@ -2,8 +2,8 @@
, python, libconfig, lit, gdb, unzip, darwin, bash
, callPackage
, bootstrapVersion ? false
, version ? "1.7.0"
, ldcSha256 ? "1g8qvmlzvsp030z2rw6lis4kclsd9mlmnbim5kas0k1yr9063m3w"
, version ? "1.8.0"
, ldcSha256 ? "0zswjlibj8zcdj06nn09jjhbd99chsa5f4kps8xifzgrpgsa28g4"
}:
let
@@ -29,16 +29,12 @@ let
sha256 = ldcSha256;
};
sourceRoot = ".";
postUnpack = ''
cd ldc-${version}-src/
patchShebangs .
# Remove cppa test for now because it doesn't work.
rm tests/d2/dmd-testsuite/runnable/cppa.d
rm tests/d2/dmd-testsuite/runnable/extra-files/cppb.cpp
rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/cppa.d
rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/extra-files/cppb.cpp
''
+ stdenv.lib.optionalString (bootstrapVersion) ''
@@ -55,12 +51,15 @@ let
#
#==============================
#Test failed: expected rc == 0, exited with rc == 1
rm tests/d2/dmd-testsuite/runnable/variadic.d
rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/variadic.d
''
+ stdenv.lib.optionalString (!bootstrapVersion) ''
# http://forum.dlang.org/thread/xtbbqthxutdoyhnxjhxl@forum.dlang.org
rm -r tests/dynamiccompile
rm -r ldc-${version}-src/tests/dynamiccompile
# https://github.com/NixOS/nixpkgs/issues/34817
rm -r ldc-${version}-src/tests/plugins/addFuncEntryCall
'';
ROOT_HOME_DIR = "$(echo ~root)";
@@ -190,8 +189,6 @@ let
src = ldcBuild.src;
sourceRoot = ".";
postUnpack = ldcBuild.postUnpack;
postPatch = ldcBuild.postPatch;
@@ -212,7 +209,7 @@ let
"-DLDC_WITH_LLD=OFF"
# Xcode 9.0.1 fixes that bug according to ldc release notes
"-DRT_ARCHIVE_WITH_LDC=OFF"
"-DD_COMPILER=${ldcBuild}/bin/ldmd2"
"-DD_COMPILER=${ldcBuild.out}/bin/ldmd2"
)
'';
@@ -223,7 +220,7 @@ let
buildCmd = if bootstrapVersion then
"ctest -V -R \"build-druntime-ldc-unittest|build-phobos2-ldc-unittest\""
else
"make -j$NIX_BUILD_CORES DMD=${ldcBuild}/bin/ldc2 druntime-test-runner druntime-test-runner-debug phobos2-test-runner phobos2-test-runner-debug";
"make -j$NIX_BUILD_CORES DMD=${ldcBuild.out}/bin/ldc2 phobos2-test-runner phobos2-test-runner-debug";
testCmd = if bootstrapVersion then
"ctest -j$NIX_BUILD_CORES --output-on-failure -E \"dmd-testsuite|lit-tests|ldc2-unittest|llvm-ir-testsuite\""
@@ -232,6 +229,7 @@ let
buildPhase = ''
${buildCmd}
ln -s ${ldcBuild.out}/bin/ldmd2 $PWD/bin/ldmd2
${testCmd}
'';

View File

@@ -23,8 +23,6 @@ stdenv.mkDerivation rec {
# To overcome the bug https://bugzilla.novell.com/show_bug.cgi?id=644723
dontDisableStatic = true;
# In fact I think this line does not help at all to what I
# wanted to achieve: have mono to find libgdiplus automatically
configureFlags = [
"--x-includes=${libX11.dev}/include"
"--x-libraries=${libX11.out}/lib"
@@ -38,7 +36,7 @@ stdenv.mkDerivation rec {
configurePhase = ''
patchShebangs ./
./autogen.sh --prefix $out
./autogen.sh --prefix $out $configureFlags
'';
# Attempt to fix this error when running "mcs --version":
@@ -58,13 +56,13 @@ stdenv.mkDerivation rec {
substituteInPlace mono/mini/aot-compiler.c --replace "llvm_path = g_strdup (\"\")" "llvm_path = g_strdup (\"${llvm}/bin/\")"
'';
# Fix mono DLLMap so it can find libX11 and gdiplus to run winforms apps
# Fix mono DLLMap so it can find libX11 to run winforms apps
# libgdiplus is correctly handled by the --with-libgdiplus configure flag
# Other items in the DLLMap may need to be pointed to their store locations, I don't think this is exhaustive
# http://www.mono-project.com/Config_DllMap
postBuild = ''
find . -name 'config' -type f | xargs \
sed -i -e "s@libX11.so.6@${libX11.out}/lib/libX11.so.6@g" \
-e 's#[^"]*libgdiplus[^"]*"#${libgdiplus}/lib/libgdiplus.so"#' \
sed -i -e "s@libX11.so.6@${libX11.out}/lib/libX11.so.6@g"
'';
# Without this, any Mono application attempting to open an SSL connection will throw with

View File

@@ -2,18 +2,18 @@
{stdenv, fetchgit, boehmgc, mps, gnused, opendylan-bootstrap, autoconf, automake, perl, makeWrapper, gcc }:
stdenv.mkDerivation {
name = "opendylan-2013.2";
name = "opendylan-2016.1pre";
src = fetchgit {
url = https://github.com/dylan-lang/opendylan;
rev = "ce9b14dab6cb9ffedc69fae8c6df524c0c79abd3";
sha256 = "17jvhv0y63fj25ma05k70b7phcwgjyna5qkrirk48z3xapb8bknd";
rev = "cd9a8395586d33cc43a8611c1dc0513e69ee82dd";
sha256 = "00r1dm7mjy5p4hfm13vc4b6qryap40zinia3y15rhvalc3i2np4b";
fetchSubmodules = true;
};
buildInputs = (if stdenv.system == "i686-linux" then [ mps ] else [ boehmgc ]) ++ [
opendylan-bootstrap boehmgc gnused autoconf automake perl makeWrapper
] ;
];
preConfigure = if stdenv.system == "i686-linux" then ''
mkdir -p $TMPDIR/mps

View File

@@ -100,8 +100,10 @@ stdenv.mkDerivation {
# Useful debugging parameter
# export VERBOSE=1
''
+ optionalString stdenv.isDarwin ''
'' + optionalString stdenv.isAarch64 ''
# https://github.com/rust-lang/rust/issues/49807
rm -vr src/test/debuginfo/by-value-self-argument-in-trait-impl.rs
'' + optionalString stdenv.isDarwin ''
# Disable all lldb tests.
# error: Can't run LLDB test because LLDB's python path is not set
rm -vr src/test/debuginfo/*