Loading maintainers/maintainer-list.nix +7 −0 Original line number Diff line number Diff line Loading @@ -8080,6 +8080,13 @@ githubId = 15692230; name = "Muhammad Herdiansyah"; }; konradmalik = { email = "konrad.malik@gmail.com"; matrix = "@konradmalik:matrix.org"; name = "Konrad Malik"; github = "konradmalik"; githubId = 13033392; }; koozz = { email = "koozz@linux.com"; github = "koozz"; Loading pkgs/development/tools/misc/netcoredbg/arm64.patch 0 → 100644 +26 −0 Original line number Diff line number Diff line diff --git a/platformdefinitions.cmake b/platformdefinitions.cmake index ed3d9f6..6b0628f 100644 --- a/platformdefinitions.cmake +++ b/platformdefinitions.cmake @@ -7,17 +7,21 @@ if (CLR_CMAKE_PLATFORM_ARCH_AMD64) add_definitions(-DAMD64) add_definitions(-DBIT64=1) # CoreClr <= 3.x add_definitions(-DHOST_64BIT=1) # CoreClr > 3.x + add_definitions(-DHOST_AMD64) elseif (CLR_CMAKE_PLATFORM_ARCH_I386) add_definitions(-D_X86_) + add_definitions(-DHOST_X86) elseif (CLR_CMAKE_PLATFORM_ARCH_ARM) add_definitions(-D_ARM_) add_definitions(-DARM) + add_definitions(-DHOST_ARM) elseif (CLR_CMAKE_PLATFORM_ARCH_ARM64) add_definitions(-D_ARM64_) add_definitions(-DARM64) add_definitions(-D_WIN64) add_definitions(-DBIT64=1) # CoreClr <= 3.x add_definitions(-DHOST_64BIT=1) # CoreClr > 3.x + add_definitions(-DHOST_ARM64) else () clr_unknown_arch() endif () pkgs/development/tools/misc/netcoredbg/darwin.patch 0 → 100644 +17 −0 Original line number Diff line number Diff line diff --git a/detectplatform.cmake b/detectplatform.cmake index 7b93bbf..6fa6e9e 100644 --- a/detectplatform.cmake +++ b/detectplatform.cmake @@ -56,7 +56,11 @@ endif(CMAKE_SYSTEM_NAME STREQUAL Linux) if(CMAKE_SYSTEM_NAME STREQUAL Darwin) set(CLR_CMAKE_PLATFORM_UNIX 1) - set(CLR_CMAKE_PLATFORM_UNIX_AMD64 1) + if(CMAKE_SYSTEM_PROCESSOR STREQUAL arm64) + set(CLR_CMAKE_PLATFORM_UNIX_ARM64 1) + else() + set(CLR_CMAKE_PLATFORM_UNIX_AMD64 1) + endif() set(CLR_CMAKE_PLATFORM_DARWIN 1) if(CMAKE_VERSION VERSION_LESS "3.4.0") set(CMAKE_ASM_COMPILE_OBJECT "${CMAKE_C_COMPILER} <FLAGS> <DEFINES> -o <OBJECT> -c <SOURCE>") pkgs/development/tools/misc/netcoredbg/default.nix +35 −22 Original line number Diff line number Diff line { lib, clangStdenv, stdenvNoCC, cmake, fetchFromGitHub, dotnetCorePackages, buildDotnetModule }: { lib, clangStdenv, stdenv, cmake, autoPatchelfHook, fetchFromGitHub, dotnetCorePackages, buildDotnetModule }: let pname = "netcoredbg"; version = "2.0.0-895"; version = "2.2.0-961"; hash = "0gbjm8x40hzf787kccfxqb2wdgfks81f6hzr6rrmid42s4bfs5w7"; # according to CMakeLists.txt, this should be 3.1 even when building for .NET 5 coreclr-version = "3.1.19"; coreclr-version = "release/7.0"; coreclr-src = fetchFromGitHub { owner = "dotnet"; repo = "coreclr"; rev = "v${coreclr-version}"; sha256 = "o1KafmXqNjX9axr6sSxPKrfUX0e+b/4ANiVQt4T2ybw="; repo = "runtime"; rev = coreclr-version; sha256 = "sha256-kBYb0Uw1IzDTpsEyd02/5sliVHoLmZdGnpybneV0u7U="; }; dotnet-sdk = dotnetCorePackages.sdk_6_0; dotnet-sdk = dotnetCorePackages.sdk_7_0; src = fetchFromGitHub { owner = "Samsung"; repo = pname; rev = version; sha256 = "sha256-zOfChuNjD6py6KD1AmN5DgCGxD2YNH9gTyageoiN8PU="; sha256 = hash; }; unmanaged = clangStdenv.mkDerivation rec { unmanaged = clangStdenv.mkDerivation { inherit src pname version; patches = [ ./limits.patch ]; # patch for arm from: https://github.com/Samsung/netcoredbg/pull/103#issuecomment-1446375535 # needed until https://github.com/dotnet/runtime/issues/78286 is resolved # patch for darwin from: https://github.com/Samsung/netcoredbg/pull/103#issuecomment-1446457522 # needed until: ? patches = [ ./arm64.patch ./darwin.patch ]; nativeBuildInputs = [ cmake dotnet-sdk ]; hardeningDisable = [ "strictoverflow" ]; preConfigure = '' export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 dotnetVersion="$(${dotnet-sdk}/bin/dotnet --list-runtimes | grep -Po '^Microsoft.NETCore.App \K.*?(?= )')" cmakeFlagsArray+=( "-DDBGSHIM_RUNTIME_DIR=${dotnet-sdk}/shared/Microsoft.NETCore.App/$dotnetVersion" ) ''; cmakeFlags = [ "-DCORECLR_DIR=${coreclr-src}" "-DCORECLR_DIR=${coreclr-src}/src/coreclr" "-DDOTNET_DIR=${dotnet-sdk}" "-DBUILD_MANAGED=0" ]; Loading @@ -51,21 +50,35 @@ let projectFile = "src/managed/ManagedPart.csproj"; nugetDeps = ./deps.nix; # include platform-specific dbgshim binary in nugetDeps dotnetFlags = [ "-p:UseDbgShimDependency=true" ]; executables = [ ]; # this passes RID down to dotnet build command # and forces dotnet to include binary dependencies in the output (libdbgshim) selfContainedBuild = true; }; in stdenvNoCC.mkDerivation { stdenv.mkDerivation rec { inherit pname version; # managed brings external binaries (libdbgshim.*) # include source here so that autoPatchelfHook can do it's job src = managed; buildCommand = '' nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ]; buildInputs = lib.optionals stdenv.isLinux [ stdenv.cc.cc.lib ]; installPhase = '' mkdir -p $out/share/netcoredbg $out/bin cp ${unmanaged}/* $out/share/netcoredbg cp ${managed}/lib/netcoredbg/* $out/share/netcoredbg ln -s $out/share/netcoredbg/netcoredbg $out/bin/netcoredbg cp ./lib/netcoredbg/* $out/share/netcoredbg # darwin won't work unless we link all files ln -s $out/share/netcoredbg/* "$out/bin/" ''; passthru = { inherit (managed) fetch-deps; updateScript = [ ./update.sh pname version meta.homepage ]; }; meta = with lib; { Loading @@ -73,6 +86,6 @@ stdenvNoCC.mkDerivation { homepage = "https://github.com/Samsung/netcoredbg"; license = licenses.mit; platforms = platforms.unix; maintainers = [ maintainers.leo60228 ]; maintainers = with maintainers; [ leo60228 konradmalik ]; }; } pkgs/development/tools/misc/netcoredbg/deps.nix +13 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,19 @@ (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "2.3.0"; sha256 = "121dhnfjd5jzm410dk79s8xk5jvd09xa0w5q3lbpqc7bs4wxmq4p"; }) (fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "2.3.0"; sha256 = "11f11kvgrdgs86ykz4104jx1iw78v6af48hpdrhmr7y7h5334ziq"; }) (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.4.0"; sha256 = "1niyzqqfyhvh4zpxn8bcyyldynqlw0rfr1apwry4b3yrdnjh1hhh"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim"; version = "7.0.410101"; sha256 = "0az67ay2977gyksh039lamap2a7jcr4c8df4imqrdaqx1ksir993"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.linux-arm"; version = "7.0.410101"; sha256 = "1x5iilp2436w2pjp9c29xwj6vlq4z43qhprz35yxvfzhg0vdsg0l"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.linux-arm64"; version = "7.0.410101"; sha256 = "1zbrcr5iydbbyb48w2wksbckjgddd74z6xczcsb5b0gvyqra85sn"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.linux-musl-arm"; version = "7.0.410101"; sha256 = "179xp33f6aaaf775m673ij1zzrkfk7a07jmm7hcna9nb4ils04yg"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.linux-musl-arm64"; version = "7.0.410101"; sha256 = "0gjyw14ppwsy22c0f0ckxj6gan8gq8sk564bm762jgbvpj9w6br2"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.linux-musl-x64"; version = "7.0.410101"; sha256 = "00yk3b7pygprgm53nlv9l6grrbykrv6dg27jmhw431dnv978wcqd"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.linux-x64"; version = "7.0.410101"; sha256 = "1k3182xh0a6fc8j5vspi0qx75has4gwydcr2hrbrapc2x850xq0z"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.osx-arm64"; version = "7.0.410101"; sha256 = "06mqqj2bpvqqaxh0hfa580m6db213zy349k0x8ah34whzp3bgphk"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.osx-x64"; version = "7.0.410101"; sha256 = "0yxlb8k935i0yc3cxl996bnk86b4qghlqmmjrv4s8mc5qai351ws"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.win-arm"; version = "7.0.410101"; sha256 = "10ad931l9vrz3sc4xjyndak8p3wi5gl92r37yp7smjx8ik09azma"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.win-arm64"; version = "7.0.410101"; sha256 = "1xd85r13qbk6awbrnp2q4a5vvcpwl7rw62s404rxrl4ghy2a43xz"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.win-x64"; version = "7.0.410101"; sha256 = "1zlamjlv1s4d40sf08bbr6c7157lgchcla9x2g911ac0mnh8qqbf"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.win-x86"; version = "7.0.410101"; sha256 = "0sk3akxgb1vw03fkj59m3n90j6v0a5g4px83h2llda8p5q729zbr"; }) (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; }) (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; }) Loading Loading
maintainers/maintainer-list.nix +7 −0 Original line number Diff line number Diff line Loading @@ -8080,6 +8080,13 @@ githubId = 15692230; name = "Muhammad Herdiansyah"; }; konradmalik = { email = "konrad.malik@gmail.com"; matrix = "@konradmalik:matrix.org"; name = "Konrad Malik"; github = "konradmalik"; githubId = 13033392; }; koozz = { email = "koozz@linux.com"; github = "koozz"; Loading
pkgs/development/tools/misc/netcoredbg/arm64.patch 0 → 100644 +26 −0 Original line number Diff line number Diff line diff --git a/platformdefinitions.cmake b/platformdefinitions.cmake index ed3d9f6..6b0628f 100644 --- a/platformdefinitions.cmake +++ b/platformdefinitions.cmake @@ -7,17 +7,21 @@ if (CLR_CMAKE_PLATFORM_ARCH_AMD64) add_definitions(-DAMD64) add_definitions(-DBIT64=1) # CoreClr <= 3.x add_definitions(-DHOST_64BIT=1) # CoreClr > 3.x + add_definitions(-DHOST_AMD64) elseif (CLR_CMAKE_PLATFORM_ARCH_I386) add_definitions(-D_X86_) + add_definitions(-DHOST_X86) elseif (CLR_CMAKE_PLATFORM_ARCH_ARM) add_definitions(-D_ARM_) add_definitions(-DARM) + add_definitions(-DHOST_ARM) elseif (CLR_CMAKE_PLATFORM_ARCH_ARM64) add_definitions(-D_ARM64_) add_definitions(-DARM64) add_definitions(-D_WIN64) add_definitions(-DBIT64=1) # CoreClr <= 3.x add_definitions(-DHOST_64BIT=1) # CoreClr > 3.x + add_definitions(-DHOST_ARM64) else () clr_unknown_arch() endif ()
pkgs/development/tools/misc/netcoredbg/darwin.patch 0 → 100644 +17 −0 Original line number Diff line number Diff line diff --git a/detectplatform.cmake b/detectplatform.cmake index 7b93bbf..6fa6e9e 100644 --- a/detectplatform.cmake +++ b/detectplatform.cmake @@ -56,7 +56,11 @@ endif(CMAKE_SYSTEM_NAME STREQUAL Linux) if(CMAKE_SYSTEM_NAME STREQUAL Darwin) set(CLR_CMAKE_PLATFORM_UNIX 1) - set(CLR_CMAKE_PLATFORM_UNIX_AMD64 1) + if(CMAKE_SYSTEM_PROCESSOR STREQUAL arm64) + set(CLR_CMAKE_PLATFORM_UNIX_ARM64 1) + else() + set(CLR_CMAKE_PLATFORM_UNIX_AMD64 1) + endif() set(CLR_CMAKE_PLATFORM_DARWIN 1) if(CMAKE_VERSION VERSION_LESS "3.4.0") set(CMAKE_ASM_COMPILE_OBJECT "${CMAKE_C_COMPILER} <FLAGS> <DEFINES> -o <OBJECT> -c <SOURCE>")
pkgs/development/tools/misc/netcoredbg/default.nix +35 −22 Original line number Diff line number Diff line { lib, clangStdenv, stdenvNoCC, cmake, fetchFromGitHub, dotnetCorePackages, buildDotnetModule }: { lib, clangStdenv, stdenv, cmake, autoPatchelfHook, fetchFromGitHub, dotnetCorePackages, buildDotnetModule }: let pname = "netcoredbg"; version = "2.0.0-895"; version = "2.2.0-961"; hash = "0gbjm8x40hzf787kccfxqb2wdgfks81f6hzr6rrmid42s4bfs5w7"; # according to CMakeLists.txt, this should be 3.1 even when building for .NET 5 coreclr-version = "3.1.19"; coreclr-version = "release/7.0"; coreclr-src = fetchFromGitHub { owner = "dotnet"; repo = "coreclr"; rev = "v${coreclr-version}"; sha256 = "o1KafmXqNjX9axr6sSxPKrfUX0e+b/4ANiVQt4T2ybw="; repo = "runtime"; rev = coreclr-version; sha256 = "sha256-kBYb0Uw1IzDTpsEyd02/5sliVHoLmZdGnpybneV0u7U="; }; dotnet-sdk = dotnetCorePackages.sdk_6_0; dotnet-sdk = dotnetCorePackages.sdk_7_0; src = fetchFromGitHub { owner = "Samsung"; repo = pname; rev = version; sha256 = "sha256-zOfChuNjD6py6KD1AmN5DgCGxD2YNH9gTyageoiN8PU="; sha256 = hash; }; unmanaged = clangStdenv.mkDerivation rec { unmanaged = clangStdenv.mkDerivation { inherit src pname version; patches = [ ./limits.patch ]; # patch for arm from: https://github.com/Samsung/netcoredbg/pull/103#issuecomment-1446375535 # needed until https://github.com/dotnet/runtime/issues/78286 is resolved # patch for darwin from: https://github.com/Samsung/netcoredbg/pull/103#issuecomment-1446457522 # needed until: ? patches = [ ./arm64.patch ./darwin.patch ]; nativeBuildInputs = [ cmake dotnet-sdk ]; hardeningDisable = [ "strictoverflow" ]; preConfigure = '' export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 dotnetVersion="$(${dotnet-sdk}/bin/dotnet --list-runtimes | grep -Po '^Microsoft.NETCore.App \K.*?(?= )')" cmakeFlagsArray+=( "-DDBGSHIM_RUNTIME_DIR=${dotnet-sdk}/shared/Microsoft.NETCore.App/$dotnetVersion" ) ''; cmakeFlags = [ "-DCORECLR_DIR=${coreclr-src}" "-DCORECLR_DIR=${coreclr-src}/src/coreclr" "-DDOTNET_DIR=${dotnet-sdk}" "-DBUILD_MANAGED=0" ]; Loading @@ -51,21 +50,35 @@ let projectFile = "src/managed/ManagedPart.csproj"; nugetDeps = ./deps.nix; # include platform-specific dbgshim binary in nugetDeps dotnetFlags = [ "-p:UseDbgShimDependency=true" ]; executables = [ ]; # this passes RID down to dotnet build command # and forces dotnet to include binary dependencies in the output (libdbgshim) selfContainedBuild = true; }; in stdenvNoCC.mkDerivation { stdenv.mkDerivation rec { inherit pname version; # managed brings external binaries (libdbgshim.*) # include source here so that autoPatchelfHook can do it's job src = managed; buildCommand = '' nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ]; buildInputs = lib.optionals stdenv.isLinux [ stdenv.cc.cc.lib ]; installPhase = '' mkdir -p $out/share/netcoredbg $out/bin cp ${unmanaged}/* $out/share/netcoredbg cp ${managed}/lib/netcoredbg/* $out/share/netcoredbg ln -s $out/share/netcoredbg/netcoredbg $out/bin/netcoredbg cp ./lib/netcoredbg/* $out/share/netcoredbg # darwin won't work unless we link all files ln -s $out/share/netcoredbg/* "$out/bin/" ''; passthru = { inherit (managed) fetch-deps; updateScript = [ ./update.sh pname version meta.homepage ]; }; meta = with lib; { Loading @@ -73,6 +86,6 @@ stdenvNoCC.mkDerivation { homepage = "https://github.com/Samsung/netcoredbg"; license = licenses.mit; platforms = platforms.unix; maintainers = [ maintainers.leo60228 ]; maintainers = with maintainers; [ leo60228 konradmalik ]; }; }
pkgs/development/tools/misc/netcoredbg/deps.nix +13 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,19 @@ (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "2.3.0"; sha256 = "121dhnfjd5jzm410dk79s8xk5jvd09xa0w5q3lbpqc7bs4wxmq4p"; }) (fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "2.3.0"; sha256 = "11f11kvgrdgs86ykz4104jx1iw78v6af48hpdrhmr7y7h5334ziq"; }) (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.4.0"; sha256 = "1niyzqqfyhvh4zpxn8bcyyldynqlw0rfr1apwry4b3yrdnjh1hhh"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim"; version = "7.0.410101"; sha256 = "0az67ay2977gyksh039lamap2a7jcr4c8df4imqrdaqx1ksir993"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.linux-arm"; version = "7.0.410101"; sha256 = "1x5iilp2436w2pjp9c29xwj6vlq4z43qhprz35yxvfzhg0vdsg0l"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.linux-arm64"; version = "7.0.410101"; sha256 = "1zbrcr5iydbbyb48w2wksbckjgddd74z6xczcsb5b0gvyqra85sn"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.linux-musl-arm"; version = "7.0.410101"; sha256 = "179xp33f6aaaf775m673ij1zzrkfk7a07jmm7hcna9nb4ils04yg"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.linux-musl-arm64"; version = "7.0.410101"; sha256 = "0gjyw14ppwsy22c0f0ckxj6gan8gq8sk564bm762jgbvpj9w6br2"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.linux-musl-x64"; version = "7.0.410101"; sha256 = "00yk3b7pygprgm53nlv9l6grrbykrv6dg27jmhw431dnv978wcqd"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.linux-x64"; version = "7.0.410101"; sha256 = "1k3182xh0a6fc8j5vspi0qx75has4gwydcr2hrbrapc2x850xq0z"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.osx-arm64"; version = "7.0.410101"; sha256 = "06mqqj2bpvqqaxh0hfa580m6db213zy349k0x8ah34whzp3bgphk"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.osx-x64"; version = "7.0.410101"; sha256 = "0yxlb8k935i0yc3cxl996bnk86b4qghlqmmjrv4s8mc5qai351ws"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.win-arm"; version = "7.0.410101"; sha256 = "10ad931l9vrz3sc4xjyndak8p3wi5gl92r37yp7smjx8ik09azma"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.win-arm64"; version = "7.0.410101"; sha256 = "1xd85r13qbk6awbrnp2q4a5vvcpwl7rw62s404rxrl4ghy2a43xz"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.win-x64"; version = "7.0.410101"; sha256 = "1zlamjlv1s4d40sf08bbr6c7157lgchcla9x2g911ac0mnh8qqbf"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.win-x86"; version = "7.0.410101"; sha256 = "0sk3akxgb1vw03fkj59m3n90j6v0a5g4px83h2llda8p5q729zbr"; }) (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; }) (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; }) Loading