internal/rosa: provide package metadata
All checks were successful
Test / Create distribution (push) Successful in 58s
Test / Sandbox (push) Successful in 2m36s
Test / Hakurei (push) Successful in 3m42s
Test / ShareFS (push) Successful in 3m48s
Test / Sandbox (race detector) (push) Successful in 4m55s
Test / Hakurei (race detector) (push) Successful in 5m53s
Test / Flake checks (push) Successful in 1m35s
All checks were successful
Test / Create distribution (push) Successful in 58s
Test / Sandbox (push) Successful in 2m36s
Test / Hakurei (push) Successful in 3m42s
Test / ShareFS (push) Successful in 3m48s
Test / Sandbox (race detector) (push) Successful in 4m55s
Test / Hakurei (race detector) (push) Successful in 5m53s
Test / Flake checks (push) Successful in 1m35s
This had to be done out-of-band because there was no way to efficiently represent these within Artifact. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newAttr() pkg.Artifact {
|
func (t Toolchain) newAttr() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "2.5.2"
|
version = "2.5.2"
|
||||||
checksum = "YWEphrz6vg1sUMmHHVr1CRo53pFXRhq_pjN-AlG8UgwZK1y6m7zuDhxqJhD0SV0l"
|
checksum = "YWEphrz6vg1sUMmHHVr1CRo53pFXRhq_pjN-AlG8UgwZK1y6m7zuDhxqJhD0SV0l"
|
||||||
@@ -62,11 +62,19 @@ ln -s ../../system/bin/perl /usr/bin
|
|||||||
`,
|
`,
|
||||||
}, (*MakeHelper)(nil),
|
}, (*MakeHelper)(nil),
|
||||||
Perl,
|
Perl,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Attr] = Toolchain.newAttr }
|
func init() {
|
||||||
|
artifactsM[Attr] = Metadata{
|
||||||
|
f: Toolchain.newAttr,
|
||||||
|
|
||||||
func (t Toolchain) newACL() pkg.Artifact {
|
Name: "attr",
|
||||||
|
Description: "Commands for Manipulating Filesystem Extended Attributes",
|
||||||
|
Website: "https://savannah.nongnu.org/projects/attr/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newACL() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "2.3.2"
|
version = "2.3.2"
|
||||||
checksum = "-fY5nwH4K8ZHBCRXrzLdguPkqjKI6WIiGu4dBtrZ1o0t6AIU73w8wwJz_UyjIS0P"
|
checksum = "-fY5nwH4K8ZHBCRXrzLdguPkqjKI6WIiGu4dBtrZ1o0t6AIU73w8wwJz_UyjIS0P"
|
||||||
@@ -81,6 +89,14 @@ func (t Toolchain) newACL() pkg.Artifact {
|
|||||||
SkipCheck: true,
|
SkipCheck: true,
|
||||||
},
|
},
|
||||||
Attr,
|
Attr,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[ACL] = Metadata{
|
||||||
|
f: Toolchain.newACL,
|
||||||
|
|
||||||
|
Name: "acl",
|
||||||
|
Description: "Commands for Manipulating POSIX Access Control Lists",
|
||||||
|
Website: "https://savannah.nongnu.org/projects/acl/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[ACL] = Toolchain.newACL }
|
|
||||||
|
|||||||
@@ -120,7 +120,10 @@ const (
|
|||||||
Zlib
|
Zlib
|
||||||
Zstd
|
Zstd
|
||||||
|
|
||||||
buildcatrust
|
// _presetUnexportedStart is the first unexported preset.
|
||||||
|
_presetUnexportedStart
|
||||||
|
|
||||||
|
buildcatrust = iota - 1
|
||||||
utilMacros
|
utilMacros
|
||||||
|
|
||||||
// Musl is a standalone libc that does not depend on the toolchain.
|
// Musl is a standalone libc that does not depend on the toolchain.
|
||||||
@@ -138,131 +141,59 @@ const (
|
|||||||
_presetEnd
|
_presetEnd
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
// Metadata is stage-agnostic information of a [PArtifact] not directly
|
||||||
// artifactsF is an array of functions for the result of [PArtifact].
|
// representable in the resulting [pkg.Artifact].
|
||||||
artifactsF [_presetEnd]func(t Toolchain) pkg.Artifact
|
type Metadata struct {
|
||||||
|
f func(t Toolchain) (a pkg.Artifact, version string)
|
||||||
|
|
||||||
// artifacts stores the result of artifactsF.
|
// Unique package name.
|
||||||
artifacts [_toolchainEnd][len(artifactsF)]pkg.Artifact
|
Name string `json:"name"`
|
||||||
|
// Short user-facing description.
|
||||||
|
Description string `json:"description"`
|
||||||
|
// Project home page.
|
||||||
|
Website string `json:"website,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Unversioned denotes an unversioned [PArtifact].
|
||||||
|
const Unversioned = "\x00"
|
||||||
|
|
||||||
|
var (
|
||||||
|
// artifactsM is an array of [PArtifact] metadata.
|
||||||
|
artifactsM [_presetEnd]Metadata
|
||||||
|
|
||||||
|
// artifacts stores the result of Metadata.f.
|
||||||
|
artifacts [_toolchainEnd][len(artifactsM)]pkg.Artifact
|
||||||
|
// versions stores the version of [PArtifact].
|
||||||
|
versions [_toolchainEnd][len(artifactsM)]string
|
||||||
// artifactsOnce is for lazy initialisation of artifacts.
|
// artifactsOnce is for lazy initialisation of artifacts.
|
||||||
artifactsOnce [_toolchainEnd][len(artifactsF)]sync.Once
|
artifactsOnce [_toolchainEnd][len(artifactsM)]sync.Once
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// GetMetadata returns [Metadata] of a [PArtifact].
|
||||||
|
func GetMetadata(p PArtifact) *Metadata { return &artifactsM[p] }
|
||||||
|
|
||||||
// Load returns the resulting [pkg.Artifact] of [PArtifact].
|
// Load returns the resulting [pkg.Artifact] of [PArtifact].
|
||||||
func (t Toolchain) Load(p PArtifact) pkg.Artifact {
|
func (t Toolchain) Load(p PArtifact) pkg.Artifact {
|
||||||
artifactsOnce[t][p].Do(func() {
|
artifactsOnce[t][p].Do(func() {
|
||||||
artifacts[t][p] = artifactsF[p](t)
|
artifacts[t][p], versions[t][p] = artifactsM[p].f(t)
|
||||||
})
|
})
|
||||||
return artifacts[t][p]
|
return artifacts[t][p]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Version returns the version string of [PArtifact].
|
||||||
|
func (t Toolchain) Version(p PArtifact) string {
|
||||||
|
artifactsOnce[t][p].Do(func() {
|
||||||
|
artifacts[t][p], versions[t][p] = artifactsM[p].f(t)
|
||||||
|
})
|
||||||
|
return versions[t][p]
|
||||||
|
}
|
||||||
|
|
||||||
// ResolveName returns a [PArtifact] by name.
|
// ResolveName returns a [PArtifact] by name.
|
||||||
func ResolveName(name string) (p PArtifact, ok bool) {
|
func ResolveName(name string) (p PArtifact, ok bool) {
|
||||||
p, ok = map[string]PArtifact{
|
for i := range _presetUnexportedStart {
|
||||||
"initramfs-image": ImageInitramfs,
|
if name == artifactsM[i].Name {
|
||||||
|
return i, true
|
||||||
"kernel": Kernel,
|
}
|
||||||
"kernel-headers": KernelHeaders,
|
}
|
||||||
"kernel-source": KernelSource,
|
return 0, false
|
||||||
|
|
||||||
"acl": ACL,
|
|
||||||
"argp-standalone": ArgpStandalone,
|
|
||||||
"attr": Attr,
|
|
||||||
"autoconf": Autoconf,
|
|
||||||
"automake": Automake,
|
|
||||||
"bc": BC,
|
|
||||||
"bash": Bash,
|
|
||||||
"binutils": Binutils,
|
|
||||||
"bison": Bison,
|
|
||||||
"bzip2": Bzip2,
|
|
||||||
"cmake": CMake,
|
|
||||||
"coreutils": Coreutils,
|
|
||||||
"curl": Curl,
|
|
||||||
"dtc": DTC,
|
|
||||||
"diffutils": Diffutils,
|
|
||||||
"elfutils": Elfutils,
|
|
||||||
"fakeroot": Fakeroot,
|
|
||||||
"findutils": Findutils,
|
|
||||||
"flex": Flex,
|
|
||||||
"fuse": Fuse,
|
|
||||||
"gmp": GMP,
|
|
||||||
"glib": GLib,
|
|
||||||
"gawk": Gawk,
|
|
||||||
"gen_init_cpio": GenInitCPIO,
|
|
||||||
"gettext": Gettext,
|
|
||||||
"git": Git,
|
|
||||||
"go": Go,
|
|
||||||
"gperf": Gperf,
|
|
||||||
"grep": Grep,
|
|
||||||
"gzip": Gzip,
|
|
||||||
"hakurei": Hakurei,
|
|
||||||
"hakurei-dist": HakureiDist,
|
|
||||||
"iniconfig": IniConfig,
|
|
||||||
"kmod": Kmod,
|
|
||||||
"libXau": LibXau,
|
|
||||||
"libcap": Libcap,
|
|
||||||
"libexpat": Libexpat,
|
|
||||||
"libiconv": Libiconv,
|
|
||||||
"libpsl": Libpsl,
|
|
||||||
"libseccomp": Libseccomp,
|
|
||||||
"libucontext": Libucontext,
|
|
||||||
"libxml2": Libxml2,
|
|
||||||
"libxslt": Libxslt,
|
|
||||||
"libffi": Libffi,
|
|
||||||
"libgd": Libgd,
|
|
||||||
"libtool": Libtool,
|
|
||||||
"m4": M4,
|
|
||||||
"mpc": MPC,
|
|
||||||
"mpfr": MPFR,
|
|
||||||
"make": Make,
|
|
||||||
"meson": Meson,
|
|
||||||
"mksh": Mksh,
|
|
||||||
"musl-fts": MuslFts,
|
|
||||||
"musl-obstack": MuslObstack,
|
|
||||||
"nss": NSS,
|
|
||||||
"nss-cacert": NSSCACert,
|
|
||||||
"ncurses": Ncurses,
|
|
||||||
"ninja": Ninja,
|
|
||||||
"openssl": OpenSSL,
|
|
||||||
"pcre2": PCRE2,
|
|
||||||
"packaging": Packaging,
|
|
||||||
"patch": Patch,
|
|
||||||
"perl": Perl,
|
|
||||||
"Locale::gettext": PerlLocaleGettext,
|
|
||||||
"MIME::Charset": PerlMIMECharset,
|
|
||||||
"Module::Build": PerlModuleBuild,
|
|
||||||
"Pod::Parser": PerlPodParser,
|
|
||||||
"SGMLS": PerlSGMLS,
|
|
||||||
"Term::ReadKey": PerlTermReadKey,
|
|
||||||
"Text::CharWidth": PerlTextCharWidth,
|
|
||||||
"Text::WrapI18N": PerlTextWrapI18N,
|
|
||||||
"Unicode::GCString": PerlUnicodeGCString,
|
|
||||||
"YAML::Tiny": PerlYAMLTiny,
|
|
||||||
"pkg-config": PkgConfig,
|
|
||||||
"pluggy": Pluggy,
|
|
||||||
"procps": Procps,
|
|
||||||
"pytest": PyTest,
|
|
||||||
"pygments": Pygments,
|
|
||||||
"python": Python,
|
|
||||||
"qemu": QEMU,
|
|
||||||
"rsync": Rsync,
|
|
||||||
"sed": Sed,
|
|
||||||
"setuptools": Setuptools,
|
|
||||||
"squashfs-tools": SquashfsTools,
|
|
||||||
"tamago": TamaGo,
|
|
||||||
"tar": Tar,
|
|
||||||
"texinfo": Texinfo,
|
|
||||||
"toybox": Toybox,
|
|
||||||
"unzip": Unzip,
|
|
||||||
"util-linux": UtilLinux,
|
|
||||||
"wayland": Wayland,
|
|
||||||
"wayland-protocols": WaylandProtocols,
|
|
||||||
"xcb": XCB,
|
|
||||||
"xcb-proto": XCBProto,
|
|
||||||
"xproto": Xproto,
|
|
||||||
"xz": XZ,
|
|
||||||
"zlib": Zlib,
|
|
||||||
"zstd": Zstd,
|
|
||||||
}[name]
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
|||||||
49
internal/rosa/all_test.go
Normal file
49
internal/rosa/all_test.go
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
package rosa
|
||||||
|
|
||||||
|
import "testing"
|
||||||
|
|
||||||
|
func TestLoad(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
for i := range _presetEnd {
|
||||||
|
p := PArtifact(i)
|
||||||
|
t.Run(GetMetadata(p).Name, func(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
Std.Load(p)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestResolveName(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
for i := range _presetUnexportedStart {
|
||||||
|
p := i
|
||||||
|
name := GetMetadata(p).Name
|
||||||
|
t.Run(name, func(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
if got, ok := ResolveName(name); !ok {
|
||||||
|
t.Fatal("ResolveName: ok = false")
|
||||||
|
} else if got != p {
|
||||||
|
t.Fatalf("ResolveName: %d, want %d", got, p)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func TestResolveNameUnexported(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
for i := _presetUnexportedStart; i < _presetEnd; i++ {
|
||||||
|
p := i
|
||||||
|
name := GetMetadata(p).Name
|
||||||
|
t.Run(name, func(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
if got, ok := ResolveName(name); ok {
|
||||||
|
t.Fatalf("ResolveName: resolved unexported preset %d", got)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newArgpStandalone() pkg.Artifact {
|
func (t Toolchain) newArgpStandalone() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.3"
|
version = "1.3"
|
||||||
checksum = "vtW0VyO2pJ-hPyYmDI2zwSLS8QL0sPAUKC1t3zNYbwN2TmsaE-fADhaVtNd3eNFl"
|
checksum = "vtW0VyO2pJ-hPyYmDI2zwSLS8QL0sPAUKC1t3zNYbwN2TmsaE-fADhaVtNd3eNFl"
|
||||||
@@ -23,6 +23,14 @@ install -D -m755 libargp.a /work/system/lib/libargp.a
|
|||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
Diffutils,
|
Diffutils,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[ArgpStandalone] = Metadata{
|
||||||
|
f: Toolchain.newArgpStandalone,
|
||||||
|
|
||||||
|
Name: "argp-standalone",
|
||||||
|
Description: "hierarchical argument parsing library broken out from glibc",
|
||||||
|
Website: "http://www.lysator.liu.se/~nisse/misc/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[ArgpStandalone] = Toolchain.newArgpStandalone }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newBzip2() pkg.Artifact {
|
func (t Toolchain) newBzip2() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.0.8"
|
version = "1.0.8"
|
||||||
checksum = "cTLykcco7boom-s05H1JVsQi1AtChYL84nXkg_92Dm1Xt94Ob_qlMg_-NSguIK-c"
|
checksum = "cTLykcco7boom-s05H1JVsQi1AtChYL84nXkg_92Dm1Xt94Ob_qlMg_-NSguIK-c"
|
||||||
@@ -23,6 +23,14 @@ func (t Toolchain) newBzip2() pkg.Artifact {
|
|||||||
"CC=cc",
|
"CC=cc",
|
||||||
},
|
},
|
||||||
Install: "make PREFIX=/work/system install",
|
Install: "make PREFIX=/work/system install",
|
||||||
})
|
}), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Bzip2] = Metadata{
|
||||||
|
f: Toolchain.newBzip2,
|
||||||
|
|
||||||
|
Name: "bzip2",
|
||||||
|
Description: "a freely available, patent free, high-quality data compressor",
|
||||||
|
Website: "https://sourceware.org/bzip2/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Bzip2] = Toolchain.newBzip2 }
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import (
|
|||||||
"hakurei.app/internal/pkg"
|
"hakurei.app/internal/pkg"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (t Toolchain) newCMake() pkg.Artifact {
|
func (t Toolchain) newCMake() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "4.2.3"
|
version = "4.2.3"
|
||||||
checksum = "Y4uYGnLrDQX78UdzH7fMzfok46Nt_1taDIHSmqgboU1yFi6f0iAXBDegMCu4eS-J"
|
checksum = "Y4uYGnLrDQX78UdzH7fMzfok46Nt_1taDIHSmqgboU1yFi6f0iAXBDegMCu4eS-J"
|
||||||
@@ -102,9 +102,17 @@ index 2ead810437..f85cbb8b1c 100644
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
KernelHeaders,
|
KernelHeaders,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[CMake] = Metadata{
|
||||||
|
f: Toolchain.newCMake,
|
||||||
|
|
||||||
|
Name: "cmake",
|
||||||
|
Description: "cross-platform, open-source build system",
|
||||||
|
Website: "https://cmake.org/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[CMake] = Toolchain.newCMake }
|
|
||||||
|
|
||||||
// CMakeHelper is the [CMake] build system helper.
|
// CMakeHelper is the [CMake] build system helper.
|
||||||
type CMakeHelper struct {
|
type CMakeHelper struct {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newCurl() pkg.Artifact {
|
func (t Toolchain) newCurl() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "8.18.0"
|
version = "8.18.0"
|
||||||
checksum = "YpOolP_sx1DIrCEJ3elgVAu0wTLDS-EZMZFvOP0eha7FaLueZUlEpuMwDzJNyi7i"
|
checksum = "YpOolP_sx1DIrCEJ3elgVAu0wTLDS-EZMZFvOP0eha7FaLueZUlEpuMwDzJNyi7i"
|
||||||
@@ -25,6 +25,14 @@ func (t Toolchain) newCurl() pkg.Artifact {
|
|||||||
|
|
||||||
Libpsl,
|
Libpsl,
|
||||||
OpenSSL,
|
OpenSSL,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Curl] = Metadata{
|
||||||
|
f: Toolchain.newCurl,
|
||||||
|
|
||||||
|
Name: "curl",
|
||||||
|
Description: "command line tool and library for transferring data with URLs",
|
||||||
|
Website: "https://curl.se/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Curl] = Toolchain.newCurl }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newDTC() pkg.Artifact {
|
func (t Toolchain) newDTC() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.7.2"
|
version = "1.7.2"
|
||||||
checksum = "vUoiRynPyYRexTpS6USweT5p4SVHvvVJs8uqFkkVD-YnFjwf6v3elQ0-Etrh00Dt"
|
checksum = "vUoiRynPyYRexTpS6USweT5p4SVHvvVJs8uqFkkVD-YnFjwf6v3elQ0-Etrh00Dt"
|
||||||
@@ -28,6 +28,14 @@ func (t Toolchain) newDTC() pkg.Artifact {
|
|||||||
M4,
|
M4,
|
||||||
Coreutils,
|
Coreutils,
|
||||||
Diffutils,
|
Diffutils,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[DTC] = Metadata{
|
||||||
|
f: Toolchain.newDTC,
|
||||||
|
|
||||||
|
Name: "dtc",
|
||||||
|
Description: "The Device Tree Compiler",
|
||||||
|
Website: "https://git.kernel.org/pub/scm/utils/dtc/dtc.git/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[DTC] = Toolchain.newDTC }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newElfutils() pkg.Artifact {
|
func (t Toolchain) newElfutils() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "0.194"
|
version = "0.194"
|
||||||
checksum = "Q3XUygUPv9vR1TkWucwUsQ8Kb1_F6gzk-KMPELr3cC_4AcTrprhVPMvN0CKkiYRa"
|
checksum = "Q3XUygUPv9vR1TkWucwUsQ8Kb1_F6gzk-KMPELr3cC_4AcTrprhVPMvN0CKkiYRa"
|
||||||
@@ -36,6 +36,14 @@ func (t Toolchain) newElfutils() pkg.Artifact {
|
|||||||
MuslFts,
|
MuslFts,
|
||||||
MuslObstack,
|
MuslObstack,
|
||||||
KernelHeaders,
|
KernelHeaders,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Elfutils] = Metadata{
|
||||||
|
f: Toolchain.newElfutils,
|
||||||
|
|
||||||
|
Name: "elfutils",
|
||||||
|
Description: "utilities and libraries to handle ELF files and DWARF data",
|
||||||
|
Website: "https://sourceware.org/elfutils/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Elfutils] = Toolchain.newElfutils }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newFakeroot() pkg.Artifact {
|
func (t Toolchain) newFakeroot() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.37.2"
|
version = "1.37.2"
|
||||||
checksum = "4ve-eDqVspzQ6VWDhPS0NjW3aSenBJcPAJq_BFT7OOFgUdrQzoTBxZWipDAGWxF8"
|
checksum = "4ve-eDqVspzQ6VWDhPS0NjW3aSenBJcPAJq_BFT7OOFgUdrQzoTBxZWipDAGWxF8"
|
||||||
@@ -46,6 +46,14 @@ index f135ad9..85c784c 100644
|
|||||||
Attr,
|
Attr,
|
||||||
Libcap,
|
Libcap,
|
||||||
KernelHeaders,
|
KernelHeaders,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Fakeroot] = Metadata{
|
||||||
|
f: Toolchain.newFakeroot,
|
||||||
|
|
||||||
|
Name: "fakeroot",
|
||||||
|
Description: "tool for simulating superuser privileges",
|
||||||
|
Website: "https://salsa.debian.org/clint/fakeroot",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Fakeroot] = Toolchain.newFakeroot }
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import (
|
|||||||
"hakurei.app/internal/pkg"
|
"hakurei.app/internal/pkg"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (t Toolchain) newFlex() pkg.Artifact {
|
func (t Toolchain) newFlex() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "2.6.4"
|
version = "2.6.4"
|
||||||
checksum = "p9POjQU7VhgOf3x5iFro8fjhy0NOanvA7CTeuWS_veSNgCixIJshTrWVkc5XLZkB"
|
checksum = "p9POjQU7VhgOf3x5iFro8fjhy0NOanvA7CTeuWS_veSNgCixIJshTrWVkc5XLZkB"
|
||||||
@@ -16,6 +16,14 @@ func (t Toolchain) newFlex() pkg.Artifact {
|
|||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), nil, (*MakeHelper)(nil),
|
), nil, (*MakeHelper)(nil),
|
||||||
M4,
|
M4,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Flex] = Metadata{
|
||||||
|
f: Toolchain.newFlex,
|
||||||
|
|
||||||
|
Name: "flex",
|
||||||
|
Description: "scanner generator for lexing in C and C++",
|
||||||
|
Website: "https://github.com/westes/flex/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Flex] = Toolchain.newFlex }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newFuse() pkg.Artifact {
|
func (t Toolchain) newFuse() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "3.18.1"
|
version = "3.18.1"
|
||||||
checksum = "COb-BgJRWXLbt9XUkNeuiroQizpMifXqxgieE1SlkMXhs_WGSyJStrmyewAw2hd6"
|
checksum = "COb-BgJRWXLbt9XUkNeuiroQizpMifXqxgieE1SlkMXhs_WGSyJStrmyewAw2hd6"
|
||||||
@@ -31,6 +31,14 @@ func (t Toolchain) newFuse() pkg.Artifact {
|
|||||||
PyTest,
|
PyTest,
|
||||||
|
|
||||||
KernelHeaders,
|
KernelHeaders,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Fuse] = Metadata{
|
||||||
|
f: Toolchain.newFuse,
|
||||||
|
|
||||||
|
Name: "fuse",
|
||||||
|
Description: "the reference implementation of the Linux FUSE interface",
|
||||||
|
Website: "https://github.com/libfuse/libfuse/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Fuse] = Toolchain.newFuse }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newGit() pkg.Artifact {
|
func (t Toolchain) newGit() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "2.52.0"
|
version = "2.52.0"
|
||||||
checksum = "uH3J1HAN_c6PfGNJd2OBwW4zo36n71wmkdvityYnrh8Ak0D1IifiAvEWz9Vi9DmS"
|
checksum = "uH3J1HAN_c6PfGNJd2OBwW4zo36n71wmkdvityYnrh8Ak0D1IifiAvEWz9Vi9DmS"
|
||||||
@@ -63,9 +63,17 @@ disable_test t2200-add-update
|
|||||||
Curl,
|
Curl,
|
||||||
OpenSSL,
|
OpenSSL,
|
||||||
Libexpat,
|
Libexpat,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Git] = Metadata{
|
||||||
|
f: Toolchain.newGit,
|
||||||
|
|
||||||
|
Name: "git",
|
||||||
|
Description: "distributed version control system",
|
||||||
|
Website: "https://www.git-scm.com/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Git] = Toolchain.newGit }
|
|
||||||
|
|
||||||
// NewViaGit returns a [pkg.Artifact] for cloning a git repository.
|
// NewViaGit returns a [pkg.Artifact] for cloning a git repository.
|
||||||
func (t Toolchain) NewViaGit(
|
func (t Toolchain) NewViaGit(
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newM4() pkg.Artifact {
|
func (t Toolchain) newM4() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.4.20"
|
version = "1.4.20"
|
||||||
checksum = "RT0_L3m4Co86bVBY3lCFAEs040yI1WdeNmRylFpah8IZovTm6O4wI7qiHJN3qsW9"
|
checksum = "RT0_L3m4Co86bVBY3lCFAEs040yI1WdeNmRylFpah8IZovTm6O4wI7qiHJN3qsW9"
|
||||||
@@ -18,11 +18,19 @@ chmod +w tests/test-c32ispunct.sh && echo '#!/bin/sh' > tests/test-c32ispunct.sh
|
|||||||
`,
|
`,
|
||||||
}, (*MakeHelper)(nil),
|
}, (*MakeHelper)(nil),
|
||||||
Diffutils,
|
Diffutils,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[M4] = Toolchain.newM4 }
|
func init() {
|
||||||
|
artifactsM[M4] = Metadata{
|
||||||
|
f: Toolchain.newM4,
|
||||||
|
|
||||||
func (t Toolchain) newBison() pkg.Artifact {
|
Name: "m4",
|
||||||
|
Description: "a macro processor with GNU extensions",
|
||||||
|
Website: "https://www.gnu.org/software/m4/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newBison() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "3.8.2"
|
version = "3.8.2"
|
||||||
checksum = "BhRM6K7URj1LNOkIDCFDctSErLS-Xo5d9ba9seg10o6ACrgC1uNhED7CQPgIY29Y"
|
checksum = "BhRM6K7URj1LNOkIDCFDctSErLS-Xo5d9ba9seg10o6ACrgC1uNhED7CQPgIY29Y"
|
||||||
@@ -35,11 +43,19 @@ func (t Toolchain) newBison() pkg.Artifact {
|
|||||||
M4,
|
M4,
|
||||||
Diffutils,
|
Diffutils,
|
||||||
Sed,
|
Sed,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Bison] = Toolchain.newBison }
|
func init() {
|
||||||
|
artifactsM[Bison] = Metadata{
|
||||||
|
f: Toolchain.newBison,
|
||||||
|
|
||||||
func (t Toolchain) newSed() pkg.Artifact {
|
Name: "bison",
|
||||||
|
Description: "a general-purpose parser generator",
|
||||||
|
Website: "https://www.gnu.org/software/bison/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newSed() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "4.9"
|
version = "4.9"
|
||||||
checksum = "pe7HWH4PHNYrazOTlUoE1fXmhn2GOPFN_xE62i0llOr3kYGrH1g2_orDz0UtZ9Nt"
|
checksum = "pe7HWH4PHNYrazOTlUoE1fXmhn2GOPFN_xE62i0llOr3kYGrH1g2_orDz0UtZ9Nt"
|
||||||
@@ -50,11 +66,19 @@ func (t Toolchain) newSed() pkg.Artifact {
|
|||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), nil, (*MakeHelper)(nil),
|
), nil, (*MakeHelper)(nil),
|
||||||
Diffutils,
|
Diffutils,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Sed] = Toolchain.newSed }
|
func init() {
|
||||||
|
artifactsM[Sed] = Metadata{
|
||||||
|
f: Toolchain.newSed,
|
||||||
|
|
||||||
func (t Toolchain) newAutoconf() pkg.Artifact {
|
Name: "sed",
|
||||||
|
Description: "a non-interactive command-line text editor",
|
||||||
|
Website: "https://www.gnu.org/software/sed/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newAutoconf() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "2.72"
|
version = "2.72"
|
||||||
checksum = "-c5blYkC-xLDer3TWEqJTyh1RLbOd1c5dnRLKsDnIrg_wWNOLBpaqMY8FvmUFJ33"
|
checksum = "-c5blYkC-xLDer3TWEqJTyh1RLbOd1c5dnRLKsDnIrg_wWNOLBpaqMY8FvmUFJ33"
|
||||||
@@ -75,11 +99,19 @@ func (t Toolchain) newAutoconf() pkg.Artifact {
|
|||||||
Perl,
|
Perl,
|
||||||
Bash,
|
Bash,
|
||||||
Diffutils,
|
Diffutils,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Autoconf] = Toolchain.newAutoconf }
|
func init() {
|
||||||
|
artifactsM[Autoconf] = Metadata{
|
||||||
|
f: Toolchain.newAutoconf,
|
||||||
|
|
||||||
func (t Toolchain) newAutomake() pkg.Artifact {
|
Name: "autoconf",
|
||||||
|
Description: "M4 macros to produce self-contained configure script",
|
||||||
|
Website: "https://www.gnu.org/software/autoconf/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newAutomake() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.18.1"
|
version = "1.18.1"
|
||||||
checksum = "FjvLG_GdQP7cThTZJLDMxYpRcKdpAVG-YDs1Fj1yaHlSdh_Kx6nRGN14E0r_BjcG"
|
checksum = "FjvLG_GdQP7cThTZJLDMxYpRcKdpAVG-YDs1Fj1yaHlSdh_Kx6nRGN14E0r_BjcG"
|
||||||
@@ -107,11 +139,19 @@ test_disable '#!/bin/sh' t/pr9.sh
|
|||||||
Gzip,
|
Gzip,
|
||||||
Autoconf,
|
Autoconf,
|
||||||
Diffutils,
|
Diffutils,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Automake] = Toolchain.newAutomake }
|
func init() {
|
||||||
|
artifactsM[Automake] = Metadata{
|
||||||
|
f: Toolchain.newAutomake,
|
||||||
|
|
||||||
func (t Toolchain) newLibtool() pkg.Artifact {
|
Name: "automake",
|
||||||
|
Description: "a tool for automatically generating Makefile.in files",
|
||||||
|
Website: "https://www.gnu.org/software/automake/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newLibtool() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "2.5.4"
|
version = "2.5.4"
|
||||||
checksum = "pa6LSrQggh8mSJHQfwGjysAApmZlGJt8wif2cCLzqAAa2jpsTY0jZ-6stS3BWZ2Q"
|
checksum = "pa6LSrQggh8mSJHQfwGjysAApmZlGJt8wif2cCLzqAAa2jpsTY0jZ-6stS3BWZ2Q"
|
||||||
@@ -128,11 +168,19 @@ func (t Toolchain) newLibtool() pkg.Artifact {
|
|||||||
},
|
},
|
||||||
M4,
|
M4,
|
||||||
Diffutils,
|
Diffutils,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Libtool] = Toolchain.newLibtool }
|
func init() {
|
||||||
|
artifactsM[Libtool] = Metadata{
|
||||||
|
f: Toolchain.newLibtool,
|
||||||
|
|
||||||
func (t Toolchain) newGzip() pkg.Artifact {
|
Name: "libtool",
|
||||||
|
Description: "a generic library support script",
|
||||||
|
Website: "https://www.gnu.org/software/libtool/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newGzip() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.14"
|
version = "1.14"
|
||||||
checksum = "NWhjUavnNfTDFkZJyAUonL9aCOak8GVajWX2OMlzpFnuI0ErpBFyj88mz2xSjz0q"
|
checksum = "NWhjUavnNfTDFkZJyAUonL9aCOak8GVajWX2OMlzpFnuI0ErpBFyj88mz2xSjz0q"
|
||||||
@@ -144,11 +192,19 @@ func (t Toolchain) newGzip() pkg.Artifact {
|
|||||||
), nil, &MakeHelper{
|
), nil, &MakeHelper{
|
||||||
// dependency loop
|
// dependency loop
|
||||||
SkipCheck: true,
|
SkipCheck: true,
|
||||||
})
|
}), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Gzip] = Toolchain.newGzip }
|
func init() {
|
||||||
|
artifactsM[Gzip] = Metadata{
|
||||||
|
f: Toolchain.newGzip,
|
||||||
|
|
||||||
func (t Toolchain) newGettext() pkg.Artifact {
|
Name: "gzip",
|
||||||
|
Description: "a popular data compression program",
|
||||||
|
Website: "https://www.gnu.org/software/gzip/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newGettext() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.0"
|
version = "1.0"
|
||||||
checksum = "3MasKeEdPeFEgWgzsBKk7JqWqql1wEMbgPmzAfs-mluyokoW0N8oQVxPQoOnSdgC"
|
checksum = "3MasKeEdPeFEgWgzsBKk7JqWqql1wEMbgPmzAfs-mluyokoW0N8oQVxPQoOnSdgC"
|
||||||
@@ -180,11 +236,19 @@ touch gettext-tools/autotools/archive.dir.tar
|
|||||||
Sed,
|
Sed,
|
||||||
|
|
||||||
KernelHeaders,
|
KernelHeaders,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Gettext] = Toolchain.newGettext }
|
func init() {
|
||||||
|
artifactsM[Gettext] = Metadata{
|
||||||
|
f: Toolchain.newGettext,
|
||||||
|
|
||||||
func (t Toolchain) newDiffutils() pkg.Artifact {
|
Name: "gettext",
|
||||||
|
Description: "tools for producing multi-lingual messages",
|
||||||
|
Website: "https://www.gnu.org/software/gettext/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newDiffutils() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "3.12"
|
version = "3.12"
|
||||||
checksum = "9J5VAq5oA7eqwzS1Yvw-l3G5o-TccUrNQR3PvyB_lgdryOFAfxtvQfKfhdpquE44"
|
checksum = "9J5VAq5oA7eqwzS1Yvw-l3G5o-TccUrNQR3PvyB_lgdryOFAfxtvQfKfhdpquE44"
|
||||||
@@ -203,11 +267,19 @@ test_disable 'int main(){return 0;}' gnulib-tests/test-c32ispunct.c
|
|||||||
test_disable '#!/bin/sh' tests/cmp
|
test_disable '#!/bin/sh' tests/cmp
|
||||||
`,
|
`,
|
||||||
Flag: TEarly,
|
Flag: TEarly,
|
||||||
}, (*MakeHelper)(nil))
|
}, (*MakeHelper)(nil)), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Diffutils] = Toolchain.newDiffutils }
|
func init() {
|
||||||
|
artifactsM[Diffutils] = Metadata{
|
||||||
|
f: Toolchain.newDiffutils,
|
||||||
|
|
||||||
func (t Toolchain) newPatch() pkg.Artifact {
|
Name: "diffutils",
|
||||||
|
Description: "several programs related to finding differences between files",
|
||||||
|
Website: "https://www.gnu.org/software/diffutils/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newPatch() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "2.8"
|
version = "2.8"
|
||||||
checksum = "MA0BQc662i8QYBD-DdGgyyfTwaeALZ1K0yusV9rAmNiIsQdX-69YC4t9JEGXZkeR"
|
checksum = "MA0BQc662i8QYBD-DdGgyyfTwaeALZ1K0yusV9rAmNiIsQdX-69YC4t9JEGXZkeR"
|
||||||
@@ -225,11 +297,19 @@ test_disable '#!/bin/sh' tests/ed-style
|
|||||||
test_disable '#!/bin/sh' tests/need-filename
|
test_disable '#!/bin/sh' tests/need-filename
|
||||||
`,
|
`,
|
||||||
Flag: TEarly,
|
Flag: TEarly,
|
||||||
}, (*MakeHelper)(nil))
|
}, (*MakeHelper)(nil)), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Patch] = Toolchain.newPatch }
|
func init() {
|
||||||
|
artifactsM[Patch] = Metadata{
|
||||||
|
f: Toolchain.newPatch,
|
||||||
|
|
||||||
func (t Toolchain) newBash() pkg.Artifact {
|
Name: "patch",
|
||||||
|
Description: "a program to apply diff output to files",
|
||||||
|
Website: "https://savannah.gnu.org/projects/patch/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newBash() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "5.3"
|
version = "5.3"
|
||||||
checksum = "4LQ_GRoB_ko-Ih8QPf_xRKA02xAm_TOxQgcJLmFDT6udUPxTAWrsj-ZNeuTusyDq"
|
checksum = "4LQ_GRoB_ko-Ih8QPf_xRKA02xAm_TOxQgcJLmFDT6udUPxTAWrsj-ZNeuTusyDq"
|
||||||
@@ -245,11 +325,19 @@ func (t Toolchain) newBash() pkg.Artifact {
|
|||||||
Configure: [][2]string{
|
Configure: [][2]string{
|
||||||
{"without-bash-malloc"},
|
{"without-bash-malloc"},
|
||||||
},
|
},
|
||||||
})
|
}), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Bash] = Toolchain.newBash }
|
func init() {
|
||||||
|
artifactsM[Bash] = Metadata{
|
||||||
|
f: Toolchain.newBash,
|
||||||
|
|
||||||
func (t Toolchain) newCoreutils() pkg.Artifact {
|
Name: "bash",
|
||||||
|
Description: "the Bourne Again SHell",
|
||||||
|
Website: "https://www.gnu.org/software/bash/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newCoreutils() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "9.9"
|
version = "9.9"
|
||||||
checksum = "B1_TaXj1j5aiVIcazLWu8Ix03wDV54uo2_iBry4qHG6Y-9bjDpUPlkNLmU_3Nvw6"
|
checksum = "B1_TaXj1j5aiVIcazLWu8Ix03wDV54uo2_iBry4qHG6Y-9bjDpUPlkNLmU_3Nvw6"
|
||||||
@@ -281,11 +369,19 @@ test_disable 'int main(){return 0;}' gnulib-tests/test-lchown.c
|
|||||||
Bash,
|
Bash,
|
||||||
|
|
||||||
KernelHeaders,
|
KernelHeaders,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Coreutils] = Toolchain.newCoreutils }
|
func init() {
|
||||||
|
artifactsM[Coreutils] = Metadata{
|
||||||
|
f: Toolchain.newCoreutils,
|
||||||
|
|
||||||
func (t Toolchain) newTexinfo() pkg.Artifact {
|
Name: "coreutils",
|
||||||
|
Description: "the basic file, shell and text manipulation utilities",
|
||||||
|
Website: "https://www.gnu.org/software/coreutils/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newTexinfo() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "7.2"
|
version = "7.2"
|
||||||
checksum = "9EelM5b7QGMAY5DKrAm_El8lofBGuFWlaBPSBhh7l_VQE8054MBmC0KBvGrABqjv"
|
checksum = "9EelM5b7QGMAY5DKrAm_El8lofBGuFWlaBPSBhh7l_VQE8054MBmC0KBvGrABqjv"
|
||||||
@@ -299,11 +395,19 @@ func (t Toolchain) newTexinfo() pkg.Artifact {
|
|||||||
SkipCheck: true,
|
SkipCheck: true,
|
||||||
},
|
},
|
||||||
Perl,
|
Perl,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Texinfo] = Toolchain.newTexinfo }
|
func init() {
|
||||||
|
artifactsM[Texinfo] = Metadata{
|
||||||
|
f: Toolchain.newTexinfo,
|
||||||
|
|
||||||
func (t Toolchain) newGperf() pkg.Artifact {
|
Name: "texinfo",
|
||||||
|
Description: "the GNU square-wheel-reinvension of man pages",
|
||||||
|
Website: "https://www.gnu.org/software/texinfo/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newGperf() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "3.3"
|
version = "3.3"
|
||||||
checksum = "RtIy9pPb_Bb8-31J2Nw-rRGso2JlS-lDlVhuNYhqR7Nt4xM_nObznxAlBMnarJv7"
|
checksum = "RtIy9pPb_Bb8-31J2Nw-rRGso2JlS-lDlVhuNYhqR7Nt4xM_nObznxAlBMnarJv7"
|
||||||
@@ -314,11 +418,19 @@ func (t Toolchain) newGperf() pkg.Artifact {
|
|||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), nil, (*MakeHelper)(nil),
|
), nil, (*MakeHelper)(nil),
|
||||||
Diffutils,
|
Diffutils,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Gperf] = Toolchain.newGperf }
|
func init() {
|
||||||
|
artifactsM[Gperf] = Metadata{
|
||||||
|
f: Toolchain.newGperf,
|
||||||
|
|
||||||
func (t Toolchain) newGawk() pkg.Artifact {
|
Name: "gperf",
|
||||||
|
Description: "a perfect hash function generator",
|
||||||
|
Website: "https://www.gnu.org/software/gperf/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newGawk() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "5.3.2"
|
version = "5.3.2"
|
||||||
checksum = "uIs0d14h_d2DgMGYwrPtegGNyt_bxzG3D6Fe-MmExx_pVoVkQaHzrtmiXVr6NHKk"
|
checksum = "uIs0d14h_d2DgMGYwrPtegGNyt_bxzG3D6Fe-MmExx_pVoVkQaHzrtmiXVr6NHKk"
|
||||||
@@ -332,11 +444,19 @@ func (t Toolchain) newGawk() pkg.Artifact {
|
|||||||
}, &MakeHelper{
|
}, &MakeHelper{
|
||||||
// dependency loop
|
// dependency loop
|
||||||
SkipCheck: true,
|
SkipCheck: true,
|
||||||
})
|
}), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Gawk] = Toolchain.newGawk }
|
func init() {
|
||||||
|
artifactsM[Gawk] = Metadata{
|
||||||
|
f: Toolchain.newGawk,
|
||||||
|
|
||||||
func (t Toolchain) newGrep() pkg.Artifact {
|
Name: "gawk",
|
||||||
|
Description: "an implementation of awk with GNU extensions",
|
||||||
|
Website: "https://www.gnu.org/software/gawk/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newGrep() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "3.12"
|
version = "3.12"
|
||||||
checksum = "qMB4RjaPNRRYsxix6YOrjE8gyAT1zVSTy4nW4wKW9fqa0CHYAuWgPwDTirENzm_1"
|
checksum = "qMB4RjaPNRRYsxix6YOrjE8gyAT1zVSTy4nW4wKW9fqa0CHYAuWgPwDTirENzm_1"
|
||||||
@@ -355,11 +475,19 @@ test_disable 'int main(){return 0;}' gnulib-tests/test-c32ispunct.c
|
|||||||
`,
|
`,
|
||||||
}, (*MakeHelper)(nil),
|
}, (*MakeHelper)(nil),
|
||||||
Diffutils,
|
Diffutils,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Grep] = Toolchain.newGrep }
|
func init() {
|
||||||
|
artifactsM[Grep] = Metadata{
|
||||||
|
f: Toolchain.newGrep,
|
||||||
|
|
||||||
func (t Toolchain) newFindutils() pkg.Artifact {
|
Name: "grep",
|
||||||
|
Description: "searches input for lines containing a match to a pattern",
|
||||||
|
Website: "https://www.gnu.org/software/grep/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newFindutils() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "4.10.0"
|
version = "4.10.0"
|
||||||
checksum = "ZXABdNBQXL7QjTygynRRTdXYWxQKZ0Wn5eMd3NUnxR0xaS0u0VfcKoTlbo50zxv6"
|
checksum = "ZXABdNBQXL7QjTygynRRTdXYWxQKZ0Wn5eMd3NUnxR0xaS0u0VfcKoTlbo50zxv6"
|
||||||
@@ -377,11 +505,19 @@ echo 'int main(){return 0;}' > tests/xargs/test-sigusr.c
|
|||||||
Diffutils,
|
Diffutils,
|
||||||
XZ,
|
XZ,
|
||||||
Sed,
|
Sed,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Findutils] = Toolchain.newFindutils }
|
func init() {
|
||||||
|
artifactsM[Findutils] = Metadata{
|
||||||
|
f: Toolchain.newFindutils,
|
||||||
|
|
||||||
func (t Toolchain) newBC() pkg.Artifact {
|
Name: "findutils",
|
||||||
|
Description: "the basic directory searching utilities",
|
||||||
|
Website: "https://www.gnu.org/software/findutils/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newBC() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.08.2"
|
version = "1.08.2"
|
||||||
checksum = "8h6f3hjV80XiFs6v9HOPF2KEyg1kuOgn5eeFdVspV05ODBVQss-ey5glc8AmneLy"
|
checksum = "8h6f3hjV80XiFs6v9HOPF2KEyg1kuOgn5eeFdVspV05ODBVQss-ey5glc8AmneLy"
|
||||||
@@ -397,11 +533,19 @@ func (t Toolchain) newBC() pkg.Artifact {
|
|||||||
}, (*MakeHelper)(nil),
|
}, (*MakeHelper)(nil),
|
||||||
Perl,
|
Perl,
|
||||||
Texinfo,
|
Texinfo,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[BC] = Toolchain.newBC }
|
func init() {
|
||||||
|
artifactsM[BC] = Metadata{
|
||||||
|
f: Toolchain.newBC,
|
||||||
|
|
||||||
func (t Toolchain) newLibiconv() pkg.Artifact {
|
Name: "bc",
|
||||||
|
Description: "an arbitrary precision numeric processing language",
|
||||||
|
Website: "https://www.gnu.org/software/bc/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newLibiconv() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.18"
|
version = "1.18"
|
||||||
checksum = "iV5q3VxP5VPdJ-X7O5OQI4fGm8VjeYb5viLd1L3eAHg26bbHb2_Qn63XPF3ucVZr"
|
checksum = "iV5q3VxP5VPdJ-X7O5OQI4fGm8VjeYb5viLd1L3eAHg26bbHb2_Qn63XPF3ucVZr"
|
||||||
@@ -410,11 +554,19 @@ func (t Toolchain) newLibiconv() pkg.Artifact {
|
|||||||
nil, "https://ftpmirror.gnu.org/gnu/libiconv/libiconv-"+version+".tar.gz",
|
nil, "https://ftpmirror.gnu.org/gnu/libiconv/libiconv-"+version+".tar.gz",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), nil, (*MakeHelper)(nil))
|
), nil, (*MakeHelper)(nil)), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Libiconv] = Toolchain.newLibiconv }
|
func init() {
|
||||||
|
artifactsM[Libiconv] = Metadata{
|
||||||
|
f: Toolchain.newLibiconv,
|
||||||
|
|
||||||
func (t Toolchain) newTar() pkg.Artifact {
|
Name: "libiconv",
|
||||||
|
Description: "iconv implementation independent of glibc",
|
||||||
|
Website: "https://www.gnu.org/software/libiconv/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newTar() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.35"
|
version = "1.35"
|
||||||
checksum = "zSaoSlVUDW0dSfm4sbL4FrXLFR8U40Fh3zY5DWhR5NCIJ6GjU6Kc4VZo2-ZqpBRA"
|
checksum = "zSaoSlVUDW0dSfm4sbL4FrXLFR8U40Fh3zY5DWhR5NCIJ6GjU6Kc4VZo2-ZqpBRA"
|
||||||
@@ -442,11 +594,19 @@ func (t Toolchain) newTar() pkg.Artifact {
|
|||||||
Gzip,
|
Gzip,
|
||||||
Bzip2,
|
Bzip2,
|
||||||
Zstd,
|
Zstd,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Tar] = Toolchain.newTar }
|
func init() {
|
||||||
|
artifactsM[Tar] = Metadata{
|
||||||
|
f: Toolchain.newTar,
|
||||||
|
|
||||||
func (t Toolchain) newBinutils() pkg.Artifact {
|
Name: "tar",
|
||||||
|
Description: "provides the ability to create tar archives",
|
||||||
|
Website: "https://www.gnu.org/software/tar/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newBinutils() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "2.45"
|
version = "2.45"
|
||||||
checksum = "hlLtqqHDmzAT2OQVHaKEd_io2DGFvJkaeS-igBuK8bRRir7LUKGHgHYNkDVKaHTT"
|
checksum = "hlLtqqHDmzAT2OQVHaKEd_io2DGFvJkaeS-igBuK8bRRir7LUKGHgHYNkDVKaHTT"
|
||||||
@@ -457,11 +617,19 @@ func (t Toolchain) newBinutils() pkg.Artifact {
|
|||||||
pkg.TarBzip2,
|
pkg.TarBzip2,
|
||||||
), nil, (*MakeHelper)(nil),
|
), nil, (*MakeHelper)(nil),
|
||||||
Bash,
|
Bash,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Binutils] = Toolchain.newBinutils }
|
func init() {
|
||||||
|
artifactsM[Binutils] = Metadata{
|
||||||
|
f: Toolchain.newBinutils,
|
||||||
|
|
||||||
func (t Toolchain) newGMP() pkg.Artifact {
|
Name: "binutils",
|
||||||
|
Description: "a collection of binary tools",
|
||||||
|
Website: "https://www.gnu.org/software/binutils/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newGMP() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "6.3.0"
|
version = "6.3.0"
|
||||||
checksum = "yrgbgEDWKDdMWVHh7gPbVl56-sRtVVhfvv0M_LX7xMUUk_mvZ1QOJEAnt7g4i3k5"
|
checksum = "yrgbgEDWKDdMWVHh7gPbVl56-sRtVVhfvv0M_LX7xMUUk_mvZ1QOJEAnt7g4i3k5"
|
||||||
@@ -473,11 +641,19 @@ func (t Toolchain) newGMP() pkg.Artifact {
|
|||||||
pkg.TarBzip2,
|
pkg.TarBzip2,
|
||||||
), nil, (*MakeHelper)(nil),
|
), nil, (*MakeHelper)(nil),
|
||||||
M4,
|
M4,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[GMP] = Toolchain.newGMP }
|
func init() {
|
||||||
|
artifactsM[GMP] = Metadata{
|
||||||
|
f: Toolchain.newGMP,
|
||||||
|
|
||||||
func (t Toolchain) newMPFR() pkg.Artifact {
|
Name: "gmp",
|
||||||
|
Description: "a free library for arbitrary precision arithmetic",
|
||||||
|
Website: "https://gmplib.org/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newMPFR() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "4.2.2"
|
version = "4.2.2"
|
||||||
checksum = "wN3gx0zfIuCn9r3VAn_9bmfvAYILwrRfgBjYSD1IjLqyLrLojNN5vKyQuTE9kA-B"
|
checksum = "wN3gx0zfIuCn9r3VAn_9bmfvAYILwrRfgBjYSD1IjLqyLrLojNN5vKyQuTE9kA-B"
|
||||||
@@ -489,11 +665,19 @@ func (t Toolchain) newMPFR() pkg.Artifact {
|
|||||||
pkg.TarBzip2,
|
pkg.TarBzip2,
|
||||||
), nil, (*MakeHelper)(nil),
|
), nil, (*MakeHelper)(nil),
|
||||||
GMP,
|
GMP,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[MPFR] = Toolchain.newMPFR }
|
func init() {
|
||||||
|
artifactsM[MPFR] = Metadata{
|
||||||
|
f: Toolchain.newMPFR,
|
||||||
|
|
||||||
func (t Toolchain) newMPC() pkg.Artifact {
|
Name: "mpfr",
|
||||||
|
Description: "a C library for multiple-precision floating-point computations",
|
||||||
|
Website: "https://www.mpfr.org/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newMPC() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.3.1"
|
version = "1.3.1"
|
||||||
checksum = "o8r8K9R4x7PuRx0-JE3-bC5jZQrtxGV2nkB773aqJ3uaxOiBDCID1gKjPaaDxX4V"
|
checksum = "o8r8K9R4x7PuRx0-JE3-bC5jZQrtxGV2nkB773aqJ3uaxOiBDCID1gKjPaaDxX4V"
|
||||||
@@ -506,11 +690,19 @@ func (t Toolchain) newMPC() pkg.Artifact {
|
|||||||
), nil, (*MakeHelper)(nil),
|
), nil, (*MakeHelper)(nil),
|
||||||
GMP,
|
GMP,
|
||||||
MPFR,
|
MPFR,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[MPC] = Toolchain.newMPC }
|
func init() {
|
||||||
|
artifactsM[MPC] = Metadata{
|
||||||
|
f: Toolchain.newMPC,
|
||||||
|
|
||||||
func (t Toolchain) newGCC() pkg.Artifact {
|
Name: "mpc",
|
||||||
|
Description: "a C library for the arithmetic of complex numbers",
|
||||||
|
Website: "https://www.multiprecision.org/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newGCC() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "15.2.0"
|
version = "15.2.0"
|
||||||
checksum = "TXJ5WrbXlGLzy1swghQTr4qxgDCyIZFgJry51XEPTBZ8QYbVmFeB4lZbSMtPJ-a1"
|
checksum = "TXJ5WrbXlGLzy1swghQTr4qxgDCyIZFgJry51XEPTBZ8QYbVmFeB4lZbSMtPJ-a1"
|
||||||
@@ -710,6 +902,14 @@ ln -s system/lib /work/
|
|||||||
Zlib,
|
Zlib,
|
||||||
Libucontext,
|
Libucontext,
|
||||||
KernelHeaders,
|
KernelHeaders,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[gcc] = Metadata{
|
||||||
|
f: Toolchain.newGCC,
|
||||||
|
|
||||||
|
Name: "gcc",
|
||||||
|
Description: "The GNU Compiler Collection",
|
||||||
|
Website: "https://www.gnu.org/software/gcc/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[gcc] = Toolchain.newGCC }
|
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ ln -s \
|
|||||||
)))
|
)))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t Toolchain) newGoLatest() pkg.Artifact {
|
func (t Toolchain) newGoLatest() (pkg.Artifact, string) {
|
||||||
var (
|
var (
|
||||||
bootstrapEnv []string
|
bootstrapEnv []string
|
||||||
bootstrapExtra []pkg.Artifact
|
bootstrapExtra []pkg.Artifact
|
||||||
@@ -153,9 +153,13 @@ rm \
|
|||||||
`, go123,
|
`, go123,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
version = "1.26.0"
|
||||||
|
checksum = "uHLcrgBc0NMcyTMDLRNAZIcOx0RyQlyekSl9xbWSwj3esEFWJysYLfLa3S8p39Nh"
|
||||||
|
)
|
||||||
return t.newGo(
|
return t.newGo(
|
||||||
"1.26.0",
|
version,
|
||||||
"uHLcrgBc0NMcyTMDLRNAZIcOx0RyQlyekSl9xbWSwj3esEFWJysYLfLa3S8p39Nh",
|
checksum,
|
||||||
finalEnv, `
|
finalEnv, `
|
||||||
sed -i \
|
sed -i \
|
||||||
's,/lib/ld-musl-`+linuxArch()+`.so.1,/system/bin/linker,' \
|
's,/lib/ld-musl-`+linuxArch()+`.so.1,/system/bin/linker,' \
|
||||||
@@ -164,6 +168,14 @@ sed -i \
|
|||||||
rm \
|
rm \
|
||||||
os/root_unix_test.go
|
os/root_unix_test.go
|
||||||
`, go125,
|
`, go125,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Go] = Metadata{
|
||||||
|
f: Toolchain.newGoLatest,
|
||||||
|
|
||||||
|
Name: "go",
|
||||||
|
Description: "the Go programming language toolchain",
|
||||||
|
Website: "https://go.dev/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Go] = Toolchain.newGoLatest }
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import (
|
|||||||
"hakurei.app/internal/pkg"
|
"hakurei.app/internal/pkg"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (t Toolchain) newGLib() pkg.Artifact {
|
func (t Toolchain) newGLib() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "2.86.4"
|
version = "2.86.4"
|
||||||
checksum = "AfTjBrrxtXXPL6dFa1LfTe40PyPSth62CoIkM5m_VJTUngGLOFHw6I4XE7RGQE8G"
|
checksum = "AfTjBrrxtXXPL6dFa1LfTe40PyPSth62CoIkM5m_VJTUngGLOFHw6I4XE7RGQE8G"
|
||||||
@@ -46,6 +46,14 @@ func (t Toolchain) newGLib() pkg.Artifact {
|
|||||||
PCRE2,
|
PCRE2,
|
||||||
Libffi,
|
Libffi,
|
||||||
Zlib,
|
Zlib,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[GLib] = Metadata{
|
||||||
|
f: Toolchain.newGLib,
|
||||||
|
|
||||||
|
Name: "glib",
|
||||||
|
Description: "the GNU library of miscellaneous stuff",
|
||||||
|
Website: "https://gitlab.gnome.org/GNOME/glib/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[GLib] = Toolchain.newGLib }
|
|
||||||
|
|||||||
@@ -58,7 +58,8 @@ func main() {
|
|||||||
)))
|
)))
|
||||||
}
|
}
|
||||||
func init() {
|
func init() {
|
||||||
artifactsF[Hakurei] = func(t Toolchain) pkg.Artifact {
|
artifactsM[Hakurei] = Metadata{
|
||||||
|
f: func(t Toolchain) (pkg.Artifact, string) {
|
||||||
return t.newHakurei("", `
|
return t.newHakurei("", `
|
||||||
mkdir -p /work/system/libexec/hakurei/
|
mkdir -p /work/system/libexec/hakurei/
|
||||||
|
|
||||||
@@ -83,12 +84,23 @@ mkdir -p /work/system/bin/
|
|||||||
hakurei \
|
hakurei \
|
||||||
sharefs \
|
sharefs \
|
||||||
../../bin/)
|
../../bin/)
|
||||||
`)
|
`), hakureiVersion
|
||||||
|
},
|
||||||
|
|
||||||
|
Name: "hakurei",
|
||||||
|
Description: "low-level userspace tooling for Rosa OS",
|
||||||
|
Website: "https://hakurei.app/",
|
||||||
}
|
}
|
||||||
artifactsF[HakureiDist] = func(t Toolchain) pkg.Artifact {
|
artifactsM[HakureiDist] = Metadata{
|
||||||
|
f: func(t Toolchain) (pkg.Artifact, string) {
|
||||||
return t.newHakurei("-dist", `
|
return t.newHakurei("-dist", `
|
||||||
export HAKUREI_VERSION
|
export HAKUREI_VERSION
|
||||||
DESTDIR=/work /usr/src/hakurei/dist/release.sh
|
DESTDIR=/work /usr/src/hakurei/dist/release.sh
|
||||||
`)
|
`), hakureiVersion
|
||||||
|
},
|
||||||
|
|
||||||
|
Name: "hakurei-dist",
|
||||||
|
Description: "low-level userspace tooling for Rosa OS (distribution tarball)",
|
||||||
|
Website: "https://hakurei.app/",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newImageInitramfs() pkg.Artifact {
|
func (t Toolchain) newImageInitramfs() (pkg.Artifact, string) {
|
||||||
return t.New("initramfs", TNoToolchain, []pkg.Artifact{
|
return t.New("initramfs", TNoToolchain, []pkg.Artifact{
|
||||||
t.Load(Zstd),
|
t.Load(Zstd),
|
||||||
t.Load(Hakurei),
|
t.Load(Hakurei),
|
||||||
@@ -14,6 +14,13 @@ dir /dev 0755 0 0
|
|||||||
nod /dev/null 0666 0 0 c 1 3
|
nod /dev/null 0666 0 0 c 1 3
|
||||||
nod /dev/console 0600 0 0 c 5 1
|
nod /dev/console 0600 0 0 c 5 1
|
||||||
file /init /system/libexec/hakurei/earlyinit 0555 0 0
|
file /init /system/libexec/hakurei/earlyinit 0555 0 0
|
||||||
`))))
|
`)))), Unversioned
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[ImageInitramfs] = Metadata{
|
||||||
|
Name: "initramfs-image",
|
||||||
|
Description: "Rosa OS initramfs image",
|
||||||
|
|
||||||
|
f: Toolchain.newImageInitramfs,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[ImageInitramfs] = Toolchain.newImageInitramfs }
|
|
||||||
|
|||||||
@@ -11,16 +11,24 @@ var kernelSource = pkg.NewHTTPGetTar(
|
|||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
)
|
)
|
||||||
|
|
||||||
func (t Toolchain) newKernelSource() pkg.Artifact {
|
func (t Toolchain) newKernelSource() (pkg.Artifact, string) {
|
||||||
return t.New("kernel-"+kernelVersion+"-src", 0, nil, nil, nil, `
|
return t.New("kernel-"+kernelVersion+"-src", 0, nil, nil, nil, `
|
||||||
mkdir -p /work/usr/src/
|
mkdir -p /work/usr/src/
|
||||||
cp -r /usr/src/linux /work/usr/src/
|
cp -r /usr/src/linux /work/usr/src/
|
||||||
chmod -R +w /work/usr/src/linux/
|
chmod -R +w /work/usr/src/linux/
|
||||||
`, pkg.Path(AbsUsrSrc.Append("linux"), false, kernelSource))
|
`, pkg.Path(AbsUsrSrc.Append("linux"), false, kernelSource)), kernelVersion
|
||||||
}
|
}
|
||||||
func init() { artifactsF[KernelSource] = Toolchain.newKernelSource }
|
func init() {
|
||||||
|
artifactsM[KernelSource] = Metadata{
|
||||||
|
f: Toolchain.newKernelSource,
|
||||||
|
|
||||||
func (t Toolchain) newKernelHeaders() pkg.Artifact {
|
Name: "kernel-source",
|
||||||
|
Description: "a writable kernel source tree installed to /usr/src/linux",
|
||||||
|
Website: "https://kernel.org/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newKernelHeaders() (pkg.Artifact, string) {
|
||||||
return t.NewPackage("kernel-headers", kernelVersion, kernelSource, &PackageAttr{
|
return t.NewPackage("kernel-headers", kernelVersion, kernelSource, &PackageAttr{
|
||||||
Flag: TEarly,
|
Flag: TEarly,
|
||||||
}, &MakeHelper{
|
}, &MakeHelper{
|
||||||
@@ -38,11 +46,19 @@ func (t Toolchain) newKernelHeaders() pkg.Artifact {
|
|||||||
Install: "# headers installed during make",
|
Install: "# headers installed during make",
|
||||||
},
|
},
|
||||||
Rsync,
|
Rsync,
|
||||||
)
|
), kernelVersion
|
||||||
}
|
}
|
||||||
func init() { artifactsF[KernelHeaders] = Toolchain.newKernelHeaders }
|
func init() {
|
||||||
|
artifactsM[KernelHeaders] = Metadata{
|
||||||
|
f: Toolchain.newKernelHeaders,
|
||||||
|
|
||||||
func (t Toolchain) newKernel() pkg.Artifact {
|
Name: "kernel-headers",
|
||||||
|
Description: "an installation of kernel headers",
|
||||||
|
Website: "https://kernel.org/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newKernel() (pkg.Artifact, string) {
|
||||||
return t.NewPackage("kernel", kernelVersion, kernelSource, &PackageAttr{
|
return t.NewPackage("kernel", kernelVersion, kernelSource, &PackageAttr{
|
||||||
Env: []string{
|
Env: []string{
|
||||||
"PATH=/system/sbin",
|
"PATH=/system/sbin",
|
||||||
@@ -123,14 +139,29 @@ rm -v /work/lib/modules/` + kernelVersion + `/build
|
|||||||
OpenSSL,
|
OpenSSL,
|
||||||
UtilLinux,
|
UtilLinux,
|
||||||
KernelHeaders,
|
KernelHeaders,
|
||||||
)
|
), kernelVersion
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Kernel] = Toolchain.newKernel }
|
func init() {
|
||||||
|
artifactsM[Kernel] = Metadata{
|
||||||
|
f: Toolchain.newKernel,
|
||||||
|
|
||||||
func (t Toolchain) newGenInitCPIO() pkg.Artifact {
|
Name: "kernel",
|
||||||
|
Description: "the generic Rosa OS linux kernel",
|
||||||
|
Website: "https://kernel.org/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newGenInitCPIO() (pkg.Artifact, string) {
|
||||||
return t.New("gen_init_cpio-"+kernelVersion, 0, nil, nil, nil, `
|
return t.New("gen_init_cpio-"+kernelVersion, 0, nil, nil, nil, `
|
||||||
mkdir -p /work/system/bin/
|
mkdir -p /work/system/bin/
|
||||||
cc -o /work/system/bin/gen_init_cpio /usr/src/linux/usr/gen_init_cpio.c
|
cc -o /work/system/bin/gen_init_cpio /usr/src/linux/usr/gen_init_cpio.c
|
||||||
`, pkg.Path(AbsUsrSrc.Append("linux"), false, kernelSource))
|
`, pkg.Path(AbsUsrSrc.Append("linux"), false, kernelSource)), kernelVersion
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[GenInitCPIO] = Metadata{
|
||||||
|
f: Toolchain.newGenInitCPIO,
|
||||||
|
|
||||||
|
Name: "gen_init_cpio",
|
||||||
|
Description: "a program in the kernel source tree for creating initramfs archive",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[GenInitCPIO] = Toolchain.newGenInitCPIO }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newKmod() pkg.Artifact {
|
func (t Toolchain) newKmod() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "34.2"
|
version = "34.2"
|
||||||
checksum = "0K7POeTKxMhExsaTsnKAC6LUNsRSfe6sSZxWONPbOu-GI_pXOw3toU_BIoqfBhJV"
|
checksum = "0K7POeTKxMhExsaTsnKAC6LUNsRSfe6sSZxWONPbOu-GI_pXOw3toU_BIoqfBhJV"
|
||||||
@@ -28,6 +28,14 @@ func (t Toolchain) newKmod() pkg.Artifact {
|
|||||||
Zstd,
|
Zstd,
|
||||||
OpenSSL,
|
OpenSSL,
|
||||||
KernelHeaders,
|
KernelHeaders,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Kmod] = Metadata{
|
||||||
|
f: Toolchain.newKmod,
|
||||||
|
|
||||||
|
Name: "kmod",
|
||||||
|
Description: "a set of tools to handle common tasks with Linux kernel modules",
|
||||||
|
Website: "https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Kmod] = Toolchain.newKmod }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newLibcap() pkg.Artifact {
|
func (t Toolchain) newLibcap() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "2.77"
|
version = "2.77"
|
||||||
checksum = "2GOTFU4cl2QoS7Dv5wh0c9-hxsQwIzMB9Y_gfAo5xKHqcM13fiHt1RbPkfemzjmB"
|
checksum = "2GOTFU4cl2QoS7Dv5wh0c9-hxsQwIzMB9Y_gfAo5xKHqcM13fiHt1RbPkfemzjmB"
|
||||||
@@ -39,6 +39,14 @@ ln -s ../system/bin/bash /bin/
|
|||||||
},
|
},
|
||||||
Bash,
|
Bash,
|
||||||
Diffutils,
|
Diffutils,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Libcap] = Metadata{
|
||||||
|
f: Toolchain.newLibcap,
|
||||||
|
|
||||||
|
Name: "libcap",
|
||||||
|
Description: "a library for getting and setting POSIX.1e draft 15 capabilities",
|
||||||
|
Website: "https://sites.google.com/site/fullycapable/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Libcap] = Toolchain.newLibcap }
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import (
|
|||||||
"hakurei.app/internal/pkg"
|
"hakurei.app/internal/pkg"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (t Toolchain) newLibexpat() pkg.Artifact {
|
func (t Toolchain) newLibexpat() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "2.7.3"
|
version = "2.7.3"
|
||||||
checksum = "GmkoD23nRi9cMT0cgG1XRMrZWD82UcOMzkkvP1gkwSFWCBgeSXMuoLpa8-v8kxW-"
|
checksum = "GmkoD23nRi9cMT0cgG1XRMrZWD82UcOMzkkvP1gkwSFWCBgeSXMuoLpa8-v8kxW-"
|
||||||
@@ -19,6 +19,14 @@ func (t Toolchain) newLibexpat() pkg.Artifact {
|
|||||||
pkg.TarBzip2,
|
pkg.TarBzip2,
|
||||||
), nil, (*MakeHelper)(nil),
|
), nil, (*MakeHelper)(nil),
|
||||||
Bash,
|
Bash,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Libexpat] = Metadata{
|
||||||
|
f: Toolchain.newLibexpat,
|
||||||
|
|
||||||
|
Name: "libexpat",
|
||||||
|
Description: "a stream-oriented XML parser library",
|
||||||
|
Website: "https://libexpat.github.io/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Libexpat] = Toolchain.newLibexpat }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newLibffi() pkg.Artifact {
|
func (t Toolchain) newLibffi() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "3.4.5"
|
version = "3.4.5"
|
||||||
checksum = "apIJzypF4rDudeRoI_n3K7N-zCeBLTbQlHRn9NSAZqdLAWA80mR0gXPTpHsL7oMl"
|
checksum = "apIJzypF4rDudeRoI_n3K7N-zCeBLTbQlHRn9NSAZqdLAWA80mR0gXPTpHsL7oMl"
|
||||||
@@ -14,6 +14,14 @@ func (t Toolchain) newLibffi() pkg.Artifact {
|
|||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), nil, (*MakeHelper)(nil),
|
), nil, (*MakeHelper)(nil),
|
||||||
KernelHeaders,
|
KernelHeaders,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Libffi] = Metadata{
|
||||||
|
f: Toolchain.newLibffi,
|
||||||
|
|
||||||
|
Name: "libffi",
|
||||||
|
Description: "a portable, high level programming interface to various calling conventions",
|
||||||
|
Website: "https://sourceware.org/libffi/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Libffi] = Toolchain.newLibffi }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newLibgd() pkg.Artifact {
|
func (t Toolchain) newLibgd() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "2.3.3"
|
version = "2.3.3"
|
||||||
checksum = "8T-sh1_FJT9K9aajgxzh8ot6vWIF-xxjcKAHvTak9MgGUcsFfzP8cAvvv44u2r36"
|
checksum = "8T-sh1_FJT9K9aajgxzh8ot6vWIF-xxjcKAHvTak9MgGUcsFfzP8cAvvv44u2r36"
|
||||||
@@ -21,6 +21,14 @@ mkdir /dev/shm/gd
|
|||||||
`,
|
`,
|
||||||
}, (*MakeHelper)(nil),
|
}, (*MakeHelper)(nil),
|
||||||
Zlib,
|
Zlib,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Libgd] = Metadata{
|
||||||
|
f: Toolchain.newLibgd,
|
||||||
|
|
||||||
|
Name: "libgd",
|
||||||
|
Description: "an open source code library for the dynamic creation of images",
|
||||||
|
Website: "https://libgd.github.io/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Libgd] = Toolchain.newLibgd }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newLibpsl() pkg.Artifact {
|
func (t Toolchain) newLibpsl() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "0.21.5"
|
version = "0.21.5"
|
||||||
checksum = "XjfxSzh7peG2Vg4vJlL8z4JZJLcXqbuP6pLWkrGCmRxlnYUFTKNBqWGHCxEOlCad"
|
checksum = "XjfxSzh7peG2Vg4vJlL8z4JZJLcXqbuP6pLWkrGCmRxlnYUFTKNBqWGHCxEOlCad"
|
||||||
@@ -21,6 +21,14 @@ test_disable 'int main(){return 0;}' tests/test-is-public-builtin.c
|
|||||||
`,
|
`,
|
||||||
}, (*MakeHelper)(nil),
|
}, (*MakeHelper)(nil),
|
||||||
Python,
|
Python,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Libpsl] = Metadata{
|
||||||
|
f: Toolchain.newLibpsl,
|
||||||
|
|
||||||
|
Name: "libpsl",
|
||||||
|
Description: "provides functions to work with the Mozilla Public Suffix List",
|
||||||
|
Website: "https://rockdaboot.github.io/libpsl/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Libpsl] = Toolchain.newLibpsl }
|
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
package rosa
|
package rosa
|
||||||
|
|
||||||
import (
|
import "hakurei.app/internal/pkg"
|
||||||
"hakurei.app/internal/pkg"
|
|
||||||
)
|
|
||||||
|
|
||||||
func (t Toolchain) newLibseccomp() pkg.Artifact {
|
func (t Toolchain) newLibseccomp() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "2.6.0"
|
version = "2.6.0"
|
||||||
checksum = "mMu-iR71guPjFbb31u-YexBaanKE_nYPjPux-vuBiPfS_0kbwJdfCGlkofaUm-EY"
|
checksum = "mMu-iR71guPjFbb31u-YexBaanKE_nYPjPux-vuBiPfS_0kbwJdfCGlkofaUm-EY"
|
||||||
@@ -24,6 +22,14 @@ ln -s ../system/bin/bash /bin/
|
|||||||
Gperf,
|
Gperf,
|
||||||
|
|
||||||
KernelHeaders,
|
KernelHeaders,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Libseccomp] = Metadata{
|
||||||
|
f: Toolchain.newLibseccomp,
|
||||||
|
|
||||||
|
Name: "libseccomp",
|
||||||
|
Description: "an interface to the Linux Kernel's syscall filtering mechanism",
|
||||||
|
Website: "https://github.com/seccomp/libseccomp/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Libseccomp] = Toolchain.newLibseccomp }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newLibucontext() pkg.Artifact {
|
func (t Toolchain) newLibucontext() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.5"
|
version = "1.5"
|
||||||
checksum = "Ggk7FMmDNBdCx1Z9PcNWWW6LSpjGYssn2vU0GK5BLXJYw7ZxZbA2m_eSgT9TFnIG"
|
checksum = "Ggk7FMmDNBdCx1Z9PcNWWW6LSpjGYssn2vU0GK5BLXJYw7ZxZbA2m_eSgT9TFnIG"
|
||||||
@@ -25,6 +25,14 @@ func (t Toolchain) newLibucontext() pkg.Artifact {
|
|||||||
"ARCH=" + linuxArch(),
|
"ARCH=" + linuxArch(),
|
||||||
},
|
},
|
||||||
Install: "make prefix=/system DESTDIR=/work install",
|
Install: "make prefix=/system DESTDIR=/work install",
|
||||||
})
|
}), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Libucontext] = Metadata{
|
||||||
|
f: Toolchain.newLibucontext,
|
||||||
|
|
||||||
|
Name: "libucontext",
|
||||||
|
Description: "ucontext implementation featuring glibc-compatible ABI",
|
||||||
|
Website: "https://github.com/kaniini/libucontext/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Libucontext] = Toolchain.newLibucontext }
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import (
|
|||||||
"hakurei.app/internal/pkg"
|
"hakurei.app/internal/pkg"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (t Toolchain) newLibxml2() pkg.Artifact {
|
func (t Toolchain) newLibxml2() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "2.15.1"
|
version = "2.15.1"
|
||||||
checksum = "pYzAR3cNrEHezhEMirgiq7jbboLzwMj5GD7SQp0jhSIMdgoU4G9oU9Gxun3zzUIU"
|
checksum = "pYzAR3cNrEHezhEMirgiq7jbboLzwMj5GD7SQp0jhSIMdgoU4G9oU9Gxun3zzUIU"
|
||||||
@@ -21,6 +21,14 @@ func (t Toolchain) newLibxml2() pkg.Artifact {
|
|||||||
}, (*MakeHelper)(nil),
|
}, (*MakeHelper)(nil),
|
||||||
Diffutils,
|
Diffutils,
|
||||||
XZ,
|
XZ,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Libxml2] = Metadata{
|
||||||
|
f: Toolchain.newLibxml2,
|
||||||
|
|
||||||
|
Name: "libxml2",
|
||||||
|
Description: "an XML toolkit implemented in C",
|
||||||
|
Website: "https://gitlab.gnome.org/GNOME/libxml2/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Libxml2] = Toolchain.newLibxml2 }
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import (
|
|||||||
"hakurei.app/internal/pkg"
|
"hakurei.app/internal/pkg"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (t Toolchain) newLibxslt() pkg.Artifact {
|
func (t Toolchain) newLibxslt() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.1.45"
|
version = "1.1.45"
|
||||||
checksum = "vw72UbREQnA3YDYuZ9-93hDr9BYCaKV6oh_U4Kt4n1Js_na4E-nFj-ksZnZ0kvEK"
|
checksum = "vw72UbREQnA3YDYuZ9-93hDr9BYCaKV6oh_U4Kt4n1Js_na4E-nFj-ksZnZ0kvEK"
|
||||||
@@ -27,6 +27,14 @@ func (t Toolchain) newLibxslt() pkg.Artifact {
|
|||||||
PkgConfig,
|
PkgConfig,
|
||||||
|
|
||||||
Libxml2,
|
Libxml2,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Libxslt] = Metadata{
|
||||||
|
f: Toolchain.newLibxslt,
|
||||||
|
|
||||||
|
Name: "libxslt",
|
||||||
|
Description: "an XSLT processor based on libxml2",
|
||||||
|
Website: "https://gitlab.gnome.org/GNOME/libxslt/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Libxslt] = Toolchain.newLibxslt }
|
|
||||||
|
|||||||
@@ -216,6 +216,10 @@ func (t Toolchain) newLLVM() (musl, compilerRT, runtimes, clang pkg.Artifact) {
|
|||||||
{"LLVM_ENABLE_LIBXML2", "OFF"},
|
{"LLVM_ENABLE_LIBXML2", "OFF"},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
muslHeaders, _ := t.newMusl(true, []string{
|
||||||
|
"CC=clang",
|
||||||
|
})
|
||||||
|
|
||||||
compilerRT = t.newLLVMVariant("compiler-rt", &llvmAttr{
|
compilerRT = t.newLLVMVariant("compiler-rt", &llvmAttr{
|
||||||
env: stage0ExclConcat(t, []string{},
|
env: stage0ExclConcat(t, []string{},
|
||||||
"LDFLAGS="+earlyLDFLAGS(false),
|
"LDFLAGS="+earlyLDFLAGS(false),
|
||||||
@@ -237,9 +241,9 @@ func (t Toolchain) newLLVM() (musl, compilerRT, runtimes, clang pkg.Artifact) {
|
|||||||
{"COMPILER_RT_BUILD_XRAY", "OFF"},
|
{"COMPILER_RT_BUILD_XRAY", "OFF"},
|
||||||
},
|
},
|
||||||
append: []string{"compiler-rt"},
|
append: []string{"compiler-rt"},
|
||||||
nonStage0: []pkg.Artifact{t.newMusl(true, []string{
|
nonStage0: []pkg.Artifact{
|
||||||
"CC=clang",
|
muslHeaders,
|
||||||
})},
|
},
|
||||||
script: `
|
script: `
|
||||||
mkdir -p "/work/system/lib/clang/21/lib/"
|
mkdir -p "/work/system/lib/clang/21/lib/"
|
||||||
ln -s \
|
ln -s \
|
||||||
@@ -255,7 +259,7 @@ ln -s \
|
|||||||
`,
|
`,
|
||||||
})
|
})
|
||||||
|
|
||||||
musl = t.newMusl(false, stage0ExclConcat(t, []string{
|
musl, _ = t.newMusl(false, stage0ExclConcat(t, []string{
|
||||||
"CC=clang",
|
"CC=clang",
|
||||||
"LIBCC=/system/lib/clang/21/lib/" +
|
"LIBCC=/system/lib/clang/21/lib/" +
|
||||||
triplet() + "/libclang_rt.builtins.a",
|
triplet() + "/libclang_rt.builtins.a",
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import (
|
|||||||
"hakurei.app/internal/pkg"
|
"hakurei.app/internal/pkg"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (t Toolchain) newMake() pkg.Artifact {
|
func (t Toolchain) newMake() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "4.4.1"
|
version = "4.4.1"
|
||||||
checksum = "YS_B07ZcAy9PbaK5_vKGj64SrxO2VMpnMKfc9I0Q9IC1rn0RwOH7802pJoj2Mq4a"
|
checksum = "YS_B07ZcAy9PbaK5_vKGj64SrxO2VMpnMKfc9I0Q9IC1rn0RwOH7802pJoj2Mq4a"
|
||||||
@@ -24,9 +24,17 @@ cd "$(mktemp -d)"
|
|||||||
nil, "https://ftpmirror.gnu.org/gnu/make/make-"+version+".tar.gz",
|
nil, "https://ftpmirror.gnu.org/gnu/make/make-"+version+".tar.gz",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
)))
|
))), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Make] = Metadata{
|
||||||
|
f: Toolchain.newMake,
|
||||||
|
|
||||||
|
Name: "make",
|
||||||
|
Description: "a tool which controls the generation of executables and other non-source files",
|
||||||
|
Website: "https://www.gnu.org/software/make/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Make] = Toolchain.newMake }
|
|
||||||
|
|
||||||
// MakeHelper is the [Make] build system helper.
|
// MakeHelper is the [Make] build system helper.
|
||||||
type MakeHelper struct {
|
type MakeHelper struct {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import (
|
|||||||
"hakurei.app/internal/pkg"
|
"hakurei.app/internal/pkg"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (t Toolchain) newMeson() pkg.Artifact {
|
func (t Toolchain) newMeson() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.10.1"
|
version = "1.10.1"
|
||||||
checksum = "w895BXF_icncnXatT_OLCFe2PYEtg4KrKooMgUYdN-nQVvbFX3PvYWHGEpogsHtd"
|
checksum = "w895BXF_icncnXatT_OLCFe2PYEtg4KrKooMgUYdN-nQVvbFX3PvYWHGEpogsHtd"
|
||||||
@@ -27,9 +27,17 @@ python3 setup.py \
|
|||||||
version+"/meson-"+version+".tar.gz",
|
version+"/meson-"+version+".tar.gz",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
)))
|
))), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Meson] = Metadata{
|
||||||
|
f: Toolchain.newMeson,
|
||||||
|
|
||||||
|
Name: "meson",
|
||||||
|
Description: "an open source build system",
|
||||||
|
Website: "https://mesonbuild.com/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Meson] = Toolchain.newMeson }
|
|
||||||
|
|
||||||
// MesonHelper is the [Meson] build system helper.
|
// MesonHelper is the [Meson] build system helper.
|
||||||
type MesonHelper struct {
|
type MesonHelper struct {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newMksh() pkg.Artifact {
|
func (t Toolchain) newMksh() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "59c"
|
version = "59c"
|
||||||
checksum = "0Zj-k4nXEu3IuJY4lvwD2OrC2t27GdZj8SPy4DoaeuBRH1padWb7oREpYgwY8JNq"
|
checksum = "0Zj-k4nXEu3IuJY4lvwD2OrC2t27GdZj8SPy4DoaeuBRH1padWb7oREpYgwY8JNq"
|
||||||
@@ -31,6 +31,14 @@ ln -vs ../system/bin/sh /work/bin/
|
|||||||
"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),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
)))
|
))), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Mksh] = Metadata{
|
||||||
|
f: Toolchain.newMksh,
|
||||||
|
|
||||||
|
Name: "mksh",
|
||||||
|
Description: "MirBSD Korn Shell",
|
||||||
|
Website: "https://www.mirbsd.org/mksh",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Mksh] = Toolchain.newMksh }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newMuslFts() pkg.Artifact {
|
func (t Toolchain) newMuslFts() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.2.7"
|
version = "1.2.7"
|
||||||
checksum = "N_p_ZApX3eHt7xoDCw1hLf6XdJOw7ZSx7xPvpvAP0knG2zgU0zeN5w8tt5Pg60XJ"
|
checksum = "N_p_ZApX3eHt7xoDCw1hLf6XdJOw7ZSx7xPvpvAP0knG2zgU0zeN5w8tt5Pg60XJ"
|
||||||
@@ -25,6 +25,14 @@ func (t Toolchain) newMuslFts() pkg.Artifact {
|
|||||||
Automake,
|
Automake,
|
||||||
Libtool,
|
Libtool,
|
||||||
PkgConfig,
|
PkgConfig,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[MuslFts] = Metadata{
|
||||||
|
f: Toolchain.newMuslFts,
|
||||||
|
|
||||||
|
Name: "musl-fts",
|
||||||
|
Description: "implementation of fts(3) functions which are missing in musl libc",
|
||||||
|
Website: "https://github.com/void-linux/musl-fts",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[MuslFts] = Toolchain.newMuslFts }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newMuslObstack() pkg.Artifact {
|
func (t Toolchain) newMuslObstack() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.2.3"
|
version = "1.2.3"
|
||||||
checksum = "tVRY_KjIlkkMszcaRlkKdBVQHIXTT_T_TiMxbwErlILXrOBosocg8KklppZhNdCG"
|
checksum = "tVRY_KjIlkkMszcaRlkKdBVQHIXTT_T_TiMxbwErlILXrOBosocg8KklppZhNdCG"
|
||||||
@@ -25,6 +25,14 @@ func (t Toolchain) newMuslObstack() pkg.Artifact {
|
|||||||
Automake,
|
Automake,
|
||||||
Libtool,
|
Libtool,
|
||||||
PkgConfig,
|
PkgConfig,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[MuslObstack] = Metadata{
|
||||||
|
f: Toolchain.newMuslObstack,
|
||||||
|
|
||||||
|
Name: "musl-obstack",
|
||||||
|
Description: "obstack functions and macros separated from glibc",
|
||||||
|
Website: "https://github.com/void-linux/musl-obstack",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[MuslObstack] = Toolchain.newMuslObstack }
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ func (t Toolchain) newMusl(
|
|||||||
headers bool,
|
headers bool,
|
||||||
env []string,
|
env []string,
|
||||||
extra ...pkg.Artifact,
|
extra ...pkg.Artifact,
|
||||||
) pkg.Artifact {
|
) (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.2.5"
|
version = "1.2.5"
|
||||||
checksum = "y6USdIeSdHER_Fw2eT2CNjqShEye85oEg2jnOur96D073ukmIpIqDOLmECQroyDb"
|
checksum = "y6USdIeSdHER_Fw2eT2CNjqShEye85oEg2jnOur96D073ukmIpIqDOLmECQroyDb"
|
||||||
@@ -50,10 +50,16 @@ rmdir -v /work/lib
|
|||||||
Env: env,
|
Env: env,
|
||||||
}, &helper,
|
}, &helper,
|
||||||
Coreutils,
|
Coreutils,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() {
|
func init() {
|
||||||
artifactsF[Musl] = func(t Toolchain) pkg.Artifact {
|
artifactsM[Musl] = Metadata{
|
||||||
|
f: func(t Toolchain) (pkg.Artifact, string) {
|
||||||
return t.newMusl(false, nil)
|
return t.newMusl(false, nil)
|
||||||
|
},
|
||||||
|
|
||||||
|
Name: "musl",
|
||||||
|
Description: "an implementation of the C standard library",
|
||||||
|
Website: "https://musl.libc.org/",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newNcurses() pkg.Artifact {
|
func (t Toolchain) newNcurses() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "6.6"
|
version = "6.6"
|
||||||
checksum = "XvWp4xi6hR_hH8XUoGY26L_pqBSDapJYulhzZqPuR0KNklqypqNc1yNXU-nOjf5w"
|
checksum = "XvWp4xi6hR_hH8XUoGY26L_pqBSDapJYulhzZqPuR0KNklqypqNc1yNXU-nOjf5w"
|
||||||
@@ -21,6 +21,14 @@ func (t Toolchain) newNcurses() pkg.Artifact {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
PkgConfig,
|
PkgConfig,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Ncurses] = Metadata{
|
||||||
|
f: Toolchain.newNcurses,
|
||||||
|
|
||||||
|
Name: "ncurses",
|
||||||
|
Description: "a free software emulation of curses in System V Release 4.0 (SVr4)",
|
||||||
|
Website: "https://invisible-island.net/ncurses/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Ncurses] = Toolchain.newNcurses }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newNinja() pkg.Artifact {
|
func (t Toolchain) newNinja() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.13.2"
|
version = "1.13.2"
|
||||||
checksum = "ygKWMa0YV2lWKiFro5hnL-vcKbc_-RACZuPu0Io8qDvgQlZ0dxv7hPNSFkt4214v"
|
checksum = "ygKWMa0YV2lWKiFro5hnL-vcKbc_-RACZuPu0Io8qDvgQlZ0dxv7hPNSFkt4214v"
|
||||||
@@ -33,6 +33,14 @@ cp ninja /work/system/bin/
|
|||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), false,
|
), false,
|
||||||
)))
|
))), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Ninja] = Metadata{
|
||||||
|
f: Toolchain.newNinja,
|
||||||
|
|
||||||
|
Name: "ninja",
|
||||||
|
Description: "a small build system with a focus on speed",
|
||||||
|
Website: "https://ninja-build.org/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Ninja] = Toolchain.newNinja }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newOpenSSL() pkg.Artifact {
|
func (t Toolchain) newOpenSSL() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "3.5.5"
|
version = "3.5.5"
|
||||||
checksum = "I2Hp1LxcTR8j4G6LFEQMVy6EJH-Na1byI9Ti-ThBot6EMLNRnjGXGq-WXrim3Fkz"
|
checksum = "I2Hp1LxcTR8j4G6LFEQMVy6EJH-Na1byI9Ti-ThBot6EMLNRnjGXGq-WXrim3Fkz"
|
||||||
@@ -35,6 +35,14 @@ func (t Toolchain) newOpenSSL() pkg.Artifact {
|
|||||||
|
|
||||||
Zlib,
|
Zlib,
|
||||||
KernelHeaders,
|
KernelHeaders,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[OpenSSL] = Metadata{
|
||||||
|
f: Toolchain.newOpenSSL,
|
||||||
|
|
||||||
|
Name: "openssl",
|
||||||
|
Description: "TLS/SSL and crypto library",
|
||||||
|
Website: "https://www.openssl.org/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[OpenSSL] = Toolchain.newOpenSSL }
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import (
|
|||||||
"hakurei.app/internal/pkg"
|
"hakurei.app/internal/pkg"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (t Toolchain) newPCRE2() pkg.Artifact {
|
func (t Toolchain) newPCRE2() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "10.43"
|
version = "10.43"
|
||||||
checksum = "iyNw-POPSJwiZVJfUK5qACA6q2uMzP-84WieimN_CskaEkuw5fRnRTZhEv6ry2Yo"
|
checksum = "iyNw-POPSJwiZVJfUK5qACA6q2uMzP-84WieimN_CskaEkuw5fRnRTZhEv6ry2Yo"
|
||||||
@@ -28,6 +28,14 @@ ln -s ../system/bin/toybox /bin/echo
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
Diffutils,
|
Diffutils,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[PCRE2] = Metadata{
|
||||||
|
f: Toolchain.newPCRE2,
|
||||||
|
|
||||||
|
Name: "pcre2",
|
||||||
|
Description: "a set of C functions that implement regular expression pattern matching",
|
||||||
|
Website: "https://pcre2project.github.io/pcre2/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[PCRE2] = Toolchain.newPCRE2 }
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import (
|
|||||||
"hakurei.app/internal/pkg"
|
"hakurei.app/internal/pkg"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (t Toolchain) newPerl() pkg.Artifact {
|
func (t Toolchain) newPerl() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "5.42.0"
|
version = "5.42.0"
|
||||||
checksum = "2KR7Jbpk-ZVn1a30LQRwbgUvg2AXlPQZfzrqCr31qD5-yEsTwVQ_W76eZH-EdxM9"
|
checksum = "2KR7Jbpk-ZVn1a30LQRwbgUvg2AXlPQZfzrqCr31qD5-yEsTwVQ_W76eZH-EdxM9"
|
||||||
@@ -45,9 +45,17 @@ rm -f /system/bin/ps # perl does not like toybox ps
|
|||||||
"test_harness",
|
"test_harness",
|
||||||
},
|
},
|
||||||
Install: "./perl -Ilib -I. installperl --destdir=/work",
|
Install: "./perl -Ilib -I. installperl --destdir=/work",
|
||||||
})
|
}), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Perl] = Metadata{
|
||||||
|
f: Toolchain.newPerl,
|
||||||
|
|
||||||
|
Name: "perl",
|
||||||
|
Description: "The Perl Programming language",
|
||||||
|
Website: "https://www.perl.org/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Perl] = Toolchain.newPerl }
|
|
||||||
|
|
||||||
// newViaPerlModuleBuild installs a perl module via Build.PL.
|
// newViaPerlModuleBuild installs a perl module via Build.PL.
|
||||||
func (t Toolchain) newViaPerlModuleBuild(
|
func (t Toolchain) newViaPerlModuleBuild(
|
||||||
@@ -72,7 +80,7 @@ perl Build.PL --prefix=/system
|
|||||||
)))
|
)))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t Toolchain) newPerlModuleBuild() pkg.Artifact {
|
func (t Toolchain) newPerlModuleBuild() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "0.4234"
|
version = "0.4234"
|
||||||
checksum = "ZKxEFG4hE1rqZt52zBL2LRZBMkYzhjb5-cTBXcsyA52EbPeeYyVxU176yAea8-Di"
|
checksum = "ZKxEFG4hE1rqZt52zBL2LRZBMkYzhjb5-cTBXcsyA52EbPeeYyVxU176yAea8-Di"
|
||||||
@@ -82,9 +90,17 @@ func (t Toolchain) newPerlModuleBuild() pkg.Artifact {
|
|||||||
"Module-Build-"+version+".tar.gz",
|
"Module-Build-"+version+".tar.gz",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), nil)
|
), nil), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[PerlModuleBuild] = Metadata{
|
||||||
|
f: Toolchain.newPerlModuleBuild,
|
||||||
|
|
||||||
|
Name: "perl-Module::Build",
|
||||||
|
Description: "build and install Perl modules",
|
||||||
|
Website: "https://metacpan.org/release/Module-Build",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[PerlModuleBuild] = Toolchain.newPerlModuleBuild }
|
|
||||||
|
|
||||||
// newViaPerlMakeMaker installs a perl module via Makefile.PL.
|
// newViaPerlMakeMaker installs a perl module via Makefile.PL.
|
||||||
func (t Toolchain) newViaPerlMakeMaker(
|
func (t Toolchain) newViaPerlMakeMaker(
|
||||||
@@ -114,7 +130,7 @@ func (t Toolchain) newViaPerlMakeMaker(
|
|||||||
})...)
|
})...)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t Toolchain) newPerlLocaleGettext() pkg.Artifact {
|
func (t Toolchain) newPerlLocaleGettext() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.07"
|
version = "1.07"
|
||||||
checksum = "cFq4BKFD1MWSoa7lsrPjpdo9kzPqd0jlRcBFUyL1L1isw8m3D_Sge_ff0MAu_9J3"
|
checksum = "cFq4BKFD1MWSoa7lsrPjpdo9kzPqd0jlRcBFUyL1L1isw8m3D_Sge_ff0MAu_9J3"
|
||||||
@@ -124,11 +140,19 @@ func (t Toolchain) newPerlLocaleGettext() pkg.Artifact {
|
|||||||
"Locale-gettext-"+version+".tar.gz",
|
"Locale-gettext-"+version+".tar.gz",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), nil)
|
), nil), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[PerlLocaleGettext] = Toolchain.newPerlLocaleGettext }
|
func init() {
|
||||||
|
artifactsM[PerlLocaleGettext] = Metadata{
|
||||||
|
f: Toolchain.newPerlLocaleGettext,
|
||||||
|
|
||||||
func (t Toolchain) newPerlPodParser() pkg.Artifact {
|
Name: "perl-Locale::gettext",
|
||||||
|
Description: "message handling functions",
|
||||||
|
Website: "https://metacpan.org/release/Locale-gettext",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newPerlPodParser() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.67"
|
version = "1.67"
|
||||||
checksum = "RdURu9mOfExk_loCp6abxlcQV3FycSNbTqhRS9i6JUqnYfGGEgercK30g0gjYyqe"
|
checksum = "RdURu9mOfExk_loCp6abxlcQV3FycSNbTqhRS9i6JUqnYfGGEgercK30g0gjYyqe"
|
||||||
@@ -138,11 +162,19 @@ func (t Toolchain) newPerlPodParser() pkg.Artifact {
|
|||||||
"Pod-Parser-"+version+".tar.gz",
|
"Pod-Parser-"+version+".tar.gz",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), nil)
|
), nil), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[PerlPodParser] = Toolchain.newPerlPodParser }
|
func init() {
|
||||||
|
artifactsM[PerlPodParser] = Metadata{
|
||||||
|
f: Toolchain.newPerlPodParser,
|
||||||
|
|
||||||
func (t Toolchain) newPerlSGMLS() pkg.Artifact {
|
Name: "perl-Pod::Parser",
|
||||||
|
Description: "base class for creating POD filters and translators",
|
||||||
|
Website: "https://metacpan.org/release/Pod-Parser",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newPerlSGMLS() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.1"
|
version = "1.1"
|
||||||
checksum = "aZijn4MUqD-wfyZgdcCruCwl4SgDdu25cNmJ4_UvdAk9a7uz4gzMQdoeB6DQ6QOy"
|
checksum = "aZijn4MUqD-wfyZgdcCruCwl4SgDdu25cNmJ4_UvdAk9a7uz4gzMQdoeB6DQ6QOy"
|
||||||
@@ -152,11 +184,19 @@ func (t Toolchain) newPerlSGMLS() pkg.Artifact {
|
|||||||
"SGMLSpm-"+version+".tar.gz",
|
"SGMLSpm-"+version+".tar.gz",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), nil)
|
), nil), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[PerlSGMLS] = Toolchain.newPerlSGMLS }
|
func init() {
|
||||||
|
artifactsM[PerlSGMLS] = Metadata{
|
||||||
|
f: Toolchain.newPerlSGMLS,
|
||||||
|
|
||||||
func (t Toolchain) newPerlTermReadKey() pkg.Artifact {
|
Name: "perl-SGMLS",
|
||||||
|
Description: "class for postprocessing the output from the sgmls and nsgmls parsers",
|
||||||
|
Website: "https://metacpan.org/release/RAAB/SGMLSpm-1.1",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newPerlTermReadKey() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "2.38"
|
version = "2.38"
|
||||||
checksum = "qerL8Xo7kD0f42PZoiEbmE8Roc_S9pOa27LXelY4DN_0UNy_u5wLrGHI8utNlaiI"
|
checksum = "qerL8Xo7kD0f42PZoiEbmE8Roc_S9pOa27LXelY4DN_0UNy_u5wLrGHI8utNlaiI"
|
||||||
@@ -166,11 +206,19 @@ func (t Toolchain) newPerlTermReadKey() pkg.Artifact {
|
|||||||
"TermReadKey-"+version+".tar.gz",
|
"TermReadKey-"+version+".tar.gz",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), nil)
|
), nil), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[PerlTermReadKey] = Toolchain.newPerlTermReadKey }
|
func init() {
|
||||||
|
artifactsM[PerlTermReadKey] = Metadata{
|
||||||
|
f: Toolchain.newPerlTermReadKey,
|
||||||
|
|
||||||
func (t Toolchain) newPerlTextCharWidth() pkg.Artifact {
|
Name: "perl-Term::ReadKey",
|
||||||
|
Description: "a perl module for simple terminal control",
|
||||||
|
Website: "https://metacpan.org/release/TermReadKey",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newPerlTextCharWidth() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "0.04"
|
version = "0.04"
|
||||||
checksum = "G2p5RHU4_HiZ23ZusBA_enTlVMxz0J4esUx4CGcOPhY6xYTbp-aXWRN6lYZpzBw2"
|
checksum = "G2p5RHU4_HiZ23ZusBA_enTlVMxz0J4esUx4CGcOPhY6xYTbp-aXWRN6lYZpzBw2"
|
||||||
@@ -180,11 +228,19 @@ func (t Toolchain) newPerlTextCharWidth() pkg.Artifact {
|
|||||||
"Text-CharWidth-"+version+".tar.gz",
|
"Text-CharWidth-"+version+".tar.gz",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), nil)
|
), nil), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[PerlTextCharWidth] = Toolchain.newPerlTextCharWidth }
|
func init() {
|
||||||
|
artifactsM[PerlTextCharWidth] = Metadata{
|
||||||
|
f: Toolchain.newPerlTextCharWidth,
|
||||||
|
|
||||||
func (t Toolchain) newPerlTextWrapI18N() pkg.Artifact {
|
Name: "perl-Text::CharWidth",
|
||||||
|
Description: "get number of occupied columns of a string on terminal",
|
||||||
|
Website: "https://metacpan.org/release/Text-CharWidth",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newPerlTextWrapI18N() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "0.06"
|
version = "0.06"
|
||||||
checksum = "Vmo89qLgxUqyQ6QmWJVqu60aQAUjrNKRjFQSXGnvClxofzRjiCa6idzPgJ4VkixM"
|
checksum = "Vmo89qLgxUqyQ6QmWJVqu60aQAUjrNKRjFQSXGnvClxofzRjiCa6idzPgJ4VkixM"
|
||||||
@@ -196,11 +252,19 @@ func (t Toolchain) newPerlTextWrapI18N() pkg.Artifact {
|
|||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), nil,
|
), nil,
|
||||||
PerlTextCharWidth,
|
PerlTextCharWidth,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[PerlTextWrapI18N] = Toolchain.newPerlTextWrapI18N }
|
func init() {
|
||||||
|
artifactsM[PerlTextWrapI18N] = Metadata{
|
||||||
|
f: Toolchain.newPerlTextWrapI18N,
|
||||||
|
|
||||||
func (t Toolchain) newPerlMIMECharset() pkg.Artifact {
|
Name: "perl-Text::WrapI18N",
|
||||||
|
Description: "line wrapping module",
|
||||||
|
Website: "https://metacpan.org/release/Text-WrapI18N",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newPerlMIMECharset() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.013.1"
|
version = "1.013.1"
|
||||||
checksum = "Ou_ukcrOa1cgtE3mptinb-os3bdL1SXzbRDFZQF3prrJj-drc3rp_huay7iDLJol"
|
checksum = "Ou_ukcrOa1cgtE3mptinb-os3bdL1SXzbRDFZQF3prrJj-drc3rp_huay7iDLJol"
|
||||||
@@ -210,11 +274,19 @@ func (t Toolchain) newPerlMIMECharset() pkg.Artifact {
|
|||||||
"MIME-Charset-"+version+".tar.gz",
|
"MIME-Charset-"+version+".tar.gz",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), nil)
|
), nil), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[PerlMIMECharset] = Toolchain.newPerlMIMECharset }
|
func init() {
|
||||||
|
artifactsM[PerlMIMECharset] = Metadata{
|
||||||
|
f: Toolchain.newPerlMIMECharset,
|
||||||
|
|
||||||
func (t Toolchain) newPerlUnicodeGCString() pkg.Artifact {
|
Name: "perl-MIME::Charset",
|
||||||
|
Description: "Charset Information for MIME",
|
||||||
|
Website: "https://metacpan.org/release/MIME-Charset",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newPerlUnicodeGCString() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "2019.001"
|
version = "2019.001"
|
||||||
checksum = "ZHVkh7EDgAUHnTpvXsnPAuWpgNoBImtY_9_8TIbo2co_WgUwEb0MtXPhI8pAZ5OH"
|
checksum = "ZHVkh7EDgAUHnTpvXsnPAuWpgNoBImtY_9_8TIbo2co_WgUwEb0MtXPhI8pAZ5OH"
|
||||||
@@ -226,11 +298,19 @@ func (t Toolchain) newPerlUnicodeGCString() pkg.Artifact {
|
|||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), nil,
|
), nil,
|
||||||
PerlMIMECharset,
|
PerlMIMECharset,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[PerlUnicodeGCString] = Toolchain.newPerlUnicodeGCString }
|
func init() {
|
||||||
|
artifactsM[PerlUnicodeGCString] = Metadata{
|
||||||
|
f: Toolchain.newPerlUnicodeGCString,
|
||||||
|
|
||||||
func (t Toolchain) newPerlYAMLTiny() pkg.Artifact {
|
Name: "perl-Unicode::GCString",
|
||||||
|
Description: "String as Sequence of UAX #29 Grapheme Clusters",
|
||||||
|
Website: "https://metacpan.org/release/Unicode-LineBreak",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newPerlYAMLTiny() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.76"
|
version = "1.76"
|
||||||
checksum = "V1MV4KPym1LxSw8CRXqPR3K-l1hGHbT5Ob4t-9xju6R9X_CWyw6hI8wsMaNdHdBY"
|
checksum = "V1MV4KPym1LxSw8CRXqPR3K-l1hGHbT5Ob4t-9xju6R9X_CWyw6hI8wsMaNdHdBY"
|
||||||
@@ -240,6 +320,14 @@ func (t Toolchain) newPerlYAMLTiny() pkg.Artifact {
|
|||||||
"YAML-Tiny-"+version+".tar.gz",
|
"YAML-Tiny-"+version+".tar.gz",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), nil)
|
), nil), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[PerlYAMLTiny] = Metadata{
|
||||||
|
f: Toolchain.newPerlYAMLTiny,
|
||||||
|
|
||||||
|
Name: "perl-YAML::Tiny",
|
||||||
|
Description: "read/write YAML files with as little code as possible",
|
||||||
|
Website: "https://metacpan.org/release/YAML-Tiny",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[PerlYAMLTiny] = Toolchain.newPerlYAMLTiny }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newPkgConfig() pkg.Artifact {
|
func (t Toolchain) newPkgConfig() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "0.29.2"
|
version = "0.29.2"
|
||||||
checksum = "gi7yAvkwo20Inys1tHbeYZ3Wjdm5VPkrnO0Q6_QZPCAwa1zrA8F4a63cdZDd-717"
|
checksum = "gi7yAvkwo20Inys1tHbeYZ3Wjdm5VPkrnO0Q6_QZPCAwa1zrA8F4a63cdZDd-717"
|
||||||
@@ -17,6 +17,14 @@ func (t Toolchain) newPkgConfig() pkg.Artifact {
|
|||||||
{"CFLAGS", "'-Wno-int-conversion'"},
|
{"CFLAGS", "'-Wno-int-conversion'"},
|
||||||
{"with-internal-glib"},
|
{"with-internal-glib"},
|
||||||
},
|
},
|
||||||
})
|
}), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[PkgConfig] = Metadata{
|
||||||
|
f: Toolchain.newPkgConfig,
|
||||||
|
|
||||||
|
Name: "pkg-config",
|
||||||
|
Description: "a helper tool used when compiling applications and libraries",
|
||||||
|
Website: "https://pkgconfig.freedesktop.org/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[PkgConfig] = Toolchain.newPkgConfig }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newProcps() pkg.Artifact {
|
func (t Toolchain) newProcps() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "4.0.6"
|
version = "4.0.6"
|
||||||
checksum = "pl_fZLvDlv6iZTkm8l_tHFpzTDVFGCiSJEs3eu0zAX6u36AV36P_En8K7JPScRWM"
|
checksum = "pl_fZLvDlv6iZTkm8l_tHFpzTDVFGCiSJEs3eu0zAX6u36AV36P_En8K7JPScRWM"
|
||||||
@@ -27,6 +27,14 @@ func (t Toolchain) newProcps() pkg.Artifact {
|
|||||||
|
|
||||||
Gzip,
|
Gzip,
|
||||||
PkgConfig,
|
PkgConfig,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Procps] = Metadata{
|
||||||
|
f: Toolchain.newProcps,
|
||||||
|
|
||||||
|
Name: "procps",
|
||||||
|
Description: "command line and full screen utilities for browsing procfs",
|
||||||
|
Website: "https://gitlab.com/procps-ng/procps",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Procps] = Toolchain.newProcps }
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import (
|
|||||||
"hakurei.app/internal/pkg"
|
"hakurei.app/internal/pkg"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (t Toolchain) newPython() pkg.Artifact {
|
func (t Toolchain) newPython() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "3.14.2"
|
version = "3.14.2"
|
||||||
checksum = "7nZunVMGj0viB-CnxpcRego2C90X5wFsMTgsoewd5z-KSZY2zLuqaBwG-14zmKys"
|
checksum = "7nZunVMGj0viB-CnxpcRego2C90X5wFsMTgsoewd5z-KSZY2zLuqaBwG-14zmKys"
|
||||||
@@ -59,19 +59,34 @@ func (t Toolchain) newPython() pkg.Artifact {
|
|||||||
OpenSSL,
|
OpenSSL,
|
||||||
Bzip2,
|
Bzip2,
|
||||||
XZ,
|
XZ,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Python] = Metadata{
|
||||||
|
f: Toolchain.newPython,
|
||||||
|
|
||||||
|
Name: "python",
|
||||||
|
Description: "the Python programming language interpreter",
|
||||||
|
Website: "https://www.python.org/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Python] = Toolchain.newPython }
|
|
||||||
|
|
||||||
// newViaPip is a helper for installing python dependencies via pip.
|
// newViaPip is a helper for installing python dependencies via pip.
|
||||||
func (t Toolchain) newViaPip(
|
func newViaPip(
|
||||||
name, version, abi, platform, checksum, prefix string,
|
name, description, version, abi, platform, checksum, prefix string,
|
||||||
extra ...pkg.Artifact,
|
extra ...PArtifact,
|
||||||
) pkg.Artifact {
|
) Metadata {
|
||||||
wname := name + "-" + version + "-py3-" + abi + "-" + platform + ".whl"
|
wname := name + "-" + version + "-py3-" + abi + "-" + platform + ".whl"
|
||||||
|
return Metadata{
|
||||||
|
f: func(t Toolchain) (pkg.Artifact, string) {
|
||||||
|
extraRes := make([]pkg.Artifact, len(extra))
|
||||||
|
for i, p := range extra {
|
||||||
|
extraRes[i] = t.Load(p)
|
||||||
|
}
|
||||||
|
|
||||||
return t.New(name+"-"+version, 0, slices.Concat([]pkg.Artifact{
|
return t.New(name+"-"+version, 0, slices.Concat([]pkg.Artifact{
|
||||||
t.Load(Python),
|
t.Load(Python),
|
||||||
}, extra), nil, nil, `
|
}, extraRes), nil, nil, `
|
||||||
pip3 install \
|
pip3 install \
|
||||||
--no-index \
|
--no-index \
|
||||||
--prefix=/system \
|
--prefix=/system \
|
||||||
@@ -80,10 +95,16 @@ pip3 install \
|
|||||||
`, pkg.Path(AbsUsrSrc.Append(wname), false, pkg.NewHTTPGet(
|
`, pkg.Path(AbsUsrSrc.Append(wname), false, pkg.NewHTTPGet(
|
||||||
nil, prefix+wname,
|
nil, prefix+wname,
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
)))
|
))), version
|
||||||
|
},
|
||||||
|
|
||||||
|
Name: "python-" + name,
|
||||||
|
Description: description,
|
||||||
|
Website: "https://pypi.org/project/" + name + "/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t Toolchain) newSetuptools() pkg.Artifact {
|
func (t Toolchain) newSetuptools() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "80.10.1"
|
version = "80.10.1"
|
||||||
checksum = "p3rlwEmy1krcUH1KabprQz1TCYjJ8ZUjOQknQsWh3q-XEqLGEd3P4VrCc7ouHGXU"
|
checksum = "p3rlwEmy1krcUH1KabprQz1TCYjJ8ZUjOQknQsWh3q-XEqLGEd3P4VrCc7ouHGXU"
|
||||||
@@ -101,53 +122,64 @@ pip3 install \
|
|||||||
"v"+version+".tar.gz",
|
"v"+version+".tar.gz",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
)))
|
))), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Setuptools] = Toolchain.newSetuptools }
|
func init() {
|
||||||
|
artifactsM[Setuptools] = Metadata{
|
||||||
|
f: Toolchain.newSetuptools,
|
||||||
|
|
||||||
func (t Toolchain) newPygments() pkg.Artifact {
|
Name: "setuptools",
|
||||||
return t.newViaPip("pygments", "2.19.2", "none", "any",
|
Description: "the autotools of the Python ecosystem",
|
||||||
|
Website: "https://pypi.org/project/setuptools/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
artifactsM[Pygments] = newViaPip(
|
||||||
|
"pygments",
|
||||||
|
" a syntax highlighting package written in Python",
|
||||||
|
"2.19.2", "none", "any",
|
||||||
"ak_lwTalmSr7W4Mjy2XBZPG9I6a0gwSy2pS87N8x4QEuZYif0ie9z0OcfRfi9msd",
|
"ak_lwTalmSr7W4Mjy2XBZPG9I6a0gwSy2pS87N8x4QEuZYif0ie9z0OcfRfi9msd",
|
||||||
"https://files.pythonhosted.org/packages/"+
|
"https://files.pythonhosted.org/packages/"+
|
||||||
"c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/")
|
"c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/",
|
||||||
}
|
)
|
||||||
func init() { artifactsF[Pygments] = Toolchain.newPygments }
|
|
||||||
|
|
||||||
func (t Toolchain) newPluggy() pkg.Artifact {
|
artifactsM[Pluggy] = newViaPip(
|
||||||
return t.newViaPip("pluggy", "1.6.0", "none", "any",
|
"pluggy",
|
||||||
|
"the core framework used by the pytest, tox, and devpi projects",
|
||||||
|
"1.6.0", "none", "any",
|
||||||
"2HWYBaEwM66-y1hSUcWI1MyE7dVVuNNRW24XD6iJBey4YaUdAK8WeXdtFMQGC-4J",
|
"2HWYBaEwM66-y1hSUcWI1MyE7dVVuNNRW24XD6iJBey4YaUdAK8WeXdtFMQGC-4J",
|
||||||
"https://files.pythonhosted.org/packages/"+
|
"https://files.pythonhosted.org/packages/"+
|
||||||
"54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/")
|
"54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/",
|
||||||
}
|
)
|
||||||
func init() { artifactsF[Pluggy] = Toolchain.newPluggy }
|
|
||||||
|
|
||||||
func (t Toolchain) newPackaging() pkg.Artifact {
|
artifactsM[Packaging] = newViaPip(
|
||||||
return t.newViaPip("packaging", "26.0", "none", "any",
|
"packaging",
|
||||||
|
"reusable core utilities for various Python Packaging interoperability specifications",
|
||||||
|
"26.0", "none", "any",
|
||||||
"iVVXcqdwHDskPKoCFUlh2x8J0Gyq-bhO4ns9DvUJ7oJjeOegRYtSIvLV33Bki-pP",
|
"iVVXcqdwHDskPKoCFUlh2x8J0Gyq-bhO4ns9DvUJ7oJjeOegRYtSIvLV33Bki-pP",
|
||||||
"https://files.pythonhosted.org/packages/"+
|
"https://files.pythonhosted.org/packages/"+
|
||||||
"b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/")
|
"b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/",
|
||||||
}
|
)
|
||||||
func init() { artifactsF[Packaging] = Toolchain.newPackaging }
|
|
||||||
|
|
||||||
func (t Toolchain) newIniConfig() pkg.Artifact {
|
artifactsM[IniConfig] = newViaPip(
|
||||||
const version = "2.3.0"
|
"iniconfig",
|
||||||
return t.newViaPip("iniconfig", version, "none", "any",
|
"a small and simple INI-file parser module",
|
||||||
|
"2.3.0", "none", "any",
|
||||||
"SDgs4S5bXi77aVOeKTPv2TUrS3M9rduiK4DpU0hCmDsSBWqnZcWInq9lsx6INxut",
|
"SDgs4S5bXi77aVOeKTPv2TUrS3M9rduiK4DpU0hCmDsSBWqnZcWInq9lsx6INxut",
|
||||||
"https://github.com/pytest-dev/iniconfig/releases/download/"+
|
"https://files.pythonhosted.org/packages/"+
|
||||||
"v"+version+"/")
|
"cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/",
|
||||||
}
|
)
|
||||||
func init() { artifactsF[IniConfig] = Toolchain.newIniConfig }
|
artifactsM[PyTest] = newViaPip(
|
||||||
|
"pytest",
|
||||||
func (t Toolchain) newPyTest() pkg.Artifact {
|
"the pytest framework",
|
||||||
const version = "9.0.2"
|
"9.0.2", "none", "any",
|
||||||
return t.newViaPip("pytest", version, "none", "any",
|
|
||||||
"IM2wDbLke1EtZhF92zvAjUl_Hms1uKDtM7U8Dt4acOaChMnDg1pW7ib8U0wYGDLH",
|
"IM2wDbLke1EtZhF92zvAjUl_Hms1uKDtM7U8Dt4acOaChMnDg1pW7ib8U0wYGDLH",
|
||||||
"https://github.com/pytest-dev/pytest/releases/download/"+
|
"https://files.pythonhosted.org/packages/"+
|
||||||
version+"/",
|
"3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/",
|
||||||
t.Load(IniConfig),
|
IniConfig,
|
||||||
t.Load(Packaging),
|
Packaging,
|
||||||
t.Load(Pluggy),
|
Pluggy,
|
||||||
t.Load(Pygments),
|
Pygments,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
func init() { artifactsF[PyTest] = Toolchain.newPyTest }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newQEMU() pkg.Artifact {
|
func (t Toolchain) newQEMU() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "10.2.1"
|
version = "10.2.1"
|
||||||
checksum = "rjLTSgHJd3X3Vgpxrsus_ZZiaYLiNix1YhcHaGbLd_odYixwZjCcAIt8CVQPJGdZ"
|
checksum = "rjLTSgHJd3X3Vgpxrsus_ZZiaYLiNix1YhcHaGbLd_odYixwZjCcAIt8CVQPJGdZ"
|
||||||
@@ -93,6 +93,14 @@ EOF
|
|||||||
Zstd,
|
Zstd,
|
||||||
DTC,
|
DTC,
|
||||||
KernelHeaders,
|
KernelHeaders,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[QEMU] = Metadata{
|
||||||
|
f: Toolchain.newQEMU,
|
||||||
|
|
||||||
|
Name: "qemu",
|
||||||
|
Description: "a generic and open source machine emulator and virtualizer",
|
||||||
|
Website: "https://www.qemu.org/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[QEMU] = Toolchain.newQEMU }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newRsync() pkg.Artifact {
|
func (t Toolchain) newRsync() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "3.4.1"
|
version = "3.4.1"
|
||||||
checksum = "VBlTsBWd9z3r2-ex7GkWeWxkUc5OrlgDzikAC0pK7ufTjAJ0MbmC_N04oSVTGPiv"
|
checksum = "VBlTsBWd9z3r2-ex7GkWeWxkUc5OrlgDzikAC0pK7ufTjAJ0MbmC_N04oSVTGPiv"
|
||||||
@@ -24,6 +24,14 @@ func (t Toolchain) newRsync() pkg.Artifact {
|
|||||||
|
|
||||||
// circular dependency
|
// circular dependency
|
||||||
SkipCheck: true,
|
SkipCheck: true,
|
||||||
})
|
}), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Rsync] = Metadata{
|
||||||
|
f: Toolchain.newRsync,
|
||||||
|
|
||||||
|
Name: "rsync",
|
||||||
|
Description: "an open source utility that provides fast incremental file transfer",
|
||||||
|
Website: "https://rsync.samba.org/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Rsync] = Toolchain.newRsync }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newSquashfsTools() pkg.Artifact {
|
func (t Toolchain) newSquashfsTools() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "4.7.4"
|
version = "4.7.4"
|
||||||
checksum = "pG0E_wkRJFS6bvPYF-hTKZT-cWnvo5BbIzCDZrJZVQDgJOx2Vc3ZfNSEV7Di7cSW"
|
checksum = "pG0E_wkRJFS6bvPYF-hTKZT-cWnvo5BbIzCDZrJZVQDgJOx2Vc3ZfNSEV7Di7cSW"
|
||||||
@@ -39,6 +39,14 @@ func (t Toolchain) newSquashfsTools() pkg.Artifact {
|
|||||||
Zstd,
|
Zstd,
|
||||||
Gzip,
|
Gzip,
|
||||||
Zlib,
|
Zlib,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[SquashfsTools] = Metadata{
|
||||||
|
f: Toolchain.newSquashfsTools,
|
||||||
|
|
||||||
|
Name: "squashfs-tools",
|
||||||
|
Description: "tools to create and extract Squashfs filesystems",
|
||||||
|
Website: "https://github.com/plougher/squashfs-tools",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[SquashfsTools] = Toolchain.newSquashfsTools }
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import (
|
|||||||
"hakurei.app/internal/pkg"
|
"hakurei.app/internal/pkg"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (t Toolchain) newNSS() pkg.Artifact {
|
func (t Toolchain) newNSS() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "3_120"
|
version = "3_120"
|
||||||
checksum = "9M0SNMrj9BJp6RH2rQnMm6bZWtP0Kgj64D5JNPHF7Cxr2_8kfy3msubIcvEPwC35"
|
checksum = "9M0SNMrj9BJp6RH2rQnMm6bZWtP0Kgj64D5JNPHF7Cxr2_8kfy3msubIcvEPwC35"
|
||||||
@@ -63,20 +63,31 @@ cp -r \
|
|||||||
|
|
||||||
Zlib,
|
Zlib,
|
||||||
KernelHeaders,
|
KernelHeaders,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[NSS] = Toolchain.newNSS }
|
func init() {
|
||||||
|
artifactsM[NSS] = Metadata{
|
||||||
|
f: Toolchain.newNSS,
|
||||||
|
|
||||||
func (t Toolchain) newBuildCATrust() pkg.Artifact {
|
Name: "nss",
|
||||||
|
Description: "Network Security Services",
|
||||||
|
Website: "https://firefox-source-docs.mozilla.org/security/nss/index.html",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
const version = "0.4.0"
|
const version = "0.4.0"
|
||||||
return t.newViaPip("buildcatrust", version, "none", "any",
|
artifactsM[buildcatrust] = newViaPip(
|
||||||
|
"buildcatrust",
|
||||||
|
"transform certificate stores between formats",
|
||||||
|
version, "none", "any",
|
||||||
"k_FGzkRCLjbTWBkuBLzQJ1S8FPAz19neJZlMHm0t10F2Y0hElmvVwdSBRc03Rjo1",
|
"k_FGzkRCLjbTWBkuBLzQJ1S8FPAz19neJZlMHm0t10F2Y0hElmvVwdSBRc03Rjo1",
|
||||||
"https://github.com/nix-community/buildcatrust/"+
|
"https://github.com/nix-community/buildcatrust/"+
|
||||||
"releases/download/v"+version+"/")
|
"releases/download/v"+version+"/",
|
||||||
|
)
|
||||||
}
|
}
|
||||||
func init() { artifactsF[buildcatrust] = Toolchain.newBuildCATrust }
|
|
||||||
|
|
||||||
func (t Toolchain) newNSSCACert() pkg.Artifact {
|
func (t Toolchain) newNSSCACert() (pkg.Artifact, string) {
|
||||||
return t.New("nss-cacert", 0, []pkg.Artifact{
|
return t.New("nss-cacert", 0, []pkg.Artifact{
|
||||||
t.Load(Bash),
|
t.Load(Bash),
|
||||||
t.Load(Python),
|
t.Load(Python),
|
||||||
@@ -92,6 +103,14 @@ buildcatrust \
|
|||||||
--ca_unpacked_output /work/system/etc/ssl/certs/unbundled \
|
--ca_unpacked_output /work/system/etc/ssl/certs/unbundled \
|
||||||
--ca_hashed_unpacked_output /work/system/etc/ssl/certs/hashed \
|
--ca_hashed_unpacked_output /work/system/etc/ssl/certs/hashed \
|
||||||
--p11kit_output /work/system/etc/ssl/trust-source/ca-bundle.trust.p11-kit
|
--p11kit_output /work/system/etc/ssl/trust-source/ca-bundle.trust.p11-kit
|
||||||
`)
|
`), Unversioned
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[NSSCACert] = Metadata{
|
||||||
|
f: Toolchain.newNSSCACert,
|
||||||
|
|
||||||
|
Name: "nss-cacert",
|
||||||
|
Description: "bundle of X.509 certificates of public Certificate Authorities",
|
||||||
|
Website: "https://curl.se/docs/caextract.html",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[NSSCACert] = Toolchain.newNSSCACert }
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import (
|
|||||||
"hakurei.app/internal/pkg"
|
"hakurei.app/internal/pkg"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (t Toolchain) newStage0() pkg.Artifact {
|
func (t Toolchain) newStage0() (pkg.Artifact, string) {
|
||||||
musl, compilerRT, runtimes, clang := t.NewLLVM()
|
musl, compilerRT, runtimes, clang := t.NewLLVM()
|
||||||
return t.New("rosa-stage0", 0, []pkg.Artifact{
|
return t.New("rosa-stage0", 0, []pkg.Artifact{
|
||||||
musl,
|
musl,
|
||||||
@@ -39,9 +39,16 @@ tar \
|
|||||||
-C / \
|
-C / \
|
||||||
-f /work/stage0-`+triplet()+`.tar.bz2 \
|
-f /work/stage0-`+triplet()+`.tar.bz2 \
|
||||||
system bin usr/bin/env
|
system bin usr/bin/env
|
||||||
`)
|
`), Unversioned
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Stage0] = Metadata{
|
||||||
|
f: Toolchain.newStage0,
|
||||||
|
|
||||||
|
Name: "rosa-stage0",
|
||||||
|
Description: "Rosa OS stage0 toolchain tarball for bootstrap",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Stage0] = Toolchain.newStage0 }
|
|
||||||
|
|
||||||
var (
|
var (
|
||||||
// stage0 stores the tarball unpack artifact.
|
// stage0 stores the tarball unpack artifact.
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import (
|
|||||||
"hakurei.app/internal/pkg"
|
"hakurei.app/internal/pkg"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (t Toolchain) newTamaGo() pkg.Artifact {
|
func (t Toolchain) newTamaGo() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.26.0"
|
version = "1.26.0"
|
||||||
checksum = "5XkfbpTpSdPJfwtTfUegfdu4LUy8nuZ7sCondiRIxTJI9eQONi8z_O_dq9yDkjw8"
|
checksum = "5XkfbpTpSdPJfwtTfUegfdu4LUy8nuZ7sCondiRIxTJI9eQONi8z_O_dq9yDkjw8"
|
||||||
@@ -35,6 +35,14 @@ rm \
|
|||||||
"tamago-go"+version+".tar.gz",
|
"tamago-go"+version+".tar.gz",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
)))
|
))), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[TamaGo] = Metadata{
|
||||||
|
f: Toolchain.newTamaGo,
|
||||||
|
|
||||||
|
Name: "tamago",
|
||||||
|
Description: "a Go toolchain extended with support for bare metal execution",
|
||||||
|
Website: "https://github.com/usbarmory/tamago-go",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[TamaGo] = Toolchain.newTamaGo }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newToybox(suffix, script string) pkg.Artifact {
|
func (t Toolchain) newToybox(suffix, script string) (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "0.8.13"
|
version = "0.8.13"
|
||||||
checksum = "rZ1V1ATDte2WeQZanxLVoiRGdfPXhMlEo5-exX-e-ml8cGn9qOv0ABEUVZpX3wTI"
|
checksum = "rZ1V1ATDte2WeQZanxLVoiRGdfPXhMlEo5-exX-e-ml8cGn9qOv0ABEUVZpX3wTI"
|
||||||
@@ -56,14 +56,21 @@ ln -s ../../system/bin/env /work/usr/bin
|
|||||||
Gzip,
|
Gzip,
|
||||||
|
|
||||||
KernelHeaders,
|
KernelHeaders,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() {
|
func init() {
|
||||||
artifactsF[Toybox] = func(t Toolchain) pkg.Artifact {
|
artifactsM[Toybox] = Metadata{
|
||||||
|
f: func(t Toolchain) (pkg.Artifact, string) {
|
||||||
return t.newToybox("", "")
|
return t.newToybox("", "")
|
||||||
|
},
|
||||||
|
|
||||||
|
Name: "toybox",
|
||||||
|
Description: "many common Linux command line utilities",
|
||||||
|
Website: "https://landley.net/toybox/",
|
||||||
}
|
}
|
||||||
|
|
||||||
artifactsF[toyboxEarly] = func(t Toolchain) pkg.Artifact {
|
artifactsM[toyboxEarly] = Metadata{
|
||||||
|
f: func(t Toolchain) (pkg.Artifact, string) {
|
||||||
return t.newToybox("-early", `
|
return t.newToybox("-early", `
|
||||||
echo '
|
echo '
|
||||||
CONFIG_EXPR=y
|
CONFIG_EXPR=y
|
||||||
@@ -72,5 +79,10 @@ CONFIG_AWK=y
|
|||||||
CONFIG_DIFF=y
|
CONFIG_DIFF=y
|
||||||
' >> .config
|
' >> .config
|
||||||
`)
|
`)
|
||||||
|
},
|
||||||
|
|
||||||
|
Name: "toybox-early",
|
||||||
|
Description: "a build of toybox with unfinished tools enabled to break dependency loops",
|
||||||
|
Website: "https://landley.net/toybox/",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import (
|
|||||||
"hakurei.app/internal/pkg"
|
"hakurei.app/internal/pkg"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (t Toolchain) newUnzip() pkg.Artifact {
|
func (t Toolchain) newUnzip() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "6.0"
|
version = "6.0"
|
||||||
checksum = "fcqjB1IOVRNJ16K5gTGEDt3zCJDVBc7EDSra9w3H93stqkNwH1vaPQs_QGOpQZu1"
|
checksum = "fcqjB1IOVRNJ16K5gTGEDt3zCJDVBc7EDSra9w3H93stqkNwH1vaPQs_QGOpQZu1"
|
||||||
@@ -29,6 +29,14 @@ mv unzip /work/system/bin/
|
|||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), false,
|
), false,
|
||||||
)))
|
))), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Unzip] = Metadata{
|
||||||
|
f: Toolchain.newUnzip,
|
||||||
|
|
||||||
|
Name: "unzip",
|
||||||
|
Description: "portable compression/archiver utilities",
|
||||||
|
Website: "https://infozip.sourceforge.net/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Unzip] = Toolchain.newUnzip }
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import (
|
|||||||
"hakurei.app/internal/pkg"
|
"hakurei.app/internal/pkg"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (t Toolchain) newUtilLinux() pkg.Artifact {
|
func (t Toolchain) newUtilLinux() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "2.41.3"
|
version = "2.41.3"
|
||||||
checksum = "gPTd5JJ2ho_Rd0qainuogcLiiWwKSXEZPXN3yCCRl0m0KBgMaqwFuMjYgu9z8zCH"
|
checksum = "gPTd5JJ2ho_Rd0qainuogcLiiWwKSXEZPXN3yCCRl0m0KBgMaqwFuMjYgu9z8zCH"
|
||||||
@@ -44,6 +44,14 @@ ln -s ../system/bin/bash /bin/
|
|||||||
Bash,
|
Bash,
|
||||||
|
|
||||||
KernelHeaders,
|
KernelHeaders,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[UtilLinux] = Metadata{
|
||||||
|
f: Toolchain.newUtilLinux,
|
||||||
|
|
||||||
|
Name: "util-linux",
|
||||||
|
Description: "a random collection of Linux utilities",
|
||||||
|
Website: "https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[UtilLinux] = Toolchain.newUtilLinux }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newWayland() pkg.Artifact {
|
func (t Toolchain) newWayland() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.24.0"
|
version = "1.24.0"
|
||||||
checksum = "JxgLiFRRGw2D3uhVw8ZeDbs3V7K_d4z_ypDog2LBqiA_5y2vVbUAk5NT6D5ozm0m"
|
checksum = "JxgLiFRRGw2D3uhVw8ZeDbs3V7K_d4z_ypDog2LBqiA_5y2vVbUAk5NT6D5ozm0m"
|
||||||
@@ -32,11 +32,19 @@ echo 'int main(){}' > tests/sanity-test.c
|
|||||||
Libffi,
|
Libffi,
|
||||||
Libexpat,
|
Libexpat,
|
||||||
Libxml2,
|
Libxml2,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Wayland] = Toolchain.newWayland }
|
func init() {
|
||||||
|
artifactsM[Wayland] = Metadata{
|
||||||
|
f: Toolchain.newWayland,
|
||||||
|
|
||||||
func (t Toolchain) newWaylandProtocols() pkg.Artifact {
|
Name: "wayland",
|
||||||
|
Description: "core Wayland window system code and protocol",
|
||||||
|
Website: "https://wayland.freedesktop.org/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newWaylandProtocols() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.47"
|
version = "1.47"
|
||||||
checksum = "B_NodZ7AQfCstcx7kgbaVjpkYOzbAQq0a4NOk-SA8bQixAE20FY3p1-6gsbPgHn9"
|
checksum = "B_NodZ7AQfCstcx7kgbaVjpkYOzbAQq0a4NOk-SA8bQixAE20FY3p1-6gsbPgHn9"
|
||||||
@@ -105,6 +113,14 @@ GitLab
|
|||||||
Libffi,
|
Libffi,
|
||||||
Libexpat,
|
Libexpat,
|
||||||
Libxml2,
|
Libxml2,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[WaylandProtocols] = Metadata{
|
||||||
|
f: Toolchain.newWaylandProtocols,
|
||||||
|
|
||||||
|
Name: "wayland-protocols",
|
||||||
|
Description: "Additional standard Wayland protocols",
|
||||||
|
Website: "https://wayland.freedesktop.org/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[WaylandProtocols] = Toolchain.newWaylandProtocols }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newUtilMacros() pkg.Artifact {
|
func (t Toolchain) newUtilMacros() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.17"
|
version = "1.17"
|
||||||
checksum = "vYPO4Qq3B_WGcsBjG0-lfwZ6DZ7ayyrOLqfDrVOgTDcyLChuMGOAAVAa_UXLu5tD"
|
checksum = "vYPO4Qq3B_WGcsBjG0-lfwZ6DZ7ayyrOLqfDrVOgTDcyLChuMGOAAVAa_UXLu5tD"
|
||||||
@@ -12,11 +12,19 @@ func (t Toolchain) newUtilMacros() pkg.Artifact {
|
|||||||
"util-macros-"+version+".tar.bz2",
|
"util-macros-"+version+".tar.bz2",
|
||||||
mustDecode(checksum),
|
mustDecode(checksum),
|
||||||
pkg.TarBzip2,
|
pkg.TarBzip2,
|
||||||
), nil, (*MakeHelper)(nil))
|
), nil, (*MakeHelper)(nil)), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[utilMacros] = Toolchain.newUtilMacros }
|
func init() {
|
||||||
|
artifactsM[utilMacros] = Metadata{
|
||||||
|
f: Toolchain.newUtilMacros,
|
||||||
|
|
||||||
func (t Toolchain) newXproto() pkg.Artifact {
|
Name: "util-macros",
|
||||||
|
Description: "X.Org Autotools macros",
|
||||||
|
Website: "https://xorg.freedesktop.org/",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newXproto() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "7.0.23"
|
version = "7.0.23"
|
||||||
checksum = "goxwWxV0jZ_3pNczXFltZWHAhq92x-aEreUGyp5Ns8dBOoOmgbpeNIu1nv0Zx07z"
|
checksum = "goxwWxV0jZ_3pNczXFltZWHAhq92x-aEreUGyp5Ns8dBOoOmgbpeNIu1nv0Zx07z"
|
||||||
@@ -37,11 +45,19 @@ func (t Toolchain) newXproto() pkg.Artifact {
|
|||||||
PkgConfig,
|
PkgConfig,
|
||||||
|
|
||||||
utilMacros,
|
utilMacros,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Xproto] = Toolchain.newXproto }
|
func init() {
|
||||||
|
artifactsM[Xproto] = Metadata{
|
||||||
|
f: Toolchain.newXproto,
|
||||||
|
|
||||||
func (t Toolchain) newLibXau() pkg.Artifact {
|
Name: "xproto",
|
||||||
|
Description: "X Window System unified protocol definitions",
|
||||||
|
Website: "https://gitlab.freedesktop.org/xorg/proto/xorgproto",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newLibXau() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.0.7"
|
version = "1.0.7"
|
||||||
checksum = "bm768RoZZnHRe9VjNU1Dw3BhfE60DyS9D_bgSR-JLkEEyUWT_Hb_lQripxrXto8j"
|
checksum = "bm768RoZZnHRe9VjNU1Dw3BhfE60DyS9D_bgSR-JLkEEyUWT_Hb_lQripxrXto8j"
|
||||||
@@ -64,6 +80,14 @@ func (t Toolchain) newLibXau() pkg.Artifact {
|
|||||||
|
|
||||||
utilMacros,
|
utilMacros,
|
||||||
Xproto,
|
Xproto,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[LibXau] = Metadata{
|
||||||
|
f: Toolchain.newLibXau,
|
||||||
|
|
||||||
|
Name: "libXau",
|
||||||
|
Description: "functions for handling Xauthority files and entries",
|
||||||
|
Website: "https://gitlab.freedesktop.org/xorg/lib/libxau",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[LibXau] = Toolchain.newLibXau }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newXCBProto() pkg.Artifact {
|
func (t Toolchain) newXCBProto() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.17.0"
|
version = "1.17.0"
|
||||||
checksum = "_NtbKaJ_iyT7XiJz25mXQ7y-niTzE8sHPvLXZPcqtNoV_-vTzqkezJ8Hp2U1enCv"
|
checksum = "_NtbKaJ_iyT7XiJz25mXQ7y-niTzE8sHPvLXZPcqtNoV_-vTzqkezJ8Hp2U1enCv"
|
||||||
@@ -13,11 +13,19 @@ func (t Toolchain) newXCBProto() pkg.Artifact {
|
|||||||
pkg.TarGzip,
|
pkg.TarGzip,
|
||||||
), nil, (*MakeHelper)(nil),
|
), nil, (*MakeHelper)(nil),
|
||||||
Python,
|
Python,
|
||||||
)
|
), version
|
||||||
}
|
}
|
||||||
func init() { artifactsF[XCBProto] = Toolchain.newXCBProto }
|
func init() {
|
||||||
|
artifactsM[XCBProto] = Metadata{
|
||||||
|
f: Toolchain.newXCBProto,
|
||||||
|
|
||||||
func (t Toolchain) newXCB() pkg.Artifact {
|
Name: "xcb-proto",
|
||||||
|
Description: "XML-XCB protocol descriptions used by libxcb for the X11 protocol & extensions",
|
||||||
|
Website: "https://gitlab.freedesktop.org/xorg/proto/xcbproto",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Toolchain) newXCB() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.17.0"
|
version = "1.17.0"
|
||||||
checksum = "hjjsc79LpWM_hZjNWbDDS6qRQUXREjjekS6UbUsDq-RR1_AjgNDxhRvZf-1_kzDd"
|
checksum = "hjjsc79LpWM_hZjNWbDDS6qRQUXREjjekS6UbUsDq-RR1_AjgNDxhRvZf-1_kzDd"
|
||||||
@@ -33,6 +41,14 @@ func (t Toolchain) newXCB() pkg.Artifact {
|
|||||||
XCBProto,
|
XCBProto,
|
||||||
Xproto,
|
Xproto,
|
||||||
LibXau,
|
LibXau,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[XCB] = Metadata{
|
||||||
|
f: Toolchain.newXCB,
|
||||||
|
|
||||||
|
Name: "xcb",
|
||||||
|
Description: "The X protocol C-language Binding",
|
||||||
|
Website: "https://xcb.freedesktop.org/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[XCB] = Toolchain.newXCB }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newXZ() pkg.Artifact {
|
func (t Toolchain) newXZ() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "5.8.2"
|
version = "5.8.2"
|
||||||
checksum = "rXT-XCp9R2q6cXqJ5qenp0cmGPfiENQiU3BWtUVeVgArfRmSsISeUJgvCR3zI0a0"
|
checksum = "rXT-XCp9R2q6cXqJ5qenp0cmGPfiENQiU3BWtUVeVgArfRmSsISeUJgvCR3zI0a0"
|
||||||
@@ -14,6 +14,14 @@ func (t Toolchain) newXZ() pkg.Artifact {
|
|||||||
pkg.TarBzip2,
|
pkg.TarBzip2,
|
||||||
), nil, (*MakeHelper)(nil),
|
), nil, (*MakeHelper)(nil),
|
||||||
Diffutils,
|
Diffutils,
|
||||||
)
|
), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[XZ] = Metadata{
|
||||||
|
f: Toolchain.newXZ,
|
||||||
|
|
||||||
|
Name: "xz",
|
||||||
|
Description: "XZ Utils",
|
||||||
|
Website: "https://tukaani.org/xz/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[XZ] = Toolchain.newXZ }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newZlib() pkg.Artifact {
|
func (t Toolchain) newZlib() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.3.1"
|
version = "1.3.1"
|
||||||
checksum = "E-eIpNzE8oJ5DsqH4UuA_0GDKuQF5csqI8ooDx2w7Vx-woJ2mb-YtSbEyIMN44mH"
|
checksum = "E-eIpNzE8oJ5DsqH4UuA_0GDKuQF5csqI8ooDx2w7Vx-woJ2mb-YtSbEyIMN44mH"
|
||||||
@@ -20,6 +20,14 @@ func (t Toolchain) newZlib() pkg.Artifact {
|
|||||||
|
|
||||||
Host: `""`,
|
Host: `""`,
|
||||||
Build: `""`,
|
Build: `""`,
|
||||||
})
|
}), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Zlib] = Metadata{
|
||||||
|
f: Toolchain.newZlib,
|
||||||
|
|
||||||
|
Name: "zlib",
|
||||||
|
Description: "lossless data-compression library",
|
||||||
|
Website: "https://zlib.net/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Zlib] = Toolchain.newZlib }
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package rosa
|
|||||||
|
|
||||||
import "hakurei.app/internal/pkg"
|
import "hakurei.app/internal/pkg"
|
||||||
|
|
||||||
func (t Toolchain) newZstd() pkg.Artifact {
|
func (t Toolchain) newZstd() (pkg.Artifact, string) {
|
||||||
const (
|
const (
|
||||||
version = "1.5.7"
|
version = "1.5.7"
|
||||||
checksum = "4XhfR7DwVkwo1R-TmYDAJOcx9YXv9WSFhcFUe3hWEAMmdMLPhFaznCqYIA19_xxV"
|
checksum = "4XhfR7DwVkwo1R-TmYDAJOcx9YXv9WSFhcFUe3hWEAMmdMLPhFaznCqYIA19_xxV"
|
||||||
@@ -18,6 +18,14 @@ func (t Toolchain) newZstd() pkg.Artifact {
|
|||||||
{"CMAKE_BUILD_TYPE", "Release"},
|
{"CMAKE_BUILD_TYPE", "Release"},
|
||||||
{"CMAKE_INSTALL_LIBDIR", "lib"},
|
{"CMAKE_INSTALL_LIBDIR", "lib"},
|
||||||
},
|
},
|
||||||
})
|
}), version
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
artifactsM[Zstd] = Metadata{
|
||||||
|
f: Toolchain.newZstd,
|
||||||
|
|
||||||
|
Name: "zstd",
|
||||||
|
Description: "a fast compression algorithm",
|
||||||
|
Website: "https://facebook.github.io/zstd/",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func init() { artifactsF[Zstd] = Toolchain.newZstd }
|
|
||||||
|
|||||||
Reference in New Issue
Block a user