diff options
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/dotnet/dotnet.nix')
-rw-r--r-- | nixpkgs/pkgs/development/compilers/dotnet/dotnet.nix | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/compilers/dotnet/dotnet.nix b/nixpkgs/pkgs/development/compilers/dotnet/dotnet.nix new file mode 100644 index 000000000000..90541215f949 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/dotnet/dotnet.nix @@ -0,0 +1,50 @@ +{ callPackage +, lib +, releaseManifestFile +, releaseInfoFile +, allowPrerelease ? false +, depsFile +, bootstrapSdk +, pkgsBuildHost +}: + +let + inherit (lib.importJSON releaseInfoFile) tarballHash artifactsUrl artifactsHash; + + pkgs = callPackage ./stage1.nix { + inherit releaseManifestFile tarballHash depsFile; + bootstrapSdk = + { stdenvNoCC + , dotnetCorePackages + , fetchurl + }: bootstrapSdk.overrideAttrs (old: { + passthru = old.passthru or {} // { + artifacts = stdenvNoCC.mkDerivation rec { + name = lib.nameFromURL artifactsUrl ".tar.gz"; + + src = fetchurl { + url = artifactsUrl; + hash = artifactsHash; + }; + + sourceRoot = "."; + + installPhase = '' + mkdir -p $out + cp -r * $out/ + ln -fs ${old.passthru.packages}/* $out/ + ''; + }; + }; + }); + }; + +in pkgs // { + vmr = pkgs.vmr.overrideAttrs(old: { + passthru = old.passthru // { + updateScript = pkgsBuildHost.callPackage ./update.nix { + inherit releaseManifestFile releaseInfoFile allowPrerelease; + }; + }; + }); +} |