summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorJörg Thalheim <Mic92@users.noreply.github.com>2017-10-25 13:33:07 +0100
committerGitHub <noreply@github.com>2017-10-25 13:33:07 +0100
commitfdb4bec67109740731531a518aeb05f33d342afd (patch)
tree4db2b7e8e62446d33b8199c8bf6e1c7d6a979df7 /pkgs
parentd78854517256e10f561062b5f7a293a8c337aef5 (diff)
parentd855091fb38b6774085ff1281d1e5ee575146810 (diff)
downloadnixlib-fdb4bec67109740731531a518aeb05f33d342afd.tar
nixlib-fdb4bec67109740731531a518aeb05f33d342afd.tar.gz
nixlib-fdb4bec67109740731531a518aeb05f33d342afd.tar.bz2
nixlib-fdb4bec67109740731531a518aeb05f33d342afd.tar.lz
nixlib-fdb4bec67109740731531a518aeb05f33d342afd.tar.xz
nixlib-fdb4bec67109740731531a518aeb05f33d342afd.tar.zst
nixlib-fdb4bec67109740731531a518aeb05f33d342afd.zip
Merge pull request #30156 from kuznero/pr/coreclr2
Fix coreclr and upgrade to 2.0.0
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/compilers/coreclr/default.nix66
-rw-r--r--pkgs/top-level/all-packages.nix4
2 files changed, 24 insertions, 46 deletions
diff --git a/pkgs/development/compilers/coreclr/default.nix b/pkgs/development/compilers/coreclr/default.nix
index b619bf6ce208..592eaf38d87a 100644
--- a/pkgs/development/compilers/coreclr/default.nix
+++ b/pkgs/development/compilers/coreclr/default.nix
@@ -12,19 +12,19 @@
 , lttng-ust
 , liburcu
 , libuuid
-, ed
+, libkrb5
 , debug ? false
 }:
 
 stdenv.mkDerivation rec {
   name = "coreclr-${version}";
-  version = "1.0.4";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner  = "dotnet";
     repo   = "coreclr";
     rev    = "v${version}";
-    sha256 = "1wpig71q0kh2yrq162d32x00zlwrrs1wymkgijh49cqkn4cwkh91";
+    sha256 = "16z58ix8kmk8csfy5qsqz8z30czhrap2vb8s8vdflmbcfnq31jcw";
   };
 
   buildInputs = [
@@ -41,67 +41,43 @@ stdenv.mkDerivation rec {
     lttng-ust
     liburcu
     libuuid
-    ed
+    libkrb5
   ];
 
   configurePhase = ''
-    # Prevent clang-3.5 (rather than just clang) from being selected as the compiler as that's
-    # not wrapped
-    # substituteInPlace src/pal/tools/gen-buildsys-clang.sh --replace "which \"clang-\$" "which \"clang-DoNotFindThisOne\$"
-
-    patchShebangs build.sh
-    patchShebangs src/pal/tools/gen-buildsys-clang.sh
-
-    # See https://github.com/dotnet/coreclr/issues/7573#issuecomment-253081323
-    ed -v ./src/pal/src/include/pal/palinternal.h << EOF
-    /^#undef memcpy
-    -1
-    d
-    +1
-    d
-    w
-    EOF
+    # override to avoid cmake running
+    patchShebangs .
   '';
 
   BuildArch = if stdenv.is64bit then "x64" else "x86";
   BuildType = if debug then "Debug" else "Release";
 
-  hardeningDisable = [ "strictoverflow" "format" ];
-  NIX_CFLAGS_COMPILE = [
-    "-Wno-error=unused-result" "-Wno-error=delete-non-virtual-dtor"
-    "-Wno-error=null-dereference"
+  hardeningDisable = [
+    "strictoverflow"
+    "format"
   ];
 
   buildPhase = ''
+    runHook preBuild
     ./build.sh $BuildArch $BuildType
-
-    # Try to make some sensible hierarchy out of the output
-    pushd bin/Product/Linux.$BuildArch.$BuildType
-    mkdir lib2
-    mv *.so *.so.dbg lib2
-    mv bin lib3
-    mkdir lib4
-    mv Loader lib4
-    mv inc include
-    mv gcinfo include
-    mkdir bin
-    mkdir -p share/doc
-    mv sosdocsunix.txt share/doc
-    for f in * ; do test -f $f && mv -v $f bin; done
-    popd
+    runHook postBuild
   '';
 
   installPhase = ''
-    mkdir -p $out
-    cp -rv bin/Product/Linux.$BuildArch.$BuildType/* $out
+    runHook preInstall
+    mkdir -p $out/share/dotnet $out/bin
+    cp -r bin/Product/Linux.$BuildArch.$BuildType/* $out/share/dotnet
+    for cmd in coreconsole corerun createdump crossgen ilasm ildasm mcs superpmi; do
+      ln -s $out/share/dotnet/$cmd $out/bin/$cmd
+    done
+    runHook postInstall
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://dotnet.github.io/core/;
     description = ".NET is a general purpose development platform";
     platforms = [ "x86_64-linux" ];
-    maintainers = with stdenv.lib.maintainers; [ obadz ];
-    license = stdenv.lib.licenses.mit;
-    broken = true; # CoreCLR has proven to be very difficult to package. PRs welcome if someone wants to shave that yak.
+    maintainers = with maintainers; [ kuznero ];
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index db19302aee5c..57d4ee6c3f55 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -13179,7 +13179,9 @@ with pkgs;
 
   comic-relief = callPackage ../data/fonts/comic-relief {};
 
-  coreclr = callPackage ../development/compilers/coreclr { };
+  coreclr = callPackage ../development/compilers/coreclr {
+    debug = config.coreclr.debug or false;
+  };
 
   corefonts = callPackage ../data/fonts/corefonts { };