diff options
Diffstat (limited to 'nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/make-bootstrap-sources.nix')
-rw-r--r-- | nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/make-bootstrap-sources.nix | 65 |
1 files changed, 34 insertions, 31 deletions
diff --git a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/make-bootstrap-sources.nix b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/make-bootstrap-sources.nix index fec03f370bc3..2675d055aec6 100644 --- a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/make-bootstrap-sources.nix +++ b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/make-bootstrap-sources.nix @@ -1,5 +1,4 @@ -# Packaged resources required for the first bootstrapping stage. -# Contains source code and 256-byte hex0 binary seed. +# Packaged source files for the first bootstrapping stage. # # We don't have access to utilities such as fetchgit and fetchzip since this # is this is part of the bootstrap process and would introduce a circular @@ -9,38 +8,42 @@ # # To build: # -# nix-build pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/make-bootstrap-sources.nix -# => ./result/stage0-posix-$version-$rev-source.nar.xz +# nix-build '<nixpkgs>' -A make-minimal-bootstrap-sources # -{ pkgs ? import ../../../../.. {} }: +{ lib +, fetchFromGitHub +}: + let - inherit (pkgs) callPackage runCommand fetchFromGitHub nix xz; + expected = import ./bootstrap-sources.nix { }; +in - inherit (import ./bootstrap-sources.nix) name rev; +fetchFromGitHub { + inherit (expected) name rev; + owner = "oriansj"; + repo = "stage0-posix"; + sha256 = expected.outputHash; + fetchSubmodules = true; + postFetch = '' + # Seed binaries will be fetched separately + echo "Removing seed binaries" + rm -rf $out/bootstrap-seeds/* - src = fetchFromGitHub { - owner = "oriansj"; - repo = "stage0-posix"; - inherit rev; - sha256 = "sha256-ZRG0k49MxL1UTZhuMTvPoEprdSpJRNVy8QhLE6k+etg="; - fetchSubmodules = true; - postFetch = '' - # Remove vendored/duplicate M2libc's - echo "Removing duplicate M2libc" - rm -rf \ - $out/M2-Mesoplanet/M2libc \ - $out/M2-Planet/M2libc \ - $out/mescc-tools/M2libc \ - $out/mescc-tools-extra/M2libc - ''; - }; -in -runCommand name { - nativeBuildInputs = [ nix xz ]; + # Remove vendored/duplicate M2libc's + echo "Removing duplicate M2libc" + rm -rf \ + $out/M2-Mesoplanet/M2libc \ + $out/M2-Planet/M2libc \ + $out/mescc-tools/M2libc \ + $out/mescc-tools-extra/M2libc + ''; - passthru = { inherit src; }; -} '' - mkdir $out - nix-store --dump ${src} | xz -c > "$out/${name}.nar.xz" -'' + meta = with lib; { + description = "Packaged sources for the first bootstrapping stage"; + homepage = "https://github.com/oriansj/stage0-posix"; + license = licenses.gpl3Plus; + maintainers = teams.minimal-bootstrap.members; + platforms = platforms.all; + }; +} |