mirror of
https://github.com/CHN-beta/nixpkgs.git
synced 2026-01-12 02:40:31 +08:00
dotnetCorePackages.dotnet_{8..10}.vmr: enable separateDebugInfo
This commit is contained in:
@@ -54,7 +54,7 @@ let
|
||||
|
||||
mkdir -p "$out"
|
||||
|
||||
pushd "$src"/Private.SourceBuilt.Artifacts.*.${targetRid}
|
||||
pushd "$src"/lib/Private.SourceBuilt.Artifacts.*.${targetRid}
|
||||
pushd ${pname}.${version}.nupkg
|
||||
|
||||
xmlstarlet \
|
||||
@@ -136,13 +136,13 @@ let
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p "$out"/share
|
||||
cp -r "$src"/dotnet-sdk-${version}-${targetRid} "$out"/share/dotnet
|
||||
cp -r "$src"/lib/dotnet-sdk-${version}-${targetRid} "$out"/share/dotnet
|
||||
chmod +w "$out"/share/dotnet
|
||||
mkdir "$out"/bin
|
||||
ln -s "$out"/share/dotnet/dotnet "$out"/bin/dotnet
|
||||
|
||||
mkdir -p "$artifacts"
|
||||
cp -r "$src"/Private.SourceBuilt.Artifacts.*.${targetRid}/* "$artifacts"/
|
||||
cp -r "$src"/lib/Private.SourceBuilt.Artifacts.*.${targetRid}/* "$artifacts"/
|
||||
chmod +w -R "$artifacts"
|
||||
|
||||
local package
|
||||
@@ -193,7 +193,7 @@ let
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p "$out"/share
|
||||
cp -r "$src/dotnet-runtime-${version}-${targetRid}" "$out"/share/dotnet
|
||||
cp -r "$src/lib/dotnet-runtime-${version}-${targetRid}" "$out"/share/dotnet
|
||||
chmod +w "$out"/share/dotnet
|
||||
mkdir "$out"/bin
|
||||
ln -s "$out"/share/dotnet/dotnet "$out"/bin/dotnet
|
||||
@@ -221,12 +221,12 @@ let
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p "$out"/share
|
||||
cp -r "$src/dotnet-runtime-${runtime.version}-${targetRid}" "$out"/share/dotnet
|
||||
cp -r "$src/lib/dotnet-runtime-${runtime.version}-${targetRid}" "$out"/share/dotnet
|
||||
chmod +w "$out"/share/dotnet/shared
|
||||
mkdir "$out"/bin
|
||||
ln -s "$out"/share/dotnet/dotnet "$out"/bin/dotnet
|
||||
|
||||
cp -Tr "$src/aspnetcore-runtime-${version}-${targetRid}"/shared/Microsoft.AspNetCore.App "$out"/share/dotnet/shared/Microsoft.AspNetCore.App
|
||||
cp -Tr "$src/lib/aspnetcore-runtime-${version}-${targetRid}"/shared/Microsoft.AspNetCore.App "$out"/share/dotnet/shared/Microsoft.AspNetCore.App
|
||||
chmod +w "$out"/share/dotnet/shared
|
||||
|
||||
runHook postInstall
|
||||
|
||||
@@ -188,14 +188,6 @@ 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 (lib.versionAtLeast version "9") (
|
||||
''
|
||||
@@ -393,6 +385,10 @@ stdenv.mkDerivation rec {
|
||||
# bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
|
||||
LOCALE_ARCHIVE = lib.optionalString isLinux "${glibcLocales}/lib/locale/locale-archive";
|
||||
|
||||
# clang: error: argument unused during compilation: '-Wa,--compress-debug-sections' [-Werror,-Wunused-command-line-argument]
|
||||
# caused by separateDebugInfo
|
||||
NIX_CFLAGS_COMPILE = "-Wno-unused-command-line-argument";
|
||||
|
||||
buildFlags = [
|
||||
"--with-packages"
|
||||
bootstrapSdk.artifacts
|
||||
@@ -447,11 +443,11 @@ stdenv.mkDerivation rec {
|
||||
''
|
||||
runHook preInstall
|
||||
|
||||
mkdir "$out"
|
||||
mkdir -p "$out"/lib
|
||||
|
||||
pushd "artifacts/${assets}/Release"
|
||||
find . -name \*.tar.gz | while read archive; do
|
||||
target=$out/$(basename "$archive" .tar.gz)
|
||||
target=$out/lib/$(basename "$archive" .tar.gz)
|
||||
# dotnet 9 currently has two copies of the sdk tarball
|
||||
[[ ! -e "$target" ]] || continue
|
||||
mkdir "$target"
|
||||
@@ -460,7 +456,7 @@ stdenv.mkDerivation rec {
|
||||
popd
|
||||
|
||||
local -r unpacked="$PWD/.unpacked"
|
||||
for nupkg in $out/Private.SourceBuilt.Artifacts.*.${targetRid}/{,SourceBuildReferencePackages/}*.nupkg; do
|
||||
for nupkg in $out/lib/Private.SourceBuilt.Artifacts.*.${targetRid}/{,SourceBuildReferencePackages/}*.nupkg; do
|
||||
rm -rf "$unpacked"
|
||||
unzip ${unzipFlags} "$unpacked" "$nupkg"
|
||||
chmod -R +rw "$unpacked"
|
||||
@@ -479,9 +475,6 @@ stdenv.mkDerivation rec {
|
||||
echo ${sigtool} > "$out"/nix-support/manual-sdk-deps
|
||||
'';
|
||||
|
||||
# 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)
|
||||
# stripped crossgen2 results in:
|
||||
@@ -491,6 +484,8 @@ stdenv.mkDerivation rec {
|
||||
stripExclude=(\*.dll crossgen2)
|
||||
'';
|
||||
|
||||
separateDebugInfo = true;
|
||||
|
||||
passthru = {
|
||||
inherit releaseManifest buildRid targetRid;
|
||||
icu = _icu;
|
||||
|
||||
Reference in New Issue
Block a user