about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/compilers/dotnet/vmr.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/dotnet/vmr.nix')
-rw-r--r--nixpkgs/pkgs/development/compilers/dotnet/vmr.nix15
1 files changed, 15 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/compilers/dotnet/vmr.nix b/nixpkgs/pkgs/development/compilers/dotnet/vmr.nix
index 36b75c40e6c8..962c0c0844a5 100644
--- a/nixpkgs/pkgs/development/compilers/dotnet/vmr.nix
+++ b/nixpkgs/pkgs/development/compilers/dotnet/vmr.nix
@@ -187,6 +187,14 @@ in stdenv.mkDerivation rec {
     substituteInPlace \
       src/runtime/src/native/libs/CMakeLists.txt \
       --replace-fail 'add_compile_options(-Weverything)' 'add_compile_options(-Wall)'
+
+    # strip native symbols in runtime
+    # see: https://github.com/dotnet/source-build/issues/2543
+    xmlstarlet ed \
+      --inplace \
+      -s //Project -t elem -n PropertyGroup \
+      -s \$prev -t elem -n KeepNativeSymbols -v false \
+      src/runtime/Directory.Build.props
   ''
   + lib.optionalString isLinux ''
     substituteInPlace \
@@ -311,6 +319,13 @@ in stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  # dotnet cli is in the root, so we need to strip from there
+  # TODO: should we install in $out/share/dotnet?
+  stripDebugList = [ "." ];
+  # stripping dlls results in:
+  # Failed to load System.Private.CoreLib.dll (error code 0x8007000B)
+  stripExclude = [ "*.dll" ];
+
   passthru = {
     inherit releaseManifest buildRid targetRid;
     icu = _icu;