Test / Hakurei (race detector) (push) Successful in 9m33s
Test / Sandbox (push) Successful in 5m27s
Test / Sandbox (race detector) (push) Successful in 8m21s
Test / ShareFS (push) Successful in 10m32s
Test / Create distribution (push) Successful in 1m51s
Test / Hakurei (push) Successful in 3m5s
Test / Flake checks (push) Successful in 1m28s
This change also adds a fourth stage to the bootstrap machinery, offering more correct toolchain validation that works around LLVM dynamic linking flaws. Signed-off-by: Ophestra <cat@gensokyo.uk>
46 lines
727 B
Go
46 lines
727 B
Go
package rosa
|
|
|
|
import (
|
|
"path"
|
|
"strings"
|
|
|
|
"hakurei.app/internal/pkg"
|
|
)
|
|
|
|
var (
|
|
_git = H("git")
|
|
_nssCACert = H("nss-cacert")
|
|
)
|
|
|
|
// NewViaGit returns a [pkg.Artifact] for cloning a git repository.
|
|
func (t Toolchain) NewViaGit(
|
|
url, rev string,
|
|
checksum pkg.Checksum,
|
|
) pkg.Artifact {
|
|
return t.New(strings.TrimSuffix(
|
|
path.Base(url),
|
|
".git",
|
|
)+"-src", path.Base(rev), nil, &PackageAttr{
|
|
KnownChecksum: &checksum,
|
|
|
|
HostNet: true,
|
|
Paths: []pkg.ExecPath{resolvconf()},
|
|
}, &GenericHelper{
|
|
Build: `
|
|
git \
|
|
-c advice.detachedHead=false \
|
|
clone \
|
|
--depth=1 \
|
|
--revision=` + rev + ` \
|
|
--shallow-submodules \
|
|
--recurse-submodules \
|
|
` + url + ` \
|
|
/work
|
|
rm -rf /work/.git
|
|
`,
|
|
},
|
|
_nssCACert,
|
|
_git,
|
|
)
|
|
}
|