internal/rosa: helpers for common url formats
All checks were successful
Test / Create distribution (push) Successful in 1m20s
Test / Sandbox (push) Successful in 3m16s
Test / ShareFS (push) Successful in 4m39s
Test / Sandbox (race detector) (push) Successful in 5m49s
Test / Hakurei (race detector) (push) Successful in 6m59s
Test / Hakurei (push) Successful in 3m13s
Test / Flake checks (push) Successful in 1m37s

This cleans up call site of NewPackage.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-04-13 15:23:41 +09:00
parent eeaf26e7a2
commit 83b0e32c55
65 changed files with 471 additions and 419 deletions

View File

@@ -7,10 +7,10 @@ func (t Toolchain) newAttr() (pkg.Artifact, string) {
version = "2.5.2" version = "2.5.2"
checksum = "YWEphrz6vg1sUMmHHVr1CRo53pFXRhq_pjN-AlG8UgwZK1y6m7zuDhxqJhD0SV0l" checksum = "YWEphrz6vg1sUMmHHVr1CRo53pFXRhq_pjN-AlG8UgwZK1y6m7zuDhxqJhD0SV0l"
) )
return t.NewPackage("attr", version, pkg.NewHTTPGetTar( return t.NewPackage("attr", version, newTar(
nil, "https://download.savannah.nongnu.org/releases/attr/"+ "https://download.savannah.nongnu.org/releases/attr/"+
"attr-"+version+".tar.gz", "attr-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Patches: []KV{ Patches: []KV{
@@ -81,10 +81,10 @@ func (t Toolchain) newACL() (pkg.Artifact, string) {
version = "2.3.2" version = "2.3.2"
checksum = "-fY5nwH4K8ZHBCRXrzLdguPkqjKI6WIiGu4dBtrZ1o0t6AIU73w8wwJz_UyjIS0P" checksum = "-fY5nwH4K8ZHBCRXrzLdguPkqjKI6WIiGu4dBtrZ1o0t6AIU73w8wwJz_UyjIS0P"
) )
return t.NewPackage("acl", version, pkg.NewHTTPGetTar( return t.NewPackage("acl", version, newTar(
nil, "https://download.savannah.nongnu.org/releases/acl/"+ "https://download.savannah.nongnu.org/releases/acl/"+
"acl-"+version+".tar.gz", "acl-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, &MakeHelper{ ), nil, &MakeHelper{
// makes assumptions about uid_map/gid_map // makes assumptions about uid_map/gid_map

View File

@@ -123,7 +123,7 @@ const (
PerlTermReadKey PerlTermReadKey
PerlTextCharWidth PerlTextCharWidth
PerlTextWrapI18N PerlTextWrapI18N
PerlUnicodeGCString PerlUnicodeLineBreak
PerlYAMLTiny PerlYAMLTiny
PkgConfig PkgConfig
Procps Procps

View File

@@ -7,10 +7,10 @@ func (t Toolchain) newArgpStandalone() (pkg.Artifact, string) {
version = "1.3" version = "1.3"
checksum = "vtW0VyO2pJ-hPyYmDI2zwSLS8QL0sPAUKC1t3zNYbwN2TmsaE-fADhaVtNd3eNFl" checksum = "vtW0VyO2pJ-hPyYmDI2zwSLS8QL0sPAUKC1t3zNYbwN2TmsaE-fADhaVtNd3eNFl"
) )
return t.NewPackage("argp-standalone", version, pkg.NewHTTPGetTar( return t.NewPackage("argp-standalone", version, newTar(
nil, "http://www.lysator.liu.se/~nisse/misc/"+ "http://www.lysator.liu.se/~nisse/misc/"+
"argp-standalone-"+version+".tar.gz", "argp-standalone-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Env: []string{ Env: []string{

View File

@@ -7,9 +7,9 @@ func (t Toolchain) newBzip2() (pkg.Artifact, string) {
version = "1.0.8" version = "1.0.8"
checksum = "cTLykcco7boom-s05H1JVsQi1AtChYL84nXkg_92Dm1Xt94Ob_qlMg_-NSguIK-c" checksum = "cTLykcco7boom-s05H1JVsQi1AtChYL84nXkg_92Dm1Xt94Ob_qlMg_-NSguIK-c"
) )
return t.NewPackage("bzip2", version, pkg.NewHTTPGetTar( return t.NewPackage("bzip2", version, newTar(
nil, "https://sourceware.org/pub/bzip2/bzip2-"+version+".tar.gz", "https://sourceware.org/pub/bzip2/bzip2-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Writable: true, Writable: true,

View File

@@ -13,10 +13,11 @@ func (t Toolchain) newCMake() (pkg.Artifact, string) {
version = "4.3.1" version = "4.3.1"
checksum = "RHpzZiM1kJ5bwLjo9CpXSeHJJg3hTtV9QxBYpQoYwKFtRh5YhGWpShrqZCSOzQN6" checksum = "RHpzZiM1kJ5bwLjo9CpXSeHJJg3hTtV9QxBYpQoYwKFtRh5YhGWpShrqZCSOzQN6"
) )
return t.NewPackage("cmake", version, pkg.NewHTTPGetTar( return t.NewPackage("cmake", version, newFromGitHubRelease(
nil, "https://github.com/Kitware/CMake/releases/download/"+ "Kitware/CMake",
"v"+version+"/cmake-"+version+".tar.gz", "v"+version,
mustDecode(checksum), "cmake-"+version+".tar.gz",
checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
// test suite expects writable source tree // test suite expects writable source tree

View File

@@ -7,10 +7,10 @@ func (t Toolchain) newConnman() (pkg.Artifact, string) {
version = "2.0" version = "2.0"
checksum = "MhVTdJOhndnZn2SWd8URKo_Pj7Zvc14tntEbrVOf9L3yVWJvpb3v3Q6104tWJgtW" checksum = "MhVTdJOhndnZn2SWd8URKo_Pj7Zvc14tntEbrVOf9L3yVWJvpb3v3Q6104tWJgtW"
) )
return t.NewPackage("connman", version, pkg.NewHTTPGetTar( return t.NewPackage("connman", version, newTar(
nil, "https://git.kernel.org/pub/scm/network/connman/connman.git/"+ "https://git.kernel.org/pub/scm/network/connman/connman.git/"+
"snapshot/connman-"+version+".tar.gz", "snapshot/connman-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Patches: []KV{ Patches: []KV{

View File

@@ -7,9 +7,9 @@ func (t Toolchain) newCurl() (pkg.Artifact, string) {
version = "8.19.0" version = "8.19.0"
checksum = "YHuVLVVp8q_Y7-JWpID5ReNjq2Zk6t7ArHB6ngQXilp_R5l3cubdxu3UKo-xDByv" checksum = "YHuVLVVp8q_Y7-JWpID5ReNjq2Zk6t7ArHB6ngQXilp_R5l3cubdxu3UKo-xDByv"
) )
return t.NewPackage("curl", version, pkg.NewHTTPGetTar( return t.NewPackage("curl", version, newTar(
nil, "https://curl.se/download/curl-"+version+".tar.bz2", "https://curl.se/download/curl-"+version+".tar.bz2",
mustDecode(checksum), checksum,
pkg.TarBzip2, pkg.TarBzip2,
), &PackageAttr{ ), &PackageAttr{
// remove broken test // remove broken test

View File

@@ -7,11 +7,11 @@ func (t Toolchain) newDBus() (pkg.Artifact, string) {
version = "1.16.2" version = "1.16.2"
checksum = "INwOuNdrDG7XW5ilW_vn8JSxEa444rRNc5ho97i84I1CNF09OmcFcV-gzbF4uCyg" checksum = "INwOuNdrDG7XW5ilW_vn8JSxEa444rRNc5ho97i84I1CNF09OmcFcV-gzbF4uCyg"
) )
return t.NewPackage("dbus", version, pkg.NewHTTPGetTar( return t.NewPackage("dbus", version, newFromGitLab(
nil, "https://gitlab.freedesktop.org/dbus/dbus/-/archive/"+ "gitlab.freedesktop.org",
"dbus-"+version+"/dbus-dbus-"+version+".tar.bz2", "dbus/dbus",
mustDecode(checksum), "dbus-"+version,
pkg.TarBzip2, checksum,
), &PackageAttr{ ), &PackageAttr{
// OSError: [Errno 30] Read-only file system: '/usr/src/dbus/subprojects/packagecache' // OSError: [Errno 30] Read-only file system: '/usr/src/dbus/subprojects/packagecache'
Writable: true, Writable: true,
@@ -50,11 +50,10 @@ func (t Toolchain) newXDGDBusProxy() (pkg.Artifact, string) {
version = "0.1.7" version = "0.1.7"
checksum = "UW5Pe-TP-XAaN-kTbxrkOQ7eYdmlAQlr2pdreLtPT0uwdAz-7rzDP8V_8PWuZBup" checksum = "UW5Pe-TP-XAaN-kTbxrkOQ7eYdmlAQlr2pdreLtPT0uwdAz-7rzDP8V_8PWuZBup"
) )
return t.NewPackage("xdg-dbus-proxy", version, pkg.NewHTTPGetTar( return t.NewPackage("xdg-dbus-proxy", version, newFromGitHub(
nil, "https://github.com/flatpak/xdg-dbus-proxy/archive/"+ "flatpak/xdg-dbus-proxy",
"refs/tags/"+version+".tar.gz", version,
mustDecode(checksum), checksum,
pkg.TarGzip,
), nil, &MesonHelper{ ), nil, &MesonHelper{
Setup: []KV{ Setup: []KV{
{"Dman", "disabled"}, {"Dman", "disabled"},

View File

@@ -7,10 +7,10 @@ func (t Toolchain) newDTC() (pkg.Artifact, string) {
version = "1.7.2" version = "1.7.2"
checksum = "vUoiRynPyYRexTpS6USweT5p4SVHvvVJs8uqFkkVD-YnFjwf6v3elQ0-Etrh00Dt" checksum = "vUoiRynPyYRexTpS6USweT5p4SVHvvVJs8uqFkkVD-YnFjwf6v3elQ0-Etrh00Dt"
) )
return t.NewPackage("dtc", version, pkg.NewHTTPGetTar( return t.NewPackage("dtc", version, newTar(
nil, "https://git.kernel.org/pub/scm/utils/dtc/dtc.git/snapshot/"+ "https://git.kernel.org/pub/scm/utils/dtc/dtc.git/snapshot/"+
"dtc-v"+version+".tar.gz", "dtc-v"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
// works around buggy test: // works around buggy test:

View File

@@ -7,10 +7,10 @@ func (t Toolchain) newElfutils() (pkg.Artifact, string) {
version = "0.194" version = "0.194"
checksum = "Q3XUygUPv9vR1TkWucwUsQ8Kb1_F6gzk-KMPELr3cC_4AcTrprhVPMvN0CKkiYRa" checksum = "Q3XUygUPv9vR1TkWucwUsQ8Kb1_F6gzk-KMPELr3cC_4AcTrprhVPMvN0CKkiYRa"
) )
return t.NewPackage("elfutils", version, pkg.NewHTTPGetTar( return t.NewPackage("elfutils", version, newTar(
nil, "https://sourceware.org/elfutils/ftp/"+ "https://sourceware.org/elfutils/ftp/"+
version+"/elfutils-"+version+".tar.bz2", version+"/elfutils-"+version+".tar.bz2",
mustDecode(checksum), checksum,
pkg.TarBzip2, pkg.TarBzip2,
), &PackageAttr{ ), &PackageAttr{
Env: []string{ Env: []string{

View File

@@ -135,10 +135,11 @@ func newIANAEtc() pkg.Artifact {
version = "20251215" version = "20251215"
checksum = "kvKz0gW_rGG5QaNK9ZWmWu1IEgYAdmhj_wR7DYrh3axDfIql_clGRHmelP7525NJ" checksum = "kvKz0gW_rGG5QaNK9ZWmWu1IEgYAdmhj_wR7DYrh3axDfIql_clGRHmelP7525NJ"
) )
return pkg.NewHTTPGetTar( return newFromGitHubRelease(
nil, "https://github.com/Mic92/iana-etc/releases/download/"+ "Mic92/iana-etc",
version+"/iana-etc-"+version+".tar.gz", version,
mustDecode(checksum), "iana-etc-"+version+".tar.gz",
checksum,
pkg.TarGzip, pkg.TarGzip,
) )
} }

View File

@@ -7,11 +7,11 @@ func (t Toolchain) newFakeroot() (pkg.Artifact, string) {
version = "1.37.2" version = "1.37.2"
checksum = "4ve-eDqVspzQ6VWDhPS0NjW3aSenBJcPAJq_BFT7OOFgUdrQzoTBxZWipDAGWxF8" checksum = "4ve-eDqVspzQ6VWDhPS0NjW3aSenBJcPAJq_BFT7OOFgUdrQzoTBxZWipDAGWxF8"
) )
return t.NewPackage("fakeroot", version, pkg.NewHTTPGetTar( return t.NewPackage("fakeroot", version, newFromGitLab(
nil, "https://salsa.debian.org/clint/fakeroot/-/archive/upstream/"+ "salsa.debian.org",
version+"/fakeroot-upstream-"+version+".tar.bz2", "clint/fakeroot",
mustDecode(checksum), "upstream/"+version,
pkg.TarBzip2, checksum,
), &PackageAttr{ ), &PackageAttr{
Patches: []KV{ Patches: []KV{
{"remove-broken-docs", `diff --git a/doc/Makefile.am b/doc/Makefile.am {"remove-broken-docs", `diff --git a/doc/Makefile.am b/doc/Makefile.am

View File

@@ -9,10 +9,11 @@ func (t Toolchain) newFlex() (pkg.Artifact, string) {
version = "2.6.4" version = "2.6.4"
checksum = "p9POjQU7VhgOf3x5iFro8fjhy0NOanvA7CTeuWS_veSNgCixIJshTrWVkc5XLZkB" checksum = "p9POjQU7VhgOf3x5iFro8fjhy0NOanvA7CTeuWS_veSNgCixIJshTrWVkc5XLZkB"
) )
return t.NewPackage("flex", version, pkg.NewHTTPGetTar( return t.NewPackage("flex", version, newFromGitHubRelease(
nil, "https://github.com/westes/flex/releases/download/"+ "westes/flex",
"v"+version+"/flex-"+version+".tar.gz", "v"+version,
mustDecode(checksum), "flex-"+version+".tar.gz",
checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, (*MakeHelper)(nil), ), nil, (*MakeHelper)(nil),
M4, M4,

View File

@@ -7,10 +7,11 @@ func (t Toolchain) newFuse() (pkg.Artifact, string) {
version = "3.18.2" version = "3.18.2"
checksum = "iL-7b7eUtmlVSf5cSq0dzow3UiqSjBmzV3cI_ENPs1tXcHdktkG45j1V12h-4jZe" checksum = "iL-7b7eUtmlVSf5cSq0dzow3UiqSjBmzV3cI_ENPs1tXcHdktkG45j1V12h-4jZe"
) )
return t.NewPackage("fuse", version, pkg.NewHTTPGetTar( return t.NewPackage("fuse", version, newFromGitHubRelease(
nil, "https://github.com/libfuse/libfuse/releases/download/"+ "libfuse/libfuse",
"fuse-"+version+"/fuse-"+version+".tar.gz", "fuse-"+version,
mustDecode(checksum), "fuse-"+version+".tar.gz",
checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, &MesonHelper{ ), nil, &MesonHelper{
Setup: []KV{ Setup: []KV{

View File

@@ -12,10 +12,10 @@ func (t Toolchain) newGit() (pkg.Artifact, string) {
version = "2.53.0" version = "2.53.0"
checksum = "rlqSTeNgSeVKJA7nvzGqddFH8q3eFEPB4qRZft-4zth8wTHnbTbm7J90kp_obHGm" checksum = "rlqSTeNgSeVKJA7nvzGqddFH8q3eFEPB4qRZft-4zth8wTHnbTbm7J90kp_obHGm"
) )
return t.NewPackage("git", version, pkg.NewHTTPGetTar( return t.NewPackage("git", version, newTar(
nil, "https://www.kernel.org/pub/software/scm/git/"+ "https://www.kernel.org/pub/software/scm/git/"+
"git-"+version+".tar.gz", "git-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
ScriptEarly: ` ScriptEarly: `

View File

@@ -12,11 +12,10 @@ func (t Toolchain) newSPIRVHeaders() (pkg.Artifact, string) {
version = "1.4.341.0" version = "1.4.341.0"
checksum = "0PL43-19Iaw4k7_D8J8BvoJ-iLgCVSYZ2ThgDPGfAJwIJFtre7l0cnQtLjcY-JvD" checksum = "0PL43-19Iaw4k7_D8J8BvoJ-iLgCVSYZ2ThgDPGfAJwIJFtre7l0cnQtLjcY-JvD"
) )
return t.NewPackage("spirv-headers", version, pkg.NewHTTPGetTar( return t.NewPackage("spirv-headers", version, newFromGitHub(
nil, "https://github.com/KhronosGroup/SPIRV-Headers/archive/"+ "KhronosGroup/SPIRV-Headers",
"refs/tags/vulkan-sdk-"+version+".tar.gz", "vulkan-sdk-"+version,
mustDecode(checksum), checksum,
pkg.TarGzip,
), nil, &CMakeHelper{ ), nil, &CMakeHelper{
Cache: []KV{ Cache: []KV{
{"CMAKE_BUILD_TYPE", "Release"}, {"CMAKE_BUILD_TYPE", "Release"},
@@ -59,11 +58,10 @@ func (t Toolchain) newSPIRVTools() (pkg.Artifact, string) {
version = "2026.1" version = "2026.1"
checksum = "ZSQPQx8NltCDzQLk4qlaVxyWRWeI_JtsjEpeFt3kezTanl9DTHfLixSUCezMFBjv" checksum = "ZSQPQx8NltCDzQLk4qlaVxyWRWeI_JtsjEpeFt3kezTanl9DTHfLixSUCezMFBjv"
) )
return t.NewPackage("spirv-tools", version, pkg.NewHTTPGetTar( return t.NewPackage("spirv-tools", version, newFromGitHub(
nil, "https://github.com/KhronosGroup/SPIRV-Tools/archive/"+ "KhronosGroup/SPIRV-Tools",
"refs/tags/v"+version+".tar.gz", "v"+version,
mustDecode(checksum), checksum,
pkg.TarGzip,
), nil, &CMakeHelper{ ), nil, &CMakeHelper{
Cache: []KV{ Cache: []KV{
{"CMAKE_BUILD_TYPE", "Release"}, {"CMAKE_BUILD_TYPE", "Release"},
@@ -96,11 +94,10 @@ func (t Toolchain) newGlslang() (pkg.Artifact, string) {
version = "16.2.0" version = "16.2.0"
checksum = "6_UuF9reLRDaVkgO-9IfB3kMwme3lQZM8LL8YsJwPdUFkrjzxJtf2A9X3w9nFxj2" checksum = "6_UuF9reLRDaVkgO-9IfB3kMwme3lQZM8LL8YsJwPdUFkrjzxJtf2A9X3w9nFxj2"
) )
return t.NewPackage("glslang", version, pkg.NewHTTPGetTar( return t.NewPackage("glslang", version, newFromGitHub(
nil, "https://github.com/KhronosGroup/glslang/archive/"+ "KhronosGroup/glslang",
"refs/tags/"+version+".tar.gz", version,
mustDecode(checksum), checksum,
pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
// test suite writes to source // test suite writes to source
Writable: true, Writable: true,

View File

@@ -11,9 +11,9 @@ func (t Toolchain) newM4() (pkg.Artifact, string) {
version = "1.4.21" version = "1.4.21"
checksum = "pPa6YOo722Jw80l1OsH1tnUaklnPFjFT-bxGw5iAVrZTm1P8FQaWao_NXop46-pm" checksum = "pPa6YOo722Jw80l1OsH1tnUaklnPFjFT-bxGw5iAVrZTm1P8FQaWao_NXop46-pm"
) )
return t.NewPackage("m4", version, pkg.NewHTTPGetTar( return t.NewPackage("m4", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/m4/m4-"+version+".tar.bz2", "https://ftpmirror.gnu.org/gnu/m4/m4-"+version+".tar.bz2",
mustDecode(checksum), checksum,
pkg.TarBzip2, pkg.TarBzip2,
), &PackageAttr{ ), &PackageAttr{
Writable: true, Writable: true,
@@ -43,9 +43,9 @@ func (t Toolchain) newBison() (pkg.Artifact, string) {
version = "3.8.2" version = "3.8.2"
checksum = "BhRM6K7URj1LNOkIDCFDctSErLS-Xo5d9ba9seg10o6ACrgC1uNhED7CQPgIY29Y" checksum = "BhRM6K7URj1LNOkIDCFDctSErLS-Xo5d9ba9seg10o6ACrgC1uNhED7CQPgIY29Y"
) )
return t.NewPackage("bison", version, pkg.NewHTTPGetTar( return t.NewPackage("bison", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/bison/bison-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/bison/bison-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, (*MakeHelper)(nil), ), nil, (*MakeHelper)(nil),
M4, M4,
@@ -70,9 +70,9 @@ func (t Toolchain) newSed() (pkg.Artifact, string) {
version = "4.9" version = "4.9"
checksum = "pe7HWH4PHNYrazOTlUoE1fXmhn2GOPFN_xE62i0llOr3kYGrH1g2_orDz0UtZ9Nt" checksum = "pe7HWH4PHNYrazOTlUoE1fXmhn2GOPFN_xE62i0llOr3kYGrH1g2_orDz0UtZ9Nt"
) )
return t.NewPackage("sed", version, pkg.NewHTTPGetTar( return t.NewPackage("sed", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/sed/sed-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/sed/sed-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, (*MakeHelper)(nil), ), nil, (*MakeHelper)(nil),
Diffutils, Diffutils,
@@ -95,9 +95,9 @@ func (t Toolchain) newAutoconf() (pkg.Artifact, string) {
version = "2.73" version = "2.73"
checksum = "yGabDTeOfaCUB0JX-h3REYLYzMzvpDwFmFFzHNR7QilChCUNE4hR6q7nma4viDYg" checksum = "yGabDTeOfaCUB0JX-h3REYLYzMzvpDwFmFFzHNR7QilChCUNE4hR6q7nma4viDYg"
) )
return t.NewPackage("autoconf", version, pkg.NewHTTPGetTar( return t.NewPackage("autoconf", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/autoconf/autoconf-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/autoconf/autoconf-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Flag: TExclusive, Flag: TExclusive,
@@ -135,9 +135,9 @@ func (t Toolchain) newAutomake() (pkg.Artifact, string) {
version = "1.18.1" version = "1.18.1"
checksum = "FjvLG_GdQP7cThTZJLDMxYpRcKdpAVG-YDs1Fj1yaHlSdh_Kx6nRGN14E0r_BjcG" checksum = "FjvLG_GdQP7cThTZJLDMxYpRcKdpAVG-YDs1Fj1yaHlSdh_Kx6nRGN14E0r_BjcG"
) )
return t.NewPackage("automake", version, pkg.NewHTTPGetTar( return t.NewPackage("automake", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/automake/automake-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/automake/automake-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Writable: true, Writable: true,
@@ -179,9 +179,9 @@ func (t Toolchain) newLibtool() (pkg.Artifact, string) {
version = "2.5.4" version = "2.5.4"
checksum = "pa6LSrQggh8mSJHQfwGjysAApmZlGJt8wif2cCLzqAAa2jpsTY0jZ-6stS3BWZ2Q" checksum = "pa6LSrQggh8mSJHQfwGjysAApmZlGJt8wif2cCLzqAAa2jpsTY0jZ-6stS3BWZ2Q"
) )
return t.NewPackage("libtool", version, pkg.NewHTTPGetTar( return t.NewPackage("libtool", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/libtool/libtool-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/libtool/libtool-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, &MakeHelper{ ), nil, &MakeHelper{
Check: []string{ Check: []string{
@@ -210,9 +210,9 @@ func (t Toolchain) newGzip() (pkg.Artifact, string) {
version = "1.14" version = "1.14"
checksum = "NWhjUavnNfTDFkZJyAUonL9aCOak8GVajWX2OMlzpFnuI0ErpBFyj88mz2xSjz0q" checksum = "NWhjUavnNfTDFkZJyAUonL9aCOak8GVajWX2OMlzpFnuI0ErpBFyj88mz2xSjz0q"
) )
return t.NewPackage("gzip", version, pkg.NewHTTPGetTar( return t.NewPackage("gzip", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/gzip/gzip-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/gzip/gzip-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, &MakeHelper{ ), nil, &MakeHelper{
// dependency loop // dependency loop
@@ -236,9 +236,9 @@ func (t Toolchain) newGettext() (pkg.Artifact, string) {
version = "1.0" version = "1.0"
checksum = "3MasKeEdPeFEgWgzsBKk7JqWqql1wEMbgPmzAfs-mluyokoW0N8oQVxPQoOnSdgC" checksum = "3MasKeEdPeFEgWgzsBKk7JqWqql1wEMbgPmzAfs-mluyokoW0N8oQVxPQoOnSdgC"
) )
return t.NewPackage("gettext", version, pkg.NewHTTPGetTar( return t.NewPackage("gettext", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/gettext/gettext-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/gettext/gettext-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Writable: true, Writable: true,
@@ -282,9 +282,9 @@ func (t Toolchain) newDiffutils() (pkg.Artifact, string) {
version = "3.12" version = "3.12"
checksum = "9J5VAq5oA7eqwzS1Yvw-l3G5o-TccUrNQR3PvyB_lgdryOFAfxtvQfKfhdpquE44" checksum = "9J5VAq5oA7eqwzS1Yvw-l3G5o-TccUrNQR3PvyB_lgdryOFAfxtvQfKfhdpquE44"
) )
return t.NewPackage("diffutils", version, pkg.NewHTTPGetTar( return t.NewPackage("diffutils", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/diffutils/diffutils-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/diffutils/diffutils-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Writable: true, Writable: true,
@@ -315,9 +315,9 @@ func (t Toolchain) newPatch() (pkg.Artifact, string) {
version = "2.8" version = "2.8"
checksum = "MA0BQc662i8QYBD-DdGgyyfTwaeALZ1K0yusV9rAmNiIsQdX-69YC4t9JEGXZkeR" checksum = "MA0BQc662i8QYBD-DdGgyyfTwaeALZ1K0yusV9rAmNiIsQdX-69YC4t9JEGXZkeR"
) )
return t.NewPackage("patch", version, pkg.NewHTTPGetTar( return t.NewPackage("patch", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/patch/patch-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/patch/patch-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Writable: true, Writable: true,
@@ -347,9 +347,9 @@ func (t Toolchain) newBash() (pkg.Artifact, string) {
version = "5.3" version = "5.3"
checksum = "4LQ_GRoB_ko-Ih8QPf_xRKA02xAm_TOxQgcJLmFDT6udUPxTAWrsj-ZNeuTusyDq" checksum = "4LQ_GRoB_ko-Ih8QPf_xRKA02xAm_TOxQgcJLmFDT6udUPxTAWrsj-ZNeuTusyDq"
) )
return t.NewPackage("bash", version, pkg.NewHTTPGetTar( return t.NewPackage("bash", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/bash/bash-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/bash/bash-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Flag: TEarly, Flag: TEarly,
@@ -377,9 +377,9 @@ func (t Toolchain) newCoreutils() (pkg.Artifact, string) {
version = "9.10" version = "9.10"
checksum = "o-B9wssRnZySzJUI1ZJAgw-bZtj1RC67R9po2AcM2OjjS8FQIl16IRHpC6IwO30i" checksum = "o-B9wssRnZySzJUI1ZJAgw-bZtj1RC67R9po2AcM2OjjS8FQIl16IRHpC6IwO30i"
) )
return t.NewPackage("coreutils", version, pkg.NewHTTPGetTar( return t.NewPackage("coreutils", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/coreutils/coreutils-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/coreutils/coreutils-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Writable: true, Writable: true,
@@ -516,9 +516,9 @@ func (t Toolchain) newTexinfo() (pkg.Artifact, string) {
version = "7.3" version = "7.3"
checksum = "RRmC8Xwdof7JuZJeWGAQ_GeASIHAuJFQMbNONXBz5InooKIQGmqmWRjGNGEr5n4-" checksum = "RRmC8Xwdof7JuZJeWGAQ_GeASIHAuJFQMbNONXBz5InooKIQGmqmWRjGNGEr5n4-"
) )
return t.NewPackage("texinfo", version, pkg.NewHTTPGetTar( return t.NewPackage("texinfo", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/texinfo/texinfo-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/texinfo/texinfo-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, &MakeHelper{ ), nil, &MakeHelper{
// nonstandard glibc extension // nonstandard glibc extension
@@ -549,9 +549,9 @@ func (t Toolchain) newGperf() (pkg.Artifact, string) {
version = "3.3" version = "3.3"
checksum = "RtIy9pPb_Bb8-31J2Nw-rRGso2JlS-lDlVhuNYhqR7Nt4xM_nObznxAlBMnarJv7" checksum = "RtIy9pPb_Bb8-31J2Nw-rRGso2JlS-lDlVhuNYhqR7Nt4xM_nObznxAlBMnarJv7"
) )
return t.NewPackage("gperf", version, pkg.NewHTTPGetTar( return t.NewPackage("gperf", version, newTar(
nil, "https://ftpmirror.gnu.org/gperf/gperf-"+version+".tar.gz", "https://ftpmirror.gnu.org/gperf/gperf-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, (*MakeHelper)(nil), ), nil, (*MakeHelper)(nil),
Diffutils, Diffutils,
@@ -574,9 +574,9 @@ func (t Toolchain) newGawk() (pkg.Artifact, string) {
version = "5.4.0" version = "5.4.0"
checksum = "m0RkIolC-PI7EY5q8pcx5Y-0twlIW0Yp3wXXmV-QaHorSdf8BhZ7kW9F8iWomz0C" checksum = "m0RkIolC-PI7EY5q8pcx5Y-0twlIW0Yp3wXXmV-QaHorSdf8BhZ7kW9F8iWomz0C"
) )
return t.NewPackage("gawk", version, pkg.NewHTTPGetTar( return t.NewPackage("gawk", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/gawk/gawk-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/gawk/gawk-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Flag: TEarly, Flag: TEarly,
@@ -602,9 +602,9 @@ func (t Toolchain) newGrep() (pkg.Artifact, string) {
version = "3.12" version = "3.12"
checksum = "qMB4RjaPNRRYsxix6YOrjE8gyAT1zVSTy4nW4wKW9fqa0CHYAuWgPwDTirENzm_1" checksum = "qMB4RjaPNRRYsxix6YOrjE8gyAT1zVSTy4nW4wKW9fqa0CHYAuWgPwDTirENzm_1"
) )
return t.NewPackage("grep", version, pkg.NewHTTPGetTar( return t.NewPackage("grep", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/grep/grep-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/grep/grep-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Writable: true, Writable: true,
@@ -666,9 +666,9 @@ func (t Toolchain) newBC() (pkg.Artifact, string) {
version = "1.08.2" version = "1.08.2"
checksum = "8h6f3hjV80XiFs6v9HOPF2KEyg1kuOgn5eeFdVspV05ODBVQss-ey5glc8AmneLy" checksum = "8h6f3hjV80XiFs6v9HOPF2KEyg1kuOgn5eeFdVspV05ODBVQss-ey5glc8AmneLy"
) )
return t.NewPackage("bc", version, pkg.NewHTTPGetTar( return t.NewPackage("bc", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/bc/bc-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/bc/bc-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
// source expected to be writable // source expected to be writable
@@ -695,9 +695,9 @@ func (t Toolchain) newLibiconv() (pkg.Artifact, string) {
version = "1.19" version = "1.19"
checksum = "UibB6E23y4MksNqYmCCrA3zTFO6vJugD1DEDqqWYFZNuBsUWMVMcncb_5pPAr88x" checksum = "UibB6E23y4MksNqYmCCrA3zTFO6vJugD1DEDqqWYFZNuBsUWMVMcncb_5pPAr88x"
) )
return t.NewPackage("libiconv", version, pkg.NewHTTPGetTar( return t.NewPackage("libiconv", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/libiconv/libiconv-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/libiconv/libiconv-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, (*MakeHelper)(nil)), version ), nil, (*MakeHelper)(nil)), version
} }
@@ -718,9 +718,9 @@ func (t Toolchain) newTar() (pkg.Artifact, string) {
version = "1.35" version = "1.35"
checksum = "zSaoSlVUDW0dSfm4sbL4FrXLFR8U40Fh3zY5DWhR5NCIJ6GjU6Kc4VZo2-ZqpBRA" checksum = "zSaoSlVUDW0dSfm4sbL4FrXLFR8U40Fh3zY5DWhR5NCIJ6GjU6Kc4VZo2-ZqpBRA"
) )
return t.NewPackage("tar", version, pkg.NewHTTPGetTar( return t.NewPackage("tar", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/tar/tar-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/tar/tar-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, &MakeHelper{ ), nil, &MakeHelper{
Configure: []KV{ Configure: []KV{
@@ -760,9 +760,9 @@ func (t Toolchain) newParallel() (pkg.Artifact, string) {
version = "20260322" version = "20260322"
checksum = "gHoPmFkOO62ev4xW59HqyMlodhjp8LvTsBOwsVKHUUdfrt7KwB8koXmSVqQ4VOrB" checksum = "gHoPmFkOO62ev4xW59HqyMlodhjp8LvTsBOwsVKHUUdfrt7KwB8koXmSVqQ4VOrB"
) )
return t.NewPackage("parallel", version, pkg.NewHTTPGetTar( return t.NewPackage("parallel", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/parallel/parallel-"+version+".tar.bz2", "https://ftpmirror.gnu.org/gnu/parallel/parallel-"+version+".tar.bz2",
mustDecode(checksum), checksum,
pkg.TarBzip2, pkg.TarBzip2,
), nil, (*MakeHelper)(nil), ), nil, (*MakeHelper)(nil),
Perl, Perl,
@@ -789,9 +789,9 @@ func (t Toolchain) newLibunistring() (pkg.Artifact, string) {
version = "1.4.2" version = "1.4.2"
checksum = "iW9BbfLoVlXjWoLTZ4AekQSu4cFBnLcZ4W8OHWbv0AhJNgD3j65_zqaLMzFKylg2" checksum = "iW9BbfLoVlXjWoLTZ4AekQSu4cFBnLcZ4W8OHWbv0AhJNgD3j65_zqaLMzFKylg2"
) )
return t.NewPackage("libunistring", version, pkg.NewHTTPGetTar( return t.NewPackage("libunistring", version, newTar(
nil, "https://ftp.gnu.org/gnu/libunistring/libunistring-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/libunistring/libunistring-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Writable: true, Writable: true,
@@ -822,9 +822,9 @@ func (t Toolchain) newLibtasn1() (pkg.Artifact, string) {
version = "4.21.0" version = "4.21.0"
checksum = "9DYI3UYbfYLy8JsKUcY6f0irskbfL0fHZA91Q-JEOA3kiUwpodyjemRsYRjUpjuq" checksum = "9DYI3UYbfYLy8JsKUcY6f0irskbfL0fHZA91Q-JEOA3kiUwpodyjemRsYRjUpjuq"
) )
return t.NewPackage("libtasn1", version, pkg.NewHTTPGetTar( return t.NewPackage("libtasn1", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/libtasn1/libtasn1-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/libtasn1/libtasn1-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, (*MakeHelper)(nil)), version ), nil, (*MakeHelper)(nil)), version
} }
@@ -845,9 +845,9 @@ func (t Toolchain) newReadline() (pkg.Artifact, string) {
version = "8.3" version = "8.3"
checksum = "r-lcGRJq_MvvBpOq47Z2Y1OI2iqrmtcqhTLVXR0xWo37ZpC2uT_md7gKq5o_qTMV" checksum = "r-lcGRJq_MvvBpOq47Z2Y1OI2iqrmtcqhTLVXR0xWo37ZpC2uT_md7gKq5o_qTMV"
) )
return t.NewPackage("readline", version, pkg.NewHTTPGetTar( return t.NewPackage("readline", version, newTar(
nil, "https://ftp.gnu.org/gnu/readline/readline-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/readline/readline-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, &MakeHelper{ ), nil, &MakeHelper{
Configure: []KV{ Configure: []KV{
@@ -1060,9 +1060,9 @@ func (t Toolchain) newBinutils() (pkg.Artifact, string) {
version = "2.46.0" version = "2.46.0"
checksum = "4kK1_EXQipxSqqyvwD4LbiMLFKCUApjq6PeG4XJP4dzxYGqDeqXfh8zLuTyOuOVR" checksum = "4kK1_EXQipxSqqyvwD4LbiMLFKCUApjq6PeG4XJP4dzxYGqDeqXfh8zLuTyOuOVR"
) )
return t.NewPackage("binutils", version, pkg.NewHTTPGetTar( return t.NewPackage("binutils", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/binutils/binutils-"+version+".tar.bz2", "https://ftpmirror.gnu.org/gnu/binutils/binutils-"+version+".tar.bz2",
mustDecode(checksum), checksum,
pkg.TarBzip2, pkg.TarBzip2,
), nil, (*MakeHelper)(nil), ), nil, (*MakeHelper)(nil),
Bash, Bash,
@@ -1085,10 +1085,10 @@ func (t Toolchain) newGMP() (pkg.Artifact, string) {
version = "6.3.0" version = "6.3.0"
checksum = "yrgbgEDWKDdMWVHh7gPbVl56-sRtVVhfvv0M_LX7xMUUk_mvZ1QOJEAnt7g4i3k5" checksum = "yrgbgEDWKDdMWVHh7gPbVl56-sRtVVhfvv0M_LX7xMUUk_mvZ1QOJEAnt7g4i3k5"
) )
return t.NewPackage("gmp", version, pkg.NewHTTPGetTar( return t.NewPackage("gmp", version, newTar(
nil, "https://gcc.gnu.org/pub/gcc/infrastructure/"+ "https://gcc.gnu.org/pub/gcc/infrastructure/"+
"gmp-"+version+".tar.bz2", "gmp-"+version+".tar.bz2",
mustDecode(checksum), checksum,
pkg.TarBzip2, pkg.TarBzip2,
), &PackageAttr{ ), &PackageAttr{
Env: []string{ Env: []string{
@@ -1115,10 +1115,10 @@ func (t Toolchain) newMPFR() (pkg.Artifact, string) {
version = "4.2.2" version = "4.2.2"
checksum = "wN3gx0zfIuCn9r3VAn_9bmfvAYILwrRfgBjYSD1IjLqyLrLojNN5vKyQuTE9kA-B" checksum = "wN3gx0zfIuCn9r3VAn_9bmfvAYILwrRfgBjYSD1IjLqyLrLojNN5vKyQuTE9kA-B"
) )
return t.NewPackage("mpfr", version, pkg.NewHTTPGetTar( return t.NewPackage("mpfr", version, newTar(
nil, "https://gcc.gnu.org/pub/gcc/infrastructure/"+ "https://gcc.gnu.org/pub/gcc/infrastructure/"+
"mpfr-"+version+".tar.bz2", "mpfr-"+version+".tar.bz2",
mustDecode(checksum), checksum,
pkg.TarBzip2, pkg.TarBzip2,
), nil, (*MakeHelper)(nil), ), nil, (*MakeHelper)(nil),
GMP, GMP,
@@ -1190,10 +1190,10 @@ func (t Toolchain) newGCC() (pkg.Artifact, string) {
configureExtra = append(configureExtra, KV{"with-multilib-list", "''"}) configureExtra = append(configureExtra, KV{"with-multilib-list", "''"})
} }
return t.NewPackage("gcc", version, pkg.NewHTTPGetTar( return t.NewPackage("gcc", version, newTar(
nil, "https://ftp.tsukuba.wide.ad.jp/software/gcc/releases/"+ "https://ftp.tsukuba.wide.ad.jp/software/gcc/releases/"+
"gcc-"+version+"/gcc-"+version+".tar.gz", "gcc-"+version+"/gcc-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Patches: []KV{ Patches: []KV{

View File

@@ -21,9 +21,9 @@ cd /work/system/go/src
chmod -R +w .. chmod -R +w ..
./make.bash ./make.bash
`, pkg.Path(AbsUsrSrc.Append("go"), false, pkg.NewHTTPGetTar( `, pkg.Path(AbsUsrSrc.Append("go"), false, newTar(
nil, "https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz", "https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
))) )))
} }
@@ -55,9 +55,9 @@ ln -s \
../go/bin/go \ ../go/bin/go \
../go/bin/gofmt \ ../go/bin/gofmt \
/work/system/bin /work/system/bin
`, pkg.Path(AbsUsrSrc.Append("go"), false, pkg.NewHTTPGetTar( `, pkg.Path(AbsUsrSrc.Append("go"), false, newTar(
nil, "https://go.dev/dl/go"+version+".src.tar.gz", "https://go.dev/dl/go"+version+".src.tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
))) )))
} }

View File

@@ -7,10 +7,10 @@ import "hakurei.app/internal/pkg"
const hakureiVersion = "0.4.0" const hakureiVersion = "0.4.0"
// hakureiSource is the source code of a hakurei release. // hakureiSource is the source code of a hakurei release.
var hakureiSource = pkg.NewHTTPGetTar( var hakureiSource = newTar(
nil, "https://git.gensokyo.uk/rosa/hakurei/archive/"+ "https://git.gensokyo.uk/rosa/hakurei/archive/"+
"v"+hakureiVersion+".tar.gz", "v"+hakureiVersion+".tar.gz",
mustDecode("wfQ9DqCW0Fw9o91wj-I55waoqzB-UqzzuC0_2h-P-1M78SgZ1WHSPCDJMth6EyC2"), "wfQ9DqCW0Fw9o91wj-I55waoqzB-UqzzuC0_2h-P-1M78SgZ1WHSPCDJMth6EyC2",
pkg.TarGzip, pkg.TarGzip,
) )

View File

@@ -4,10 +4,10 @@ import "hakurei.app/internal/pkg"
const kernelVersion = "6.12.80" const kernelVersion = "6.12.80"
var kernelSource = pkg.NewHTTPGetTar( var kernelSource = newTar(
nil, "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/"+ "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/"+
"snapshot/linux-"+kernelVersion+".tar.gz", "snapshot/linux-"+kernelVersion+".tar.gz",
mustDecode("_iJEAYoQISJxefuWZYfv0RPWUmHHIjHQw33Fapix-irXrEIREP5ruK37UJW4uMZO"), "_iJEAYoQISJxefuWZYfv0RPWUmHHIjHQw33Fapix-irXrEIREP5ruK37UJW4uMZO",
pkg.TarGzip, pkg.TarGzip,
) )
@@ -1285,11 +1285,11 @@ func (t Toolchain) newFirmware() (pkg.Artifact, string) {
version = "20260309" version = "20260309"
checksum = "M1az8BxSiOEH3LA11Trc5VAlakwAHhP7-_LKWg6k-SVIzU3xclMDO4Tiujw1gQrC" checksum = "M1az8BxSiOEH3LA11Trc5VAlakwAHhP7-_LKWg6k-SVIzU3xclMDO4Tiujw1gQrC"
) )
return t.NewPackage("firmware", version, pkg.NewHTTPGetTar( return t.NewPackage("firmware", version, newFromGitLab(
nil, "https://gitlab.com/kernel-firmware/linux-firmware/-/"+ "gitlab.com",
"archive/"+version+"/linux-firmware-"+version+".tar.bz2", "kernel-firmware/linux-firmware",
mustDecode(checksum), version,
pkg.TarBzip2, checksum,
), &PackageAttr{ ), &PackageAttr{
// dedup creates temporary file // dedup creates temporary file
Writable: true, Writable: true,

View File

@@ -7,10 +7,10 @@ func (t Toolchain) newKmod() (pkg.Artifact, string) {
version = "34.2" version = "34.2"
checksum = "0K7POeTKxMhExsaTsnKAC6LUNsRSfe6sSZxWONPbOu-GI_pXOw3toU_BIoqfBhJV" checksum = "0K7POeTKxMhExsaTsnKAC6LUNsRSfe6sSZxWONPbOu-GI_pXOw3toU_BIoqfBhJV"
) )
return t.NewPackage("kmod", version, pkg.NewHTTPGetTar( return t.NewPackage("kmod", version, newTar(
nil, "https://www.kernel.org/pub/linux/utils/kernel/"+ "https://www.kernel.org/pub/linux/utils/kernel/"+
"kmod/kmod-"+version+".tar.gz", "kmod/kmod-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, &MesonHelper{ ), nil, &MesonHelper{
Setup: []KV{ Setup: []KV{

View File

@@ -7,10 +7,10 @@ func (t Toolchain) newLibcap() (pkg.Artifact, string) {
version = "2.78" version = "2.78"
checksum = "wFdUkBhFMD9InPnrBZyegWrlPSAg_9JiTBC-eSFyWWlmbzL2qjh2mKxr9Kx2a8ut" checksum = "wFdUkBhFMD9InPnrBZyegWrlPSAg_9JiTBC-eSFyWWlmbzL2qjh2mKxr9Kx2a8ut"
) )
return t.NewPackage("libcap", version, pkg.NewHTTPGetTar( return t.NewPackage("libcap", version, newTar(
nil, "https://git.kernel.org/pub/scm/libs/libcap/libcap.git/"+ "https://git.kernel.org/pub/scm/libs/libcap/libcap.git/"+
"snapshot/libcap-"+version+".tar.gz", "snapshot/libcap-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
// uses source tree as scratch space // uses source tree as scratch space

View File

@@ -7,9 +7,9 @@ func (t Toolchain) newLibev() (pkg.Artifact, string) {
version = "4.33" version = "4.33"
checksum = "774eSXV_4k8PySRprUDChbEwsw-kzjIFnJ3MpNOl5zDpamBRvC3BqPyRxvkwcL6_" checksum = "774eSXV_4k8PySRprUDChbEwsw-kzjIFnJ3MpNOl5zDpamBRvC3BqPyRxvkwcL6_"
) )
return t.NewPackage("libev", version, pkg.NewHTTPGetTar( return t.NewPackage("libev", version, newTar(
nil, "https://dist.schmorp.de/libev/Attic/libev-"+version+".tar.gz", "https://dist.schmorp.de/libev/Attic/libev-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, (*MakeHelper)(nil)), version ), nil, (*MakeHelper)(nil)), version
} }

View File

@@ -11,11 +11,11 @@ func (t Toolchain) newLibexpat() (pkg.Artifact, string) {
version = "2.7.5" version = "2.7.5"
checksum = "vTRUjjg-qbHSXUBYKXgzVHkUO7UNyuhrkSYrE7ikApQm0g-OvQ8tspw4w55M-1Tp" checksum = "vTRUjjg-qbHSXUBYKXgzVHkUO7UNyuhrkSYrE7ikApQm0g-OvQ8tspw4w55M-1Tp"
) )
return t.NewPackage("libexpat", version, pkg.NewHTTPGetTar( return t.NewPackage("libexpat", version, newFromGitHubRelease(
nil, "https://github.com/libexpat/libexpat/releases/download/"+ "libexpat/libexpat",
"R_"+strings.ReplaceAll(version, ".", "_")+"/"+ "R_"+strings.ReplaceAll(version, ".", "_"),
"expat-"+version+".tar.bz2", "expat-"+version+".tar.bz2",
mustDecode(checksum), checksum,
pkg.TarBzip2, pkg.TarBzip2,
), nil, (*MakeHelper)(nil), ), nil, (*MakeHelper)(nil),
Bash, Bash,

View File

@@ -7,10 +7,11 @@ func (t Toolchain) newLibffi() (pkg.Artifact, string) {
version = "3.5.2" version = "3.5.2"
checksum = "2_Q-ZNBBbVhltfL5zEr0wljxPegUimTK4VeMSiwJEGksls3n4gj3lV0Ly3vviSFH" checksum = "2_Q-ZNBBbVhltfL5zEr0wljxPegUimTK4VeMSiwJEGksls3n4gj3lV0Ly3vviSFH"
) )
return t.NewPackage("libffi", version, pkg.NewHTTPGetTar( return t.NewPackage("libffi", version, newFromGitHubRelease(
nil, "https://github.com/libffi/libffi/releases/download/"+ "libffi/libffi",
"v"+version+"/libffi-"+version+".tar.gz", "v"+version,
mustDecode(checksum), "libffi-"+version+".tar.gz",
checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, (*MakeHelper)(nil), ), nil, (*MakeHelper)(nil),
KernelHeaders, KernelHeaders,

View File

@@ -7,10 +7,10 @@ func (t Toolchain) newLibgd() (pkg.Artifact, string) {
version = "2.3.3" version = "2.3.3"
checksum = "8T-sh1_FJT9K9aajgxzh8ot6vWIF-xxjcKAHvTak9MgGUcsFfzP8cAvvv44u2r36" checksum = "8T-sh1_FJT9K9aajgxzh8ot6vWIF-xxjcKAHvTak9MgGUcsFfzP8cAvvv44u2r36"
) )
return t.NewPackage("libgd", version, pkg.NewHTTPGetTar( return t.NewPackage("libgd", version, newFromGitHubRelease(
nil, "https://github.com/libgd/libgd/releases/download/"+ "libgd/libgd",
"gd-"+version+"/libgd-"+version+".tar.gz", "gd-"+version,
mustDecode(checksum), "libgd-"+version+".tar.gz", checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Env: []string{ Env: []string{

View File

@@ -7,10 +7,11 @@ func (t Toolchain) newLibpsl() (pkg.Artifact, string) {
version = "0.21.5" version = "0.21.5"
checksum = "XjfxSzh7peG2Vg4vJlL8z4JZJLcXqbuP6pLWkrGCmRxlnYUFTKNBqWGHCxEOlCad" checksum = "XjfxSzh7peG2Vg4vJlL8z4JZJLcXqbuP6pLWkrGCmRxlnYUFTKNBqWGHCxEOlCad"
) )
return t.NewPackage("libpsl", version, pkg.NewHTTPGetTar( return t.NewPackage("libpsl", version, newFromGitHubRelease(
nil, "https://github.com/rockdaboot/libpsl/releases/download/"+ "rockdaboot/libpsl",
version+"/libpsl-"+version+".tar.gz", version,
mustDecode(checksum), "libpsl-"+version+".tar.gz",
checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Writable: true, Writable: true,

View File

@@ -7,10 +7,11 @@ func (t Toolchain) newLibseccomp() (pkg.Artifact, string) {
version = "2.6.0" version = "2.6.0"
checksum = "mMu-iR71guPjFbb31u-YexBaanKE_nYPjPux-vuBiPfS_0kbwJdfCGlkofaUm-EY" checksum = "mMu-iR71guPjFbb31u-YexBaanKE_nYPjPux-vuBiPfS_0kbwJdfCGlkofaUm-EY"
) )
return t.NewPackage("libseccomp", version, pkg.NewHTTPGetTar( return t.NewPackage("libseccomp", version, newFromGitHubRelease(
nil, "https://github.com/seccomp/libseccomp/releases/download/"+ "seccomp/libseccomp",
"v"+version+"/libseccomp-"+version+".tar.gz", "v"+version,
mustDecode(checksum), "libseccomp-"+version+".tar.gz",
checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
ScriptEarly: ` ScriptEarly: `

View File

@@ -7,11 +7,10 @@ func (t Toolchain) newLibucontext() (pkg.Artifact, string) {
version = "1.5" version = "1.5"
checksum = "Ggk7FMmDNBdCx1Z9PcNWWW6LSpjGYssn2vU0GK5BLXJYw7ZxZbA2m_eSgT9TFnIG" checksum = "Ggk7FMmDNBdCx1Z9PcNWWW6LSpjGYssn2vU0GK5BLXJYw7ZxZbA2m_eSgT9TFnIG"
) )
return t.NewPackage("libucontext", version, pkg.NewHTTPGetTar( return t.NewPackage("libucontext", version, newFromGitHub(
nil, "https://github.com/kaniini/libucontext/archive/refs/tags/"+ "kaniini/libucontext",
"libucontext-"+version+".tar.gz", "libucontext-"+version,
mustDecode(checksum), checksum,
pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
// uses source tree as scratch space // uses source tree as scratch space
Writable: true, Writable: true,

View File

@@ -164,11 +164,10 @@ ln -s ld.lld /work/system/bin/ld
}...) }...)
} }
return t.NewPackage("llvm", llvmVersion, pkg.NewHTTPGetTar( return t.NewPackage("llvm", llvmVersion, newFromGitHub(
nil, "https://github.com/llvm/llvm-project/archive/refs/tags/"+ "llvm/llvm-project",
"llvmorg-"+llvmVersion+".tar.gz", "llvmorg-"+llvmVersion,
mustDecode(llvmChecksum), llvmChecksum,
pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Patches: slices.Concat(attr.patches, []KV{ Patches: slices.Concat(attr.patches, []KV{
{"increase-stack-size-unconditional", `diff --git a/llvm/lib/Support/Threading.cpp b/llvm/lib/Support/Threading.cpp {"increase-stack-size-unconditional", `diff --git a/llvm/lib/Support/Threading.cpp b/llvm/lib/Support/Threading.cpp

View File

@@ -20,9 +20,9 @@ cd "$(mktemp -d)"
--disable-dependency-tracking --disable-dependency-tracking
./build.sh ./build.sh
./make DESTDIR=/work install check ./make DESTDIR=/work install check
`, pkg.Path(AbsUsrSrc.Append("make"), false, pkg.NewHTTPGetTar( `, pkg.Path(AbsUsrSrc.Append("make"), false, newTar(
nil, "https://ftpmirror.gnu.org/gnu/make/make-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/make/make-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
))), version ))), version
} }

View File

@@ -7,11 +7,11 @@ func (t Toolchain) newLibglvnd() (pkg.Artifact, string) {
version = "1.7.0" version = "1.7.0"
checksum = "eIQJK2sgFQDHdeFkQO87TrSUaZRFG4y2DrwA8Ut-sGboI59uw1OOiIVqq2AIwnGY" checksum = "eIQJK2sgFQDHdeFkQO87TrSUaZRFG4y2DrwA8Ut-sGboI59uw1OOiIVqq2AIwnGY"
) )
return t.NewPackage("libglvnd", version, pkg.NewHTTPGetTar( return t.NewPackage("libglvnd", version, newFromGitLab(
nil, "https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/"+ "gitlab.freedesktop.org",
"v"+version+"/libglvnd-v"+version+".tar.bz2", "glvnd/libglvnd",
mustDecode(checksum), "v"+version,
pkg.TarBzip2, checksum,
), nil, (*MesonHelper)(nil), ), nil, (*MesonHelper)(nil),
Binutils, // symbols check fail with llvm nm Binutils, // symbols check fail with llvm nm
), version ), version
@@ -33,11 +33,11 @@ func (t Toolchain) newLibdrm() (pkg.Artifact, string) {
version = "2.4.131" version = "2.4.131"
checksum = "riHPSpvTnvCPbR-iT4jt7_X-z4rpwm6oNh9ZN2zP6RBFkFVxBRKmedG4eEXSADIh" checksum = "riHPSpvTnvCPbR-iT4jt7_X-z4rpwm6oNh9ZN2zP6RBFkFVxBRKmedG4eEXSADIh"
) )
return t.NewPackage("libdrm", version, pkg.NewHTTPGetTar( return t.NewPackage("libdrm", version, newFromGitLab(
nil, "https://gitlab.freedesktop.org/mesa/libdrm/-/archive/"+ "gitlab.freedesktop.org",
"libdrm-"+version+"/libdrm-libdrm-"+version+".tar.bz2", "mesa/libdrm",
mustDecode(checksum), "libdrm-"+version,
pkg.TarBzip2, checksum,
), nil, (*MesonHelper)(nil), ), nil, (*MesonHelper)(nil),
Binutils, // symbols check fail with llvm nm Binutils, // symbols check fail with llvm nm

View File

@@ -23,10 +23,11 @@ python3 setup.py \
install \ install \
--prefix=/system \ --prefix=/system \
--root=/work --root=/work
`, pkg.Path(AbsUsrSrc.Append("meson"), true, pkg.NewHTTPGetTar( `, pkg.Path(AbsUsrSrc.Append("meson"), true, newFromGitHubRelease(
nil, "https://github.com/mesonbuild/meson/releases/download/"+ "mesonbuild/meson",
version+"/meson-"+version+".tar.gz", version,
mustDecode(checksum), "meson-"+version+".tar.gz",
checksum,
pkg.TarGzip, pkg.TarGzip,
))), version ))), version
} }

View File

@@ -26,10 +26,9 @@ cp -v lksh /work/system/bin/sh
mkdir -p /work/bin/ mkdir -p /work/bin/
ln -vs ../system/bin/sh /work/bin/ ln -vs ../system/bin/sh /work/bin/
`, pkg.Path(AbsUsrSrc.Append("mksh"), false, pkg.NewHTTPGetTar( `, pkg.Path(AbsUsrSrc.Append("mksh"), false, newTar(
nil,
"https://mbsd.evolvis.org/MirOS/dist/mir/mksh/mksh-R"+version+".tgz", "https://mbsd.evolvis.org/MirOS/dist/mir/mksh/mksh-R"+version+".tgz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
))), version ))), version
} }

View File

@@ -7,11 +7,10 @@ func (t Toolchain) newMuslFts() (pkg.Artifact, string) {
version = "1.2.7" version = "1.2.7"
checksum = "N_p_ZApX3eHt7xoDCw1hLf6XdJOw7ZSx7xPvpvAP0knG2zgU0zeN5w8tt5Pg60XJ" checksum = "N_p_ZApX3eHt7xoDCw1hLf6XdJOw7ZSx7xPvpvAP0knG2zgU0zeN5w8tt5Pg60XJ"
) )
return t.NewPackage("musl-fts", version, pkg.NewHTTPGetTar( return t.NewPackage("musl-fts", version, newFromGitHub(
nil, "https://github.com/void-linux/musl-fts/archive/refs/tags/"+ "void-linux/musl-fts",
"v"+version+".tar.gz", "v"+version,
mustDecode(checksum), checksum,
pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Env: []string{ Env: []string{
"CC=cc -fPIC", "CC=cc -fPIC",

View File

@@ -7,11 +7,10 @@ func (t Toolchain) newMuslObstack() (pkg.Artifact, string) {
version = "1.2.3" version = "1.2.3"
checksum = "tVRY_KjIlkkMszcaRlkKdBVQHIXTT_T_TiMxbwErlILXrOBosocg8KklppZhNdCG" checksum = "tVRY_KjIlkkMszcaRlkKdBVQHIXTT_T_TiMxbwErlILXrOBosocg8KklppZhNdCG"
) )
return t.NewPackage("musl-obstack", version, pkg.NewHTTPGetTar( return t.NewPackage("musl-obstack", version, newFromGitHub(
nil, "https://github.com/void-linux/musl-obstack/archive/refs/tags/"+ "void-linux/musl-obstack",
"v"+version+".tar.gz", "v"+version,
mustDecode(checksum), checksum,
pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Env: []string{ Env: []string{
"CC=cc -fPIC", "CC=cc -fPIC",

View File

@@ -37,9 +37,9 @@ rmdir -v /work/lib
helper.Script = "" helper.Script = ""
} }
return t.NewPackage(name, version, pkg.NewHTTPGetTar( return t.NewPackage(name, version, newTar(
nil, "https://musl.libc.org/releases/musl-"+version+".tar.gz", "https://musl.libc.org/releases/musl-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
NonStage0: extra, NonStage0: extra,

View File

@@ -7,9 +7,9 @@ func (t Toolchain) newNcurses() (pkg.Artifact, string) {
version = "6.6" version = "6.6"
checksum = "XvWp4xi6hR_hH8XUoGY26L_pqBSDapJYulhzZqPuR0KNklqypqNc1yNXU-nOjf5w" checksum = "XvWp4xi6hR_hH8XUoGY26L_pqBSDapJYulhzZqPuR0KNklqypqNc1yNXU-nOjf5w"
) )
return t.NewPackage("ncurses", version, pkg.NewHTTPGetTar( return t.NewPackage("ncurses", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/ncurses/ncurses-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/ncurses/ncurses-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, &MakeHelper{ ), nil, &MakeHelper{
// "tests" are actual demo programs, not a test suite. // "tests" are actual demo programs, not a test suite.

View File

@@ -7,10 +7,10 @@ func (t Toolchain) newLibmnl() (pkg.Artifact, string) {
version = "1.0.5" version = "1.0.5"
checksum = "DN-vbbvQDpxXJm0TJ6xlluILvfrB86avrCTX50XyE9SEFSAZ_o8nuKc5Gu0Am7-u" checksum = "DN-vbbvQDpxXJm0TJ6xlluILvfrB86avrCTX50XyE9SEFSAZ_o8nuKc5Gu0Am7-u"
) )
return t.NewPackage("libmnl", version, pkg.NewHTTPGetTar( return t.NewPackage("libmnl", version, newTar(
nil, "https://www.netfilter.org/projects/libmnl/files/"+ "https://www.netfilter.org/projects/libmnl/files/"+
"libmnl-"+version+".tar.bz2", "libmnl-"+version+".tar.bz2",
mustDecode(checksum), checksum,
pkg.TarBzip2, pkg.TarBzip2,
), &PackageAttr{ ), &PackageAttr{
Patches: []KV{ Patches: []KV{

View File

@@ -7,9 +7,9 @@ func (t Toolchain) newNettle() (pkg.Artifact, string) {
version = "4.0" version = "4.0"
checksum = "6agC-vHzzoqAlaX3K9tX8yHgrm03HLqPZzVzq8jh_ePbuPMIvpxereu_uRJFmQK7" checksum = "6agC-vHzzoqAlaX3K9tX8yHgrm03HLqPZzVzq8jh_ePbuPMIvpxereu_uRJFmQK7"
) )
return t.NewPackage("nettle", version, pkg.NewHTTPGetTar( return t.NewPackage("nettle", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/nettle/nettle-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/nettle/nettle-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, (*MakeHelper)(nil), ), nil, (*MakeHelper)(nil),
M4, M4,

View File

@@ -7,9 +7,9 @@ func (t Toolchain) newNettle3() (pkg.Artifact, string) {
version = "3.10.2" version = "3.10.2"
checksum = "07aXlj10X5llf67jIqRQAA1pgLSgb0w_JYggZVPuKNoc-B-_usb5Kr8FrfBe7g1S" checksum = "07aXlj10X5llf67jIqRQAA1pgLSgb0w_JYggZVPuKNoc-B-_usb5Kr8FrfBe7g1S"
) )
return t.NewPackage("nettle", version, pkg.NewHTTPGetTar( return t.NewPackage("nettle", version, newTar(
nil, "https://ftpmirror.gnu.org/gnu/nettle/nettle-"+version+".tar.gz", "https://ftpmirror.gnu.org/gnu/nettle/nettle-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, (*MakeHelper)(nil), ), nil, (*MakeHelper)(nil),
M4, M4,

View File

@@ -21,17 +21,17 @@ python3 /usr/src/ninja/configure.py \
mkdir -p /work/system/bin/ mkdir -p /work/system/bin/
cp ninja /work/system/bin/ cp ninja /work/system/bin/
`, pkg.Path(AbsUsrSrc.Append("googletest"), false, `, pkg.Path(AbsUsrSrc.Append("googletest"), false,
pkg.NewHTTPGetTar( newFromGitHubRelease(
nil, "https://github.com/google/googletest/releases/download/"+ "google/googletest",
"v1.16.0/googletest-1.16.0.tar.gz", "v1.16.0",
mustDecode("NjLGvSbgPy_B-y-o1hdanlzEzaYeStFcvFGxpYV3KYlhrWWFRcugYhM3ZMzOA9B_"), "googletest-1.16.0.tar.gz",
"NjLGvSbgPy_B-y-o1hdanlzEzaYeStFcvFGxpYV3KYlhrWWFRcugYhM3ZMzOA9B_",
pkg.TarGzip, pkg.TarGzip,
)), pkg.Path(AbsUsrSrc.Append("ninja"), true, t.NewPatchedSource( )), pkg.Path(AbsUsrSrc.Append("ninja"), true, t.NewPatchedSource(
"ninja", version, pkg.NewHTTPGetTar( "ninja", version, newFromGitHub(
nil, "https://github.com/ninja-build/ninja/archive/refs/tags/"+ "ninja-build/ninja",
"v"+version+".tar.gz", "v"+version,
mustDecode(checksum), checksum,
pkg.TarGzip,
), false, ), false,
))), version ))), version
} }

View File

@@ -14,11 +14,10 @@ func (t Toolchain) newNSS() (pkg.Artifact, string) {
version0 = "4_38_2" version0 = "4_38_2"
checksum0 = "25x2uJeQnOHIiq_zj17b4sYqKgeoU8-IsySUptoPcdHZ52PohFZfGuIisBreWzx0" checksum0 = "25x2uJeQnOHIiq_zj17b4sYqKgeoU8-IsySUptoPcdHZ52PohFZfGuIisBreWzx0"
) )
return t.NewPackage("nss", version, pkg.NewHTTPGetTar( return t.NewPackage("nss", version, newFromGitHub(
nil, "https://github.com/nss-dev/nss/archive/refs/tags/"+ "nss-dev/nss",
"NSS_"+strings.Join(strings.SplitN(version, ".", 2), "_")+"_RTM.tar.gz", "NSS_"+strings.Join(strings.SplitN(version, ".", 2), "_")+"_RTM",
mustDecode(checksum), checksum,
pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Paths: []pkg.ExecPath{ Paths: []pkg.ExecPath{
pkg.Path(AbsUsrSrc.Append("nspr.zip"), false, pkg.NewHTTPGet( pkg.Path(AbsUsrSrc.Append("nspr.zip"), false, pkg.NewHTTPGet(

View File

@@ -7,10 +7,11 @@ func (t Toolchain) newOpenSSL() (pkg.Artifact, string) {
version = "3.6.2" version = "3.6.2"
checksum = "jH004dXTiE01Hp0kyShkWXwrSHEksZi4i_3v47D9H9Uz9LQ1aMwF7mrl2Tb4t_XA" checksum = "jH004dXTiE01Hp0kyShkWXwrSHEksZi4i_3v47D9H9Uz9LQ1aMwF7mrl2Tb4t_XA"
) )
return t.NewPackage("openssl", version, pkg.NewHTTPGetTar( return t.NewPackage("openssl", version, newFromGitHubRelease(
nil, "https://github.com/openssl/openssl/releases/download/"+ "openssl/openssl",
"openssl-"+version+"/openssl-"+version+".tar.gz", "openssl-"+version,
mustDecode(checksum), "openssl-"+version+".tar.gz",
checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Env: []string{ Env: []string{

View File

@@ -9,10 +9,11 @@ func (t Toolchain) newPCRE2() (pkg.Artifact, string) {
version = "10.47" version = "10.47"
checksum = "IbC24vVayju6nB9EhrBPSDexk22wDecdpyrjgC3nCZXkwTnUjq4CD2q5sopqu6CW" checksum = "IbC24vVayju6nB9EhrBPSDexk22wDecdpyrjgC3nCZXkwTnUjq4CD2q5sopqu6CW"
) )
return t.NewPackage("pcre2", version, pkg.NewHTTPGetTar( return t.NewPackage("pcre2", version, newFromGitHubRelease(
nil, "https://github.com/PCRE2Project/pcre2/releases/download/"+ "PCRE2Project/pcre2",
"pcre2-"+version+"/pcre2-"+version+".tar.bz2", "pcre2-"+version,
mustDecode(checksum), "pcre2-"+version+".tar.bz2",
checksum,
pkg.TarBzip2, pkg.TarBzip2,
), &PackageAttr{ ), &PackageAttr{
ScriptEarly: ` ScriptEarly: `

View File

@@ -11,9 +11,9 @@ func (t Toolchain) newPerl() (pkg.Artifact, string) {
version = "5.42.2" version = "5.42.2"
checksum = "Me_xFfgkRnVyG0sE6a74TktK2OUq9Z1LVJNEu_9RdZG3S2fbjfzNiuk2SJqHAgbm" checksum = "Me_xFfgkRnVyG0sE6a74TktK2OUq9Z1LVJNEu_9RdZG3S2fbjfzNiuk2SJqHAgbm"
) )
return t.NewPackage("perl", version, pkg.NewHTTPGetTar( return t.NewPackage("perl", version, newTar(
nil, "https://www.cpan.org/src/5.0/perl-"+version+".tar.gz", "https://www.cpan.org/src/5.0/perl-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
// uses source tree as scratch space // uses source tree as scratch space
@@ -91,10 +91,10 @@ func (t Toolchain) newPerlModuleBuild() (pkg.Artifact, string) {
version = "0.4234" version = "0.4234"
checksum = "ZKxEFG4hE1rqZt52zBL2LRZBMkYzhjb5-cTBXcsyA52EbPeeYyVxU176yAea8-Di" checksum = "ZKxEFG4hE1rqZt52zBL2LRZBMkYzhjb5-cTBXcsyA52EbPeeYyVxU176yAea8-Di"
) )
return t.newViaPerlModuleBuild("Module-Build", version, pkg.NewHTTPGetTar( return t.newViaPerlModuleBuild("Module-Build", version, newTar(
nil, "https://cpan.metacpan.org/authors/id/L/LE/LEONT/"+ "https://cpan.metacpan.org/authors/id/L/LE/LEONT/"+
"Module-Build-"+version+".tar.gz", "Module-Build-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil), version ), nil), version
} }
@@ -145,11 +145,11 @@ func (t Toolchain) newPerlLocaleGettext() (pkg.Artifact, string) {
version = "1.07" version = "1.07"
checksum = "cFq4BKFD1MWSoa7lsrPjpdo9kzPqd0jlRcBFUyL1L1isw8m3D_Sge_ff0MAu_9J3" checksum = "cFq4BKFD1MWSoa7lsrPjpdo9kzPqd0jlRcBFUyL1L1isw8m3D_Sge_ff0MAu_9J3"
) )
return t.newViaPerlMakeMaker("Locale::gettext", version, pkg.NewHTTPGetTar( return t.newViaPerlMakeMaker("Locale::gettext", version, newFromCPAN(
nil, "https://cpan.metacpan.org/authors/id/P/PV/PVANDRY/"+ "PVANDRY",
"Locale-gettext-"+version+".tar.gz", "Locale-gettext",
mustDecode(checksum), version,
pkg.TarGzip, checksum,
), nil), version ), nil), version
} }
func init() { func init() {
@@ -167,11 +167,11 @@ func (t Toolchain) newPerlPodParser() (pkg.Artifact, string) {
version = "1.67" version = "1.67"
checksum = "RdURu9mOfExk_loCp6abxlcQV3FycSNbTqhRS9i6JUqnYfGGEgercK30g0gjYyqe" checksum = "RdURu9mOfExk_loCp6abxlcQV3FycSNbTqhRS9i6JUqnYfGGEgercK30g0gjYyqe"
) )
return t.newViaPerlMakeMaker("Pod::Parser", version, pkg.NewHTTPGetTar( return t.newViaPerlMakeMaker("Pod::Parser", version, newFromCPAN(
nil, "https://cpan.metacpan.org/authors/id/M/MA/MAREKR/"+ "MAREKR",
"Pod-Parser-"+version+".tar.gz", "Pod-Parser",
mustDecode(checksum), version,
pkg.TarGzip, checksum,
), nil), version ), nil), version
} }
func init() { func init() {
@@ -189,11 +189,11 @@ func (t Toolchain) newPerlSGMLS() (pkg.Artifact, string) {
version = "1.1" version = "1.1"
checksum = "aZijn4MUqD-wfyZgdcCruCwl4SgDdu25cNmJ4_UvdAk9a7uz4gzMQdoeB6DQ6QOy" checksum = "aZijn4MUqD-wfyZgdcCruCwl4SgDdu25cNmJ4_UvdAk9a7uz4gzMQdoeB6DQ6QOy"
) )
return t.newViaPerlMakeMaker("SGMLS", version, pkg.NewHTTPGetTar( return t.newViaPerlMakeMaker("SGMLS", version, newFromCPAN(
nil, "https://cpan.metacpan.org/authors/id/R/RA/RAAB/"+ "RAAB",
"SGMLSpm-"+version+".tar.gz", "SGMLSpm",
mustDecode(checksum), version,
pkg.TarGzip, checksum,
), nil), version ), nil), version
} }
func init() { func init() {
@@ -211,11 +211,11 @@ func (t Toolchain) newPerlTermReadKey() (pkg.Artifact, string) {
version = "2.38" version = "2.38"
checksum = "qerL8Xo7kD0f42PZoiEbmE8Roc_S9pOa27LXelY4DN_0UNy_u5wLrGHI8utNlaiI" checksum = "qerL8Xo7kD0f42PZoiEbmE8Roc_S9pOa27LXelY4DN_0UNy_u5wLrGHI8utNlaiI"
) )
return t.newViaPerlMakeMaker("Term::ReadKey", version, pkg.NewHTTPGetTar( return t.newViaPerlMakeMaker("Term::ReadKey", version, newFromCPAN(
nil, "https://cpan.metacpan.org/authors/id/J/JS/JSTOWE/"+ "JSTOWE",
"TermReadKey-"+version+".tar.gz", "TermReadKey",
mustDecode(checksum), version,
pkg.TarGzip, checksum,
), nil), version ), nil), version
} }
func init() { func init() {
@@ -233,11 +233,11 @@ func (t Toolchain) newPerlTextCharWidth() (pkg.Artifact, string) {
version = "0.04" version = "0.04"
checksum = "G2p5RHU4_HiZ23ZusBA_enTlVMxz0J4esUx4CGcOPhY6xYTbp-aXWRN6lYZpzBw2" checksum = "G2p5RHU4_HiZ23ZusBA_enTlVMxz0J4esUx4CGcOPhY6xYTbp-aXWRN6lYZpzBw2"
) )
return t.newViaPerlMakeMaker("Text::CharWidth", version, pkg.NewHTTPGetTar( return t.newViaPerlMakeMaker("Text::CharWidth", version, newFromCPAN(
nil, "https://cpan.metacpan.org/authors/id/K/KU/KUBOTA/"+ "KUBOTA",
"Text-CharWidth-"+version+".tar.gz", "Text-CharWidth",
mustDecode(checksum), version,
pkg.TarGzip, checksum,
), nil), version ), nil), version
} }
func init() { func init() {
@@ -255,11 +255,11 @@ func (t Toolchain) newPerlTextWrapI18N() (pkg.Artifact, string) {
version = "0.06" version = "0.06"
checksum = "Vmo89qLgxUqyQ6QmWJVqu60aQAUjrNKRjFQSXGnvClxofzRjiCa6idzPgJ4VkixM" checksum = "Vmo89qLgxUqyQ6QmWJVqu60aQAUjrNKRjFQSXGnvClxofzRjiCa6idzPgJ4VkixM"
) )
return t.newViaPerlMakeMaker("Text::WrapI18N", version, pkg.NewHTTPGetTar( return t.newViaPerlMakeMaker("Text::WrapI18N", version, newFromCPAN(
nil, "https://cpan.metacpan.org/authors/id/K/KU/KUBOTA/"+ "KUBOTA",
"Text-WrapI18N-"+version+".tar.gz", "Text-WrapI18N",
mustDecode(checksum), version,
pkg.TarGzip, checksum,
), nil, ), nil,
PerlTextCharWidth, PerlTextCharWidth,
), version ), version
@@ -283,11 +283,11 @@ func (t Toolchain) newPerlMIMECharset() (pkg.Artifact, string) {
version = "1.013.1" version = "1.013.1"
checksum = "Ou_ukcrOa1cgtE3mptinb-os3bdL1SXzbRDFZQF3prrJj-drc3rp_huay7iDLJol" checksum = "Ou_ukcrOa1cgtE3mptinb-os3bdL1SXzbRDFZQF3prrJj-drc3rp_huay7iDLJol"
) )
return t.newViaPerlMakeMaker("MIME::Charset", version, pkg.NewHTTPGetTar( return t.newViaPerlMakeMaker("MIME::Charset", version, newFromCPAN(
nil, "https://cpan.metacpan.org/authors/id/N/NE/NEZUMI/"+ "NEZUMI",
"MIME-Charset-"+version+".tar.gz", "MIME-Charset",
mustDecode(checksum), version,
pkg.TarGzip, checksum,
), nil), version ), nil), version
} }
func init() { func init() {
@@ -300,25 +300,25 @@ func init() {
} }
} }
func (t Toolchain) newPerlUnicodeGCString() (pkg.Artifact, string) { func (t Toolchain) newPerlUnicodeLineBreak() (pkg.Artifact, string) {
const ( const (
version = "2019.001" version = "2019.001"
checksum = "ZHVkh7EDgAUHnTpvXsnPAuWpgNoBImtY_9_8TIbo2co_WgUwEb0MtXPhI8pAZ5OH" checksum = "ZHVkh7EDgAUHnTpvXsnPAuWpgNoBImtY_9_8TIbo2co_WgUwEb0MtXPhI8pAZ5OH"
) )
return t.newViaPerlMakeMaker("Unicode::GCString", version, pkg.NewHTTPGetTar( return t.newViaPerlMakeMaker("Unicode::LineBreak", version, newFromCPAN(
nil, "https://cpan.metacpan.org/authors/id/N/NE/NEZUMI/"+ "NEZUMI",
"Unicode-LineBreak-"+version+".tar.gz", "Unicode-LineBreak",
mustDecode(checksum), version,
pkg.TarGzip, checksum,
), nil, ), nil,
PerlMIMECharset, PerlMIMECharset,
), version ), version
} }
func init() { func init() {
artifactsM[PerlUnicodeGCString] = Metadata{ artifactsM[PerlUnicodeLineBreak] = Metadata{
f: Toolchain.newPerlUnicodeGCString, f: Toolchain.newPerlUnicodeLineBreak,
Name: "perl-Unicode::GCString", Name: "perl-Unicode::LineBreak",
Description: "String as Sequence of UAX #29 Grapheme Clusters", Description: "String as Sequence of UAX #29 Grapheme Clusters",
Website: "https://metacpan.org/release/Unicode-LineBreak", Website: "https://metacpan.org/release/Unicode-LineBreak",
@@ -333,11 +333,11 @@ func (t Toolchain) newPerlYAMLTiny() (pkg.Artifact, string) {
version = "1.76" version = "1.76"
checksum = "V1MV4KPym1LxSw8CRXqPR3K-l1hGHbT5Ob4t-9xju6R9X_CWyw6hI8wsMaNdHdBY" checksum = "V1MV4KPym1LxSw8CRXqPR3K-l1hGHbT5Ob4t-9xju6R9X_CWyw6hI8wsMaNdHdBY"
) )
return t.newViaPerlMakeMaker("YAML::Tiny", version, pkg.NewHTTPGetTar( return t.newViaPerlMakeMaker("YAML::Tiny", version, newFromCPAN(
nil, "https://cpan.metacpan.org/authors/id/E/ET/ETHER/"+ "ETHER",
"YAML-Tiny-"+version+".tar.gz", "YAML-Tiny",
mustDecode(checksum), version,
pkg.TarGzip, checksum,
), nil), version ), nil), version
} }
func init() { func init() {

View File

@@ -7,11 +7,11 @@ func (t Toolchain) newPkgConfig() (pkg.Artifact, string) {
version = "0.29.2" version = "0.29.2"
checksum = "6UsGqEMA8EER_5b9N0b32UCqiRy39B6_RnPfvuslWhtFV1qYD4DfS10crGZN_TP2" checksum = "6UsGqEMA8EER_5b9N0b32UCqiRy39B6_RnPfvuslWhtFV1qYD4DfS10crGZN_TP2"
) )
return t.NewPackage("pkg-config", version, pkg.NewHTTPGetTar( return t.NewPackage("pkg-config", version, newFromGitLab(
nil, "https://gitlab.freedesktop.org/pkg-config/pkg-config/-/archive"+ "gitlab.freedesktop.org",
"/pkg-config-"+version+"/pkg-config-pkg-config-"+version+".tar.bz2", "pkg-config/pkg-config",
mustDecode(checksum), "pkg-config-"+version,
pkg.TarBzip2, checksum,
), nil, &MakeHelper{ ), nil, &MakeHelper{
Generate: "./autogen.sh --no-configure", Generate: "./autogen.sh --no-configure",
Configure: []KV{ Configure: []KV{

View File

@@ -7,11 +7,11 @@ func (t Toolchain) newProcps() (pkg.Artifact, string) {
version = "4.0.6" version = "4.0.6"
checksum = "pl_fZLvDlv6iZTkm8l_tHFpzTDVFGCiSJEs3eu0zAX6u36AV36P_En8K7JPScRWM" checksum = "pl_fZLvDlv6iZTkm8l_tHFpzTDVFGCiSJEs3eu0zAX6u36AV36P_En8K7JPScRWM"
) )
return t.NewPackage("procps", version, pkg.NewHTTPGetTar( return t.NewPackage("procps", version, newFromGitLab(
nil, "https://gitlab.com/procps-ng/procps/-/archive/"+ "gitlab.com",
"v"+version+"/procps-v"+version+".tar.bz2", "procps-ng/procps",
mustDecode(checksum), "v"+version,
pkg.TarBzip2, checksum,
), nil, &MakeHelper{ ), nil, &MakeHelper{
Generate: "./autogen.sh", Generate: "./autogen.sh",
Configure: []KV{ Configure: []KV{

View File

@@ -13,10 +13,10 @@ func (t Toolchain) newPython() (pkg.Artifact, string) {
version = "3.14.4" version = "3.14.4"
checksum = "X0VRAAGOlCVldh4J9tRAE-YrJtDvqfQTJaqxKPXNX6YTPlwpR9GwA5WRIZDO-63s" checksum = "X0VRAAGOlCVldh4J9tRAE-YrJtDvqfQTJaqxKPXNX6YTPlwpR9GwA5WRIZDO-63s"
) )
return t.NewPackage("python", version, pkg.NewHTTPGetTar( return t.NewPackage("python", version, newTar(
nil, "https://www.python.org/ftp/python/"+version+ "https://www.python.org/ftp/python/"+version+
"/Python-"+version+".tgz", "/Python-"+version+".tgz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
// test_synopsis_sourceless assumes this is writable and checks __pycache__ // test_synopsis_sourceless assumes this is writable and checks __pycache__
@@ -142,11 +142,9 @@ pip3 install \
--prefix=/system \ --prefix=/system \
--root=/work \ --root=/work \
/usr/src/setuptools /usr/src/setuptools
`, pkg.Path(AbsUsrSrc.Append("setuptools"), true, pkg.NewHTTPGetTar( `, pkg.Path(AbsUsrSrc.Append("setuptools"), true, newFromGitHub(
nil, "https://github.com/pypa/setuptools/archive/refs/tags/"+ "pypa/setuptools",
"v"+version+".tar.gz", "v"+version, checksum,
mustDecode(checksum),
pkg.TarGzip,
))), version ))), version
} }
func init() { func init() {

View File

@@ -7,9 +7,9 @@ func (t Toolchain) newQEMU() (pkg.Artifact, string) {
version = "10.2.2" version = "10.2.2"
checksum = "uNzRxlrVoLWe-EmZmBp75SezymgE512iE5XN90Bl7wi6CjE_oQGQB-9ocs7E16QG" checksum = "uNzRxlrVoLWe-EmZmBp75SezymgE512iE5XN90Bl7wi6CjE_oQGQB-9ocs7E16QG"
) )
return t.NewPackage("qemu", version, pkg.NewHTTPGetTar( return t.NewPackage("qemu", version, newTar(
nil, "https://download.qemu.org/qemu-"+version+".tar.bz2", "https://download.qemu.org/qemu-"+version+".tar.bz2",
mustDecode(checksum), checksum,
pkg.TarBzip2, pkg.TarBzip2,
), &PackageAttr{ ), &PackageAttr{
Patches: []KV{ Patches: []KV{

View File

@@ -7,9 +7,9 @@ func (t Toolchain) newRdfind() (pkg.Artifact, string) {
version = "1.8.0" version = "1.8.0"
checksum = "PoaeJ2WIG6yyfe5VAYZlOdAQiR3mb3WhAUMj2ziTCx_IIEal4640HMJUb4SzU9U3" checksum = "PoaeJ2WIG6yyfe5VAYZlOdAQiR3mb3WhAUMj2ziTCx_IIEal4640HMJUb4SzU9U3"
) )
return t.NewPackage("rdfind", version, pkg.NewHTTPGetTar( return t.NewPackage("rdfind", version, newTar(
nil, "https://rdfind.pauldreik.se/rdfind-"+version+".tar.gz", "https://rdfind.pauldreik.se/rdfind-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, &MakeHelper{ ), nil, &MakeHelper{
// test suite hard codes /bin/echo // test suite hard codes /bin/echo

View File

@@ -4,6 +4,7 @@ package rosa
import ( import (
"errors" "errors"
"log" "log"
"path"
"runtime" "runtime"
"slices" "slices"
"strconv" "strconv"
@@ -603,3 +604,54 @@ cd '/usr/src/` + name + `/'
})..., })...,
) )
} }
// newTar wraps [pkg.NewHTTPGetTar] with a simpler function signature.
func newTar(url, checksum string, compression uint32) pkg.Artifact {
return pkg.NewHTTPGetTar(nil, url, mustDecode(checksum), compression)
}
// newFromCPAN is a helper for downloading release from CPAN.
func newFromCPAN(author, name, version, checksum string) pkg.Artifact {
return newTar(
"https://cpan.metacpan.org/authors/id/"+
author[:1]+"/"+author[:2]+"/"+author+"/"+
name+"-"+version+".tar.gz",
checksum,
pkg.TarGzip,
)
}
// newFromGitLab is a helper for downloading source from GitLab.
func newFromGitLab(domain, suffix, ref, checksum string) pkg.Artifact {
return newTar(
"https://"+domain+"/"+suffix+"/-/archive/"+
ref+"/"+path.Base(suffix)+"-"+
strings.ReplaceAll(ref, "/", "-")+".tar.bz2",
checksum,
pkg.TarBzip2,
)
}
// newFromGitHub is a helper for downloading source from Microsoft Github.
func newFromGitHub(suffix, tag, checksum string) pkg.Artifact {
return newTar(
"https://github.com/"+suffix+
"/archive/refs/tags/"+tag+".tar.gz",
checksum,
pkg.TarGzip,
)
}
// newFromGitHubRelease is a helper for downloading release tarball from
// Microsoft Github.
func newFromGitHubRelease(
suffix, tag, name, checksum string,
compression uint32,
) pkg.Artifact {
return newTar(
"https://github.com/"+suffix+
"/releases/download/"+tag+"/"+name,
checksum,
compression,
)
}

View File

@@ -7,10 +7,10 @@ func (t Toolchain) newRsync() (pkg.Artifact, string) {
version = "3.4.1" version = "3.4.1"
checksum = "VBlTsBWd9z3r2-ex7GkWeWxkUc5OrlgDzikAC0pK7ufTjAJ0MbmC_N04oSVTGPiv" checksum = "VBlTsBWd9z3r2-ex7GkWeWxkUc5OrlgDzikAC0pK7ufTjAJ0MbmC_N04oSVTGPiv"
) )
return t.NewPackage("rsync", version, pkg.NewHTTPGetTar( return t.NewPackage("rsync", version, newTar(
nil, "https://download.samba.org/pub/rsync/src/"+ "https://download.samba.org/pub/rsync/src/"+
"rsync-"+version+".tar.gz", "rsync-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
Flag: TEarly, Flag: TEarly,

View File

@@ -7,10 +7,11 @@ func (t Toolchain) newSquashfsTools() (pkg.Artifact, string) {
version = "4.7.5" version = "4.7.5"
checksum = "rF52wLQP-jeAmcD-48wqJcck8ZWRFwkax3T-7snaRf5EBnCQQh0YypMY9lwcivLz" checksum = "rF52wLQP-jeAmcD-48wqJcck8ZWRFwkax3T-7snaRf5EBnCQQh0YypMY9lwcivLz"
) )
return t.NewPackage("squashfs-tools", version, pkg.NewHTTPGetTar( return t.NewPackage("squashfs-tools", version, newFromGitHubRelease(
nil, "https://github.com/plougher/squashfs-tools/releases/"+ "plougher/squashfs-tools",
"download/"+version+"/squashfs-tools-"+version+".tar.gz", version,
mustDecode(checksum), "squashfs-tools-"+version+".tar.gz",
checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
// uses source tree as scratch space // uses source tree as scratch space

View File

@@ -60,14 +60,14 @@ var (
// NewStage0 returns a stage0 distribution created from curing [Stage0]. // NewStage0 returns a stage0 distribution created from curing [Stage0].
func NewStage0() pkg.Artifact { func NewStage0() pkg.Artifact {
stage0Once.Do(func() { stage0Once.Do(func() {
stage0 = pkg.NewHTTPGetTar( stage0 = newTar(
nil, "https://hakurei.app/seed/20260210/"+ "https://hakurei.app/seed/20260210/"+
"stage0-"+triplet()+".tar.bz2", "stage0-"+triplet()+".tar.bz2",
mustDecode(perArch[string]{ perArch[string]{
"amd64": "tqM1Li15BJ-uFG8zU-XjgFxoN_kuzh1VxrSDVUVa0vGmo-NeWapSftH739sY8EAg", "amd64": "tqM1Li15BJ-uFG8zU-XjgFxoN_kuzh1VxrSDVUVa0vGmo-NeWapSftH739sY8EAg",
"arm64": "CJj3ZSnRyLmFHlWIQtTPQD9oikOZY4cD_mI3v_-LIYc2hhg-cq_CZFBLzQBAkFIn", "arm64": "CJj3ZSnRyLmFHlWIQtTPQD9oikOZY4cD_mI3v_-LIYc2hhg-cq_CZFBLzQBAkFIn",
"riscv64": "FcszJjcVWdKAnn-bt8qmUn5GUUTjv_xQjXOWkUpOplRkG3Ckob3StUoAi5KQ5-QF", "riscv64": "FcszJjcVWdKAnn-bt8qmUn5GUUTjv_xQjXOWkUpOplRkG3Ckob3StUoAi5KQ5-QF",
}.unwrap()), }.unwrap(),
pkg.TarBzip2, pkg.TarBzip2,
) )
}) })

View File

@@ -31,11 +31,10 @@ rm \
os/root_unix_test.go os/root_unix_test.go
./all.bash ./all.bash
`, pkg.Path(AbsUsrSrc.Append("tamago"), false, pkg.NewHTTPGetTar( `, pkg.Path(AbsUsrSrc.Append("tamago"), false, newFromGitHub(
nil, "https://github.com/usbarmory/tamago-go/archive/refs/tags/"+ "usbarmory/tamago-go",
"tamago-go"+version+".tar.gz", "tamago-go"+version,
mustDecode(checksum), checksum,
pkg.TarGzip,
))), version ))), version
} }
func init() { func init() {

View File

@@ -7,9 +7,9 @@ func (t Toolchain) newToybox(suffix, script string) (pkg.Artifact, string) {
version = "0.8.13" version = "0.8.13"
checksum = "rZ1V1ATDte2WeQZanxLVoiRGdfPXhMlEo5-exX-e-ml8cGn9qOv0ABEUVZpX3wTI" checksum = "rZ1V1ATDte2WeQZanxLVoiRGdfPXhMlEo5-exX-e-ml8cGn9qOv0ABEUVZpX3wTI"
) )
return t.NewPackage("toybox"+suffix, version, pkg.NewHTTPGetTar( return t.NewPackage("toybox"+suffix, version, newTar(
nil, "https://landley.net/toybox/downloads/toybox-"+version+".tar.gz", "https://landley.net/toybox/downloads/toybox-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
// uses source tree as scratch space // uses source tree as scratch space

View File

@@ -22,11 +22,11 @@ make -f unix/Makefile generic1
mkdir -p /work/system/bin/ mkdir -p /work/system/bin/
mv unzip /work/system/bin/ mv unzip /work/system/bin/
`, pkg.Path(AbsUsrSrc.Append("unzip"), true, t.NewPatchedSource( `, pkg.Path(AbsUsrSrc.Append("unzip"), true, t.NewPatchedSource(
"unzip", version, pkg.NewHTTPGetTar( "unzip", version, newTar(
nil, "https://downloads.sourceforge.net/project/infozip/"+ "https://downloads.sourceforge.net/project/infozip/"+
"UnZip%206.x%20%28latest%29/UnZip%20"+version+"/"+ "UnZip%206.x%20%28latest%29/UnZip%20"+version+"/"+
"unzip"+strings.ReplaceAll(version, ".", "")+".tar.gz", "unzip"+strings.ReplaceAll(version, ".", "")+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), false, ), false,
))), version ))), version

View File

@@ -11,11 +11,11 @@ func (t Toolchain) newUtilLinux() (pkg.Artifact, string) {
version = "2.42" version = "2.42"
checksum = "Uy8Nxg9DsW5YwDoeaZeZTyQJ2YmnaaL_fSsQXsLUiFFUd7wnZeD_3SEaVO7ClJlk" checksum = "Uy8Nxg9DsW5YwDoeaZeZTyQJ2YmnaaL_fSsQXsLUiFFUd7wnZeD_3SEaVO7ClJlk"
) )
return t.NewPackage("util-linux", version, pkg.NewHTTPGetTar( return t.NewPackage("util-linux", version, newTar(
nil, "https://www.kernel.org/pub/linux/utils/util-linux/"+ "https://www.kernel.org/pub/linux/utils/util-linux/"+
"v"+strings.Join(strings.SplitN(version, ".", 3)[:2], ".")+ "v"+strings.Join(strings.SplitN(version, ".", 3)[:2], ".")+
"/util-linux-"+version+".tar.gz", "/util-linux-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), &PackageAttr{ ), &PackageAttr{
ScriptEarly: ` ScriptEarly: `

View File

@@ -7,11 +7,11 @@ func (t Toolchain) newWayland() (pkg.Artifact, string) {
version = "1.25.0" version = "1.25.0"
checksum = "q-4dYXme46JPgLGtXAxyZGTy7udll9RfT0VXtcW2YRR1WWViUhvdZXZneXzLqpCg" checksum = "q-4dYXme46JPgLGtXAxyZGTy7udll9RfT0VXtcW2YRR1WWViUhvdZXZneXzLqpCg"
) )
return t.NewPackage("wayland", version, pkg.NewHTTPGetTar( return t.NewPackage("wayland", version, newFromGitLab(
nil, "https://gitlab.freedesktop.org/wayland/wayland/"+ "gitlab.freedesktop.org",
"-/archive/"+version+"/wayland-"+version+".tar.bz2", "wayland/wayland",
mustDecode(checksum), version,
pkg.TarBzip2, checksum,
), &PackageAttr{ ), &PackageAttr{
Writable: true, Writable: true,
ScriptEarly: ` ScriptEarly: `
@@ -57,11 +57,11 @@ func (t Toolchain) newWaylandProtocols() (pkg.Artifact, string) {
version = "1.48" version = "1.48"
checksum = "xvfHCBIzXGwOqOu9b8dfhGw_U29Pd-g4JBwpYIaxee8SwEbxi6NaVU-Y1Q7wY4jK" checksum = "xvfHCBIzXGwOqOu9b8dfhGw_U29Pd-g4JBwpYIaxee8SwEbxi6NaVU-Y1Q7wY4jK"
) )
return t.NewPackage("wayland-protocols", version, pkg.NewHTTPGetTar( return t.NewPackage("wayland-protocols", version, newFromGitLab(
nil, "https://gitlab.freedesktop.org/wayland/wayland-protocols/"+ "gitlab.freedesktop.org",
"-/archive/"+version+"/wayland-protocols-"+version+".tar.bz2", "wayland/wayland-protocols",
mustDecode(checksum), version,
pkg.TarBzip2, checksum,
), &PackageAttr{ ), &PackageAttr{
Patches: []KV{ Patches: []KV{
{"build-only", `From 8b4c76275fa1b6e0a99a53494151d9a2c907144d Mon Sep 17 00:00:00 2001 {"build-only", `From 8b4c76275fa1b6e0a99a53494151d9a2c907144d Mon Sep 17 00:00:00 2001

View File

@@ -7,10 +7,10 @@ func (t Toolchain) newUtilMacros() (pkg.Artifact, string) {
version = "1.20.2" version = "1.20.2"
checksum = "Ze8QH3Z3emC0pWFP-0nUYeMy7aBW3L_dxBBmVgcumIHNzEKc1iGTR-yUFR3JcM1G" checksum = "Ze8QH3Z3emC0pWFP-0nUYeMy7aBW3L_dxBBmVgcumIHNzEKc1iGTR-yUFR3JcM1G"
) )
return t.NewPackage("util-macros", version, pkg.NewHTTPGetTar( return t.NewPackage("util-macros", version, newTar(
nil, "https://www.x.org/releases/individual/util/"+ "https://www.x.org/releases/individual/util/"+
"util-macros-"+version+".tar.gz", "util-macros-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, (*MakeHelper)(nil)), version ), nil, (*MakeHelper)(nil)), version
} }
@@ -31,10 +31,10 @@ func (t Toolchain) newXproto() (pkg.Artifact, string) {
version = "7.0.31" version = "7.0.31"
checksum = "Cm69urWY5RctKpR78eGzuwrjDEfXGkvHRdodj6sjypOGy5FF4-lmnUttVHYV1ydg" checksum = "Cm69urWY5RctKpR78eGzuwrjDEfXGkvHRdodj6sjypOGy5FF4-lmnUttVHYV1ydg"
) )
return t.NewPackage("xproto", version, pkg.NewHTTPGetTar( return t.NewPackage("xproto", version, newTar(
nil, "https://www.x.org/releases/individual/proto/"+ "https://www.x.org/releases/individual/proto/"+
"xproto-"+version+".tar.bz2", "xproto-"+version+".tar.bz2",
mustDecode(checksum), checksum,
pkg.TarBzip2, pkg.TarBzip2,
), nil, &MakeHelper{ ), nil, &MakeHelper{
// ancient configure script // ancient configure script
@@ -63,10 +63,10 @@ func (t Toolchain) newLibXau() (pkg.Artifact, string) {
version = "1.0.12" version = "1.0.12"
checksum = "G9AjnU_C160q814MCdjFOVt_mQz_pIt4wf4GNOQmGJS3UuuyMw53sfPvJ7WOqwXN" checksum = "G9AjnU_C160q814MCdjFOVt_mQz_pIt4wf4GNOQmGJS3UuuyMw53sfPvJ7WOqwXN"
) )
return t.NewPackage("libXau", version, pkg.NewHTTPGetTar( return t.NewPackage("libXau", version, newTar(
nil, "https://www.x.org/releases/individual/lib/"+ "https://www.x.org/releases/individual/lib/"+
"libXau-"+version+".tar.gz", "libXau-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, &MakeHelper{ ), nil, &MakeHelper{
// ancient configure script // ancient configure script

View File

@@ -7,9 +7,9 @@ func (t Toolchain) newXCBProto() (pkg.Artifact, string) {
version = "1.17.0" version = "1.17.0"
checksum = "_NtbKaJ_iyT7XiJz25mXQ7y-niTzE8sHPvLXZPcqtNoV_-vTzqkezJ8Hp2U1enCv" checksum = "_NtbKaJ_iyT7XiJz25mXQ7y-niTzE8sHPvLXZPcqtNoV_-vTzqkezJ8Hp2U1enCv"
) )
return t.NewPackage("xcb-proto", version, pkg.NewHTTPGetTar( return t.NewPackage("xcb-proto", version, newTar(
nil, "https://xcb.freedesktop.org/dist/xcb-proto-"+version+".tar.gz", "https://xcb.freedesktop.org/dist/xcb-proto-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, (*MakeHelper)(nil), ), nil, (*MakeHelper)(nil),
Python, Python,
@@ -32,9 +32,9 @@ func (t Toolchain) newXCB() (pkg.Artifact, string) {
version = "1.17.0" version = "1.17.0"
checksum = "hjjsc79LpWM_hZjNWbDDS6qRQUXREjjekS6UbUsDq-RR1_AjgNDxhRvZf-1_kzDd" checksum = "hjjsc79LpWM_hZjNWbDDS6qRQUXREjjekS6UbUsDq-RR1_AjgNDxhRvZf-1_kzDd"
) )
return t.NewPackage("xcb", version, pkg.NewHTTPGetTar( return t.NewPackage("xcb", version, newTar(
nil, "https://xcb.freedesktop.org/dist/libxcb-"+version+".tar.gz", "https://xcb.freedesktop.org/dist/libxcb-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, (*MakeHelper)(nil), ), nil, (*MakeHelper)(nil),
Python, Python,

View File

@@ -7,10 +7,11 @@ func (t Toolchain) newXZ() (pkg.Artifact, string) {
version = "5.8.3" version = "5.8.3"
checksum = "nCdayphPGdIdVoAZ2hR4vYlhDG9LeVKho_i7ealTud4Vxy5o5dWe0VwFlN7utuUL" checksum = "nCdayphPGdIdVoAZ2hR4vYlhDG9LeVKho_i7ealTud4Vxy5o5dWe0VwFlN7utuUL"
) )
return t.NewPackage("xz", version, pkg.NewHTTPGetTar( return t.NewPackage("xz", version, newFromGitHubRelease(
nil, "https://github.com/tukaani-project/xz/releases/download/"+ "tukaani-project/xz",
"v"+version+"/xz-"+version+".tar.bz2", "v"+version,
mustDecode(checksum), "xz-"+version+".tar.bz2",
checksum,
pkg.TarBzip2, pkg.TarBzip2,
), nil, (*MakeHelper)(nil), ), nil, (*MakeHelper)(nil),
Diffutils, Diffutils,

View File

@@ -7,9 +7,9 @@ func (t Toolchain) newZlib() (pkg.Artifact, string) {
version = "1.3.2" version = "1.3.2"
checksum = "KHZrePe42vL2XvOUE3KlJkp1UgWhWkl0jjT_BOvFhuM4GzieEH9S7CioepOFVGYB" checksum = "KHZrePe42vL2XvOUE3KlJkp1UgWhWkl0jjT_BOvFhuM4GzieEH9S7CioepOFVGYB"
) )
return t.NewPackage("zlib", version, pkg.NewHTTPGetTar( return t.NewPackage("zlib", version, newTar(
nil, "https://www.zlib.net/fossils/zlib-"+version+".tar.gz", "https://www.zlib.net/fossils/zlib-"+version+".tar.gz",
mustDecode(checksum), checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, &CMakeHelper{ ), nil, &CMakeHelper{
Cache: []KV{ Cache: []KV{

View File

@@ -7,10 +7,11 @@ func (t Toolchain) newZstd() (pkg.Artifact, string) {
version = "1.5.7" version = "1.5.7"
checksum = "4XhfR7DwVkwo1R-TmYDAJOcx9YXv9WSFhcFUe3hWEAMmdMLPhFaznCqYIA19_xxV" checksum = "4XhfR7DwVkwo1R-TmYDAJOcx9YXv9WSFhcFUe3hWEAMmdMLPhFaznCqYIA19_xxV"
) )
return t.NewPackage("zstd", version, pkg.NewHTTPGetTar( return t.NewPackage("zstd", version, newFromGitHubRelease(
nil, "https://github.com/facebook/zstd/releases/download/"+ "facebook/zstd",
"v"+version+"/zstd-"+version+".tar.gz", "v"+version,
mustDecode(checksum), "zstd-"+version+".tar.gz",
checksum,
pkg.TarGzip, pkg.TarGzip,
), nil, &CMakeHelper{ ), nil, &CMakeHelper{
Append: []string{"build", "cmake"}, Append: []string{"build", "cmake"},