about summary refs log tree commit diff
path: root/pkgs/development/compilers/dotnet/dotnet.nix
blob: 90541215f94933ef9d3b4f177e8c2df259095cbe (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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;
      };
    };
  });
}