-
-
Notifications
You must be signed in to change notification settings - Fork 14.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
minimal-bootstrap: point bootstrap sources to tarballs.nixos.org #232576
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -15,8 +15,7 @@ rec { | |||||||||||
executable = true; | ||||||||||||
}; | ||||||||||||
|
||||||||||||
# 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 | ||||||||||||
|
@@ -25,10 +24,25 @@ rec { | |||||||||||
# tarballs to be repackaged. | ||||||||||||
# | ||||||||||||
# To build see `make-bootstrap-sources.nix` | ||||||||||||
|
||||||||||||
# | ||||||||||||
# Files came from this Hydra build: | ||||||||||||
# | ||||||||||||
# https://hydra.nixos.org/build/<placeholder> | ||||||||||||
# | ||||||||||||
# Which used nixpkgs revision <placeholder> | ||||||||||||
# to instantiate: | ||||||||||||
# | ||||||||||||
# /nix/store/<placeholder>.drv | ||||||||||||
# | ||||||||||||
# and then built: | ||||||||||||
# | ||||||||||||
# /nix/store/<placeholder> | ||||||||||||
# | ||||||||||||
src = import <nix/fetchurl.nix> { | ||||||||||||
inherit name; | ||||||||||||
Comment on lines
42
to
43
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||
url = "https://github.com/emilytrau/bootstrap-tools-nar-mirror/releases/download/2023-05-02/${name}.nar.xz"; | ||||||||||||
hash = "sha256-ZRG0k49MxL1UTZhuMTvPoEprdSpJRNVy8QhLE6k+etg="; | ||||||||||||
url = "https://github.com/emilytrau/bootstrap-tools-nar-mirror/releases/download/2023-05-18/${name}.nar.xz"; | ||||||||||||
emilytrau marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||||||||
hash = "sha256-FpMp7z+B3cR3LkQ+PooH/b1/NlxH8NHVJNWifaPWt4U="; | ||||||||||||
unpack = true; | ||||||||||||
}; | ||||||||||||
} | ||||||||||||
Comment on lines
+44
to
48
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Please delete this, wait for Hydra to do the build, then re-add it using the |
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -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,23 +8,30 @@ | |||||
# | ||||||
# To build: | ||||||
# | ||||||
# nix-build pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/make-bootstrap-sources.nix | ||||||
# nix-build . -A minimal-bootstrap-sources | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
# => ./result/stage0-posix-$version-$rev-source.nar.xz | ||||||
# | ||||||
|
||||||
{ pkgs ? import ../../../../.. {} }: | ||||||
{ lib | ||||||
, fetchFromGitHub | ||||||
, runCommand | ||||||
, nix | ||||||
, xz | ||||||
}: | ||||||
let | ||||||
inherit (pkgs) callPackage runCommand fetchFromGitHub nix xz; | ||||||
|
||||||
inherit (import ./bootstrap-sources.nix) name rev; | ||||||
|
||||||
src = fetchFromGitHub { | ||||||
owner = "oriansj"; | ||||||
repo = "stage0-posix"; | ||||||
inherit rev; | ||||||
sha256 = "sha256-ZRG0k49MxL1UTZhuMTvPoEprdSpJRNVy8QhLE6k+etg="; | ||||||
sha256 = "sha256-FpMp7z+B3cR3LkQ+PooH/b1/NlxH8NHVJNWifaPWt4U="; | ||||||
fetchSubmodules = true; | ||||||
postFetch = '' | ||||||
# Seed binaries will be fetched separately | ||||||
echo "Removing seed binaries" | ||||||
rm -rf $out/bootstrap-seeds/* | ||||||
emilytrau marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
|
||||||
# Remove vendored/duplicate M2libc's | ||||||
echo "Removing duplicate M2libc" | ||||||
rm -rf \ | ||||||
|
@@ -40,6 +46,14 @@ runCommand name { | |||||
nativeBuildInputs = [ nix xz ]; | ||||||
|
||||||
passthru = { inherit src; }; | ||||||
|
||||||
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; | ||||||
}; | ||||||
} '' | ||||||
mkdir $out | ||||||
nix-store --dump ${src} | xz -c > "$out/${name}.nar.xz" | ||||||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -27102,6 +27102,7 @@ with pkgs; | |
inherit (stdenv) buildPlatform hostPlatform; | ||
inherit lib config; | ||
}); | ||
minimal-bootstrap-sources = callPackage ../os-specific/linux/minimal-bootstrap/stage0-posix/make-bootstrap-sources.nix { }; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There are no Hydra builds of In order to get a Hydra build you need to:
The second PR is the one that should use the template @lovesegfault referenced. Also, the provenance of builds on |
||
|
||
mingetty = callPackage ../os-specific/linux/mingetty { }; | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.