about summary refs log tree commit diff
path: root/pkgs/development/compilers/ldc/default.nix
diff options
context:
space:
mode:
authorThomas Mader <thomas.mader@gmail.com>2018-08-11 13:50:43 +0200
committerThomas Mader <thomas.mader@gmail.com>2018-08-11 13:53:02 +0200
commitf4f488de21c971c1280fff11b8fe217fa8ad015e (patch)
tree2b6094f442b1719e7ab90a007476acc12f39ae18 /pkgs/development/compilers/ldc/default.nix
parentb92956d4c662e57247e46f76965123f0d9ed08b3 (diff)
downloadnixlib-f4f488de21c971c1280fff11b8fe217fa8ad015e.tar
nixlib-f4f488de21c971c1280fff11b8fe217fa8ad015e.tar.gz
nixlib-f4f488de21c971c1280fff11b8fe217fa8ad015e.tar.bz2
nixlib-f4f488de21c971c1280fff11b8fe217fa8ad015e.tar.lz
nixlib-f4f488de21c971c1280fff11b8fe217fa8ad015e.tar.xz
nixlib-f4f488de21c971c1280fff11b8fe217fa8ad015e.tar.zst
nixlib-f4f488de21c971c1280fff11b8fe217fa8ad015e.zip
ldc: 1.8.0 -> 1.10.0
Disabled tests on Darwin for now
Diffstat (limited to 'pkgs/development/compilers/ldc/default.nix')
-rw-r--r--pkgs/development/compilers/ldc/default.nix134
1 files changed, 72 insertions, 62 deletions
diff --git a/pkgs/development/compilers/ldc/default.nix b/pkgs/development/compilers/ldc/default.nix
index dc6a933a9345..bb3649302187 100644
--- a/pkgs/development/compilers/ldc/default.nix
+++ b/pkgs/development/compilers/ldc/default.nix
@@ -2,8 +2,8 @@
 , python, libconfig, lit, gdb, unzip, darwin, bash
 , callPackage, makeWrapper, targetPackages
 , bootstrapVersion ? false
-, version ? "1.8.0"
-, ldcSha256 ? "0zswjlibj8zcdj06nn09jjhbd99chsa5f4kps8xifzgrpgsa28g4"
+, version ? "1.10.0"
+, ldcSha256 ? "0wc3vlblsz4qdwa9ay9plv9nvfd07zj2byqqffaa4a5gvjwf5dlr"
 }:
 
 let
@@ -155,7 +155,10 @@ let
 
     makeFlags = [ "DMD=$DMD" ];
 
-    doCheck = true;
+    # Disable tests on Darwin for now because of
+    # https://github.com/NixOS/nixpkgs/issues/41099
+    # https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818
+    doCheck = !bootstrapVersion && !stdenv.hostPlatform.isDarwin;
 
     checkPhase = ''
       # Build and run LDC D unittests.
@@ -184,65 +187,72 @@ let
 
   # Need to test Phobos in a fixed-output derivation, otherwise the
   # network stuff in Phobos would fail if sandbox mode is enabled.
-  ldcUnittests = stdenv.mkDerivation rec {
-    name = "ldcUnittests-${version}";
-
-    enableParallelBuilding = ldcBuild.enableParallelBuilding;
-    preferLocalBuild = true;
-    inputString = ldcBuild.outPath;
-    outputHashAlgo = "sha256";
-    outputHash = builtins.hashString "sha256" inputString;
-
-    src = ldcBuild.src;
-
-    postUnpack = ldcBuild.postUnpack;
-
-    postPatch = ldcBuild.postPatch;
-
-    nativeBuildInputs = ldcBuild.nativeBuildInputs
-
-    ++ [
-      ldcBuild
-    ];
-
-    buildInputs = ldcBuild.buildInputs;
-
-    preConfigure = ''
-      cmakeFlagsArray=( "-DINCLUDE_INSTALL_DIR=$out/include/dlang/ldc"
-                        "-DCMAKE_BUILD_TYPE=Release"
-                        "-DCMAKE_SKIP_RPATH=ON"
-                        "-DBUILD_SHARED_LIBS=OFF"
-                        "-DLDC_WITH_LLD=OFF"
-                        # Xcode 9.0.1 fixes that bug according to ldc release notes
-                        "-DRT_ARCHIVE_WITH_LDC=OFF"
-                        "-DD_COMPILER=${ldcBuild.out}/bin/ldmd2"
-                      )
-    '';
-
-    postConfigure = ldcBuild.postConfigure;
-
-    makeFlags = ldcBuild.makeFlags;
-
-    buildCmd = if bootstrapVersion then
-      "ctest -V -R \"build-druntime-ldc-unittest|build-phobos2-ldc-unittest\""
-    else
-      "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\""
-    else
-      "ctest -j$NIX_BUILD_CORES --output-on-failure -E \"dmd-testsuite|lit-tests|ldc2-unittest\"";
-
-    buildPhase = ''
-        ${buildCmd}
-        ln -s ${ldcBuild.out}/bin/ldmd2 $PWD/bin/ldmd2
-        ${testCmd}
-    '';
-
-    installPhase = ''
-        echo -n $inputString > $out
-    '';
-  };
+  #
+  # Disable tests on Darwin for now because of
+  # https://github.com/NixOS/nixpkgs/issues/41099
+  # https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818
+  ldcUnittests = if (!bootstrapVersion && !stdenv.hostPlatform.isDarwin) then
+    stdenv.mkDerivation rec {
+      name = "ldcUnittests-${version}";
+
+      enableParallelBuilding = ldcBuild.enableParallelBuilding;
+      preferLocalBuild = true;
+      inputString = ldcBuild.outPath;
+      outputHashAlgo = "sha256";
+      outputHash = builtins.hashString "sha256" inputString;
+
+      src = ldcBuild.src;
+
+      postUnpack = ldcBuild.postUnpack;
+
+      postPatch = ldcBuild.postPatch;
+
+      nativeBuildInputs = ldcBuild.nativeBuildInputs
+
+      ++ [
+        ldcBuild
+      ];
+
+      buildInputs = ldcBuild.buildInputs;
+
+      preConfigure = ''
+        cmakeFlagsArray=( "-DINCLUDE_INSTALL_DIR=$out/include/dlang/ldc"
+                          "-DCMAKE_BUILD_TYPE=Release"
+                          "-DCMAKE_SKIP_RPATH=ON"
+                          "-DBUILD_SHARED_LIBS=OFF"
+                          "-DLDC_WITH_LLD=OFF"
+                          # Xcode 9.0.1 fixes that bug according to ldc release notes
+                          "-DRT_ARCHIVE_WITH_LDC=OFF"
+                          "-DD_COMPILER=${ldcBuild.out}/bin/ldmd2"
+                        )
+      '';
+
+      postConfigure = ldcBuild.postConfigure;
+
+      makeFlags = ldcBuild.makeFlags;
+
+      buildCmd = if bootstrapVersion then
+        "ctest -V -R \"build-druntime-ldc-unittest|build-phobos2-ldc-unittest\""
+      else
+        "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\""
+      else
+        "ctest -j$NIX_BUILD_CORES --output-on-failure -E \"dmd-testsuite|lit-tests|ldc2-unittest\"";
+
+      buildPhase = ''
+          ${buildCmd}
+          ln -s ${ldcBuild.out}/bin/ldmd2 $PWD/bin/ldmd2
+          ${testCmd}
+      '';
+
+      installPhase = ''
+          echo -n $inputString > $out
+      '';
+    }
+  else
+    "";
 
 in