1{
2 stdenvNoCC,
3 callPackage,
4 lib,
5 fetchurl,
6 releaseManifestFile,
7 releaseInfoFile,
8 bootstrapSdkFile,
9 allowPrerelease ? false,
10 depsFile,
11 fallbackTargetPackages,
12 pkgsBuildHost,
13 buildDotnetSdk,
14}:
15
16let
17 inherit (lib.importJSON releaseInfoFile)
18 tarballHash
19 artifactsUrl
20 artifactsHash
21 bootstrapSdk
22 ;
23
24 pkgs = callPackage ./stage1.nix {
25 inherit
26 releaseManifestFile
27 tarballHash
28 depsFile
29 fallbackTargetPackages
30 ;
31 bootstrapSdk = (buildDotnetSdk bootstrapSdkFile).sdk.unwrapped.overrideAttrs (old: {
32 passthru = old.passthru or { } // {
33 artifacts = stdenvNoCC.mkDerivation {
34 name = lib.nameFromURL artifactsUrl ".tar.gz";
35
36 src = fetchurl {
37 url = artifactsUrl;
38 hash = artifactsHash;
39 };
40
41 sourceRoot = ".";
42
43 installPhase = ''
44 mkdir -p $out
45 cp -r * $out/
46 '';
47 };
48 };
49 });
50 };
51
52in
53pkgs
54// {
55 vmr = pkgs.vmr.overrideAttrs (old: {
56 passthru = old.passthru // {
57 updateScript = pkgsBuildHost.callPackage ./update.nix {
58 inherit
59 releaseManifestFile
60 releaseInfoFile
61 bootstrapSdkFile
62 allowPrerelease
63 ;
64 };
65 };
66 });
67}