internal/rosa: pass stage alongside state
All checks were successful
Test / Create distribution (push) Successful in 1m4s
Test / Sandbox (push) Successful in 2m57s
Test / ShareFS (push) Successful in 3m45s
Test / Hakurei (push) Successful in 3m50s
Test / Sandbox (race detector) (push) Successful in 5m19s
Test / Hakurei (race detector) (push) Successful in 6m31s
Test / Flake checks (push) Successful in 1m17s
All checks were successful
Test / Create distribution (push) Successful in 1m4s
Test / Sandbox (push) Successful in 2m57s
Test / ShareFS (push) Successful in 3m45s
Test / Hakurei (push) Successful in 3m50s
Test / Sandbox (race detector) (push) Successful in 5m19s
Test / Hakurei (race detector) (push) Successful in 6m31s
Test / Flake checks (push) Successful in 1m17s
This cleans up many function signatures. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
@@ -36,6 +36,7 @@ func commandInfo(
|
||||
}
|
||||
}
|
||||
|
||||
t := rosa.Native().Std()
|
||||
for i, name := range args {
|
||||
handle := rosa.ArtifactH(unique.Make(name))
|
||||
if meta := rosa.Native().Get(handle); meta == nil {
|
||||
@@ -43,7 +44,7 @@ func commandInfo(
|
||||
} else {
|
||||
var suffix string
|
||||
|
||||
a, version := rosa.Native().MustLoad(rosa.Std, handle)
|
||||
a, version := t.MustLoad(handle)
|
||||
if version != rosa.Unversioned {
|
||||
suffix += "-" + version
|
||||
}
|
||||
@@ -58,7 +59,7 @@ func commandInfo(
|
||||
mustPrint("depends on :")
|
||||
for _, d := range meta.Dependencies {
|
||||
s := rosa.Native().MustGet(d).Name
|
||||
if _, _version := rosa.Native().Load(rosa.Std, d); _version != rosa.Unversioned {
|
||||
if _, _version := t.Load(d); _version != rosa.Unversioned {
|
||||
s += "-" + _version
|
||||
}
|
||||
mustPrint(" " + s)
|
||||
|
||||
@@ -21,12 +21,13 @@ import (
|
||||
func TestInfo(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
_, qemuVersion := rosa.Native().Load(rosa.Std, rosa.QEMU)
|
||||
_, glibVersion := rosa.Native().Load(rosa.Std, rosa.GLib)
|
||||
zlib, zlibVersion := rosa.Native().Load(rosa.Std, rosa.Zlib)
|
||||
_, zstdVersion := rosa.Native().Load(rosa.Std, rosa.Zstd)
|
||||
_, hakureiVersion := rosa.Native().Load(rosa.Std, rosa.Hakurei)
|
||||
_, hakureiDistVersion := rosa.Native().Load(rosa.Std, rosa.HakureiDist)
|
||||
_t := rosa.Native().Std()
|
||||
_, qemuVersion := _t.Load(rosa.QEMU)
|
||||
_, glibVersion := _t.Load(rosa.GLib)
|
||||
zlib, zlibVersion := _t.Load(rosa.Zlib)
|
||||
_, zstdVersion := _t.Load(rosa.Zstd)
|
||||
_, hakureiVersion := _t.Load(rosa.Hakurei)
|
||||
_, hakureiDistVersion := _t.Load(rosa.HakureiDist)
|
||||
|
||||
testCases := []struct {
|
||||
name string
|
||||
@@ -139,7 +140,7 @@ status : not in report
|
||||
|
||||
if tc.status != nil {
|
||||
for name, status := range tc.status {
|
||||
a, _ := rosa.Native().Load(rosa.Std, rosa.ArtifactH(unique.Make(name)))
|
||||
a, _ := _t.Load(rosa.ArtifactH(unique.Make(name)))
|
||||
if a == nil {
|
||||
t.Fatalf("invalid name %q", name)
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ func (index *packageIndex) populate(report *rosa.Report) (err error) {
|
||||
index.names = make(map[string]*metadata)
|
||||
ir := pkg.NewIR()
|
||||
for i, handle := range handles {
|
||||
a, version := rosa.Native().Load(rosa.Std, handle)
|
||||
a, version := rosa.Native().Std().MustLoad(handle)
|
||||
m := metadata{
|
||||
handle: handle,
|
||||
|
||||
|
||||
@@ -100,7 +100,7 @@ func main() {
|
||||
rosa.Native().DropCaches("", flags)
|
||||
cross := flagArch != "" && flagArch != runtime.GOARCH
|
||||
if flagQEMU || cross {
|
||||
cm.qemu, _ = rosa.Native().Load(rosa.Std, rosa.QEMU)
|
||||
cm.qemu, _ = rosa.Native().Std().Load(rosa.QEMU)
|
||||
}
|
||||
|
||||
if cross {
|
||||
@@ -349,7 +349,7 @@ func main() {
|
||||
continue
|
||||
}
|
||||
|
||||
_, version := rosa.Native().Load(rosa.Std, p)
|
||||
_, version := rosa.Native().Std().Load(p)
|
||||
if current, latest :=
|
||||
version,
|
||||
meta.GetLatest(v); current != latest {
|
||||
@@ -412,9 +412,9 @@ func main() {
|
||||
"stage3",
|
||||
"Check for toolchain 3-stage non-determinism",
|
||||
func(args []string) (err error) {
|
||||
t := rosa.Std
|
||||
s := rosa.Std
|
||||
if flagGentoo != "" {
|
||||
t -= 3 // magic number to discourage misuse
|
||||
s -= 3 // magic number to discourage misuse
|
||||
|
||||
var checksum pkg.Checksum
|
||||
if len(flagChecksum) != 0 {
|
||||
@@ -431,7 +431,7 @@ func main() {
|
||||
)
|
||||
|
||||
if err = cm.Do(func(cache *pkg.Cache) (err error) {
|
||||
llvm, _ := rosa.Native().Load(t-2, rosa.LLVM)
|
||||
llvm, _ := rosa.Native().New(s - 2).Load(rosa.LLVM)
|
||||
pathname, _, err = cache.Cure(llvm)
|
||||
return
|
||||
}); err != nil {
|
||||
@@ -440,7 +440,7 @@ func main() {
|
||||
log.Println("stage1:", pathname)
|
||||
|
||||
if err = cm.Do(func(cache *pkg.Cache) (err error) {
|
||||
llvm, _ := rosa.Native().Load(t-1, rosa.LLVM)
|
||||
llvm, _ := rosa.Native().New(s - 1).Load(rosa.LLVM)
|
||||
pathname, checksum[0], err = cache.Cure(llvm)
|
||||
return
|
||||
}); err != nil {
|
||||
@@ -448,7 +448,7 @@ func main() {
|
||||
}
|
||||
log.Println("stage2:", pathname)
|
||||
if err = cm.Do(func(cache *pkg.Cache) (err error) {
|
||||
llvm, _ := rosa.Native().Load(t, rosa.LLVM)
|
||||
llvm, _ := rosa.Native().New(s).Load(rosa.LLVM)
|
||||
pathname, checksum[1], err = cache.Cure(llvm)
|
||||
return
|
||||
}); err != nil {
|
||||
@@ -470,7 +470,7 @@ func main() {
|
||||
|
||||
if flagStage0 {
|
||||
if err = cm.Do(func(cache *pkg.Cache) (err error) {
|
||||
stage0, _ := rosa.Native().Load(t, rosa.Stage0)
|
||||
stage0, _ := rosa.Native().New(s).Load(rosa.Stage0)
|
||||
pathname, _, err = cache.Cure(stage0)
|
||||
return
|
||||
}); err != nil {
|
||||
@@ -524,7 +524,7 @@ func main() {
|
||||
t -= 1
|
||||
}
|
||||
|
||||
a, _ := rosa.Native().Load(t, rosa.ArtifactH(unique.Make(args[0])))
|
||||
a, _ := rosa.Native().New(t).Load(rosa.ArtifactH(unique.Make(args[0])))
|
||||
if a == nil {
|
||||
return fmt.Errorf("unknown artifact %q", args[0])
|
||||
}
|
||||
@@ -756,7 +756,7 @@ func main() {
|
||||
)
|
||||
|
||||
root := make(pkg.Collect, 0, 6+len(args))
|
||||
root = rosa.Native().AppendPresets(rosa.Std, root, handles...)
|
||||
root = rosa.Native().Std().Append(root, handles...)
|
||||
|
||||
if err := cm.Do(func(cache *pkg.Cache) error {
|
||||
_, _, err := cache.Cure(&root)
|
||||
|
||||
@@ -36,7 +36,7 @@ func TestCureAll(t *testing.T) {
|
||||
})
|
||||
|
||||
for _, handle := range rosa.Native().Collect() {
|
||||
a, _ := rosa.Native().MustLoad(rosa.Std, handle)
|
||||
a, _ := rosa.Native().Std().MustLoad(handle)
|
||||
t.Run(rosa.Native().MustGet(handle).Name, func(t *testing.T) {
|
||||
_, err := cureRemote(t.Context(), &addr, a, 0)
|
||||
if err != nil {
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newAttr(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newAttr() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.5.2"
|
||||
checksum = "YWEphrz6vg1sUMmHHVr1CRo53pFXRhq_pjN-AlG8UgwZK1y6m7zuDhxqJhD0SV0l"
|
||||
)
|
||||
return s.NewPackage(t, "attr", version, newTar(
|
||||
return t.NewPackage("attr", version, newTar(
|
||||
"https://download.savannah.nongnu.org/releases/attr/"+
|
||||
"attr-"+version+".tar.gz",
|
||||
checksum,
|
||||
@@ -76,12 +76,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newACL(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newACL() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.3.2"
|
||||
checksum = "-fY5nwH4K8ZHBCRXrzLdguPkqjKI6WIiGu4dBtrZ1o0t6AIU73w8wwJz_UyjIS0P"
|
||||
)
|
||||
return s.NewPackage(t, "acl", version, newTar(
|
||||
return t.NewPackage("acl", version, newTar(
|
||||
"https://download.savannah.nongnu.org/releases/acl/"+
|
||||
"acl-"+version+".tar.gz",
|
||||
checksum,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newArgpStandalone(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newArgpStandalone() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.3"
|
||||
checksum = "vtW0VyO2pJ-hPyYmDI2zwSLS8QL0sPAUKC1t3zNYbwN2TmsaE-fADhaVtNd3eNFl"
|
||||
)
|
||||
return s.NewPackage(t, "argp-standalone", version, newTar(
|
||||
return t.NewPackage("argp-standalone", version, newTar(
|
||||
"http://www.lysator.liu.se/~nisse/misc/"+
|
||||
"argp-standalone-"+version+".tar.gz",
|
||||
checksum,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newBzip2(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newBzip2() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.0.8"
|
||||
checksum = "cTLykcco7boom-s05H1JVsQi1AtChYL84nXkg_92Dm1Xt94Ob_qlMg_-NSguIK-c"
|
||||
)
|
||||
return s.NewPackage(t, "bzip2", version, newTar(
|
||||
return t.NewPackage("bzip2", version, newTar(
|
||||
"https://sourceware.org/pub/bzip2/bzip2-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
|
||||
@@ -8,12 +8,12 @@ import (
|
||||
"hakurei.app/internal/pkg"
|
||||
)
|
||||
|
||||
func (t Toolchain) newCMake(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newCMake() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "4.3.2"
|
||||
checksum = "6QylwRVKletndTSkZTV2YBRwgd_9rUVgav_QW23HpjUgV21AVYZOUOal8tdBDmO7"
|
||||
)
|
||||
return s.NewPackage(t, "cmake", version, newFromGitHubRelease(
|
||||
return t.NewPackage("cmake", version, newFromGitHubRelease(
|
||||
"Kitware/CMake",
|
||||
"v"+version,
|
||||
"cmake-"+version+".tar.gz",
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newConnman(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newConnman() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.0"
|
||||
checksum = "MhVTdJOhndnZn2SWd8URKo_Pj7Zvc14tntEbrVOf9L3yVWJvpb3v3Q6104tWJgtW"
|
||||
)
|
||||
return s.NewPackage(t, "connman", version, newTar(
|
||||
return t.NewPackage("connman", version, newTar(
|
||||
"https://git.kernel.org/pub/scm/network/connman/connman.git/"+
|
||||
"snapshot/connman-"+version+".tar.gz",
|
||||
checksum,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newCurl(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newCurl() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "8.20.0"
|
||||
checksum = "xyHXwrngIRGMasuzhn-I5MSCOhktwINbsWt1f_LuR-5jRVvyx_g6U1EQfDLEbr9r"
|
||||
)
|
||||
return s.NewPackage(t, "curl", version, newTar(
|
||||
return t.NewPackage("curl", version, newTar(
|
||||
"https://curl.se/download/curl-"+version+".tar.bz2",
|
||||
checksum,
|
||||
pkg.TarBzip2,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newDBus(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newDBus() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.16.2"
|
||||
checksum = "INwOuNdrDG7XW5ilW_vn8JSxEa444rRNc5ho97i84I1CNF09OmcFcV-gzbF4uCyg"
|
||||
)
|
||||
return s.NewPackage(t, "dbus", version, newFromGitLab(
|
||||
return t.NewPackage("dbus", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"dbus/dbus",
|
||||
"dbus-"+version,
|
||||
@@ -45,12 +45,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newXDGDBusProxy(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newXDGDBusProxy() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.1.7"
|
||||
checksum = "UW5Pe-TP-XAaN-kTbxrkOQ7eYdmlAQlr2pdreLtPT0uwdAz-7rzDP8V_8PWuZBup"
|
||||
)
|
||||
return s.NewPackage(t, "xdg-dbus-proxy", version, newFromGitHub(
|
||||
return t.NewPackage("xdg-dbus-proxy", version, newFromGitHub(
|
||||
"flatpak/xdg-dbus-proxy",
|
||||
version,
|
||||
checksum,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newDTC(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newDTC() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.7.2"
|
||||
checksum = "vUoiRynPyYRexTpS6USweT5p4SVHvvVJs8uqFkkVD-YnFjwf6v3elQ0-Etrh00Dt"
|
||||
)
|
||||
return s.NewPackage(t, "dtc", version, newTar(
|
||||
return t.NewPackage("dtc", version, newTar(
|
||||
"https://git.kernel.org/pub/scm/utils/dtc/dtc.git/snapshot/"+
|
||||
"dtc-v"+version+".tar.gz",
|
||||
checksum,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newElfutils(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newElfutils() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.195"
|
||||
checksum = "JrGnBD38w8Mj0ZxDw3fKlRBFcLvRKu8rcYnX35R9yTlUSYnzTazyLboG-a2CsJlu"
|
||||
)
|
||||
return s.NewPackage(t, "elfutils", version, newTar(
|
||||
return t.NewPackage("elfutils", version, newTar(
|
||||
"https://sourceware.org/elfutils/ftp/"+
|
||||
version+"/elfutils-"+version+".tar.bz2",
|
||||
checksum,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newFakeroot(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newFakeroot() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.37.2"
|
||||
checksum = "4ve-eDqVspzQ6VWDhPS0NjW3aSenBJcPAJq_BFT7OOFgUdrQzoTBxZWipDAGWxF8"
|
||||
)
|
||||
return s.NewPackage(t, "fakeroot", version, newFromGitLab(
|
||||
return t.NewPackage("fakeroot", version, newFromGitLab(
|
||||
"salsa.debian.org",
|
||||
"clint/fakeroot",
|
||||
"upstream/"+version,
|
||||
|
||||
@@ -4,12 +4,12 @@ import (
|
||||
"hakurei.app/internal/pkg"
|
||||
)
|
||||
|
||||
func (t Toolchain) newFlex(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newFlex() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.6.4"
|
||||
checksum = "p9POjQU7VhgOf3x5iFro8fjhy0NOanvA7CTeuWS_veSNgCixIJshTrWVkc5XLZkB"
|
||||
)
|
||||
return s.NewPackage(t, "flex", version, newFromGitHubRelease(
|
||||
return t.NewPackage("flex", version, newFromGitHubRelease(
|
||||
"westes/flex",
|
||||
"v"+version,
|
||||
"flex-"+version+".tar.gz",
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newFreetype(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newFreetype() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.14.3"
|
||||
checksum = "-WfLv8fVJNyCHpP_lriiDzOcVbBL9ajdQ3tl8AzIIUa9-8sVpU9irxOmSMgRHWYz"
|
||||
)
|
||||
return s.NewPackage(t, "freetype", version, newTar(
|
||||
return t.NewPackage("freetype", version, newTar(
|
||||
"https://download.savannah.gnu.org/releases/freetype/"+
|
||||
"freetype-"+version+".tar.gz",
|
||||
checksum,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newFuse(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newFuse() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "3.18.2"
|
||||
checksum = "iL-7b7eUtmlVSf5cSq0dzow3UiqSjBmzV3cI_ENPs1tXcHdktkG45j1V12h-4jZe"
|
||||
)
|
||||
return s.NewPackage(t, "fuse", version, newFromGitHubRelease(
|
||||
return t.NewPackage("fuse", version, newFromGitHubRelease(
|
||||
"libfuse/libfuse",
|
||||
"fuse-"+version,
|
||||
"fuse-"+version+".tar.gz",
|
||||
|
||||
@@ -7,12 +7,12 @@ import (
|
||||
"hakurei.app/internal/pkg"
|
||||
)
|
||||
|
||||
func (t Toolchain) newGit(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newGit() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.54.0"
|
||||
checksum = "7vGKtFOJGqY8DO4e8UMRax7dLgImXKQz5MMalec6MlgYrsarffSJjgOughwRFpSH"
|
||||
)
|
||||
return s.NewPackage(t, "git", version, newTar(
|
||||
return t.NewPackage("git", version, newTar(
|
||||
"https://www.kernel.org/pub/software/scm/git/"+
|
||||
"git-"+version+".tar.gz",
|
||||
checksum,
|
||||
@@ -106,15 +106,14 @@ func init() {
|
||||
}
|
||||
|
||||
// NewViaGit returns a [pkg.Artifact] for cloning a git repository.
|
||||
func (s *S) NewViaGit(
|
||||
t Toolchain,
|
||||
func (t Toolchain) NewViaGit(
|
||||
url, rev string,
|
||||
checksum pkg.Checksum,
|
||||
) pkg.Artifact {
|
||||
return s.New(t, strings.TrimSuffix(
|
||||
return t.New(strings.TrimSuffix(
|
||||
path.Base(url),
|
||||
".git",
|
||||
)+"-src-"+path.Base(rev), THostNet, s.AppendPresets(t, nil,
|
||||
)+"-src-"+path.Base(rev), THostNet, t.Append(nil,
|
||||
NSSCACert,
|
||||
Git,
|
||||
), &checksum, nil, `
|
||||
@@ -132,6 +131,6 @@ rm -rf /work/.git
|
||||
}
|
||||
|
||||
// newTagRemote is a helper around NewViaGit for a tag on a git remote.
|
||||
func (s *S) newTagRemote(t Toolchain, url, tag, checksum string) pkg.Artifact {
|
||||
return s.NewViaGit(t, url, "refs/tags/"+tag, mustDecode(checksum))
|
||||
func (t Toolchain) newTagRemote(url, tag, checksum string) pkg.Artifact {
|
||||
return t.NewViaGit(url, "refs/tags/"+tag, mustDecode(checksum))
|
||||
}
|
||||
|
||||
@@ -7,12 +7,12 @@ import (
|
||||
"hakurei.app/internal/pkg"
|
||||
)
|
||||
|
||||
func (t Toolchain) newSPIRVHeaders(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newSPIRVHeaders() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.4.341.0"
|
||||
checksum = "0PL43-19Iaw4k7_D8J8BvoJ-iLgCVSYZ2ThgDPGfAJwIJFtre7l0cnQtLjcY-JvD"
|
||||
)
|
||||
return s.NewPackage(t, "spirv-headers", version, newFromGitHub(
|
||||
return t.NewPackage("spirv-headers", version, newFromGitHub(
|
||||
"KhronosGroup/SPIRV-Headers",
|
||||
"vulkan-sdk-"+version,
|
||||
checksum,
|
||||
@@ -52,12 +52,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newSPIRVTools(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newSPIRVTools() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2026.1"
|
||||
checksum = "ZSQPQx8NltCDzQLk4qlaVxyWRWeI_JtsjEpeFt3kezTanl9DTHfLixSUCezMFBjv"
|
||||
)
|
||||
return s.NewPackage(t, "spirv-tools", version, newFromGitHub(
|
||||
return t.NewPackage("spirv-tools", version, newFromGitHub(
|
||||
"KhronosGroup/SPIRV-Tools",
|
||||
"v"+version,
|
||||
checksum,
|
||||
@@ -89,12 +89,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newGlslang(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newGlslang() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "16.3.0"
|
||||
checksum = "xyqDf8k3-D0_BXHGi0uLgMglnJ05Rf3j73QgbDs3sGtKNdBIQhY8JfqX1NcNoJQN"
|
||||
)
|
||||
return s.NewPackage(t, "glslang", version, newFromGitHub(
|
||||
return t.NewPackage("glslang", version, newFromGitHub(
|
||||
"KhronosGroup/glslang",
|
||||
version,
|
||||
checksum,
|
||||
@@ -127,7 +127,7 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newSPIRVLLVMTranslator(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newSPIRVLLVMTranslator() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "22.1.2"
|
||||
checksum = "JZAaV5ewYcm-35YA_U2BM2IcsQouZtX1BLZR0zh2vSlfEXMsT5OCtY4Gh5RJkcGy"
|
||||
@@ -137,7 +137,7 @@ func (t Toolchain) newSPIRVLLVMTranslator(s *S) (pkg.Artifact, string) {
|
||||
"cooperative_matrix_constant_null.spvasm",
|
||||
}
|
||||
|
||||
switch s.arch {
|
||||
switch t.arch {
|
||||
case "arm64":
|
||||
skipChecks = append(skipChecks,
|
||||
// LLVM ERROR: unsupported calling convention
|
||||
@@ -183,7 +183,7 @@ func (t Toolchain) newSPIRVLLVMTranslator(s *S) (pkg.Artifact, string) {
|
||||
)
|
||||
}
|
||||
|
||||
return s.NewPackage(t, "spirv-llvm-translator", version, newFromGitHub(
|
||||
return t.NewPackage("spirv-llvm-translator", version, newFromGitHub(
|
||||
"KhronosGroup/SPIRV-LLVM-Translator",
|
||||
"v"+version, checksum,
|
||||
), &PackageAttr{
|
||||
|
||||
@@ -42,12 +42,12 @@ func skipGNUTests(tests ...int) string {
|
||||
return buf.String()
|
||||
}
|
||||
|
||||
func (t Toolchain) newM4(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newM4() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.4.21"
|
||||
checksum = "pPa6YOo722Jw80l1OsH1tnUaklnPFjFT-bxGw5iAVrZTm1P8FQaWao_NXop46-pm"
|
||||
)
|
||||
return s.NewPackage(t, "m4", version, newTar(
|
||||
return t.NewPackage("m4", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/m4/m4-"+version+".tar.bz2",
|
||||
checksum,
|
||||
pkg.TarBzip2,
|
||||
@@ -74,12 +74,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newBison(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newBison() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "3.8.2"
|
||||
checksum = "BhRM6K7URj1LNOkIDCFDctSErLS-Xo5d9ba9seg10o6ACrgC1uNhED7CQPgIY29Y"
|
||||
)
|
||||
return s.NewPackage(t, "bison", version, newTar(
|
||||
return t.NewPackage("bison", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/bison/bison-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -109,12 +109,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newSed(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newSed() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "4.10"
|
||||
checksum = "TXTRFQJCyflb-bpBRI2S5Y1DpplwvT7-KfXtpqN4AdZgZ5OtI6yStn1-bkhDKx51"
|
||||
)
|
||||
return s.NewPackage(t, "sed", version, newTar(
|
||||
return t.NewPackage("sed", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/sed/sed-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -136,12 +136,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newAutoconf(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newAutoconf() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.73"
|
||||
checksum = "yGabDTeOfaCUB0JX-h3REYLYzMzvpDwFmFFzHNR7QilChCUNE4hR6q7nma4viDYg"
|
||||
)
|
||||
return s.NewPackage(t, "autoconf", version, newTar(
|
||||
return t.NewPackage("autoconf", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/autoconf/autoconf-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -176,12 +176,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newAutomake(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newAutomake() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.18.1"
|
||||
checksum = "FjvLG_GdQP7cThTZJLDMxYpRcKdpAVG-YDs1Fj1yaHlSdh_Kx6nRGN14E0r_BjcG"
|
||||
)
|
||||
return s.NewPackage(t, "automake", version, newTar(
|
||||
return t.NewPackage("automake", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/automake/automake-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -220,18 +220,18 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibtool(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibtool() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.5.4"
|
||||
checksum = "pa6LSrQggh8mSJHQfwGjysAApmZlGJt8wif2cCLzqAAa2jpsTY0jZ-6stS3BWZ2Q"
|
||||
)
|
||||
return s.NewPackage(t, "libtool", version, newTar(
|
||||
return t.NewPackage("libtool", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/libtool/libtool-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
), nil, &MakeHelper{
|
||||
// _Z2a2c: symbol not found
|
||||
SkipCheck: t.isStage0(),
|
||||
SkipCheck: t.stage.isStage0(),
|
||||
|
||||
Check: []string{
|
||||
"TESTSUITEFLAGS=" + jobsFlagE,
|
||||
@@ -254,12 +254,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newGzip(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newGzip() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.14"
|
||||
checksum = "NWhjUavnNfTDFkZJyAUonL9aCOak8GVajWX2OMlzpFnuI0ErpBFyj88mz2xSjz0q"
|
||||
)
|
||||
return s.NewPackage(t, "gzip", version, newTar(
|
||||
return t.NewPackage("gzip", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/gzip/gzip-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -280,12 +280,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newGettext(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newGettext() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.0"
|
||||
checksum = "3MasKeEdPeFEgWgzsBKk7JqWqql1wEMbgPmzAfs-mluyokoW0N8oQVxPQoOnSdgC"
|
||||
)
|
||||
return s.NewPackage(t, "gettext", version, newTar(
|
||||
return t.NewPackage("gettext", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/gettext/gettext-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -326,12 +326,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newDiffutils(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newDiffutils() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "3.12"
|
||||
checksum = "9J5VAq5oA7eqwzS1Yvw-l3G5o-TccUrNQR3PvyB_lgdryOFAfxtvQfKfhdpquE44"
|
||||
)
|
||||
return s.NewPackage(t, "diffutils", version, newTar(
|
||||
return t.NewPackage("diffutils", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/diffutils/diffutils-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -359,12 +359,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newPatch(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newPatch() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.8"
|
||||
checksum = "MA0BQc662i8QYBD-DdGgyyfTwaeALZ1K0yusV9rAmNiIsQdX-69YC4t9JEGXZkeR"
|
||||
)
|
||||
return s.NewPackage(t, "patch", version, newTar(
|
||||
return t.NewPackage("patch", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/patch/patch-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -391,12 +391,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newBash(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newBash() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "5.3"
|
||||
checksum = "4LQ_GRoB_ko-Ih8QPf_xRKA02xAm_TOxQgcJLmFDT6udUPxTAWrsj-ZNeuTusyDq"
|
||||
)
|
||||
return s.NewPackage(t, "bash", version, newTar(
|
||||
return t.NewPackage("bash", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/bash/bash-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -421,12 +421,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newCoreutils(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newCoreutils() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "9.11"
|
||||
checksum = "t8UMed5wpFEoC56aa42_yidfOAaRGzOfj7MRtQkkqgGbpXiskNA8bd-EmVSQkZie"
|
||||
)
|
||||
return s.NewPackage(t, "coreutils", version, newTar(
|
||||
return t.NewPackage("coreutils", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/coreutils/coreutils-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -467,12 +467,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newTexinfo(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newTexinfo() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "7.3"
|
||||
checksum = "RRmC8Xwdof7JuZJeWGAQ_GeASIHAuJFQMbNONXBz5InooKIQGmqmWRjGNGEr5n4-"
|
||||
)
|
||||
return s.NewPackage(t, "texinfo", version, newTar(
|
||||
return t.NewPackage("texinfo", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/texinfo/texinfo-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -500,12 +500,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newGperf(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newGperf() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "3.3"
|
||||
checksum = "RtIy9pPb_Bb8-31J2Nw-rRGso2JlS-lDlVhuNYhqR7Nt4xM_nObznxAlBMnarJv7"
|
||||
)
|
||||
return s.NewPackage(t, "gperf", version, newTar(
|
||||
return t.NewPackage("gperf", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gperf/gperf-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -525,12 +525,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newGawk(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newGawk() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "5.4.0"
|
||||
checksum = "m0RkIolC-PI7EY5q8pcx5Y-0twlIW0Yp3wXXmV-QaHorSdf8BhZ7kW9F8iWomz0C"
|
||||
)
|
||||
return s.NewPackage(t, "gawk", version, newTar(
|
||||
return t.NewPackage("gawk", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/gawk/gawk-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -553,12 +553,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newGrep(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newGrep() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "3.12"
|
||||
checksum = "qMB4RjaPNRRYsxix6YOrjE8gyAT1zVSTy4nW4wKW9fqa0CHYAuWgPwDTirENzm_1"
|
||||
)
|
||||
return s.NewPackage(t, "grep", version, newTar(
|
||||
return t.NewPackage("grep", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/grep/grep-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -586,12 +586,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newFindutils(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newFindutils() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "4.10.0"
|
||||
checksum = "ZXABdNBQXL7QjTygynRRTdXYWxQKZ0Wn5eMd3NUnxR0xaS0u0VfcKoTlbo50zxv6"
|
||||
)
|
||||
return s.NewPackage(t, "findutils", version, pkg.NewHTTPGet(
|
||||
return t.NewPackage("findutils", version, pkg.NewHTTPGet(
|
||||
nil, "https://ftpmirror.gnu.org/gnu/findutils/findutils-"+version+".tar.xz",
|
||||
mustDecode(checksum),
|
||||
), &PackageAttr{
|
||||
@@ -617,12 +617,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newBC(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newBC() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.08.2"
|
||||
checksum = "8h6f3hjV80XiFs6v9HOPF2KEyg1kuOgn5eeFdVspV05ODBVQss-ey5glc8AmneLy"
|
||||
)
|
||||
return s.NewPackage(t, "bc", version, newTar(
|
||||
return t.NewPackage("bc", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/bc/bc-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -646,12 +646,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibiconv(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibiconv() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.19"
|
||||
checksum = "UibB6E23y4MksNqYmCCrA3zTFO6vJugD1DEDqqWYFZNuBsUWMVMcncb_5pPAr88x"
|
||||
)
|
||||
return s.NewPackage(t, "libiconv", version, newTar(
|
||||
return t.NewPackage("libiconv", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/libiconv/libiconv-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -669,12 +669,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newTar(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newTar() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.35"
|
||||
checksum = "zSaoSlVUDW0dSfm4sbL4FrXLFR8U40Fh3zY5DWhR5NCIJ6GjU6Kc4VZo2-ZqpBRA"
|
||||
)
|
||||
return s.NewPackage(t, "tar", version, newTar(
|
||||
return t.NewPackage("tar", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/tar/tar-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -711,12 +711,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newParallel(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newParallel() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "20260422"
|
||||
checksum = "eTsepxgqhXpMEhPd55qh-W5y4vjKn0x9TD2mzbJCNZYtFf4lT4Wzoqr74HGJYBEH"
|
||||
)
|
||||
return s.NewPackage(t, "parallel", version, newTar(
|
||||
return t.NewPackage("parallel", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/parallel/parallel-"+version+".tar.bz2",
|
||||
checksum,
|
||||
pkg.TarBzip2,
|
||||
@@ -745,12 +745,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibunistring(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibunistring() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.4.2"
|
||||
checksum = "iW9BbfLoVlXjWoLTZ4AekQSu4cFBnLcZ4W8OHWbv0AhJNgD3j65_zqaLMzFKylg2"
|
||||
)
|
||||
return s.NewPackage(t, "libunistring", version, newTar(
|
||||
return t.NewPackage("libunistring", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/libunistring/libunistring-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -778,12 +778,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibtasn1(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibtasn1() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "4.21.0"
|
||||
checksum = "9DYI3UYbfYLy8JsKUcY6f0irskbfL0fHZA91Q-JEOA3kiUwpodyjemRsYRjUpjuq"
|
||||
)
|
||||
return s.NewPackage(t, "libtasn1", version, newTar(
|
||||
return t.NewPackage("libtasn1", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/libtasn1/libtasn1-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -801,12 +801,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newReadline(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newReadline() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "8.3"
|
||||
checksum = "r-lcGRJq_MvvBpOq47Z2Y1OI2iqrmtcqhTLVXR0xWo37ZpC2uT_md7gKq5o_qTMV"
|
||||
)
|
||||
return s.NewPackage(t, "readline", version, newTar(
|
||||
return t.NewPackage("readline", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/readline/readline-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -835,21 +835,21 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newGnuTLS(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newGnuTLS() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "3.8.12"
|
||||
checksum = "VPdP-nRydQQRJcnma-YA7CJYA_kzTJ2rb3QFeP6D27emSyInJ8sQ-Wzn518I38dl"
|
||||
)
|
||||
|
||||
var configureExtra []KV
|
||||
switch s.arch {
|
||||
switch t.arch {
|
||||
case "arm64":
|
||||
configureExtra = []KV{
|
||||
{"disable-hardware-acceleration"},
|
||||
}
|
||||
}
|
||||
|
||||
return s.NewPackage(t, "gnutls", version, s.newTagRemote(t,
|
||||
return t.NewPackage("gnutls", version, t.newTagRemote(
|
||||
"https://gitlab.com/gnutls/gnutls.git",
|
||||
version, checksum,
|
||||
), &PackageAttr{
|
||||
@@ -1016,12 +1016,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newBinutils(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newBinutils() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.46.0"
|
||||
checksum = "4kK1_EXQipxSqqyvwD4LbiMLFKCUApjq6PeG4XJP4dzxYGqDeqXfh8zLuTyOuOVR"
|
||||
)
|
||||
return s.NewPackage(t, "binutils", version, newTar(
|
||||
return t.NewPackage("binutils", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/binutils/binutils-"+version+".tar.bz2",
|
||||
checksum,
|
||||
pkg.TarBzip2,
|
||||
@@ -1041,12 +1041,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newGMP(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newGMP() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "6.3.0"
|
||||
checksum = "yrgbgEDWKDdMWVHh7gPbVl56-sRtVVhfvv0M_LX7xMUUk_mvZ1QOJEAnt7g4i3k5"
|
||||
)
|
||||
return s.NewPackage(t, "gmp", version, newTar(
|
||||
return t.NewPackage("gmp", version, newTar(
|
||||
"https://gcc.gnu.org/pub/gcc/infrastructure/"+
|
||||
"gmp-"+version+".tar.bz2",
|
||||
checksum,
|
||||
@@ -1071,12 +1071,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newMPFR(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newMPFR() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "4.2.2"
|
||||
checksum = "wN3gx0zfIuCn9r3VAn_9bmfvAYILwrRfgBjYSD1IjLqyLrLojNN5vKyQuTE9kA-B"
|
||||
)
|
||||
return s.NewPackage(t, "mpfr", version, newTar(
|
||||
return t.NewPackage("mpfr", version, newTar(
|
||||
"https://gcc.gnu.org/pub/gcc/infrastructure/"+
|
||||
"mpfr-"+version+".tar.bz2",
|
||||
checksum,
|
||||
@@ -1101,12 +1101,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newMPC(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newMPC() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.4.1"
|
||||
checksum = "ZffaZyWkvIw0iPvRe5EJ7O-VvHtSkbbb3K_7SgPtK810NvGan7nbF0T5-6tozjQN"
|
||||
)
|
||||
return s.NewPackage(t, "mpc", version, newFromGitLab(
|
||||
return t.NewPackage("mpc", version, newFromGitLab(
|
||||
"gitlab.inria.fr",
|
||||
"mpc/mpc",
|
||||
version, checksum,
|
||||
@@ -1140,19 +1140,19 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newGCC(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newGCC() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "16.1.0"
|
||||
checksum = "4ASoWbxaA2FW7PAB0zzHDPC5XnNhyaAyjtDPpGzceSLeYnEIXsNYZR3PA_Zu5P0K"
|
||||
)
|
||||
|
||||
var configureExtra []KV
|
||||
switch s.arch {
|
||||
switch t.arch {
|
||||
case "amd64", "arm64":
|
||||
configureExtra = append(configureExtra, KV{"with-multilib-list", "''"})
|
||||
}
|
||||
|
||||
return s.NewPackage(t, "gcc", version, newTar(
|
||||
return t.NewPackage("gcc", version, newTar(
|
||||
"https://ftp.tsukuba.wide.ad.jp/software/gcc/releases/"+
|
||||
"gcc-"+version+"/gcc-"+version+".tar.gz",
|
||||
checksum,
|
||||
|
||||
@@ -7,9 +7,9 @@ import (
|
||||
)
|
||||
|
||||
// newGoBootstrap returns the Go bootstrap toolchain.
|
||||
func (s *S) newGoBootstrap(t Toolchain) pkg.Artifact {
|
||||
func (t Toolchain) newGoBootstrap() pkg.Artifact {
|
||||
const checksum = "8o9JL_ToiQKadCTb04nvBDkp8O1xiWOolAxVEqaTGodieNe4lOFEjlOxN3bwwe23"
|
||||
return s.New(t, "go1.4-bootstrap", 0, s.AppendPresets(t, nil,
|
||||
return t.New("go1.4-bootstrap", 0, t.Append(nil,
|
||||
Bash,
|
||||
), nil, []string{
|
||||
"CGO_ENABLED=0",
|
||||
@@ -28,18 +28,17 @@ chmod -R +w ..
|
||||
}
|
||||
|
||||
// newGo returns a specific version of the Go toolchain.
|
||||
func (s *S) newGo(
|
||||
t Toolchain,
|
||||
func (t Toolchain) newGo(
|
||||
version, checksum string,
|
||||
env []string,
|
||||
script string,
|
||||
extra ...pkg.Artifact,
|
||||
) pkg.Artifact {
|
||||
name := "all"
|
||||
if s.opts&OptSkipCheck != 0 {
|
||||
if t.opts&OptSkipCheck != 0 {
|
||||
name = "make"
|
||||
}
|
||||
return s.New(t, "go"+version, 0, s.AppendPresets(t, extra,
|
||||
return t.New("go"+version, 0, t.Append(extra,
|
||||
Bash,
|
||||
), nil, slices.Concat([]string{
|
||||
"CC=cc",
|
||||
@@ -66,27 +65,27 @@ ln -s \
|
||||
)))
|
||||
}
|
||||
|
||||
func (t Toolchain) newGoLatest(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newGoLatest() (pkg.Artifact, string) {
|
||||
var (
|
||||
bootstrapEnv []string
|
||||
bootstrapExtra []pkg.Artifact
|
||||
|
||||
finalEnv []string
|
||||
)
|
||||
switch s.arch {
|
||||
switch t.arch {
|
||||
case "amd64":
|
||||
bootstrapExtra = append(bootstrapExtra, s.newGoBootstrap(t))
|
||||
bootstrapExtra = append(bootstrapExtra, t.newGoBootstrap())
|
||||
|
||||
case "arm64", "riscv64":
|
||||
bootstrapEnv = append(bootstrapEnv, "GOROOT_BOOTSTRAP=/system")
|
||||
bootstrapExtra = s.AppendPresets(t, bootstrapExtra, gcc)
|
||||
bootstrapExtra = t.Append(bootstrapExtra, gcc)
|
||||
finalEnv = append(finalEnv, "CGO_ENABLED=0")
|
||||
|
||||
default:
|
||||
panic("unsupported target " + s.arch)
|
||||
panic("unsupported target " + t.arch)
|
||||
}
|
||||
|
||||
go119 := s.newGo(t,
|
||||
go119 := t.newGo(
|
||||
"1.19",
|
||||
"9_e0aFHsIkVxWVGsp9T2RvvjOc3p4n9o9S8tkNe9Cvgzk_zI2FhRQB7ioQkeAAro",
|
||||
append(bootstrapEnv, "CGO_ENABLED=0"), `
|
||||
@@ -102,13 +101,13 @@ echo \
|
||||
os/rawconn_test.go
|
||||
`, bootstrapExtra...)
|
||||
|
||||
go121 := s.newGo(t,
|
||||
go121 := t.newGo(
|
||||
"1.21.13",
|
||||
"YtrDka402BOAEwywx03Vz4QlVwoBiguJHzG7PuythMCPHXS8CVMLvzmvgEbu4Tzu",
|
||||
[]string{"CGO_ENABLED=0"}, `
|
||||
sed -i \
|
||||
's,/lib/ld-musl-`+s.linuxArch()+`.so.1,/system/bin/linker,' \
|
||||
cmd/link/internal/`+s.arch+`/obj.go
|
||||
's,/lib/ld-musl-`+t.linuxArch()+`.so.1,/system/bin/linker,' \
|
||||
cmd/link/internal/`+t.arch+`/obj.go
|
||||
|
||||
rm \
|
||||
crypto/tls/handshake_client_test.go \
|
||||
@@ -120,23 +119,23 @@ echo \
|
||||
`, go119,
|
||||
)
|
||||
|
||||
go123 := s.newGo(t,
|
||||
go123 := t.newGo(
|
||||
"1.23.12",
|
||||
"wcI32bl1tkqbgcelGtGWPI4RtlEddd-PTd76Eb-k7nXA5LbE9yTNdIL9QSOOxMOs",
|
||||
[]string{"CGO_ENABLED=0"}, `
|
||||
sed -i \
|
||||
's,/lib/ld-musl-`+s.linuxArch()+`.so.1,/system/bin/linker,' \
|
||||
cmd/link/internal/`+s.arch+`/obj.go
|
||||
's,/lib/ld-musl-`+t.linuxArch()+`.so.1,/system/bin/linker,' \
|
||||
cmd/link/internal/`+t.arch+`/obj.go
|
||||
`, go121,
|
||||
)
|
||||
|
||||
go125 := s.newGo(t,
|
||||
go125 := t.newGo(
|
||||
"1.25.10",
|
||||
"TwKwatkpwal-j9U2sDSRPEdM3YesI4Gm88YgGV59wtU-L85K9gA7UPy9SCxn6PMb",
|
||||
[]string{"CGO_ENABLED=0"}, `
|
||||
sed -i \
|
||||
's,/lib/ld-musl-`+s.linuxArch()+`.so.1,/system/bin/linker,' \
|
||||
cmd/link/internal/`+s.arch+`/obj.go
|
||||
's,/lib/ld-musl-`+t.linuxArch()+`.so.1,/system/bin/linker,' \
|
||||
cmd/link/internal/`+t.arch+`/obj.go
|
||||
|
||||
rm \
|
||||
os/root_unix_test.go \
|
||||
@@ -148,13 +147,13 @@ rm \
|
||||
version = "1.26.3"
|
||||
checksum = "lEiFocZFnN5fKvZzmwVdqc9pYUjAuhzqZGbuiOqxUP4XdcY8yECisKcqsQ_eNn1N"
|
||||
)
|
||||
return s.newGo(t,
|
||||
return t.newGo(
|
||||
version,
|
||||
checksum,
|
||||
finalEnv, `
|
||||
sed -i \
|
||||
's,/lib/ld-musl-`+s.linuxArch()+`.so.1,/system/bin/linker,' \
|
||||
cmd/link/internal/`+s.arch+`/obj.go
|
||||
's,/lib/ld-musl-`+t.linuxArch()+`.so.1,/system/bin/linker,' \
|
||||
cmd/link/internal/`+t.arch+`/obj.go
|
||||
sed -i \
|
||||
's/cpu.X86.HasAVX512VBMI/& \&\& cpu.X86.HasPOPCNT/' \
|
||||
internal/runtime/gc/scan/scan_amd64.go
|
||||
|
||||
@@ -5,12 +5,12 @@ import (
|
||||
"hakurei.app/internal/pkg"
|
||||
)
|
||||
|
||||
func (t Toolchain) newGLib(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newGLib() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.88.1"
|
||||
checksum = "Rkszn6W4RHjyspyqfXdVAVawdwDJCuS0Zu0f7qot7tbJhnw2fUDoUUJB40m-1MCX"
|
||||
)
|
||||
return s.NewPackage(t, "glib", version, s.newTagRemote(t,
|
||||
return t.NewPackage("glib", version, t.newTagRemote(
|
||||
"https://gitlab.gnome.org/GNOME/glib.git",
|
||||
version, checksum,
|
||||
), &PackageAttr{
|
||||
|
||||
@@ -2,8 +2,7 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (s *S) newHakurei(
|
||||
t Toolchain,
|
||||
func (t Toolchain) newHakurei(
|
||||
suffix, script string,
|
||||
withHostname bool,
|
||||
) pkg.Artifact {
|
||||
@@ -15,7 +14,7 @@ go build -o /bin/hostname /usr/src/hostname/main.go
|
||||
hostname = ""
|
||||
}
|
||||
|
||||
return s.New(t, "hakurei"+suffix+"-"+hakureiVersion, 0, s.AppendPresets(t, nil,
|
||||
return t.New("hakurei"+suffix+"-"+hakureiVersion, 0, t.Append(nil,
|
||||
Go,
|
||||
PkgConfig,
|
||||
|
||||
@@ -39,8 +38,8 @@ go build -o /bin/hostname /usr/src/hostname/main.go
|
||||
cd /usr/src/hakurei
|
||||
|
||||
HAKUREI_VERSION='v`+hakureiVersion+`'
|
||||
`+script, pkg.Path(AbsUsrSrc.Append("hakurei"), true, s.NewPatchedSource(
|
||||
t, "hakurei", hakureiVersion, hakureiSource, false, hakureiPatches...,
|
||||
`+script, pkg.Path(AbsUsrSrc.Append("hakurei"), true, t.NewPatchedSource(
|
||||
"hakurei", hakureiVersion, hakureiSource, false, hakureiPatches...,
|
||||
)), pkg.Path(AbsUsrSrc.Append("hostname", "main.go"), false, pkg.NewFile(
|
||||
"hostname.go",
|
||||
[]byte(`
|
||||
@@ -60,8 +59,8 @@ func main() {
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: func(t Toolchain, s *S) (pkg.Artifact, string) {
|
||||
return s.newHakurei(t, "", `
|
||||
f: func(t Toolchain) (pkg.Artifact, string) {
|
||||
return t.newHakurei("", `
|
||||
mkdir -p /work/system/libexec/hakurei/
|
||||
|
||||
echo "Building hakurei for $(go env GOOS)/$(go env GOARCH)."
|
||||
@@ -96,12 +95,12 @@ mkdir -p /work/system/bin/
|
||||
ID: 388834,
|
||||
})
|
||||
native.MustRegister(&Artifact{
|
||||
f: func(t Toolchain, s *S) (pkg.Artifact, string) {
|
||||
f: func(t Toolchain) (pkg.Artifact, string) {
|
||||
name := "all"
|
||||
if s.opts&OptSkipCheck != 0 {
|
||||
if t.opts&OptSkipCheck != 0 {
|
||||
name = "make"
|
||||
}
|
||||
return s.newHakurei(t, "-dist", `
|
||||
return t.newHakurei("-dist", `
|
||||
export HAKUREI_VERSION
|
||||
DESTDIR=/work /usr/src/hakurei/`+name+`.sh
|
||||
`, true), hakureiVersion
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newHwdata(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newHwdata() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.407"
|
||||
checksum = "6p1XD0CRuzt6hLfjv4ShKBW934BexmoPkRrmwxD4J63fBVCzVBRHyF8pVJdW_Xjm"
|
||||
)
|
||||
return s.NewPackage(t, "hwdata", version, newFromGitHub(
|
||||
return t.NewPackage("hwdata", version, newFromGitHub(
|
||||
"vcrhonek/hwdata",
|
||||
"v"+version, checksum,
|
||||
), &PackageAttr{
|
||||
|
||||
@@ -10,8 +10,8 @@ func init() {
|
||||
Name: "earlyinit",
|
||||
Description: "Rosa OS initramfs init program",
|
||||
|
||||
f: func(t Toolchain, s *S) (pkg.Artifact, string) {
|
||||
return s.newHakurei(t, "-early-init", `
|
||||
f: func(t Toolchain) (pkg.Artifact, string) {
|
||||
return t.newHakurei("-early-init", `
|
||||
mkdir -p /work/system/libexec/hakurei/
|
||||
|
||||
echo '# Building earlyinit.'
|
||||
@@ -26,12 +26,12 @@ echo
|
||||
},
|
||||
})
|
||||
}
|
||||
func (t Toolchain) newImageSystem(s *S) (pkg.Artifact, string) {
|
||||
return s.New(t, "system.img", TNoToolchain, s.AppendPresets(t, nil,
|
||||
func (t Toolchain) newImageSystem() (pkg.Artifact, string) {
|
||||
return t.New("system.img", TNoToolchain, t.Append(nil,
|
||||
SquashfsTools,
|
||||
), nil, nil, `
|
||||
mksquashfs /mnt/system /work/system.img
|
||||
`, pkg.Path(fhs.AbsRoot.Append("mnt"), false, s.AppendPresets(t, nil,
|
||||
`, pkg.Path(fhs.AbsRoot.Append("mnt"), false, t.Append(nil,
|
||||
Musl,
|
||||
Mksh,
|
||||
Toybox,
|
||||
@@ -49,8 +49,8 @@ func init() {
|
||||
f: Toolchain.newImageSystem,
|
||||
})
|
||||
}
|
||||
func (t Toolchain) newImageInitramfs(s *S) (pkg.Artifact, string) {
|
||||
return s.New(t, "initramfs", TNoToolchain, s.AppendPresets(t, nil,
|
||||
func (t Toolchain) newImageInitramfs() (pkg.Artifact, string) {
|
||||
return t.New("initramfs", TNoToolchain, t.Append(nil,
|
||||
Zstd,
|
||||
EarlyInit,
|
||||
GenInitCPIO,
|
||||
|
||||
@@ -11,8 +11,8 @@ var kernelSource = newTar(
|
||||
pkg.TarGzip,
|
||||
)
|
||||
|
||||
func (t Toolchain) newKernelSource(s *S) (pkg.Artifact, string) {
|
||||
return s.New(t, "kernel-"+kernelVersion+"-src", 0, nil, nil, nil, `
|
||||
func (t Toolchain) newKernelSource() (pkg.Artifact, string) {
|
||||
return t.New("kernel-"+kernelVersion+"-src", 0, nil, nil, nil, `
|
||||
mkdir -p /work/usr/src/
|
||||
cp -r /usr/src/linux /work/usr/src/
|
||||
chmod -R +w /work/usr/src/linux/
|
||||
@@ -28,9 +28,9 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newKernelHeaders(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newKernelHeaders() (pkg.Artifact, string) {
|
||||
const checksum = "lCmBNcMeUmXifg0vecKOPy3GAaFcJSmOPnf3wit9xYTDSTsFADPt1xxUFfmTn1fD"
|
||||
return s.NewPackage(t, "kernel-headers", kernelVersion, kernelSource, &PackageAttr{
|
||||
return t.NewPackage("kernel-headers", kernelVersion, kernelSource, &PackageAttr{
|
||||
Flag: TEarly,
|
||||
KnownChecksum: new(mustDecode(checksum)),
|
||||
|
||||
@@ -76,8 +76,8 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newKernel(s *S) (pkg.Artifact, string) {
|
||||
return s.NewPackage(t, "kernel", kernelVersion, kernelSource, &PackageAttr{
|
||||
func (t Toolchain) newKernel() (pkg.Artifact, string) {
|
||||
return t.NewPackage("kernel", kernelVersion, kernelSource, &PackageAttr{
|
||||
Env: []string{
|
||||
"PATH=/system/sbin",
|
||||
},
|
||||
@@ -1283,8 +1283,8 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newGenInitCPIO(s *S) (pkg.Artifact, string) {
|
||||
return s.New(t, "gen_init_cpio-"+kernelVersion, 0, nil, nil, nil, `
|
||||
func (t Toolchain) newGenInitCPIO() (pkg.Artifact, string) {
|
||||
return t.New("gen_init_cpio-"+kernelVersion, 0, nil, nil, nil, `
|
||||
mkdir -p /work/system/bin/
|
||||
cc -o /work/system/bin/gen_init_cpio /usr/src/linux/usr/gen_init_cpio.c
|
||||
`, pkg.Path(AbsUsrSrc.Append("linux"), false, kernelSource)), kernelVersion
|
||||
@@ -1298,12 +1298,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newFirmware(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newFirmware() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "20260410"
|
||||
checksum = "J8PdQlGqwrivpskPzbL6xacqR6mlKtXpe5RpzFfVzKPAgG81ZRXsc3qrxwdGJbil"
|
||||
)
|
||||
return s.NewPackage(t, "firmware", version, newFromGitLab(
|
||||
return t.NewPackage("firmware", version, newFromGitLab(
|
||||
"gitlab.com",
|
||||
"kernel-firmware/linux-firmware",
|
||||
version,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newKmod(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newKmod() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "34.2"
|
||||
checksum = "0K7POeTKxMhExsaTsnKAC6LUNsRSfe6sSZxWONPbOu-GI_pXOw3toU_BIoqfBhJV"
|
||||
)
|
||||
return s.NewPackage(t, "kmod", version, newTar(
|
||||
return t.NewPackage("kmod", version, newTar(
|
||||
"https://www.kernel.org/pub/linux/utils/kernel/"+
|
||||
"kmod/kmod-"+version+".tar.gz",
|
||||
checksum,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newLibarchive(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibarchive() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "3.8.7"
|
||||
checksum = "CUJK4MDQmZmATClgQBH2Wt-7Ts4iiSUlg1J_TVb6-5IK3rVUgVLIMc5k-bnWB9w3"
|
||||
)
|
||||
return s.NewPackage(t, "libarchive", version, newFromGitHub(
|
||||
return t.NewPackage("libarchive", version, newFromGitHub(
|
||||
"libarchive/libarchive",
|
||||
"v"+version, checksum,
|
||||
), &PackageAttr{
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newLibmd(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibmd() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.2.0"
|
||||
checksum = "1rJ6joAO0wwMZvSfnRNkc1MOhywyAq7SM8VmF92NvDtv7Qdl1LRbjm5fg_DFFtGj"
|
||||
)
|
||||
return s.NewPackage(t, "libmd", version, s.newTagRemote(t,
|
||||
return t.NewPackage("libmd", version, t.newTagRemote(
|
||||
"https://git.hadrons.org/git/libmd.git",
|
||||
version, checksum,
|
||||
), nil, &MakeHelper{
|
||||
@@ -32,12 +32,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibbsd(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibbsd() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.12.2"
|
||||
checksum = "NVS0xFLTwSP8JiElEftsZ-e1_C-IgJhHrHE77RwKt5178M7r087waO-zYx2_dfGX"
|
||||
)
|
||||
return s.NewPackage(t, "libbsd", version, s.newTagRemote(t,
|
||||
return t.NewPackage("libbsd", version, t.newTagRemote(
|
||||
"https://gitlab.freedesktop.org/libbsd/libbsd.git",
|
||||
version, checksum,
|
||||
), nil, &MakeHelper{
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newLibcap(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibcap() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.78"
|
||||
checksum = "wFdUkBhFMD9InPnrBZyegWrlPSAg_9JiTBC-eSFyWWlmbzL2qjh2mKxr9Kx2a8ut"
|
||||
)
|
||||
return s.NewPackage(t, "libcap", version, newTar(
|
||||
return t.NewPackage("libcap", version, newTar(
|
||||
"https://git.kernel.org/pub/scm/libs/libcap/libcap.git/"+
|
||||
"snapshot/libcap-"+version+".tar.gz",
|
||||
checksum,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newLibconfig(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibconfig() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.8.2"
|
||||
checksum = "fD32hjeAZuTz98g6WYHRwsxphrgrEFqxi5Z1jlJemPckPBfxpS3i5HgshAuA6vmT"
|
||||
)
|
||||
return s.NewPackage(t, "libconfig", version, newFromGitHub(
|
||||
return t.NewPackage("libconfig", version, newFromGitHub(
|
||||
"hyperrealm/libconfig",
|
||||
"v"+version,
|
||||
checksum,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newLibdisplayInfo(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibdisplayInfo() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.3.0"
|
||||
checksum = "yjOqPUHHYgRtpqGw5RI1n2Q1_hO5j0LiFNMbjcRWV4Nf71XwwoC9fZMlKBDeLchT"
|
||||
)
|
||||
return s.NewPackage(t, "libdisplay-info", version, newFromGitLab(
|
||||
return t.NewPackage("libdisplay-info", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"emersion/libdisplay-info",
|
||||
version, checksum,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newLibepoxy(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibepoxy() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.5.10"
|
||||
checksum = "OHI8wshrlGw6BMGrmSyejJtwzM2gPhyFJrTsKxULyKMmYrfgcOe7Iw2ibVoUND_Q"
|
||||
)
|
||||
return s.NewPackage(t, "libepoxy", version, newFromGitHub(
|
||||
return t.NewPackage("libepoxy", version, newFromGitHub(
|
||||
"anholt/libepoxy",
|
||||
version,
|
||||
checksum,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newLibev(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibev() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "4.33"
|
||||
checksum = "774eSXV_4k8PySRprUDChbEwsw-kzjIFnJ3MpNOl5zDpamBRvC3BqPyRxvkwcL6_"
|
||||
)
|
||||
return s.NewPackage(t, "libev", version, newTar(
|
||||
return t.NewPackage("libev", version, newTar(
|
||||
"https://dist.schmorp.de/libev/Attic/libev-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
|
||||
@@ -6,12 +6,12 @@ import (
|
||||
"hakurei.app/internal/pkg"
|
||||
)
|
||||
|
||||
func (t Toolchain) newLibexpat(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibexpat() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.8.1"
|
||||
checksum = "iMEtbOJhQfGof2GxSlxffQSI1va_NDDQ9VIuqcPbNZ0291Dr8wttD5QecYyjIQap"
|
||||
)
|
||||
return s.NewPackage(t, "libexpat", version, newFromGitHubRelease(
|
||||
return t.NewPackage("libexpat", version, newFromGitHubRelease(
|
||||
"libexpat/libexpat",
|
||||
"R_"+strings.ReplaceAll(version, ".", "_"),
|
||||
"expat-"+version+".tar.bz2",
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newLibffi(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibffi() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "3.5.2"
|
||||
checksum = "2_Q-ZNBBbVhltfL5zEr0wljxPegUimTK4VeMSiwJEGksls3n4gj3lV0Ly3vviSFH"
|
||||
)
|
||||
return s.NewPackage(t, "libffi", version, newFromGitHubRelease(
|
||||
return t.NewPackage("libffi", version, newFromGitHubRelease(
|
||||
"libffi/libffi",
|
||||
"v"+version,
|
||||
"libffi-"+version+".tar.gz",
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newLibgd(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibgd() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.3.3"
|
||||
checksum = "8T-sh1_FJT9K9aajgxzh8ot6vWIF-xxjcKAHvTak9MgGUcsFfzP8cAvvv44u2r36"
|
||||
)
|
||||
return s.NewPackage(t, "libgd", version, newFromGitHubRelease(
|
||||
return t.NewPackage("libgd", version, newFromGitHubRelease(
|
||||
"libgd/libgd",
|
||||
"gd-"+version,
|
||||
"libgd-"+version+".tar.gz", checksum,
|
||||
|
||||
@@ -6,12 +6,12 @@ import (
|
||||
"hakurei.app/internal/pkg"
|
||||
)
|
||||
|
||||
func (t Toolchain) newLibpng(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibpng() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.6.58"
|
||||
checksum = "m_a5lROJH7vmF3cMjqwTUqURuQLhV1JQx2ySPzcN3VPdgDB9pG3UINsIx_mtkr-t"
|
||||
)
|
||||
return s.NewPackage(t, "libpng", version, newTar(
|
||||
return t.NewPackage("libpng", version, newTar(
|
||||
"https://downloads.sourceforge.net/project/libpng/libpng"+
|
||||
strings.Join(strings.SplitN(version, ".", 3)[:2], "")+
|
||||
"/"+version+"/libpng-"+version+".tar.gz",
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newLibpsl(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibpsl() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.21.5"
|
||||
checksum = "XjfxSzh7peG2Vg4vJlL8z4JZJLcXqbuP6pLWkrGCmRxlnYUFTKNBqWGHCxEOlCad"
|
||||
)
|
||||
return s.NewPackage(t, "libpsl", version, newFromGitHubRelease(
|
||||
return t.NewPackage("libpsl", version, newFromGitHubRelease(
|
||||
"rockdaboot/libpsl",
|
||||
version,
|
||||
"libpsl-"+version+".tar.gz",
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newLibseccomp(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibseccomp() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.6.0"
|
||||
checksum = "mMu-iR71guPjFbb31u-YexBaanKE_nYPjPux-vuBiPfS_0kbwJdfCGlkofaUm-EY"
|
||||
)
|
||||
return s.NewPackage(t, "libseccomp", version, newFromGitHubRelease(
|
||||
return t.NewPackage("libseccomp", version, newFromGitHubRelease(
|
||||
"seccomp/libseccomp",
|
||||
"v"+version,
|
||||
"libseccomp-"+version+".tar.gz",
|
||||
|
||||
@@ -6,12 +6,12 @@ import (
|
||||
"hakurei.app/internal/pkg"
|
||||
)
|
||||
|
||||
func (t Toolchain) newLibtirpc(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibtirpc() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.3.7"
|
||||
checksum = "nzFfu7LNvnSNiNAryD1vtnNWnU-Xqee8KqfXUKoBf5yjb5-dkeRkYuRijdCoYLof"
|
||||
)
|
||||
return s.NewPackage(t, "libtirpc", version, s.newTagRemote(t,
|
||||
return t.NewPackage("libtirpc", version, t.newTagRemote(
|
||||
"git://linux-nfs.org/~steved/libtirpc",
|
||||
"libtirpc-"+
|
||||
strings.Join(strings.SplitN(version, ".", 3), "-"),
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newLibucontext(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibucontext() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.5.1"
|
||||
checksum = "mUgeyJknjMxT-5fORzz-rqhZfP3Y7EZGBhOwvhuX7MsF4Pk9wkuwtrLf5IML-jWu"
|
||||
)
|
||||
return s.NewPackage(t, "libucontext", version, newFromGitHub(
|
||||
return t.NewPackage("libucontext", version, newFromGitHub(
|
||||
"kaniini/libucontext",
|
||||
"libucontext-"+version,
|
||||
checksum,
|
||||
@@ -21,7 +21,7 @@ func (t Toolchain) newLibucontext(s *S) (pkg.Artifact, string) {
|
||||
SkipConfigure: true,
|
||||
InPlace: true,
|
||||
Make: []string{
|
||||
"ARCH=" + s.linuxArch(),
|
||||
"ARCH=" + t.linuxArch(),
|
||||
},
|
||||
Install: "make prefix=/system DESTDIR=/work install",
|
||||
}), version
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newLibxml2(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibxml2() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.15.3"
|
||||
checksum = "oJy74htGlEpf70KPvpW18fYJo0RQQkCXZRwqUz6NoXborS3HCq3Nm4gsyaSeNmUH"
|
||||
)
|
||||
return s.NewPackage(t, "libxml2", version, newFromGitLab(
|
||||
return t.NewPackage("libxml2", version, newFromGitLab(
|
||||
"gitlab.gnome.org",
|
||||
"GNOME/libxml2",
|
||||
"v"+version, checksum,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newLibxslt(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibxslt() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.1.45"
|
||||
checksum = "67ks7v8od2oWaEGf23Sst_Xbn_8brQyolQjqxPoO-lK35k_WJhi2Px5JJgbk-nfn"
|
||||
)
|
||||
return s.NewPackage(t, "libxslt", version, newFromGitLab(
|
||||
return t.NewPackage("libxslt", version, newFromGitLab(
|
||||
"gitlab.gnome.org",
|
||||
"GNOME/libxslt",
|
||||
"v"+version, checksum,
|
||||
|
||||
@@ -29,10 +29,10 @@ func litArgs(verbose bool, skipChecks ...string) string {
|
||||
return "'" + strings.Join(args, " ") + "'"
|
||||
}
|
||||
|
||||
func (t Toolchain) newEarlyCompilerRT(s *S) (pkg.Artifact, string) {
|
||||
source, version := s.Load(t, llvmSource)
|
||||
func (t Toolchain) newEarlyCompilerRT() (pkg.Artifact, string) {
|
||||
source, version := t.Load(llvmSource)
|
||||
major, _, _ := strings.Cut(version, ".")
|
||||
return s.NewPackage(t, "early-compiler-rt", version, source, &PackageAttr{
|
||||
return t.NewPackage("early-compiler-rt", version, source, &PackageAttr{
|
||||
Flag: TExclusive,
|
||||
}, &CMakeHelper{
|
||||
Append: []string{"compiler-rt"},
|
||||
@@ -71,10 +71,10 @@ ln -s \
|
||||
"/work/system/lib/clang/` + major + `/lib/"
|
||||
|
||||
ln -s \
|
||||
"clang_rt.crtbegin-` + s.linuxArch() + `.o" \
|
||||
"clang_rt.crtbegin-` + t.linuxArch() + `.o" \
|
||||
"/work/system/lib/${ROSA_TRIPLE}/crtbeginS.o"
|
||||
ln -s \
|
||||
"clang_rt.crtend-` + s.linuxArch() + `.o" \
|
||||
"clang_rt.crtend-` + t.linuxArch() + `.o" \
|
||||
"/work/system/lib/${ROSA_TRIPLE}/crtendS.o"
|
||||
`,
|
||||
},
|
||||
@@ -97,9 +97,9 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newEarlyRuntimes(s *S) (pkg.Artifact, string) {
|
||||
source, version := s.Load(t, llvmSource)
|
||||
return s.NewPackage(t, "early-runtimes", version, source, &PackageAttr{
|
||||
func (t Toolchain) newEarlyRuntimes() (pkg.Artifact, string) {
|
||||
source, version := t.Load(llvmSource)
|
||||
return t.NewPackage("early-runtimes", version, source, &PackageAttr{
|
||||
Flag: TExclusive,
|
||||
}, &CMakeHelper{
|
||||
Append: []string{"runtimes"},
|
||||
@@ -157,9 +157,9 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLLVM(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLLVM() (pkg.Artifact, string) {
|
||||
early := muslHeaders
|
||||
if t.isStage0() {
|
||||
if t.stage.isStage0() {
|
||||
// The LLVM build system uses the system installation when building with
|
||||
// LLVM_LINK_LLVM_DYLIB, since it builds runtimes after the fact, using
|
||||
// the just-built toolchain. This is unacceptable in stage0 due to the
|
||||
@@ -217,7 +217,7 @@ func (t Toolchain) newLLVM(s *S) (pkg.Artifact, string) {
|
||||
}, ";") + "'"},
|
||||
}
|
||||
|
||||
if !t.isStage0() {
|
||||
if !t.stage.isStage0() {
|
||||
skipChecks := []string{
|
||||
// expensive, pointless to run here
|
||||
"benchmarks",
|
||||
@@ -247,7 +247,7 @@ func (t Toolchain) newLLVM(s *S) (pkg.Artifact, string) {
|
||||
// unwind: fails on musl
|
||||
"eh_frame_fde_pc_range",
|
||||
}
|
||||
switch s.arch {
|
||||
switch t.arch {
|
||||
case "arm64":
|
||||
skipChecks = append(skipChecks,
|
||||
// LLVM: intermittently crashes
|
||||
@@ -257,7 +257,7 @@ func (t Toolchain) newLLVM(s *S) (pkg.Artifact, string) {
|
||||
)
|
||||
}
|
||||
|
||||
if s.opts&OptLLVMNoLTO == 0 {
|
||||
if t.opts&OptLLVMNoLTO == 0 {
|
||||
cache = append(cache, []KV{
|
||||
// very expensive
|
||||
{"LLVM_ENABLE_LTO", "Thin"},
|
||||
@@ -273,8 +273,8 @@ func (t Toolchain) newLLVM(s *S) (pkg.Artifact, string) {
|
||||
}...)
|
||||
}
|
||||
|
||||
source, version := s.Load(t, llvmSource)
|
||||
return s.NewPackage(t, "llvm", version, source, &PackageAttr{
|
||||
source, version := t.Load(llvmSource)
|
||||
return t.NewPackage("llvm", version, source, &PackageAttr{
|
||||
Flag: TExclusive,
|
||||
}, &CMakeHelper{
|
||||
Append: []string{"llvm"},
|
||||
@@ -291,7 +291,7 @@ ln -s clang++ /work/system/bin/c++
|
||||
// installation into test environment, and the tests end up testing the
|
||||
// system installation instead. Tests are disabled on stage0 and relies
|
||||
// on 3-stage determinism to test later stages.
|
||||
SkipTest: t.isStage0(),
|
||||
SkipTest: t.stage.isStage0(),
|
||||
|
||||
Test: `
|
||||
chmod +w /bin && ln -s \
|
||||
@@ -325,8 +325,8 @@ func init() {
|
||||
)
|
||||
|
||||
native.MustRegister(&Artifact{
|
||||
f: func(t Toolchain, s *S) (pkg.Artifact, string) {
|
||||
return s.NewPatchedSource(t, "llvm", version, newFromGitHub(
|
||||
f: func(t Toolchain) (pkg.Artifact, string) {
|
||||
return t.NewPatchedSource("llvm", version, newFromGitHub(
|
||||
"llvm/llvm-project",
|
||||
"llvmorg-"+version,
|
||||
checksum,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newLMSensors(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLMSensors() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "3-6-2"
|
||||
checksum = "7JYNutrihe-FP6r3ftf96uFZJJWPfxnBHL0ALSMA-vovaXVRr-sAjlLitw7WWpCI"
|
||||
)
|
||||
return s.NewPackage(t, "lm_sensors", version, newFromGitHub(
|
||||
return t.NewPackage("lm_sensors", version, newFromGitHub(
|
||||
"lm-sensors/lm-sensors",
|
||||
"V"+version,
|
||||
checksum,
|
||||
|
||||
@@ -7,12 +7,12 @@ import (
|
||||
"hakurei.app/internal/pkg"
|
||||
)
|
||||
|
||||
func (t Toolchain) newMake(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newMake() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "4.4.1"
|
||||
checksum = "YS_B07ZcAy9PbaK5_vKGj64SrxO2VMpnMKfc9I0Q9IC1rn0RwOH7802pJoj2Mq4a"
|
||||
)
|
||||
return s.New(t, "make-"+version, TEarly, nil, nil, nil, `
|
||||
return t.New("make-"+version, TEarly, nil, nil, nil, `
|
||||
cd "$(mktemp -d)"
|
||||
/usr/src/make/configure \
|
||||
--prefix=/system \
|
||||
|
||||
@@ -6,12 +6,12 @@ import (
|
||||
"hakurei.app/internal/pkg"
|
||||
)
|
||||
|
||||
func (t Toolchain) newLibglvnd(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibglvnd() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.7.0"
|
||||
checksum = "eIQJK2sgFQDHdeFkQO87TrSUaZRFG4y2DrwA8Ut-sGboI59uw1OOiIVqq2AIwnGY"
|
||||
)
|
||||
return s.NewPackage(t, "libglvnd", version, newFromGitLab(
|
||||
return t.NewPackage("libglvnd", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"glvnd/libglvnd",
|
||||
"v"+version,
|
||||
@@ -50,12 +50,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibdrm(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibdrm() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.4.133"
|
||||
checksum = "bfj296NcR9DndO11hqDbSRFPqaweSLMqRk3dlCPZpM6FONX1WZ9J4JdbTDMUd1rU"
|
||||
)
|
||||
return s.NewPackage(t, "libdrm", version, newFromGitLab(
|
||||
return t.NewPackage("libdrm", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"mesa/libdrm",
|
||||
"libdrm-"+version,
|
||||
@@ -87,12 +87,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibva(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibva() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.23.0"
|
||||
checksum = "UmF5tPyWIG_w5kiR3KFpoYbF7UUcaak5tyc-RhOheNTwQlLkPlifreFYCM9FQxbq"
|
||||
)
|
||||
return s.NewPackage(t, "libva", version, newFromGitHub(
|
||||
return t.NewPackage("libva", version, newFromGitHub(
|
||||
"intel/libva",
|
||||
version,
|
||||
checksum,
|
||||
@@ -129,12 +129,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newMesa(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newMesa() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "26.1.0"
|
||||
checksum = "zU0fjqevySBaoi_5SLW3e2UffmGeBdxOuHmAHTH68n2hV-sjYoqg30koLqFXuk5y"
|
||||
)
|
||||
return s.NewPackage(t, "mesa", version, newFromGitLab(
|
||||
return t.NewPackage("mesa", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"mesa/mesa",
|
||||
"mesa-"+version,
|
||||
|
||||
@@ -7,12 +7,12 @@ import (
|
||||
"hakurei.app/internal/pkg"
|
||||
)
|
||||
|
||||
func (t Toolchain) newMeson(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newMeson() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.11.1"
|
||||
checksum = "uvILRxdopwc6Dy17UbIeClcQr0qHqyTaqyk1M9OqWKN9PwB9N6UVAiyN8kSSz3r2"
|
||||
)
|
||||
return s.NewPackage(t, "meson", version, newFromGitHub(
|
||||
return t.NewPackage("meson", version, newFromGitHub(
|
||||
"mesonbuild/meson",
|
||||
version,
|
||||
checksum,
|
||||
|
||||
@@ -2,16 +2,16 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newMksh(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newMksh() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "59c"
|
||||
checksum = "0Zj-k4nXEu3IuJY4lvwD2OrC2t27GdZj8SPy4DoaeuBRH1padWb7oREpYgwY8JNq"
|
||||
)
|
||||
scriptTest := "./test.sh -C regress:no-ctty\n"
|
||||
if s.opts&OptSkipCheck != 0 {
|
||||
if t.opts&OptSkipCheck != 0 {
|
||||
scriptTest = ""
|
||||
}
|
||||
return s.New(t, "mksh-"+version, 0, s.AppendPresets(t, nil,
|
||||
return t.New("mksh-"+version, 0, t.Append(nil,
|
||||
Perl,
|
||||
Coreutils,
|
||||
), nil, []string{
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newMuslFts(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newMuslFts() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.2.7"
|
||||
checksum = "N_p_ZApX3eHt7xoDCw1hLf6XdJOw7ZSx7xPvpvAP0knG2zgU0zeN5w8tt5Pg60XJ"
|
||||
)
|
||||
return s.NewPackage(t, "musl-fts", version, newFromGitHub(
|
||||
return t.NewPackage("musl-fts", version, newFromGitHub(
|
||||
"void-linux/musl-fts",
|
||||
"v"+version,
|
||||
checksum,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newMuslObstack(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newMuslObstack() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.2.3"
|
||||
checksum = "tVRY_KjIlkkMszcaRlkKdBVQHIXTT_T_TiMxbwErlILXrOBosocg8KklppZhNdCG"
|
||||
)
|
||||
return s.NewPackage(t, "musl-obstack", version, newFromGitHub(
|
||||
return t.NewPackage("musl-obstack", version, newFromGitHub(
|
||||
"void-linux/musl-obstack",
|
||||
"v"+version,
|
||||
checksum,
|
||||
|
||||
@@ -2,7 +2,7 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (s *S) newMusl(t Toolchain, headers bool) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newMusl(headers bool) (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.2.6"
|
||||
checksum = "WtWb_OV_XxLDAB5NerOL9loLlHVadV00MmGk65PPBU1evaolagoMHfvpZp_vxEzS"
|
||||
@@ -14,7 +14,7 @@ func (s *S) newMusl(t Toolchain, headers bool) (pkg.Artifact, string) {
|
||||
SkipCheck: true,
|
||||
Script: `
|
||||
mkdir -p /work/system/bin
|
||||
COMPAT_LINKER_NAME="ld-musl-` + s.linuxArch() + `.so.1"
|
||||
COMPAT_LINKER_NAME="ld-musl-` + t.linuxArch() + `.so.1"
|
||||
ln -vs ../lib/libc.so /work/system/bin/linker
|
||||
ln -vs ../lib/libc.so /work/system/bin/ldd
|
||||
ln -vs libc.so "/work/system/lib/${COMPAT_LINKER_NAME}"
|
||||
@@ -34,9 +34,9 @@ rmdir -v /work/lib
|
||||
}
|
||||
|
||||
env := []string{
|
||||
"LDFLAGS=" + s.earlyLDFLAGS(false),
|
||||
"LDFLAGS=" + t.earlyLDFLAGS(false),
|
||||
}
|
||||
if t.isStage0() {
|
||||
if t.stage.isStage0() {
|
||||
env = append(env,
|
||||
"CC=clang",
|
||||
"AR=ar",
|
||||
@@ -44,7 +44,7 @@ rmdir -v /work/lib
|
||||
)
|
||||
}
|
||||
|
||||
return s.NewPackage(t, name, version, newTar(
|
||||
return t.NewPackage(name, version, newTar(
|
||||
"https://musl.libc.org/releases/musl-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -76,8 +76,8 @@ index 715948f4..c2fece68 100644
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: func(t Toolchain, s *S) (pkg.Artifact, string) {
|
||||
return s.newMusl(t, false)
|
||||
f: func(t Toolchain) (pkg.Artifact, string) {
|
||||
return t.newMusl(false)
|
||||
},
|
||||
|
||||
Name: "musl",
|
||||
@@ -88,8 +88,8 @@ func init() {
|
||||
})
|
||||
|
||||
native.MustRegister(&Artifact{
|
||||
f: func(t Toolchain, s *S) (pkg.Artifact, string) {
|
||||
return s.newMusl(t, true)
|
||||
f: func(t Toolchain) (pkg.Artifact, string) {
|
||||
return t.newMusl(true)
|
||||
},
|
||||
|
||||
Name: "musl-headers",
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newNcurses(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newNcurses() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "6.6"
|
||||
checksum = "XvWp4xi6hR_hH8XUoGY26L_pqBSDapJYulhzZqPuR0KNklqypqNc1yNXU-nOjf5w"
|
||||
)
|
||||
return s.NewPackage(t, "ncurses", version, newTar(
|
||||
return t.NewPackage("ncurses", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/ncurses/ncurses-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newLibmnl(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibmnl() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.0.5"
|
||||
checksum = "DN-vbbvQDpxXJm0TJ6xlluILvfrB86avrCTX50XyE9SEFSAZ_o8nuKc5Gu0Am7-u"
|
||||
)
|
||||
return s.NewPackage(t, "libmnl", version, newTar(
|
||||
return t.NewPackage("libmnl", version, newTar(
|
||||
"https://www.netfilter.org/projects/libmnl/files/"+
|
||||
"libmnl-"+version+".tar.bz2",
|
||||
checksum,
|
||||
@@ -50,12 +50,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibnftnl(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibnftnl() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.3.1"
|
||||
checksum = "91ou66K-I17iX6DB6hiQkhhC_v4DFW5iDGzwjVRNbJNEmKqowLZBlh3FY-ZDO0r9"
|
||||
)
|
||||
return s.NewPackage(t, "libnftnl", version, s.newTagRemote(t,
|
||||
return t.NewPackage("libnftnl", version, t.newTagRemote(
|
||||
"https://git.netfilter.org/libnftnl",
|
||||
"libnftnl-"+version, checksum,
|
||||
), &PackageAttr{
|
||||
@@ -92,12 +92,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newIPTables(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newIPTables() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.8.13"
|
||||
checksum = "TUA-cFIAsiMvtRR-XzQvXzoIhJUOc9J2gQDJCbBRjmgmVfGfPTCf58wL7e-cUKVQ"
|
||||
)
|
||||
return s.NewPackage(t, "iptables", version, s.newTagRemote(t,
|
||||
return t.NewPackage("iptables", version, t.newTagRemote(
|
||||
"https://git.netfilter.org/iptables",
|
||||
"v"+version, checksum,
|
||||
), &PackageAttr{
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newNettle(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newNettle() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "4.0"
|
||||
checksum = "6agC-vHzzoqAlaX3K9tX8yHgrm03HLqPZzVzq8jh_ePbuPMIvpxereu_uRJFmQK7"
|
||||
)
|
||||
return s.NewPackage(t, "nettle", version, newTar(
|
||||
return t.NewPackage("nettle", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/nettle/nettle-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newNettle3(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newNettle3() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "3.10.2"
|
||||
checksum = "07aXlj10X5llf67jIqRQAA1pgLSgb0w_JYggZVPuKNoc-B-_usb5Kr8FrfBe7g1S"
|
||||
)
|
||||
return s.NewPackage(t, "nettle", version, newTar(
|
||||
return t.NewPackage("nettle", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/nettle/nettle-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
|
||||
@@ -2,14 +2,14 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newNinja(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newNinja() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.13.2"
|
||||
checksum = "ygKWMa0YV2lWKiFro5hnL-vcKbc_-RACZuPu0Io8qDvgQlZ0dxv7hPNSFkt4214v"
|
||||
)
|
||||
python, _ := s.Load(t, Python)
|
||||
bash, _ := s.Load(t, Bash)
|
||||
return s.New(t, "ninja-"+version, 0, []pkg.Artifact{
|
||||
python, _ := t.Load(Python)
|
||||
bash, _ := t.Load(Bash)
|
||||
return t.New("ninja-"+version, 0, []pkg.Artifact{
|
||||
python,
|
||||
bash,
|
||||
}, nil, nil, `
|
||||
@@ -30,7 +30,7 @@ cp ninja /work/system/bin/
|
||||
"googletest-1.16.0.tar.gz",
|
||||
"NjLGvSbgPy_B-y-o1hdanlzEzaYeStFcvFGxpYV3KYlhrWWFRcugYhM3ZMzOA9B_",
|
||||
pkg.TarGzip,
|
||||
)), pkg.Path(AbsUsrSrc.Append("ninja"), true, s.NewPatchedSource(t,
|
||||
)), pkg.Path(AbsUsrSrc.Append("ninja"), true, t.NewPatchedSource(
|
||||
"ninja", version, newFromGitHub(
|
||||
"ninja-build/ninja",
|
||||
"v"+version,
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"hakurei.app/internal/pkg"
|
||||
)
|
||||
|
||||
func (t Toolchain) newNSS(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newNSS() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "3.123.1"
|
||||
checksum = "g811Z_fc74ssg-s6BeXRG-ipSfJggD6hrxjVJxrOBIz98CE7piv0OLwzIRLMQpwR"
|
||||
@@ -14,7 +14,7 @@ func (t Toolchain) newNSS(s *S) (pkg.Artifact, string) {
|
||||
version0 = "4_38_2"
|
||||
checksum0 = "25x2uJeQnOHIiq_zj17b4sYqKgeoU8-IsySUptoPcdHZ52PohFZfGuIisBreWzx0"
|
||||
)
|
||||
return s.NewPackage(t, "nss", version, newFromGitHub(
|
||||
return t.NewPackage("nss", version, newFromGitHub(
|
||||
"nss-dev/nss",
|
||||
"NSS_"+strings.Join(strings.SplitN(version, ".", 3), "_")+"_RTM",
|
||||
checksum,
|
||||
@@ -102,8 +102,8 @@ rm buildcatrust/tests/test_nonhermetic.py
|
||||
)
|
||||
}
|
||||
|
||||
func (t Toolchain) newNSSCACert(s *S) (pkg.Artifact, string) {
|
||||
return s.New(t, "nss-cacert", 0, s.AppendPresets(t, nil,
|
||||
func (t Toolchain) newNSSCACert() (pkg.Artifact, string) {
|
||||
return t.New("nss-cacert", 0, t.Append(nil,
|
||||
Bash,
|
||||
|
||||
NSS,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newOpenSSL(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newOpenSSL() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "3.6.2"
|
||||
checksum = "jH004dXTiE01Hp0kyShkWXwrSHEksZi4i_3v47D9H9Uz9LQ1aMwF7mrl2Tb4t_XA"
|
||||
)
|
||||
return s.NewPackage(t, "openssl", version, newFromGitHubRelease(
|
||||
return t.NewPackage("openssl", version, newFromGitHubRelease(
|
||||
"openssl/openssl",
|
||||
"openssl-"+version,
|
||||
"openssl-"+version+".tar.gz",
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newP11Kit(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newP11Kit() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.26.2"
|
||||
checksum = "3ei-6DUVtYzrRVe-SubtNgRlweXd6H2qHmUu-_5qVyIn6gSTvZbGS2u79Y8IFb2N"
|
||||
)
|
||||
return s.NewPackage(t, "p11-kit", version, s.newTagRemote(t,
|
||||
return t.NewPackage("p11-kit", version, t.newTagRemote(
|
||||
"https://github.com/p11-glue/p11-kit.git",
|
||||
version, checksum,
|
||||
), nil, &MesonHelper{
|
||||
|
||||
@@ -4,12 +4,12 @@ import (
|
||||
"hakurei.app/internal/pkg"
|
||||
)
|
||||
|
||||
func (t Toolchain) newPCRE2(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newPCRE2() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "10.47"
|
||||
checksum = "IbC24vVayju6nB9EhrBPSDexk22wDecdpyrjgC3nCZXkwTnUjq4CD2q5sopqu6CW"
|
||||
)
|
||||
return s.NewPackage(t, "pcre2", version, newFromGitHubRelease(
|
||||
return t.NewPackage("pcre2", version, newFromGitHubRelease(
|
||||
"PCRE2Project/pcre2",
|
||||
"pcre2-"+version,
|
||||
"pcre2-"+version+".tar.bz2",
|
||||
|
||||
@@ -7,12 +7,12 @@ import (
|
||||
"hakurei.app/internal/pkg"
|
||||
)
|
||||
|
||||
func (t Toolchain) newPerl(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newPerl() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "5.42.2"
|
||||
checksum = "Me_xFfgkRnVyG0sE6a74TktK2OUq9Z1LVJNEu_9RdZG3S2fbjfzNiuk2SJqHAgbm"
|
||||
)
|
||||
return s.NewPackage(t, "perl", version, newTar(
|
||||
return t.NewPackage("perl", version, newTar(
|
||||
"https://www.cpan.org/src/5.0/perl-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -65,8 +65,7 @@ func init() {
|
||||
}
|
||||
|
||||
// newViaPerlModuleBuild installs a perl module via Build.PL.
|
||||
func (s *S) newViaPerlModuleBuild(
|
||||
t Toolchain,
|
||||
func (t Toolchain) newViaPerlModuleBuild(
|
||||
name, version string,
|
||||
source pkg.Artifact,
|
||||
patches []KV,
|
||||
@@ -75,7 +74,7 @@ func (s *S) newViaPerlModuleBuild(
|
||||
if name == "" || version == "" {
|
||||
panic("names must be non-empty")
|
||||
}
|
||||
return s.New(t, "perl-"+name, 0, s.AppendPresets(t, nil,
|
||||
return t.New("perl-"+name, 0, t.Append(nil,
|
||||
slices.Concat(P{Perl}, extra)...,
|
||||
), nil, nil, `
|
||||
cd /usr/src/`+name+`
|
||||
@@ -83,17 +82,17 @@ perl Build.PL --prefix=/system
|
||||
./Build build
|
||||
./Build test
|
||||
./Build install --destdir=/work
|
||||
`, pkg.Path(AbsUsrSrc.Append(name), true, s.NewPatchedSource(t,
|
||||
`, pkg.Path(AbsUsrSrc.Append(name), true, t.NewPatchedSource(
|
||||
"perl-"+name, version, source, false, patches...,
|
||||
)))
|
||||
}
|
||||
|
||||
func (t Toolchain) newPerlModuleBuild(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newPerlModuleBuild() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.4234"
|
||||
checksum = "ZKxEFG4hE1rqZt52zBL2LRZBMkYzhjb5-cTBXcsyA52EbPeeYyVxU176yAea8-Di"
|
||||
)
|
||||
return s.newViaPerlModuleBuild(t, "Module-Build", version, newTar(
|
||||
return t.newViaPerlModuleBuild("Module-Build", version, newTar(
|
||||
"https://cpan.metacpan.org/authors/id/L/LE/LEONT/"+
|
||||
"Module-Build-"+version+".tar.gz",
|
||||
checksum,
|
||||
@@ -115,14 +114,13 @@ func init() {
|
||||
}
|
||||
|
||||
// newViaPerlMakeMaker installs a perl module via Makefile.PL.
|
||||
func (s *S) newViaPerlMakeMaker(
|
||||
t Toolchain,
|
||||
func (t Toolchain) newViaPerlMakeMaker(
|
||||
name, version string,
|
||||
source pkg.Artifact,
|
||||
patches []KV,
|
||||
extra ...ArtifactH,
|
||||
) pkg.Artifact {
|
||||
return s.NewPackage(t, "perl-"+name, version, source, &PackageAttr{
|
||||
return t.NewPackage("perl-"+name, version, source, &PackageAttr{
|
||||
// uses source tree as scratch space
|
||||
Writable: true,
|
||||
Chmod: true,
|
||||
@@ -143,12 +141,12 @@ func (s *S) newViaPerlMakeMaker(
|
||||
})...)
|
||||
}
|
||||
|
||||
func (t Toolchain) newPerlLocaleGettext(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newPerlLocaleGettext() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.07"
|
||||
checksum = "cFq4BKFD1MWSoa7lsrPjpdo9kzPqd0jlRcBFUyL1L1isw8m3D_Sge_ff0MAu_9J3"
|
||||
)
|
||||
return s.newViaPerlMakeMaker(t, "Locale::gettext", version, newFromCPAN(
|
||||
return t.newViaPerlMakeMaker("Locale::gettext", version, newFromCPAN(
|
||||
"PVANDRY",
|
||||
"Locale-gettext",
|
||||
version,
|
||||
@@ -167,12 +165,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newPerlPodParser(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newPerlPodParser() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.67"
|
||||
checksum = "RdURu9mOfExk_loCp6abxlcQV3FycSNbTqhRS9i6JUqnYfGGEgercK30g0gjYyqe"
|
||||
)
|
||||
return s.newViaPerlMakeMaker(t, "Pod::Parser", version, newFromCPAN(
|
||||
return t.newViaPerlMakeMaker("Pod::Parser", version, newFromCPAN(
|
||||
"MAREKR",
|
||||
"Pod-Parser",
|
||||
version,
|
||||
@@ -191,12 +189,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newPerlSGMLS(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newPerlSGMLS() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.1"
|
||||
checksum = "aZijn4MUqD-wfyZgdcCruCwl4SgDdu25cNmJ4_UvdAk9a7uz4gzMQdoeB6DQ6QOy"
|
||||
)
|
||||
return s.newViaPerlMakeMaker(t, "SGMLS", version, newFromCPAN(
|
||||
return t.newViaPerlMakeMaker("SGMLS", version, newFromCPAN(
|
||||
"RAAB",
|
||||
"SGMLSpm",
|
||||
version,
|
||||
@@ -229,12 +227,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newPerlTermReadKey(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newPerlTermReadKey() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.38"
|
||||
checksum = "qerL8Xo7kD0f42PZoiEbmE8Roc_S9pOa27LXelY4DN_0UNy_u5wLrGHI8utNlaiI"
|
||||
)
|
||||
return s.newViaPerlMakeMaker(t, "Term::ReadKey", version, newFromCPAN(
|
||||
return t.newViaPerlMakeMaker("Term::ReadKey", version, newFromCPAN(
|
||||
"JSTOWE",
|
||||
"TermReadKey",
|
||||
version,
|
||||
@@ -253,12 +251,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newPerlTextCharWidth(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newPerlTextCharWidth() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.04"
|
||||
checksum = "G2p5RHU4_HiZ23ZusBA_enTlVMxz0J4esUx4CGcOPhY6xYTbp-aXWRN6lYZpzBw2"
|
||||
)
|
||||
return s.newViaPerlMakeMaker(t, "Text::CharWidth", version, newFromCPAN(
|
||||
return t.newViaPerlMakeMaker("Text::CharWidth", version, newFromCPAN(
|
||||
"KUBOTA",
|
||||
"Text-CharWidth",
|
||||
version,
|
||||
@@ -277,12 +275,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newPerlTextWrapI18N(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newPerlTextWrapI18N() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.06"
|
||||
checksum = "Vmo89qLgxUqyQ6QmWJVqu60aQAUjrNKRjFQSXGnvClxofzRjiCa6idzPgJ4VkixM"
|
||||
)
|
||||
return s.newViaPerlMakeMaker(t, "Text::WrapI18N", version, newFromCPAN(
|
||||
return t.newViaPerlMakeMaker("Text::WrapI18N", version, newFromCPAN(
|
||||
"KUBOTA",
|
||||
"Text-WrapI18N",
|
||||
version,
|
||||
@@ -307,12 +305,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newPerlMIMECharset(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newPerlMIMECharset() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.013.1"
|
||||
checksum = "Ou_ukcrOa1cgtE3mptinb-os3bdL1SXzbRDFZQF3prrJj-drc3rp_huay7iDLJol"
|
||||
)
|
||||
return s.newViaPerlMakeMaker(t, "MIME::Charset", version, newFromCPAN(
|
||||
return t.newViaPerlMakeMaker("MIME::Charset", version, newFromCPAN(
|
||||
"NEZUMI",
|
||||
"MIME-Charset",
|
||||
version,
|
||||
@@ -331,12 +329,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newPerlUnicodeLineBreak(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newPerlUnicodeLineBreak() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2019.001"
|
||||
checksum = "ZHVkh7EDgAUHnTpvXsnPAuWpgNoBImtY_9_8TIbo2co_WgUwEb0MtXPhI8pAZ5OH"
|
||||
)
|
||||
return s.newViaPerlMakeMaker(t, "Unicode::LineBreak", version, newFromCPAN(
|
||||
return t.newViaPerlMakeMaker("Unicode::LineBreak", version, newFromCPAN(
|
||||
"NEZUMI",
|
||||
"Unicode-LineBreak",
|
||||
version,
|
||||
@@ -361,12 +359,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newPerlYAMLTiny(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newPerlYAMLTiny() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.76"
|
||||
checksum = "V1MV4KPym1LxSw8CRXqPR3K-l1hGHbT5Ob4t-9xju6R9X_CWyw6hI8wsMaNdHdBY"
|
||||
)
|
||||
return s.newViaPerlMakeMaker(t, "YAML::Tiny", version, newFromCPAN(
|
||||
return t.newViaPerlMakeMaker("YAML::Tiny", version, newFromCPAN(
|
||||
"ETHER",
|
||||
"YAML-Tiny",
|
||||
version,
|
||||
@@ -385,12 +383,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newPerlTestCmd(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newPerlTestCmd() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.09"
|
||||
checksum = "gpGUwyC9IozDiYSgW_kXARNfXsTPFa6cTowJmmCBbPqcs2-pONZca_SB06FGy-7H"
|
||||
)
|
||||
return s.newViaPerlMakeMaker(t, "Test::Cmd", version, newFromCPAN(
|
||||
return t.newViaPerlMakeMaker("Test::Cmd", version, newFromCPAN(
|
||||
"NEILB",
|
||||
"Test-Cmd",
|
||||
version,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newPixman(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newPixman() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.46.4"
|
||||
checksum = "iECDxLG9SxUrvGHqeDoaBa-b3uqdT5DC4zudjtrwb8Wodq82pyacmFNEAo4SDsiE"
|
||||
)
|
||||
return s.NewPackage(t, "pixman", version, newFromGitLab(
|
||||
return t.NewPackage("pixman", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"pixman/pixman",
|
||||
"pixman-"+version,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newPkgConfig(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newPkgConfig() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.29.2"
|
||||
checksum = "6UsGqEMA8EER_5b9N0b32UCqiRy39B6_RnPfvuslWhtFV1qYD4DfS10crGZN_TP2"
|
||||
)
|
||||
return s.NewPackage(t, "pkg-config", version, newFromGitLab(
|
||||
return t.NewPackage("pkg-config", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"pkg-config/pkg-config",
|
||||
"pkg-config-"+version,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newProcps(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newProcps() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "4.0.6"
|
||||
checksum = "pl_fZLvDlv6iZTkm8l_tHFpzTDVFGCiSJEs3eu0zAX6u36AV36P_En8K7JPScRWM"
|
||||
)
|
||||
return s.NewPackage(t, "procps", version, newFromGitLab(
|
||||
return t.NewPackage("procps", version, newFromGitLab(
|
||||
"gitlab.com",
|
||||
"procps-ng/procps",
|
||||
"v"+version,
|
||||
|
||||
@@ -7,12 +7,12 @@ import (
|
||||
"hakurei.app/internal/pkg"
|
||||
)
|
||||
|
||||
func (t Toolchain) newPython(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newPython() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "3.14.5"
|
||||
checksum = "zYIpDlk2ftZ-UVGCQS1rthle2OHoyXV653ztWiopKV1NhmIJf1K2hHbkwM4DozQ9"
|
||||
)
|
||||
return s.NewPackage(t, "python", version, newTar(
|
||||
return t.NewPackage("python", version, newTar(
|
||||
"https://www.python.org/ftp/python/"+version+
|
||||
"/Python-"+version+".tgz",
|
||||
checksum,
|
||||
@@ -73,7 +73,7 @@ index 19aea290b58..51603ba9510 100644
|
||||
|
||||
// _ctypes appears to infer something from the linker name
|
||||
"LDFLAGS=-Wl,--dynamic-linker=/system/lib/" +
|
||||
"ld-musl-" + s.linuxArch() + ".so.1",
|
||||
"ld-musl-" + t.linuxArch() + ".so.1",
|
||||
},
|
||||
}, &MakeHelper{
|
||||
Check: []string{"test"},
|
||||
@@ -201,8 +201,8 @@ func (s *S) newPythonPackage(
|
||||
) {
|
||||
name = "python-" + name
|
||||
s.MustRegister(&Artifact{
|
||||
f: func(t Toolchain, s *S) (pkg.Artifact, string) {
|
||||
return s.NewPackage(t, name, version, source, attrP, attr, slices.Concat(
|
||||
f: func(t Toolchain) (pkg.Artifact, string) {
|
||||
return t.NewPackage(name, version, source, attrP, attr, slices.Concat(
|
||||
P{Python},
|
||||
extra,
|
||||
build,
|
||||
@@ -353,9 +353,9 @@ func init() {
|
||||
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: func(t Toolchain, s *S) (pkg.Artifact, string) {
|
||||
source, version := s.Load(t, llvmSource)
|
||||
return s.NewPackage(t, "lit", version, source, nil, &PipHelper{
|
||||
f: func(t Toolchain) (pkg.Artifact, string) {
|
||||
source, version := t.Load(llvmSource)
|
||||
return t.NewPackage("lit", version, source, nil, &PipHelper{
|
||||
Append: []string{"llvm", "utils", "lit"},
|
||||
// already checked during llvm
|
||||
SkipCheck: true,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newQEMU(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newQEMU() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "11.0.0"
|
||||
checksum = "C64gdi_Tkdg2fTwD9ERxtWGcf8vNn_6UvczW0c-x0KW1NZtd3NbEOIrlDhYGn15n"
|
||||
)
|
||||
return s.NewPackage(t, "qemu", version, newTar(
|
||||
return t.NewPackage("qemu", version, newTar(
|
||||
"https://download.qemu.org/qemu-"+version+".tar.bz2",
|
||||
checksum,
|
||||
pkg.TarBzip2,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newRdfind(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newRdfind() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.8.0"
|
||||
checksum = "PoaeJ2WIG6yyfe5VAYZlOdAQiR3mb3WhAUMj2ziTCx_IIEal4640HMJUb4SzU9U3"
|
||||
)
|
||||
return s.NewPackage(t, "rdfind", version, newTar(
|
||||
return t.NewPackage("rdfind", version, newTar(
|
||||
"https://rdfind.pauldreik.se/rdfind-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
|
||||
@@ -32,12 +32,13 @@ func WriteReport(msg message.Msg, w io.Writer, c *pkg.Cache) error {
|
||||
zero [wordSize]byte
|
||||
buf [len(pkg.ID{}) + wordSize]byte
|
||||
)
|
||||
t := native.Std()
|
||||
for _, p := range native.Collect() {
|
||||
a, _ := native.Load(Std, p)
|
||||
meta := native.Get(p)
|
||||
if meta == nil {
|
||||
return errors.New("artifact " + p.String() + " in inconsistent state")
|
||||
}
|
||||
a, _ := t.MustLoad(p)
|
||||
if _, ok := a.(pkg.FileArtifact); ok {
|
||||
msg.Verbosef("skipping file artifact %s", meta.Name)
|
||||
continue
|
||||
|
||||
@@ -104,49 +104,46 @@ func (s *S) earlyLDFLAGS(static bool) string {
|
||||
return p
|
||||
}
|
||||
|
||||
// Toolchain denotes the infrastructure to compile a [pkg.Artifact] on.
|
||||
type Toolchain uint32
|
||||
|
||||
const (
|
||||
// _toolchainBusybox denotes a busybox installation from the busyboxBin
|
||||
// binary distribution. This is defined as a toolchain to make use of the
|
||||
// toolchain abstractions to preprocess toolchainGentoo and is not a real,
|
||||
// _stageBusybox denotes a busybox installation from the busyboxBin
|
||||
// binary distribution. This is defined as a [Stage] to make use of the
|
||||
// toolchain abstractions to preprocess stageGentoo and is not a real,
|
||||
// functioning toolchain. It does not contain any compilers.
|
||||
_toolchainBusybox Toolchain = iota
|
||||
_stageBusybox Stage = iota
|
||||
|
||||
// toolchainGentoo denotes the toolchain in a Gentoo stage3 tarball. Special
|
||||
// care must be taken to compile correctly against this toolchain.
|
||||
toolchainGentoo
|
||||
// stageGentoo denotes the toolchain in a Gentoo stage3 tarball. Special
|
||||
// care must be taken to compile correctly against this stage.
|
||||
stageGentoo
|
||||
|
||||
// toolchainIntermediateGentoo is like to toolchainIntermediate, but
|
||||
// compiled against toolchainGentoo.
|
||||
toolchainIntermediateGentoo
|
||||
// stageIntermediateGentoo is like stageIntermediate, but compiled against
|
||||
// stageGentoo.
|
||||
stageIntermediateGentoo
|
||||
|
||||
// toolchainStdGentoo is like Std, but bootstrapped from toolchainGentoo.
|
||||
// This toolchain creates the first [Stage0] distribution.
|
||||
toolchainStdGentoo
|
||||
// stageStdGentoo is like Std, but bootstrapped from stageGentoo. This
|
||||
// toolchain creates the first [Stage0] distribution.
|
||||
stageStdGentoo
|
||||
|
||||
// toolchainStage0 denotes the stage0 toolchain. Special care must be taken
|
||||
// stageEarly denotes the stage0 toolchain. Special care must be taken
|
||||
// to compile correctly against this toolchain.
|
||||
toolchainStage0
|
||||
stageEarly
|
||||
|
||||
// toolchainIntermediate denotes the intermediate toolchain compiled against
|
||||
// toolchainStage0. This toolchain should be functionally identical to [Std]
|
||||
// stageIntermediate denotes the intermediate toolchain compiled against
|
||||
// stageEarly. This toolchain should be functionally identical to [Std]
|
||||
// and is used to bootstrap [Std].
|
||||
toolchainIntermediate
|
||||
stageIntermediate
|
||||
|
||||
// Std denotes the standard Rosa OS toolchain.
|
||||
Std
|
||||
|
||||
// _toolchainEnd is the total number of toolchains available and does not
|
||||
// denote a valid toolchain.
|
||||
_toolchainEnd
|
||||
// _stageEnd is the total number of stages available and does not denote a
|
||||
// valid toolchain.
|
||||
_stageEnd
|
||||
)
|
||||
|
||||
// isStage0 returns whether t is a stage0 toolchain.
|
||||
func (t Toolchain) isStage0() bool {
|
||||
func (t Stage) isStage0() bool {
|
||||
switch t {
|
||||
case toolchainGentoo, toolchainStage0:
|
||||
case stageGentoo, stageEarly:
|
||||
return true
|
||||
default:
|
||||
return false
|
||||
@@ -154,9 +151,9 @@ func (t Toolchain) isStage0() bool {
|
||||
}
|
||||
|
||||
// isIntermediate returns whether t is an intermediate toolchain.
|
||||
func (t Toolchain) isIntermediate() bool {
|
||||
func (t Stage) isIntermediate() bool {
|
||||
switch t {
|
||||
case toolchainIntermediateGentoo, toolchainIntermediate:
|
||||
case stageIntermediateGentoo, stageIntermediate:
|
||||
return true
|
||||
default:
|
||||
return false
|
||||
@@ -164,9 +161,9 @@ func (t Toolchain) isIntermediate() bool {
|
||||
}
|
||||
|
||||
// isStd returns whether t is considered functionally equivalent to [Std].
|
||||
func (t Toolchain) isStd() bool {
|
||||
func (t Stage) isStd() bool {
|
||||
switch t {
|
||||
case toolchainStdGentoo, Std:
|
||||
case stageStdGentoo, Std:
|
||||
return true
|
||||
default:
|
||||
return false
|
||||
@@ -224,8 +221,7 @@ const (
|
||||
)
|
||||
|
||||
// New returns a [pkg.Artifact] based on a [Toolchain] via s.
|
||||
func (s *S) New(
|
||||
t Toolchain,
|
||||
func (t Toolchain) New(
|
||||
name string,
|
||||
flag int,
|
||||
extra []pkg.Artifact,
|
||||
@@ -238,21 +234,21 @@ func (s *S) New(
|
||||
const lcMessages = "LC_MESSAGES=C.UTF-8"
|
||||
|
||||
var support []pkg.Artifact
|
||||
switch t {
|
||||
case _toolchainBusybox:
|
||||
switch t.stage {
|
||||
case _stageBusybox:
|
||||
name += "-early"
|
||||
support = slices.Concat([]pkg.Artifact{s.newBusyboxBin()}, extra)
|
||||
support = slices.Concat([]pkg.Artifact{t.newBusyboxBin()}, extra)
|
||||
env = fixupEnviron(env, nil, "/system/bin")
|
||||
|
||||
case toolchainGentoo, toolchainStage0:
|
||||
case stageGentoo, stageEarly:
|
||||
name += "-boot"
|
||||
support = append(support, extra...)
|
||||
support = append(support, cureEtc{})
|
||||
if t == toolchainStage0 {
|
||||
a, _ := s.Load(t, stage0Dist)
|
||||
if t.stage == stageEarly {
|
||||
a, _ := t.Load(stage0Dist)
|
||||
support = append(support, a)
|
||||
} else {
|
||||
support = append(support, s.New(_toolchainBusybox, "gentoo", 0, nil, nil, nil, `
|
||||
support = append(support, t.S.New(_stageBusybox).New("gentoo", 0, nil, nil, nil, `
|
||||
tar -C /work -xf /usr/src/stage3.tar.xz
|
||||
rm -rf /work/dev/ /work/proc/
|
||||
ln -vs ../usr/bin /work/bin
|
||||
@@ -263,22 +259,22 @@ mkdir -vp /work/system/bin
|
||||
.)
|
||||
`, pkg.Path(AbsUsrSrc.Append("stage3.tar.xz"), false,
|
||||
pkg.NewHTTPGet(
|
||||
nil, s.gentooStage3,
|
||||
s.gentooStage3Checksum,
|
||||
nil, t.gentooStage3,
|
||||
t.gentooStage3Checksum,
|
||||
),
|
||||
)))
|
||||
}
|
||||
env = fixupEnviron(env, []string{
|
||||
EnvTriplet + "=" + s.triple(),
|
||||
EnvTriplet + "=" + t.triple(),
|
||||
lcMessages,
|
||||
"LDFLAGS=" + s.earlyLDFLAGS(true),
|
||||
"LDFLAGS=" + t.earlyLDFLAGS(true),
|
||||
}, "/system/bin",
|
||||
"/usr/bin",
|
||||
)
|
||||
|
||||
case toolchainIntermediateGentoo, toolchainStdGentoo,
|
||||
toolchainIntermediate, Std:
|
||||
if t.isIntermediate() {
|
||||
case stageIntermediateGentoo, stageStdGentoo,
|
||||
stageIntermediate, Std:
|
||||
if t.stage.isIntermediate() {
|
||||
name += "-std"
|
||||
}
|
||||
|
||||
@@ -292,7 +288,7 @@ mkdir -vp /work/system/bin
|
||||
base = Musl
|
||||
}
|
||||
|
||||
support = slices.Concat(extra, s.AppendPresets(t-1, []pkg.Artifact{
|
||||
support = slices.Concat(extra, t.S.New(t.stage-1).Append([]pkg.Artifact{
|
||||
cureEtc{newIANAEtc()},
|
||||
},
|
||||
base,
|
||||
@@ -300,16 +296,16 @@ mkdir -vp /work/system/bin
|
||||
toybox,
|
||||
))
|
||||
env = fixupEnviron(env, []string{
|
||||
EnvTriplet + "=" + s.triple(),
|
||||
EnvTriplet + "=" + t.triple(),
|
||||
lcMessages,
|
||||
}, "/system/bin", "/bin")
|
||||
|
||||
default:
|
||||
panic("unsupported toolchain " + strconv.Itoa(int(t)))
|
||||
panic("unsupported toolchain " + strconv.Itoa(int(t.stage)))
|
||||
}
|
||||
|
||||
return pkg.NewExec(
|
||||
name, s.arch, knownChecksum, pkg.ExecTimeoutMax,
|
||||
name, t.arch, knownChecksum, pkg.ExecTimeoutMax,
|
||||
flag&THostNet != 0,
|
||||
flag&TExclusive != 0,
|
||||
fhs.AbsRoot, env,
|
||||
@@ -328,8 +324,7 @@ mkdir -vp /work/system/bin
|
||||
|
||||
// NewPatchedSource returns [pkg.Artifact] of source with patches applied. If
|
||||
// passthrough is true, source is returned as is for zero length patches.
|
||||
func (s *S) NewPatchedSource(
|
||||
t Toolchain,
|
||||
func (t Toolchain) NewPatchedSource(
|
||||
name, version string,
|
||||
source pkg.Artifact,
|
||||
passthrough bool,
|
||||
@@ -362,7 +357,7 @@ cat /usr/src/` + name + `-patches/* | \
|
||||
`
|
||||
aname += "-patched"
|
||||
}
|
||||
return s.New(t, aname, 0, s.AppendPresets(t, nil,
|
||||
return t.New(aname, 0, t.Append(nil,
|
||||
Patch,
|
||||
), nil, nil, script, paths...)
|
||||
}
|
||||
@@ -431,42 +426,34 @@ func paGet() pa { return paPool.Get().(pa) }
|
||||
// paPut returns a pa to paPool.
|
||||
func paPut(pv pa) { clear(pv); paPool.Put(pv) }
|
||||
|
||||
// appendPreset recursively appends a [PArtifact] and its runtime dependencies.
|
||||
func (s *S) appendPreset(
|
||||
t Toolchain,
|
||||
a []pkg.Artifact,
|
||||
pv pa, p ArtifactH,
|
||||
) []pkg.Artifact {
|
||||
// appendHandle recursively appends an [Artifact] named by its handle, and its
|
||||
// runtime dependencies.
|
||||
func (t Toolchain) appendHandle(a []pkg.Artifact, pv pa, p ArtifactH) []pkg.Artifact {
|
||||
if _, ok := pv[p]; ok {
|
||||
return a
|
||||
}
|
||||
pv[p] = struct{}{}
|
||||
|
||||
for _, d := range s.Get(p).Dependencies {
|
||||
a = s.appendPreset(t, a, pv, d)
|
||||
for _, d := range t.MustGet(p).Dependencies {
|
||||
a = t.appendHandle(a, pv, d)
|
||||
}
|
||||
d, _ := s.Load(t, p)
|
||||
d, _ := t.Load(p)
|
||||
return append(a, d)
|
||||
}
|
||||
|
||||
// AppendPresets recursively appends multiple [PArtifact] and their runtime
|
||||
// dependencies.
|
||||
func (s *S) AppendPresets(
|
||||
t Toolchain,
|
||||
a []pkg.Artifact,
|
||||
presets ...ArtifactH,
|
||||
) []pkg.Artifact {
|
||||
// Append recursively appends multiple [Artifact] named by their handles, and
|
||||
// their runtime dependencies.
|
||||
func (t Toolchain) Append(a []pkg.Artifact, handles ...ArtifactH) []pkg.Artifact {
|
||||
pv := paGet()
|
||||
for _, p := range presets {
|
||||
a = s.appendPreset(t, a, pv, p)
|
||||
for _, p := range handles {
|
||||
a = t.appendHandle(a, pv, p)
|
||||
}
|
||||
paPut(pv)
|
||||
return a
|
||||
}
|
||||
|
||||
// NewPackage constructs a [pkg.Artifact] via a build system helper.
|
||||
func (s *S) NewPackage(
|
||||
t Toolchain,
|
||||
func (t Toolchain) NewPackage(
|
||||
name, version string,
|
||||
source pkg.Artifact,
|
||||
attr *PackageAttr,
|
||||
@@ -488,10 +475,10 @@ func (s *S) NewPackage(
|
||||
{
|
||||
pv := paGet()
|
||||
for _, p := range helper.extra(attr.Flag) {
|
||||
extraRes = s.appendPreset(t, extraRes, pv, p)
|
||||
extraRes = t.appendHandle(extraRes, pv, p)
|
||||
}
|
||||
for _, p := range extra {
|
||||
extraRes = s.appendPreset(t, extraRes, pv, p)
|
||||
extraRes = t.appendHandle(extraRes, pv, p)
|
||||
}
|
||||
paPut(pv)
|
||||
}
|
||||
@@ -535,19 +522,18 @@ cd '/usr/src/` + name + `/'
|
||||
panic("cannot remain in root")
|
||||
}
|
||||
|
||||
return s.New(
|
||||
t,
|
||||
return t.New(
|
||||
name+"-"+version,
|
||||
attr.Flag,
|
||||
extraRes,
|
||||
attr.KnownChecksum,
|
||||
attr.Env,
|
||||
scriptEarly+helper.script(s, name),
|
||||
scriptEarly+helper.script(t.S, name),
|
||||
slices.Concat(attr.Paths, []pkg.ExecPath{
|
||||
pkg.Path(AbsUsrSrc.Append(
|
||||
name+sourceSuffix,
|
||||
), attr.Writable || wantsWrite, s.NewPatchedSource(
|
||||
t, name, version, source, !attr.Chmod && !wantsChmod, attr.Patches...,
|
||||
), attr.Writable || wantsWrite, t.NewPatchedSource(
|
||||
name, version, source, !attr.Chmod && !wantsChmod, attr.Patches...,
|
||||
)),
|
||||
})...,
|
||||
)
|
||||
|
||||
@@ -78,7 +78,7 @@ func TestCureAll(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
for _, p := range rosa.Native().Collect() {
|
||||
a, _ := rosa.Native().Load(rosa.Std, p)
|
||||
a, _ := rosa.Native().Std().MustLoad(p)
|
||||
meta := rosa.Native().MustGet(p)
|
||||
t.Run(meta.Name, func(t *testing.T) {
|
||||
t.Parallel()
|
||||
@@ -93,13 +93,13 @@ func TestCureAll(t *testing.T) {
|
||||
}
|
||||
|
||||
func BenchmarkStage3(b *testing.B) {
|
||||
s := rosa.Native().Clone()
|
||||
t := rosa.Native().Clone().Std()
|
||||
|
||||
for b.Loop() {
|
||||
s.Load(rosa.Std, rosa.LLVM)
|
||||
t.MustLoad(rosa.LLVM)
|
||||
|
||||
b.StopTimer()
|
||||
s.DropCaches("", 0)
|
||||
t.DropCaches("", 0)
|
||||
b.StartTimer()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newRsync(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newRsync() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "3.4.2"
|
||||
checksum = "t7PxS4WHXzefLMKKc_3hJgxUmlGG6KgHMZ8i4DZvCQAUAizxbclNKwfLyOHyq5BX"
|
||||
)
|
||||
return s.NewPackage(t, "rsync", version, newTar(
|
||||
return t.NewPackage("rsync", version, newTar(
|
||||
"https://download.samba.org/pub/rsync/src/"+
|
||||
"rsync-"+version+".tar.gz",
|
||||
checksum,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newSquashfsTools(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newSquashfsTools() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "4.7.5"
|
||||
checksum = "rF52wLQP-jeAmcD-48wqJcck8ZWRFwkax3T-7snaRf5EBnCQQh0YypMY9lwcivLz"
|
||||
)
|
||||
return s.NewPackage(t, "squashfs-tools", version, newFromGitHubRelease(
|
||||
return t.NewPackage("squashfs-tools", version, newFromGitHubRelease(
|
||||
"plougher/squashfs-tools",
|
||||
version,
|
||||
"squashfs-tools-"+version+".tar.gz",
|
||||
|
||||
@@ -5,17 +5,17 @@ import (
|
||||
"hakurei.app/internal/pkg"
|
||||
)
|
||||
|
||||
func (t Toolchain) newStage0(s *S) (pkg.Artifact, string) {
|
||||
return s.New(t, "rosa-stage0", 0, s.AppendPresets(t, nil,
|
||||
func (t Toolchain) newStage0() (pkg.Artifact, string) {
|
||||
return t.New("rosa-stage0", 0, t.Append(nil,
|
||||
Bzip2,
|
||||
), nil, nil, `
|
||||
umask 377
|
||||
tar \
|
||||
-vjc \
|
||||
-C /stage0 \
|
||||
-f /work/stage0-`+s.triple()+`.tar.bz2 \
|
||||
-f /work/stage0-`+t.triple()+`.tar.bz2 \
|
||||
.
|
||||
`, pkg.Path(fhs.AbsRoot.Append("stage0"), false, s.AppendPresets(t, nil,
|
||||
`, pkg.Path(fhs.AbsRoot.Append("stage0"), false, t.Append(nil,
|
||||
LLVM,
|
||||
Mksh,
|
||||
toyboxEarly,
|
||||
@@ -33,15 +33,15 @@ func init() {
|
||||
func init() {
|
||||
const version = "20260504"
|
||||
native.MustRegister(&Artifact{
|
||||
f: func(_ Toolchain, s *S) (pkg.Artifact, string) {
|
||||
f: func(t Toolchain) (pkg.Artifact, string) {
|
||||
return newTar(
|
||||
"https://hakurei.app/seed/"+version+"/"+
|
||||
"stage0-"+s.triple()+".tar.bz2",
|
||||
"stage0-"+t.triple()+".tar.bz2",
|
||||
perArch[string]{
|
||||
"amd64": "IQjFDkiAVLo1XzflgMMiLP3gnVY2hhDMTzl-QqJDCQhcLQ3lLtRzjI5WCxGyW_lk",
|
||||
"arm64": "6fmwl2Umx2QssKQvxxb1JOGkAjzfA_MXKku0jVdGjYGb35OvwEVA5NYtd0HIy3yH",
|
||||
"riscv64": "Z2ODV0rIoo9iQRUIu35bsaOBeXc_9qQfGcyb2aGneatzNUJlXh5emSpEV2bOklUL",
|
||||
}.unwrap(s),
|
||||
}.unwrap(t.S),
|
||||
pkg.TarBzip2,
|
||||
), version
|
||||
},
|
||||
@@ -55,7 +55,7 @@ func init() {
|
||||
func HasStage0() (ok bool) {
|
||||
func() {
|
||||
defer func() { ok = recover() == nil }()
|
||||
native.Load(toolchainStage0, stage0Dist)
|
||||
native.New(stageEarly).Load(stage0Dist)
|
||||
}()
|
||||
return
|
||||
}
|
||||
|
||||
@@ -20,30 +20,43 @@ import (
|
||||
type ArtifactH unique.Handle[string]
|
||||
|
||||
// String returns the name of p.
|
||||
func (p ArtifactH) String() string {
|
||||
return unique.Handle[string](p).Value()
|
||||
func (handle ArtifactH) String() string {
|
||||
return unique.Handle[string](handle).Value()
|
||||
}
|
||||
|
||||
// MarshalJSON represents [ArtifactH] by its [Artifact.Name].
|
||||
func (p ArtifactH) MarshalJSON() ([]byte, error) { return json.Marshal(p.String()) }
|
||||
func (handle ArtifactH) MarshalJSON() ([]byte, error) {
|
||||
return json.Marshal(handle.String())
|
||||
}
|
||||
|
||||
// UnmarshalJSON resolves [ArtifactH] by its [Artifact.Name].
|
||||
func (p *ArtifactH) UnmarshalJSON(data []byte) error {
|
||||
func (handle *ArtifactH) UnmarshalJSON(data []byte) error {
|
||||
var name string
|
||||
if err := json.Unmarshal(data, &name); err != nil {
|
||||
return err
|
||||
}
|
||||
*p = ArtifactH(unique.Make(name))
|
||||
*handle = ArtifactH(unique.Make(name))
|
||||
return nil
|
||||
}
|
||||
|
||||
type (
|
||||
// Stage denotes the infrastructure to compile a [pkg.Artifact] on.
|
||||
Stage uint32
|
||||
// Toolchain refers to an instance of [S], and a [Stage] to compile on.
|
||||
Toolchain struct {
|
||||
stage Stage
|
||||
|
||||
*S
|
||||
}
|
||||
)
|
||||
|
||||
// P represents multiple [ArtifactH].
|
||||
type P []ArtifactH
|
||||
|
||||
// Artifact is stage-agnostic immutable data with a deterministic resulting
|
||||
// [pkg.Artifact]. It can be created natively or through evaluation.
|
||||
type Artifact struct {
|
||||
f func(t Toolchain, s *S) (a pkg.Artifact, version string)
|
||||
f func(t Toolchain) (a pkg.Artifact, version string)
|
||||
|
||||
// Unique package name.
|
||||
Name string `json:"name"`
|
||||
@@ -159,7 +172,7 @@ type S struct {
|
||||
opts int
|
||||
|
||||
// Cached [pkg.Artifact].
|
||||
c [_toolchainEnd]sync.Map
|
||||
c [_stageEnd]sync.Map
|
||||
|
||||
// URL of a Gentoo stage3 tarball.
|
||||
gentooStage3 string
|
||||
@@ -208,9 +221,9 @@ func (s *S) DropCaches(targetArch string, flags int) {
|
||||
}
|
||||
|
||||
// Get returns the address of the named [Artifact].
|
||||
func (s *S) Get(p ArtifactH) (meta *Artifact) {
|
||||
func (s *S) Get(handle ArtifactH) (meta *Artifact) {
|
||||
s.wantsArch()
|
||||
v, ok := s.artifacts.Load(p)
|
||||
v, ok := s.artifacts.Load(handle)
|
||||
if ok {
|
||||
meta = v.(*Artifact)
|
||||
}
|
||||
@@ -218,38 +231,46 @@ func (s *S) Get(p ArtifactH) (meta *Artifact) {
|
||||
}
|
||||
|
||||
// MustGet is like Get, but panics if the named [Artifact] is not registered.
|
||||
func (s *S) MustGet(p ArtifactH) (meta *Artifact) {
|
||||
meta = s.Get(p)
|
||||
func (s *S) MustGet(handle ArtifactH) (meta *Artifact) {
|
||||
meta = s.Get(handle)
|
||||
if meta == nil {
|
||||
panic("artifact " + strconv.Quote(p.String()) + " not available")
|
||||
panic("artifact " + strconv.Quote(handle.String()) + " not available")
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// New returns a [Toolchain] for the specified [Stage].
|
||||
func (s *S) New(stage Stage) Toolchain {
|
||||
return Toolchain{S: s, stage: stage}
|
||||
}
|
||||
|
||||
// Std is a convenience method that returns a [Toolchain] for the [Std] stage.
|
||||
func (s *S) Std() Toolchain { return s.New(Std) }
|
||||
|
||||
// Load returns the resulting [pkg.Artifact] of [ArtifactH].
|
||||
func (s *S) Load(t Toolchain, p ArtifactH) (pkg.Artifact, string) {
|
||||
s.wantsArch()
|
||||
e, ok := s.c[t].Load(p)
|
||||
func (t Toolchain) Load(handle ArtifactH) (pkg.Artifact, string) {
|
||||
t.wantsArch()
|
||||
e, ok := t.c[t.stage].Load(handle)
|
||||
if ok {
|
||||
r := e.(cachedArtifact)
|
||||
return r.a, r.v
|
||||
}
|
||||
|
||||
meta := s.Get(p)
|
||||
meta := t.Get(handle)
|
||||
if meta == nil {
|
||||
return nil, ""
|
||||
}
|
||||
var r cachedArtifact
|
||||
r.a, r.v = meta.f(t, s)
|
||||
s.c[t].Store(p, r)
|
||||
r.a, r.v = meta.f(t)
|
||||
t.c[t.stage].Store(handle, r)
|
||||
return r.a, r.v
|
||||
}
|
||||
|
||||
// MustLoad is like Load, but panics if the named [Artifact] is not registered.
|
||||
func (s *S) MustLoad(t Toolchain, p ArtifactH) (pkg.Artifact, string) {
|
||||
a, version := s.Load(t, p)
|
||||
func (t Toolchain) MustLoad(handle ArtifactH) (pkg.Artifact, string) {
|
||||
a, version := t.Load(handle)
|
||||
if a == nil {
|
||||
panic("artifact " + strconv.Quote(p.String()) + " not available")
|
||||
panic("artifact " + strconv.Quote(handle.String()) + " not available")
|
||||
}
|
||||
return a, version
|
||||
}
|
||||
|
||||
@@ -13,21 +13,21 @@ func TestLoad(t *testing.T) {
|
||||
t.Run(rosa.Native().MustGet(p).Name, func(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
rosa.Native().Load(rosa.Std, p)
|
||||
rosa.Native().Std().MustLoad(p)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkAll(b *testing.B) {
|
||||
s := rosa.Native().Clone()
|
||||
t := rosa.Native().Clone().Std()
|
||||
|
||||
for b.Loop() {
|
||||
for _, p := range s.Collect() {
|
||||
s.Load(rosa.Std, p)
|
||||
for _, p := range t.Collect() {
|
||||
t.MustLoad(p)
|
||||
}
|
||||
|
||||
b.StopTimer()
|
||||
s.DropCaches("", 0)
|
||||
t.DropCaches("", 0)
|
||||
b.StartTimer()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newStrace(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newStrace() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "6.19"
|
||||
checksum = "XJFJJ9XLh_1rHS3m_QNjLKzkkBAooE-QT9p9lJNNWowAmd54IJop_fI4-IFtjeeL"
|
||||
)
|
||||
return s.NewPackage(t, "strace", version, pkg.NewHTTPGet(
|
||||
return t.NewPackage("strace", version, pkg.NewHTTPGet(
|
||||
nil, "https://strace.io/files/"+version+"/strace-"+version+".tar.xz",
|
||||
mustDecode(checksum),
|
||||
), &PackageAttr{
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newTamaGo(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newTamaGo() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.26.3"
|
||||
checksum = "-nH3MjAzDDLTeJ2hRKYJcJwo5-Ikci4zOHfB8j1vKn7zrF9TS6zYaoLi8qohGwAE"
|
||||
)
|
||||
return s.New(t, "tamago-go"+version, 0, s.AppendPresets(t, nil,
|
||||
return t.New("tamago-go"+version, 0, t.Append(nil,
|
||||
Bash,
|
||||
Go,
|
||||
), nil, []string{
|
||||
@@ -21,8 +21,8 @@ cd /work/system/tamago/src
|
||||
chmod -R +w ..
|
||||
|
||||
sed -i \
|
||||
's,/lib/ld-musl-`+s.linuxArch()+`.so.1,/system/bin/linker,' \
|
||||
cmd/link/internal/`+s.arch+`/obj.go
|
||||
's,/lib/ld-musl-`+t.linuxArch()+`.so.1,/system/bin/linker,' \
|
||||
cmd/link/internal/`+t.arch+`/obj.go
|
||||
sed -i \
|
||||
's/cpu.X86.HasAVX512VBMI/& \&\& cpu.X86.HasPOPCNT/' \
|
||||
internal/runtime/gc/scan/scan_amd64.go
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (s *S) newToybox(t Toolchain, suffix, script string) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newToybox(suffix, script string) (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.8.13"
|
||||
checksum = "rZ1V1ATDte2WeQZanxLVoiRGdfPXhMlEo5-exX-e-ml8cGn9qOv0ABEUVZpX3wTI"
|
||||
)
|
||||
return s.NewPackage(t, "toybox"+suffix, version, newTar(
|
||||
return t.NewPackage("toybox"+suffix, version, newTar(
|
||||
"https://landley.net/toybox/downloads/toybox-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -41,7 +41,7 @@ sed -i \
|
||||
's/^CONFIG_TOYBOX_ZHELP=y$/CONFIG_TOYBOX_ZHELP=0/' \
|
||||
.config
|
||||
` + script,
|
||||
SkipCheck: t.isStage0(),
|
||||
SkipCheck: t.stage.isStage0(),
|
||||
Check: []string{
|
||||
"USER=cure",
|
||||
"tests",
|
||||
@@ -60,8 +60,8 @@ ln -s ../../system/bin/env /work/usr/bin
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: func(t Toolchain, s *S) (pkg.Artifact, string) {
|
||||
return s.newToybox(t, "", "")
|
||||
f: func(t Toolchain) (pkg.Artifact, string) {
|
||||
return t.newToybox("", "")
|
||||
},
|
||||
|
||||
Name: "toybox",
|
||||
@@ -72,8 +72,8 @@ func init() {
|
||||
})
|
||||
|
||||
native.MustRegister(&Artifact{
|
||||
f: func(t Toolchain, s *S) (pkg.Artifact, string) {
|
||||
return s.newToybox(t, "-early", `
|
||||
f: func(t Toolchain) (pkg.Artifact, string) {
|
||||
return t.newToybox("-early", `
|
||||
echo '
|
||||
CONFIG_EXPR=y
|
||||
CONFIG_TR=y
|
||||
|
||||
@@ -6,12 +6,12 @@ import (
|
||||
"hakurei.app/internal/pkg"
|
||||
)
|
||||
|
||||
func (t Toolchain) newUnzip(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newUnzip() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "6.0"
|
||||
checksum = "fcqjB1IOVRNJ16K5gTGEDt3zCJDVBc7EDSra9w3H93stqkNwH1vaPQs_QGOpQZu1"
|
||||
)
|
||||
return s.New(t, "unzip-"+version, 0, s.AppendPresets(t, nil,
|
||||
return t.New("unzip-"+version, 0, t.Append(nil,
|
||||
Make,
|
||||
Coreutils,
|
||||
), nil, nil, `
|
||||
@@ -21,7 +21,7 @@ make -f unix/Makefile generic1
|
||||
|
||||
mkdir -p /work/system/bin/
|
||||
mv unzip /work/system/bin/
|
||||
`, pkg.Path(AbsUsrSrc.Append("unzip"), true, s.NewPatchedSource(t,
|
||||
`, pkg.Path(AbsUsrSrc.Append("unzip"), true, t.NewPatchedSource(
|
||||
"unzip", version, newTar(
|
||||
"https://downloads.sourceforge.net/project/infozip/"+
|
||||
"UnZip%206.x%20%28latest%29/UnZip%20"+version+"/"+
|
||||
|
||||
@@ -6,12 +6,12 @@ import (
|
||||
"hakurei.app/internal/pkg"
|
||||
)
|
||||
|
||||
func (t Toolchain) newUtilLinux(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newUtilLinux() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.42"
|
||||
checksum = "Uy8Nxg9DsW5YwDoeaZeZTyQJ2YmnaaL_fSsQXsLUiFFUd7wnZeD_3SEaVO7ClJlk"
|
||||
)
|
||||
return s.NewPackage(t, "util-linux", version, newTar(
|
||||
return t.NewPackage("util-linux", version, newTar(
|
||||
"https://www.kernel.org/pub/linux/utils/util-linux/"+
|
||||
"v"+strings.Join(strings.SplitN(version, ".", 3)[:2], ".")+
|
||||
"/util-linux-"+version+".tar.gz",
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newVIM(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newVIM() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "9.2.0461"
|
||||
checksum = "18Rr_5oIf_PkKuqVkN4CMZIGkZEgpN1vamlrsvPLBjn4mN98CRuoJmhzRZ7MoVYM"
|
||||
)
|
||||
return s.NewPackage(t, "vim", version, newFromGitHub(
|
||||
return t.NewPackage("vim", version, newFromGitHub(
|
||||
"vim/vim",
|
||||
"v"+version,
|
||||
checksum,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newWayland(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newWayland() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.25.0"
|
||||
checksum = "q-4dYXme46JPgLGtXAxyZGTy7udll9RfT0VXtcW2YRR1WWViUhvdZXZneXzLqpCg"
|
||||
)
|
||||
return s.NewPackage(t, "wayland", version, newFromGitLab(
|
||||
return t.NewPackage("wayland", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"wayland/wayland",
|
||||
version,
|
||||
@@ -52,12 +52,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newWaylandProtocols(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newWaylandProtocols() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.48"
|
||||
checksum = "xvfHCBIzXGwOqOu9b8dfhGw_U29Pd-g4JBwpYIaxee8SwEbxi6NaVU-Y1Q7wY4jK"
|
||||
)
|
||||
return s.NewPackage(t, "wayland-protocols", version, newFromGitLab(
|
||||
return t.NewPackage("wayland-protocols", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"wayland/wayland-protocols",
|
||||
version,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newUtilMacros(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newUtilMacros() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.20.2"
|
||||
checksum = "Ze8QH3Z3emC0pWFP-0nUYeMy7aBW3L_dxBBmVgcumIHNzEKc1iGTR-yUFR3JcM1G"
|
||||
)
|
||||
return s.NewPackage(t, "util-macros", version, newTar(
|
||||
return t.NewPackage("util-macros", version, newTar(
|
||||
"https://www.x.org/releases/individual/util/"+
|
||||
"util-macros-"+version+".tar.gz",
|
||||
checksum,
|
||||
@@ -26,12 +26,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibxtrans(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibxtrans() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.6.0"
|
||||
checksum = "1cxDCF59fLf1HyGDMcjR1L50ZbjD0RTTEDUpOJYcHXu6HUK_Ds0x-KREY7rLNxu9"
|
||||
)
|
||||
return s.NewPackage(t, "libxtrans", version, newFromGitLab(
|
||||
return t.NewPackage("libxtrans", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"xorg/lib/libxtrans",
|
||||
"xtrans-"+version,
|
||||
@@ -58,12 +58,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newXorgProto(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newXorgProto() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2025.1"
|
||||
checksum = "pTwJiBJHKA6Rgm3cVDXy1lyvXNIUzTRaukvvYdk1xWoJ_1G-Dfjm9MyewuyIjoHz"
|
||||
)
|
||||
return s.NewPackage(t, "xorgproto", version, newFromGitLab(
|
||||
return t.NewPackage("xorgproto", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"xorg/proto/xorgproto",
|
||||
"xorgproto-"+version,
|
||||
@@ -89,12 +89,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibXau(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibXau() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.0.12"
|
||||
checksum = "G9AjnU_C160q814MCdjFOVt_mQz_pIt4wf4GNOQmGJS3UuuyMw53sfPvJ7WOqwXN"
|
||||
)
|
||||
return s.NewPackage(t, "libXau", version, newTar(
|
||||
return t.NewPackage("libXau", version, newTar(
|
||||
"https://www.x.org/releases/individual/lib/"+
|
||||
"libXau-"+version+".tar.gz",
|
||||
checksum,
|
||||
@@ -127,12 +127,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newXCBProto(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newXCBProto() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.17.0"
|
||||
checksum = "_NtbKaJ_iyT7XiJz25mXQ7y-niTzE8sHPvLXZPcqtNoV_-vTzqkezJ8Hp2U1enCv"
|
||||
)
|
||||
return s.NewPackage(t, "xcb-proto", version, newTar(
|
||||
return t.NewPackage("xcb-proto", version, newTar(
|
||||
"https://xcb.freedesktop.org/dist/xcb-proto-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -152,12 +152,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newXCB(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newXCB() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.17.0"
|
||||
checksum = "hjjsc79LpWM_hZjNWbDDS6qRQUXREjjekS6UbUsDq-RR1_AjgNDxhRvZf-1_kzDd"
|
||||
)
|
||||
return s.NewPackage(t, "xcb", version, newTar(
|
||||
return t.NewPackage("xcb", version, newTar(
|
||||
"https://xcb.freedesktop.org/dist/libxcb-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -186,12 +186,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibxcbUtilKeysyms(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibxcbUtilKeysyms() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.4.1"
|
||||
checksum = "-EEje12UEjtFBuIjb6Fy4cxEghV20BXwQ1BLvhtvSuVcrFkp_X-ZHRM48wAspXZ4"
|
||||
)
|
||||
return s.NewPackage(t, "libxcb-util-keysyms", version, newTar(
|
||||
return t.NewPackage("libxcb-util-keysyms", version, newTar(
|
||||
"https://xcb.freedesktop.org/dist/xcb-util-keysyms-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -217,12 +217,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibxcbUtilImage(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibxcbUtilImage() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.4.1"
|
||||
checksum = "47pvXmFwaUBZIrJ4CE9xjTQIFyxeqoNAL-DshlB11GZ_jjI3G1a6KF0K7mtBQ1E7"
|
||||
)
|
||||
return s.NewPackage(t, "libxcb-util-image", version, newTar(
|
||||
return t.NewPackage("libxcb-util-image", version, newTar(
|
||||
"https://xcb.freedesktop.org/dist/xcb-util-image-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -248,12 +248,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibxcbUtilWM(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibxcbUtilWM() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.4.2"
|
||||
checksum = "g0VZgMU9hcIgyXb3XxBR9xqsvUMBd9qt_Dbmwoj2h5y24pODr_S_D0DhRsuXUNjF"
|
||||
)
|
||||
return s.NewPackage(t, "libxcb-util-wm", version, newTar(
|
||||
return t.NewPackage("libxcb-util-wm", version, newTar(
|
||||
"https://xcb.freedesktop.org/dist/xcb-util-wm-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
@@ -280,12 +280,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibxcbUtil(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibxcbUtil() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.4.1"
|
||||
checksum = "YMXGQUQbF6PoEAGflvYnJYsLWjti6sL_ifY47wIXTNGVM3tQ8u41nkBYN4K1D5CD"
|
||||
)
|
||||
return s.NewPackage(t, "libxcb-util", version, newTar(
|
||||
return t.NewPackage("libxcb-util", version, newTar(
|
||||
"https://www.x.org/releases/individual/xcb/"+
|
||||
"xcb-util-"+version+".tar.gz",
|
||||
checksum,
|
||||
@@ -313,12 +313,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibxcbRenderUtil(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibxcbRenderUtil() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.3.10"
|
||||
checksum = "n08L8PyCoOd7v2vb6fSVq5Pq6JtteXVh9K2wrQMTNwGMf_Fjpi6i3HWF-TMFSVTI"
|
||||
)
|
||||
return s.NewPackage(t, "libxcb-render-util", version, newTar(
|
||||
return t.NewPackage("libxcb-render-util", version, newTar(
|
||||
"https://www.x.org/releases/individual/xcb/"+
|
||||
"xcb-util-renderutil-"+version+".tar.gz",
|
||||
checksum,
|
||||
@@ -346,12 +346,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibX11(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibX11() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.8.13"
|
||||
checksum = "ARh-cuZY_U2v3DbPS1byc7ybh9NInZc-yav7SJiusk_C7408s058qWV83ocMd2pT"
|
||||
)
|
||||
return s.NewPackage(t, "libX11", version, newFromGitLab(
|
||||
return t.NewPackage("libX11", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"xorg/lib/libx11",
|
||||
"libX11-"+version,
|
||||
@@ -390,12 +390,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibXext(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibXext() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.3.7"
|
||||
checksum = "-0wvUDaucLPLNOrK1pcKhHNoO-5nUqQyyw6JAbhx65gRjuMiNKKaF2_tcrbC_KNq"
|
||||
)
|
||||
return s.NewPackage(t, "libXext", version, newFromGitLab(
|
||||
return t.NewPackage("libXext", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"xorg/lib/libxext",
|
||||
"libXext-"+version,
|
||||
@@ -427,12 +427,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibXfixes(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibXfixes() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "6.0.2"
|
||||
checksum = "_-kJfKZ7cE3NNeMr6NLSXCmsyP7MVEHVPLNfxatz2qBy3_fZJvPMQwZNOC9y6V5L"
|
||||
)
|
||||
return s.NewPackage(t, "libXfixes", version, newFromGitLab(
|
||||
return t.NewPackage("libXfixes", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"xorg/lib/libxfixes",
|
||||
"libXfixes-"+version,
|
||||
@@ -465,12 +465,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibXrender(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibXrender() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.9.12"
|
||||
checksum = "s6nWn-r17X_W-7anaS7wIcq5_Levf9zAigwJDD9Klp-cCJTVDhLo7GufuVOrxVP0"
|
||||
)
|
||||
return s.NewPackage(t, "libXrender", version, newFromGitLab(
|
||||
return t.NewPackage("libXrender", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"xorg/lib/libxrender",
|
||||
"libXrender-"+version,
|
||||
@@ -502,12 +502,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibxshmfence(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibxshmfence() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.3.3"
|
||||
checksum = "JamExTPg81By2fs3vWdeo_dzlpBQeAwXr2sDXeHJqm9XBoLW5pamiD6FgAWtAKyA"
|
||||
)
|
||||
return s.NewPackage(t, "libxshmfence", version, newFromGitLab(
|
||||
return t.NewPackage("libxshmfence", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"xorg/lib/libxshmfence",
|
||||
"libxshmfence-"+version,
|
||||
@@ -535,12 +535,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibXxf86vm(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibXxf86vm() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.1.7"
|
||||
checksum = "mS4cgKWrwz6M1Lb6Qu4ZVh8Xn2Ca_4HXPxr3LDad4iYY1LecZfeLUPW1hkp6amX_"
|
||||
)
|
||||
return s.NewPackage(t, "libXxf86vm", version, newFromGitLab(
|
||||
return t.NewPackage("libXxf86vm", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"xorg/lib/libxxf86vm",
|
||||
"libXxf86vm-"+version,
|
||||
@@ -573,12 +573,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibXrandr(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibXrandr() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.5.5"
|
||||
checksum = "OF7C7VC5MwnFue9UX5UnIkG1PIWvn9bBMq6d4mVyJJ_rcF0w4Kedn1lfxBsXEKAP"
|
||||
)
|
||||
return s.NewPackage(t, "libXrandr", version, newFromGitLab(
|
||||
return t.NewPackage("libXrandr", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"xorg/lib/libxrandr",
|
||||
"libXrandr-"+version,
|
||||
@@ -613,12 +613,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newFontUtil(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newFontUtil() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.4.2"
|
||||
checksum = "YWiaIxkq-N2yNdbGa_RF1S0UkQq6xsgoRT73WZP2DOmyH_CJ0TAkpQjId657MQmh"
|
||||
)
|
||||
return s.NewPackage(t, "font-util", version, newFromGitLab(
|
||||
return t.NewPackage("font-util", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"xorg/font/util",
|
||||
"font-util-"+version,
|
||||
@@ -645,12 +645,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibfontenc(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibfontenc() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.1.9"
|
||||
checksum = "XqosXfbVwaoYzG9vVyRCl3eatwjASoJdLZsxQ37NN8S_jTyqNmbxpRSJGImJj7RS"
|
||||
)
|
||||
return s.NewPackage(t, "libfontenc", version, newFromGitLab(
|
||||
return t.NewPackage("libfontenc", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"xorg/lib/libfontenc",
|
||||
"libfontenc-"+version,
|
||||
@@ -679,12 +679,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibxkbfile(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibxkbfile() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.2.0"
|
||||
checksum = "WUtph1ab0AyATahlwljchBxZJcpjYrjyhCK9DW2VO0uXEXaN22GWmUaibcA83i_B"
|
||||
)
|
||||
return s.NewPackage(t, "libxkbfile", version, newFromGitLab(
|
||||
return t.NewPackage("libxkbfile", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"xorg/lib/libxkbfile",
|
||||
"libxkbfile-"+version,
|
||||
@@ -709,12 +709,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newXkbcomp(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newXkbcomp() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.5.0"
|
||||
checksum = "ttICW8ZPbljI-nw2kknvxFhwFoDK40iAMBeZDLAHYsHf3B6UPO_zc9TpzZYRRyZH"
|
||||
)
|
||||
return s.NewPackage(t, "xkbcomp", version, newFromGitLab(
|
||||
return t.NewPackage("xkbcomp", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"xorg/app/xkbcomp",
|
||||
"xkbcomp-"+version,
|
||||
@@ -747,12 +747,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibXfont2(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibXfont2() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.0.7"
|
||||
checksum = "jv9BZNA02493KB8j1lfAErF5SA3ZFcAhm3_UVJ--Bp1maz-vNprl_wXpkHApBi9M"
|
||||
)
|
||||
return s.NewPackage(t, "libXfont2", version, newFromGitLab(
|
||||
return t.NewPackage("libXfont2", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"xorg/lib/libxfont",
|
||||
"libXfont2-"+version,
|
||||
@@ -788,12 +788,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibxcvt(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibxcvt() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.1.3"
|
||||
checksum = "IfIA7SxlHMWh681e1AgYmZcRAfkZd5LlzmqcMRifNY5nNVRrUx_wnoaidAv0Yu03"
|
||||
)
|
||||
return s.NewPackage(t, "libxcvt", version, newFromGitLab(
|
||||
return t.NewPackage("libxcvt", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"xorg/lib/libxcvt",
|
||||
"libxcvt-"+version,
|
||||
@@ -812,12 +812,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibXdmcp(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibXdmcp() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.1.5"
|
||||
checksum = "N6AJSv9pmeBedFn8KuSIOUGvTken4rkypNWVE2KfPlliwkfIbhfXrt5YHZkBMUHp"
|
||||
)
|
||||
return s.NewPackage(t, "libXdmcp", version, newFromGitLab(
|
||||
return t.NewPackage("libXdmcp", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"xorg/lib/libxdmcp",
|
||||
"libXdmcp-"+version,
|
||||
@@ -845,12 +845,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newXkeyboardConfig(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newXkeyboardConfig() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.47"
|
||||
checksum = "E03PsPIaRrxPAuKgDGSQyPiJB49wXtyyvdV0lVx3_G-pelMMlaFLkoTDHTHG_qgA"
|
||||
)
|
||||
return s.NewPackage(t, "xkeyboard-config", version, newFromGitLab(
|
||||
return t.NewPackage("xkeyboard-config", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"xkeyboard-config/xkeyboard-config",
|
||||
"xkeyboard-config-"+version,
|
||||
@@ -871,12 +871,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibpciaccess(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newLibpciaccess() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.19"
|
||||
checksum = "84H0c_U_7fMqo81bpuwyXGXtk4XvvFH_YK00UiOriv3YGsuAhmbo2IkFhmJnvu2x"
|
||||
)
|
||||
return s.NewPackage(t, "libpciaccess", version, newFromGitLab(
|
||||
return t.NewPackage("libpciaccess", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"xorg/lib/libpciaccess",
|
||||
"libpciaccess-"+version,
|
||||
@@ -903,12 +903,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newXserver(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newXserver() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "21.1.22"
|
||||
checksum = "prLT2wKecBu5m9w1ThgIt0GvenNpjKXoOyvTiMA1oQTlP0QHh6QiWsdvH3OmUwNo"
|
||||
)
|
||||
return s.NewPackage(t, "xserver", version, newFromGitLab(
|
||||
return t.NewPackage("xserver", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"xorg/xserver",
|
||||
"xorg-server-"+version,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newXZ(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newXZ() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "5.8.3"
|
||||
checksum = "nCdayphPGdIdVoAZ2hR4vYlhDG9LeVKho_i7ealTud4Vxy5o5dWe0VwFlN7utuUL"
|
||||
)
|
||||
return s.NewPackage(t, "xz", version, newFromGitHubRelease(
|
||||
return t.NewPackage("xz", version, newFromGitHubRelease(
|
||||
"tukaani-project/xz",
|
||||
"v"+version,
|
||||
"xz-"+version+".tar.bz2",
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newZlib(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newZlib() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.3.2"
|
||||
checksum = "KHZrePe42vL2XvOUE3KlJkp1UgWhWkl0jjT_BOvFhuM4GzieEH9S7CioepOFVGYB"
|
||||
)
|
||||
return s.NewPackage(t, "zlib", version, newTar(
|
||||
return t.NewPackage("zlib", version, newTar(
|
||||
"https://www.zlib.net/fossils/zlib-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
|
||||
@@ -2,12 +2,12 @@ package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newZstd(s *S) (pkg.Artifact, string) {
|
||||
func (t Toolchain) newZstd() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.5.7"
|
||||
checksum = "4XhfR7DwVkwo1R-TmYDAJOcx9YXv9WSFhcFUe3hWEAMmdMLPhFaznCqYIA19_xxV"
|
||||
)
|
||||
return s.NewPackage(t, "zstd", version, newFromGitHubRelease(
|
||||
return t.NewPackage("zstd", version, newFromGitHubRelease(
|
||||
"facebook/zstd",
|
||||
"v"+version,
|
||||
"zstd-"+version+".tar.gz",
|
||||
|
||||
Reference in New Issue
Block a user