diff options
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/dotnet/build-dotnet.nix')
-rw-r--r-- | nixpkgs/pkgs/development/compilers/dotnet/build-dotnet.nix | 51 |
1 files changed, 9 insertions, 42 deletions
diff --git a/nixpkgs/pkgs/development/compilers/dotnet/build-dotnet.nix b/nixpkgs/pkgs/development/compilers/dotnet/build-dotnet.nix index bcdb16c63350..8ee0bd9e7b3a 100644 --- a/nixpkgs/pkgs/development/compilers/dotnet/build-dotnet.nix +++ b/nixpkgs/pkgs/development/compilers/dotnet/build-dotnet.nix @@ -24,6 +24,7 @@ assert if type == "sdk" then packages != null else true; , runCommand , writeShellScript , mkNugetDeps +, callPackage }: let @@ -41,13 +42,10 @@ let sdk = ".NET SDK ${version}"; }; - packageDeps = if type == "sdk" then mkNugetDeps { - name = "${pname}-${version}-deps"; - nugetDeps = packages; - } else null; + mkCommon = callPackage ./common.nix {}; in -stdenv.mkDerivation (finalAttrs: rec { +mkCommon type rec { inherit pname version; # Some of these dependencies are `dlopen()`ed. @@ -88,11 +86,6 @@ stdenv.mkDerivation (finalAttrs: rec { runHook postInstall ''; - doInstallCheck = true; - installCheckPhase = '' - $out/bin/dotnet --info - ''; - # Tell autoPatchelf about runtime dependencies. # (postFixup phase is run before autoPatchelfHook.) postFixup = lib.optionalString stdenv.isLinux '' @@ -112,23 +105,15 @@ stdenv.mkDerivation (finalAttrs: rec { $out/packs/Microsoft.NETCore.App.Host.linux-x64/*/runtimes/linux-x64/native/singlefilehost ''; - setupHook = writeText "dotnet-setup-hook" '' - if [ ! -w "$HOME" ]; then - export HOME=$(mktemp -d) # Dotnet expects a writable home directory for its configuration files - fi - - export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 # Dont try to expand NuGetFallbackFolder to disk - export DOTNET_NOLOGO=1 # Disables the welcome message - export DOTNET_CLI_TELEMETRY_OPTOUT=1 - export DOTNET_SKIP_WORKLOAD_INTEGRITY_CHECK=1 # Skip integrity check on first run, which fails due to read-only directory - ''; - passthru = { inherit icu; - packages = packageDeps; + } // lib.optionalAttrs (type == "sdk") { + packages = mkNugetDeps { + name = "${pname}-${version}-deps"; + nugetDeps = packages; + }; updateScript = - if type == "sdk" then let majorVersion = with lib; @@ -137,25 +122,7 @@ stdenv.mkDerivation (finalAttrs: rec { writeShellScript "update-dotnet-${majorVersion}" '' pushd pkgs/development/compilers/dotnet exec ${./update.sh} "${majorVersion}" - '' else null; - - tests = { - version = testers.testVersion { - package = finalAttrs.finalPackage; - }; - - smoke-test = runCommand "dotnet-sdk-smoke-test" { - nativeBuildInputs = [ finalAttrs.finalPackage ]; - } '' - HOME=$(pwd)/fake-home - dotnet new console --no-restore - dotnet restore --source "$(mktemp -d)" - dotnet build --no-restore - output="$(dotnet run --no-build)" - # yes, older SDKs omit the comma - [[ "$output" =~ Hello,?\ World! ]] && touch "$out" ''; - }; }; meta = with lib; { @@ -166,4 +133,4 @@ stdenv.mkDerivation (finalAttrs: rec { mainProgram = "dotnet"; platforms = attrNames srcs; }; -}) +} |