Compare commits

...

28 Commits

Author SHA1 Message Date
mae
b72f6a743a internal/rosa/package: replace assignment syntax 2026-05-23 23:15:20 -05:00
mae
dcfcc9992c internal/rosa/package: create az.mod and remove preprocessor directive 2026-05-23 22:55:21 -05:00
mae
0307f781a2 internal/rosa/package: azalea proposal 2026-05-23 20:50:35 -05:00
689f972976 internal/rosa/package: migrate stage0
All checks were successful
Test / Create distribution (push) Successful in 1m5s
Test / Sandbox (push) Successful in 2m58s
Test / ShareFS (push) Successful in 3m45s
Test / Hakurei (push) Successful in 3m53s
Test / Sandbox (race detector) (push) Successful in 5m33s
Test / Hakurei (race detector) (push) Successful in 6m34s
Test / Flake checks (push) Successful in 1m19s
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 17:53:05 +09:00
3f33b62dfd internal/rosa/package: migrate system image
All checks were successful
Test / Create distribution (push) Successful in 1m4s
Test / Sandbox (push) Successful in 2m52s
Test / ShareFS (push) Successful in 3m43s
Test / Hakurei (push) Successful in 3m56s
Test / Sandbox (race detector) (push) Successful in 5m30s
Test / Hakurei (race detector) (push) Successful in 6m30s
Test / Flake checks (push) Successful in 1m22s
The overlay argument also enables migration of stage0.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 17:44:38 +09:00
ac5488eef6 internal/rosa/package: migrate initramfs image
All checks were successful
Test / Create distribution (push) Successful in 1m3s
Test / Sandbox (push) Successful in 2m53s
Test / ShareFS (push) Successful in 3m48s
Test / Hakurei (push) Successful in 3m52s
Test / Sandbox (race detector) (push) Successful in 5m35s
Test / Hakurei (race detector) (push) Successful in 6m30s
Test / Flake checks (push) Successful in 1m22s
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 17:30:39 +09:00
77a15130c7 internal/rosa/package: foot
All checks were successful
Test / Create distribution (push) Successful in 1m5s
Test / Sandbox (push) Successful in 2m44s
Test / ShareFS (push) Successful in 4m21s
Test / Hakurei (push) Successful in 4m41s
Test / Sandbox (race detector) (push) Successful in 5m53s
Test / Hakurei (race detector) (push) Successful in 3m35s
Test / Flake checks (push) Successful in 1m18s
Used by vm test suite.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 16:51:32 +09:00
4c1e823908 internal/rosa/package: fcft
All checks were successful
Test / Create distribution (push) Successful in 1m6s
Test / Sandbox (push) Successful in 2m53s
Test / ShareFS (push) Successful in 3m46s
Test / Hakurei (push) Successful in 3m51s
Test / Sandbox (race detector) (push) Successful in 5m25s
Test / Hakurei (race detector) (push) Successful in 6m29s
Test / Flake checks (push) Successful in 1m32s
Required by foot.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 16:45:42 +09:00
5f5a398a5b internal/rosa/package: utf8proc
All checks were successful
Test / Create distribution (push) Successful in 1m11s
Test / Sandbox (push) Successful in 2m55s
Test / ShareFS (push) Successful in 4m6s
Test / Sandbox (race detector) (push) Successful in 5m36s
Test / Hakurei (race detector) (push) Successful in 6m47s
Test / Hakurei (push) Successful in 2m47s
Test / Flake checks (push) Successful in 1m25s
Required by foot.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 16:35:38 +09:00
d5e4a2e6a7 internal/rosa/package: tllist
All checks were successful
Test / Create distribution (push) Successful in 1m11s
Test / Sandbox (push) Successful in 2m57s
Test / Hakurei (push) Successful in 4m8s
Test / ShareFS (push) Successful in 4m9s
Test / Sandbox (race detector) (push) Successful in 5m34s
Test / Hakurei (race detector) (push) Successful in 6m47s
Test / Flake checks (push) Successful in 1m21s
Required by foot.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 16:35:24 +09:00
57c6b84b60 internal/rosa/package: fontconfig
All checks were successful
Test / Create distribution (push) Successful in 1m7s
Test / Sandbox (push) Successful in 2m58s
Test / ShareFS (push) Successful in 4m2s
Test / Sandbox (race detector) (push) Successful in 5m29s
Test / Hakurei (push) Successful in 2m34s
Test / Hakurei (race detector) (push) Successful in 3m32s
Test / Flake checks (push) Successful in 1m22s
Required by foot.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 16:23:06 +09:00
4269627b4b internal/rosa/package: xkbcommon
All checks were successful
Test / Sandbox (push) Successful in 3m2s
Test / Create distribution (push) Successful in 1m6s
Test / ShareFS (push) Successful in 2m47s
Test / Sandbox (race detector) (push) Successful in 3m37s
Test / Hakurei (race detector) (push) Successful in 6m40s
Test / Hakurei (push) Successful in 2m34s
Test / Flake checks (push) Successful in 1m24s
Required by foot.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 16:22:51 +09:00
d50e3c3d5b internal/rosa/package/glib: 2.88.1 to 2.89.0
All checks were successful
Test / Create distribution (push) Successful in 1m12s
Test / Sandbox (push) Successful in 3m7s
Test / ShareFS (push) Successful in 3m42s
Test / Hakurei (push) Successful in 4m17s
Test / Sandbox (race detector) (push) Successful in 5m12s
Test / Hakurei (race detector) (push) Successful in 6m42s
Test / Flake checks (push) Successful in 1m22s
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 14:33:37 +09:00
eae2890d98 internal/rosa/package/python: trove-classifiers 2026.5.7.17 to 2026.5.22.10
All checks were successful
Test / Create distribution (push) Successful in 1m11s
Test / Sandbox (push) Successful in 3m4s
Test / Hakurei (push) Successful in 4m7s
Test / ShareFS (push) Successful in 4m9s
Test / Sandbox (race detector) (push) Successful in 5m33s
Test / Hakurei (race detector) (push) Successful in 6m41s
Test / Flake checks (push) Successful in 1m25s
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 14:33:20 +09:00
f8ebfd71a7 internal/rosa/package/spirv: spirv-headers 1.4.341.0 to 1.4.350.0
All checks were successful
Test / Create distribution (push) Successful in 1m16s
Test / Sandbox (push) Successful in 3m14s
Test / ShareFS (push) Successful in 4m50s
Test / Hakurei (push) Successful in 5m2s
Test / Sandbox (race detector) (push) Successful in 6m5s
Test / Hakurei (race detector) (push) Successful in 7m16s
Test / Flake checks (push) Successful in 1m23s
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 14:32:52 +09:00
dce1a05f6c internal/rosa/package/firmware: 20260410 to 20260519
All checks were successful
Test / Create distribution (push) Successful in 1m18s
Test / Sandbox (push) Successful in 3m12s
Test / Hakurei (push) Successful in 4m57s
Test / ShareFS (push) Successful in 4m53s
Test / Sandbox (race detector) (push) Successful in 6m16s
Test / Hakurei (race detector) (push) Successful in 7m13s
Test / Flake checks (push) Successful in 1m24s
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 14:32:16 +09:00
eff265837c internal/rosa/package/mesa: 26.1.0 to 26.1.1
All checks were successful
Test / Sandbox (race detector) (push) Successful in 5m37s
Test / Create distribution (push) Successful in 1m6s
Test / Sandbox (push) Successful in 3m19s
Test / Hakurei (race detector) (push) Successful in 4m44s
Test / Hakurei (push) Successful in 4m45s
Test / ShareFS (push) Successful in 4m43s
Test / Flake checks (push) Successful in 1m26s
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 14:32:01 +09:00
7d809eb15f internal/rosa/package/nss: 3.123.1 to 3.124
All checks were successful
Test / Create distribution (push) Successful in 1m15s
Test / Sandbox (push) Successful in 3m6s
Test / ShareFS (push) Successful in 4m12s
Test / Hakurei (push) Successful in 4m27s
Test / Sandbox (race detector) (push) Successful in 5m41s
Test / Hakurei (race detector) (push) Successful in 6m49s
Test / Flake checks (push) Successful in 1m25s
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 14:31:36 +09:00
9accc2f961 internal/rosa/package/nss: nspr 4.38.2 to 4.39
All checks were successful
Test / Create distribution (push) Successful in 1m17s
Test / Sandbox (push) Successful in 3m0s
Test / Hakurei (push) Successful in 4m11s
Test / ShareFS (push) Successful in 4m16s
Test / Sandbox (race detector) (push) Successful in 5m49s
Test / Hakurei (race detector) (push) Successful in 6m45s
Test / Flake checks (push) Successful in 1m25s
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 14:31:19 +09:00
e5a4094298 internal/rosa: remove unused helpers
All checks were successful
Test / Create distribution (push) Successful in 34s
Test / Sandbox (push) Successful in 2m45s
Test / ShareFS (push) Successful in 3m36s
Test / Sandbox (race detector) (push) Successful in 5m15s
Test / Hakurei (race detector) (push) Successful in 6m24s
Test / Hakurei (push) Successful in 3m8s
Test / Flake checks (push) Successful in 1m24s
These are no longer needed after migration.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 14:00:18 +09:00
410c4f8bb0 internal/rosa/package/cmake: 4.3.2 to 4.3.3
All checks were successful
Test / Create distribution (push) Successful in 1m14s
Test / ShareFS (push) Successful in 12m31s
Test / Sandbox (push) Successful in 1m37s
Test / Sandbox (race detector) (push) Successful in 2m31s
Test / Hakurei (push) Successful in 2m48s
Test / Hakurei (race detector) (push) Successful in 3m33s
Test / Flake checks (push) Successful in 1m23s
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 13:02:23 +09:00
2e23c6d367 internal/rosa/package/kernel: 6.12.87 to 6.12.90
All checks were successful
Test / Create distribution (push) Successful in 1m7s
Test / Sandbox (race detector) (push) Successful in 12m14s
Test / ShareFS (push) Successful in 12m27s
Test / Hakurei (race detector) (push) Successful in 14m26s
Test / Sandbox (push) Successful in 1m28s
Test / Hakurei (push) Successful in 2m28s
Test / Flake checks (push) Successful in 1m27s
Unfortunately this causes rebuilds due to a single io_uring API change.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 13:01:44 +09:00
f5e9a0c04e internal/pkg: destroy new substitution status on fault
All checks were successful
Test / Create distribution (push) Successful in 1m8s
Test / Sandbox (push) Successful in 2m54s
Test / ShareFS (push) Successful in 3m56s
Test / Hakurei (push) Successful in 4m5s
Test / Sandbox (race detector) (push) Successful in 5m44s
Test / Hakurei (race detector) (push) Successful in 7m10s
Test / Flake checks (push) Successful in 2m30s
This avoids leaving behind the substitution status path of a faulted cure.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 01:31:13 +09:00
3bd4ef616c internal/pkg: report errors exiting cure
All checks were successful
Test / Create distribution (push) Successful in 1m5s
Test / Sandbox (push) Successful in 2m51s
Test / ShareFS (push) Successful in 3m44s
Test / Hakurei (push) Successful in 3m49s
Test / Sandbox (race detector) (push) Successful in 5m23s
Test / Hakurei (race detector) (push) Successful in 6m29s
Test / Flake checks (push) Successful in 1m21s
This makes ongoing errors more obvious when multiple failures occur.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 01:25:42 +09:00
41402fd578 internal/rosa/package/util-linux: 2.42 to 2.42.1
All checks were successful
Test / Create distribution (push) Successful in 1m9s
Test / Sandbox (push) Successful in 2m51s
Test / ShareFS (push) Successful in 3m45s
Test / Hakurei (push) Successful in 3m54s
Test / Sandbox (race detector) (push) Successful in 5m23s
Test / Hakurei (race detector) (push) Successful in 6m34s
Test / Flake checks (push) Successful in 1m21s
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 01:00:27 +09:00
b47fa1a214 internal/rosa: IR-curable source override
All checks were successful
Test / Hakurei (push) Successful in 4m16s
Test / Hakurei (race detector) (push) Successful in 6m40s
Test / Create distribution (push) Successful in 1m4s
Test / Sandbox (push) Successful in 1m54s
Test / ShareFS (push) Successful in 2m36s
Test / Sandbox (race detector) (push) Successful in 2m41s
Test / Flake checks (push) Successful in 1m18s
This creates a tarball in-memory for overriding hakurei-source.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-22 22:24:16 +09:00
9e363cb2c9 internal/rosa/go: runtime dependencies for alterative path
All checks were successful
Test / Create distribution (push) Successful in 1m7s
Test / Sandbox (push) Successful in 2m57s
Test / ShareFS (push) Successful in 4m15s
Test / Hakurei (push) Successful in 4m26s
Test / Sandbox (race detector) (push) Successful in 5m46s
Test / Hakurei (race detector) (push) Successful in 6m47s
Test / Flake checks (push) Successful in 1m25s
The GCC toolchain is not dependency-free, so append them here.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-22 13:42:02 +09:00
1389c77022 internal/rosa/package/hakurei: 0.4.2 to 0.4.3
All checks were successful
Test / Create distribution (push) Successful in 1m5s
Test / Sandbox (push) Successful in 2m47s
Test / Hakurei (push) Successful in 3m48s
Test / ShareFS (push) Successful in 3m46s
Test / Sandbox (race detector) (push) Successful in 5m19s
Test / Hakurei (race detector) (push) Successful in 6m25s
Test / Flake checks (push) Successful in 1m20s
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-22 03:16:56 +09:00
102 changed files with 2981 additions and 2983 deletions

View File

@@ -64,11 +64,12 @@ func main() {
return
}
e, ok := r.(rosa.LoadError)
if !ok {
switch r.(type) {
case rosa.LoadError, pkg.IRStringError:
log.Fatal(r)
default:
panic(r)
}
log.Fatal(e)
}()
ctx, stop := signal.NotifyContext(context.Background(),
@@ -86,6 +87,7 @@ func main() {
flagLTO bool
flagPT bool
flagSourcePath string
flagCrossOverride int
addr net.UnixAddr
@@ -136,6 +138,12 @@ func main() {
}
}
if flagSourcePath != "" {
if err := rosa.Native().SetSource(os.DirFS(flagSourcePath)); err != nil {
return err
}
}
return nil
}).Flag(
&flagQuiet,
@@ -196,6 +204,10 @@ func main() {
&flagPT,
"parse-time", command.BoolFlag(false),
"Print duration of the initial azalea parse",
).Flag(
&flagSourcePath,
"source", command.StringFlag(""),
"Override hakurei source tree",
)
c.NewCommand(
@@ -427,8 +439,6 @@ func main() {
var (
flagGentoo string
flagChecksum string
flagStage0 bool
)
c.NewCommand(
"stage3",
@@ -490,17 +500,6 @@ func main() {
"("+pkg.Encode(checksum[0].Value())+")",
)
}
if flagStage0 {
if err = cm.Do(func(cache *pkg.Cache) (err error) {
pathname, _, err = cache.Cure(rosa.Native().Std().NewStage0())
return
}); err != nil {
return
}
log.Println(pathname)
}
return
},
).Flag(
@@ -511,10 +510,6 @@ func main() {
&flagChecksum,
"checksum", command.StringFlag(""),
"Checksum of Gentoo stage3 tarball",
).Flag(
&flagStage0,
"stage0", command.BoolFlag(false),
"Create bootstrap stage0 tarball",
)
}

View File

@@ -155,7 +155,7 @@ type TContext struct {
// Target [Artifact] encoded identifier.
ids string
// Pathname status was created at.
statusPath *check.Absolute
statusPath, statusSPath *check.Absolute
// File statusHeader and logs are written to.
status *os.File
// Error value during prepareStatus.
@@ -258,6 +258,11 @@ func (t *TContext) destroy(errP *error) {
), 10),
).String(),
))
if t.statusSPath != nil {
t.cache.checksumMu.Lock()
*errP = errors.Join(*errP, os.Remove(t.statusSPath.String()))
t.cache.checksumMu.Unlock()
}
}
t.status = nil
}
@@ -1923,6 +1928,9 @@ func (c *Cache) cure(a Artifact, curesExempt bool) (
}
c.exitCure(a, curesExempt)
if err != nil {
if c.msg.IsVerbose() {
c.msg.Verbosef("cure file %s: %v", reportName(f, id), err)
}
return
}
@@ -1954,7 +1962,7 @@ func (c *Cache) cure(a Artifact, curesExempt bool) (
t := TContext{
c.base.Append(dirWork, ids),
c.base.Append(dirTemp, ids),
ids, nil, nil, nil,
ids, nil, nil, nil, nil,
common{ctx, c},
}
switch ca := a.(type) {
@@ -1966,6 +1974,9 @@ func (c *Cache) cure(a Artifact, curesExempt bool) (
err = ca.Cure(&t)
c.exitCure(a, curesExempt)
if err != nil {
if c.msg.IsVerbose() {
c.msg.Verbosef("cure trivial %s: %v", reportName(ca, id), err)
}
return
}
break
@@ -2043,16 +2054,25 @@ func (c *Cache) cure(a Artifact, curesExempt bool) (
}
err = ca.Cure(&f)
if err == nil && f.status != nil {
statusS := c.base.Append(
dirStatus,
substitutes,
)
c.checksumMu.Lock()
err = os.Link(c.base.Append(
dirStatus,
ids,
).String(), c.base.Append(
dirStatus,
substitutes,
).String())
).String(), statusS.String())
c.checksumMu.Unlock()
if err == nil {
f.statusSPath = statusS
}
}
c.exitCure(a, curesExempt)
if err != nil {
if c.msg.IsVerbose() {
c.msg.Verbosef("cure %s: %v", reportName(ca, id), err)
}
return
}
break
@@ -2101,6 +2121,9 @@ func (c *Cache) cure(a Artifact, curesExempt bool) (
Got: gotChecksum,
Want: checksum.Value(),
}
if c.msg.IsVerbose() {
c.msg.Verbosef("validate %s: %v", reportName(a, id), err)
}
return
}

View File

@@ -26,7 +26,7 @@ func (a busyboxBin) Params(*pkg.IContext) {}
// IsExclusive returns false: Cure performs a trivial filesystem write.
func (busyboxBin) IsExclusive() bool { return false }
// Dependencies returns the underlying busybox [pkg.File].
// Dependencies returns the underlying busybox [pkg.FileArtifact].
func (a busyboxBin) Dependencies() []pkg.Artifact {
return []pkg.Artifact{a.bin}
}

View File

@@ -11,7 +11,7 @@ var (
_ninja = H("ninja")
)
// CMakeHelper is the [CMake] build system helper.
// CMakeHelper builds and tests a CMake project with specified CACHE entries.
type CMakeHelper struct {
// Path elements joined with source.
Append []string
@@ -34,7 +34,7 @@ type CMakeHelper struct {
var _ Helper = new(CMakeHelper)
// extra returns a hardcoded slice of [CMake] and [Ninja].
// extra returns the cmake handle alongside either ninja or make.
func (attr *CMakeHelper) extra(int) P {
if attr != nil && attr.Make {
return P{_cmake, _make}

View File

@@ -36,8 +36,3 @@ git \
rm -rf /work/.git
`, resolvconf())
}
// newTagRemote is a helper around NewViaGit for a tag on a git remote.
func (t Toolchain) newTagRemote(url, tag, checksum string) pkg.Artifact {
return t.NewViaGit(url, "refs/tags/"+tag, mustDecode(checksum))
}

View File

@@ -6,14 +6,12 @@ import (
"hakurei.app/internal/pkg"
)
var _go = H("go")
// newGo returns a specific version of the Go toolchain.
func (t Toolchain) newGo(
version, checksum string,
env []string,
script string,
boot pkg.Artifact,
boot ...pkg.Artifact,
) pkg.Artifact {
return t.NewPackage("go", version, newTar(
"https://go.dev/dl/go"+version+".src.tar.gz",
@@ -28,7 +26,7 @@ func (t Toolchain) newGo(
"TMPDIR=/dev/shm/go",
}, env),
Extra: []pkg.Artifact{boot},
Extra: boot,
}, &GenericHelper{
InPlace: true,
Build: `
@@ -72,13 +70,13 @@ func init() {
native.MustRegister(meta.Name, func(t Toolchain) (*Metadata, pkg.Artifact) {
var (
bootstrapEnv []string
bootstrapEarly pkg.Artifact
bootstrapEarly []pkg.Artifact
finalEnv []string
)
switch t.arch {
case "amd64":
bootstrapEarly = t.NewPackage("go", "1.4-bootstrap", newTar(
bootstrapEarly = []pkg.Artifact{t.NewPackage("go", "1.4-bootstrap", newTar(
"https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz",
"8o9JL_ToiQKadCTb04nvBDkp8O1xiWOolAxVEqaTGodieNe4lOFEjlOxN3bwwe23",
pkg.TarGzip,
@@ -98,11 +96,11 @@ mkdir -p /var/tmp/
`,
},
_bash,
)
)}
case "arm64", "riscv64":
bootstrapEnv = append(bootstrapEnv, "GOROOT_BOOTSTRAP=/system")
_, bootstrapEarly = t.MustLoad(H("gcc"))
bootstrapEarly = t.Append(bootstrapEarly, H("gcc"))
finalEnv = append(finalEnv, "CGO_ENABLED=0")
default:
@@ -123,7 +121,7 @@ sed -i \
echo \
'type syscallDescriptor = int' >> \
os/rawconn_test.go
`, bootstrapEarly)
`, bootstrapEarly...)
go121 := t.newGo(
"1.21.13",

View File

@@ -1,51 +0,0 @@
package rosa
import (
"hakurei.app/fhs"
"hakurei.app/internal/pkg"
)
func init() {
meta := Metadata{
Name: "system-image",
Description: "Rosa OS system image",
Version: Unversioned,
}
native.MustRegister(meta.Name, func(t Toolchain) (*Metadata, pkg.Artifact) {
return &meta, t.New("system.img", TNoToolchain, t.Append(nil,
H("squashfs-tools"),
), nil, nil, `
mksquashfs /mnt/system /work/system.img
`, pkg.Path(fhs.AbsRoot.Append("mnt"), false, t.Append(nil,
_musl,
_mksh,
_toybox,
H("kmod"),
H("kernel"),
H("firmware"),
)...))
})
}
func init() {
meta := Metadata{
Name: "initramfs-image",
Description: "Rosa OS initramfs image",
Version: Unversioned,
}
native.MustRegister(meta.Name, func(t Toolchain) (*Metadata, pkg.Artifact) {
return &meta, t.New("initramfs", TNoToolchain, t.Append(nil,
_zstd,
H("earlyinit"),
H("gen_init_cpio"),
), nil, nil, `
gen_init_cpio -t 4294967295 -c /usr/src/initramfs | zstd > /work/initramfs.zst
`, pkg.Path(AbsUsrSrc.Append("initramfs"), false, pkg.NewFile("initramfs", []byte(`
dir /dev 0755 0 0
nod /dev/null 0666 0 0 c 1 3
nod /dev/console 0600 0 0 c 5 1
file /init /system/libexec/hakurei/earlyinit 0555 0 0
`))))
})
}

View File

@@ -7,7 +7,7 @@ import (
var _make = H("make")
// MakeHelper is the [Make] build system helper.
// MakeHelper wraps the make program and its surrounding build system.
type MakeHelper struct {
// Do not include default extras.
OmitDefaults bool

View File

@@ -7,7 +7,7 @@ import (
var _meson = H("meson")
// MesonHelper is the [Meson] build system helper.
// MesonHelper builds and tests a meson project.
type MesonHelper struct {
// Runs after setup.
ScriptCompileEarly string

View File

@@ -1,25 +1,22 @@
package argp-standalone {
description = "hierarchical argument parsing library broken out from glibc";
website = "http://www.lysator.liu.se/~nisse/misc";
description = "hierarchical argument parsing library broken out from glibc"
website = "http://www.lysator.liu.se/~nisse/misc"
version* = "1.3";
version# = "1.3"
source = remoteTar {
url = "http://www.lysator.liu.se/~nisse/misc/"+
"argp-standalone-"+version+".tar.gz";
checksum = "vtW0VyO2pJ-hPyYmDI2zwSLS8QL0sPAUKC1t3zNYbwN2TmsaE-fADhaVtNd3eNFl";
compress = gzip;
};
url = "http://www.lysator.liu.se/~nisse/misc/argp-standalone-${version}.tar.gz"
checksum = "vtW0VyO2pJ-hPyYmDI2zwSLS8QL0sPAUKC1t3zNYbwN2TmsaE-fADhaVtNd3eNFl"
compress = gzip
}
env = [
"CC=cc -std=gnu89 -fPIC",
];
"CC=cc -std=gnu89 -fPIC"
]
exec = make {
install = `
install -D -m644 /usr/src/argp-standalone/argp.h /work/system/include/argp.h
install -D -m755 libargp.a /work/system/lib/libargp.a
`;
};
install = `install -D -m644 /usr/src/argp-standalone/argp.h /work/system/include/argp.h
install -D -m755 libargp.a /work/system/lib/libargp.a`
}
inputs = [ diffutils ];
inputs = [ diffutils ]
}

View File

@@ -0,0 +1,2 @@
az 0.1.0
schema mbf

View File

@@ -1,30 +1,25 @@
package bison {
description = "a general-purpose parser generator";
website = "https://www.gnu.org/software/bison";
anitya = 193;
description = "a general-purpose parser generator"
website = "https://www.gnu.org/software/bison"
anitya = 193
version* = "3.8.2";
version# = "3.8.2"
source = remoteTar {
url = "https://ftpmirror.gnu.org/gnu/bison/bison-"+version+".tar.gz";
checksum = "BhRM6K7URj1LNOkIDCFDctSErLS-Xo5d9ba9seg10o6ACrgC1uNhED7CQPgIY29Y";
compress = gzip;
};
url = "https://ftpmirror.gnu.org/gnu/bison/bison-${version}.tar.gz"
checksum = "BhRM6K7URj1LNOkIDCFDctSErLS-Xo5d9ba9seg10o6ACrgC1uNhED7CQPgIY29Y"
compress = gzip
}
exec = make {
check = [
"TESTSUITEFLAGS=" + jobsFlagE + "' " + skipGNUTests {
tests = [
// clang miscompiles (SIGILL)
764,
];
} + "'",
"check",
];
};
"TESTSUITEFLAGS=${jobsFlagE}' ${skipGNUTests(764)}'"
"check"
]
}
inputs = [
m4,
diffutils,
sed,
];
m4
diffutils
sed
]
}

View File

@@ -1,19 +1,19 @@
package buildcatrust {
description = "transform certificate stores between formats";
website = "https://github.com/nix-community/buildcatrust";
anitya = 233988;
description = "transform certificate stores between formats"
website = "https://github.com/nix-community/buildcatrust"
anitya = 233988
version* = "0.5.1";
version := "0.5.1"
source = remoteGitHub {
suffix = "nix-community/buildcatrust";
tag = "v"+version;
checksum = "oxjnuIrPVMPvD6x8VFLqB7EdbfuhouGQdtPuHDpEHGzoyH5nkxqtYN9UthMY9noA";
};
suffix = "nix-community/buildcatrust"
tag = "v"+version
checksum = "oxjnuIrPVMPvD6x8VFLqB7EdbfuhouGQdtPuHDpEHGzoyH5nkxqtYN9UthMY9noA"
}
early = "\nrm buildcatrust/tests/test_nonhermetic.py\n";
early = "rm buildcatrust/tests/test_nonhermetic.py"
exec = pip {};
exec = pip()
inputs = [ python-flit-core ];
runtime = [ python ];
inputs = [ python-flit-core ]
runtime = [ python ]
}

View File

@@ -1,27 +1,26 @@
package bzip2 {
description = "a freely available, patent free, high-quality data compressor";
website = "https://sourceware.org/bzip2";
anitya = 237;
description = "a freely available, patent free, high-quality data compressor"
website = "https://sourceware.org/bzip2"
anitya = 237
version* = "1.0.8";
version# = "1.0.8"
source = remoteTar {
url = "https://sourceware.org/pub/bzip2/bzip2-"+version+".tar.gz";
checksum = "cTLykcco7boom-s05H1JVsQi1AtChYL84nXkg_92Dm1Xt94Ob_qlMg_-NSguIK-c";
compress = gzip;
};
url = "https://sourceware.org/pub/bzip2/bzip2-${version}.tar.gz"
checksum = "cTLykcco7boom-s05H1JVsQi1AtChYL84nXkg_92Dm1Xt94Ob_qlMg_-NSguIK-c"
compress = gzip
}
// uses source tree as scratch space
writable = true;
enterSource = true;
writable
enterSource
exec = make {
skipConfigure = true;
skipCheck = true;
inPlace = true;
skipConfigure
skipCheck
inPlace
make = [
"CC=cc",
];
install = "make PREFIX=/work/system install";
};
"CC=cc"
]
install = "make PREFIX=/work/system install"
}
}

View File

@@ -3,12 +3,12 @@ package cmake {
website = "https://cmake.org";
anitya = 306;
version* = "4.3.2";
version* = "4.3.3";
source = remoteGitHubRelease {
suffix = "Kitware/CMake";
tag = "v"+version;
name = "cmake-"+version+".tar.gz";
checksum = "6QylwRVKletndTSkZTV2YBRwgd_9rUVgav_QW23HpjUgV21AVYZOUOal8tdBDmO7";
checksum = "VS-b6cN4S9hfNv3JOUAbAfI9nh3EeuVwY_IVgUdgq6VKwvfchhXwvvFAUcpZG6Ez";
compress = gzip;
};
patches = [

View File

@@ -1,47 +1,47 @@
package curl {
description = "command line tool and library for transferring data with URLs";
website = "https://curl.se";
anitya = 381;
description = "command line tool and library for transferring data with URLs"
website = "https://curl.se"
anitya = 381
version* = "8.20.0";
version# = "8.20.0"
source = remoteTar {
url = "https://curl.se/download/curl-"+version+".tar.bz2";
checksum = "xyHXwrngIRGMasuzhn-I5MSCOhktwINbsWt1f_LuR-5jRVvyx_g6U1EQfDLEbr9r";
compress = bzip2;
};
url = "https://curl.se/download/curl-${version}.tar.bz2"
checksum = "xyHXwrngIRGMasuzhn-I5MSCOhktwINbsWt1f_LuR-5jRVvyx_g6U1EQfDLEbr9r"
compress = bzip2
}
// remove broken test
writable = true;
early = "\nchmod +w tests/data && rm -f tests/data/test459\n";
writable
early = "chmod +w tests/data && rm -f tests/data/test459"
exec = make {
configure = {
"with-openssl";
"with-ca-bundle": "/system/etc/ssl/certs/ca-bundle.crt";
configure = [
"with-openssl"
"with-ca-bundle": "/system/etc/ssl/certs/ca-bundle.crt"
"disable-smb";
};
"disable-smb"
]
check = [
"TFLAGS=" + jobsLFlagE,
"test-nonflaky",
];
};
"TFLAGS=${jobsLFlagE}"
"test-nonflaky"
]
}
inputs = [
perl,
python,
pkg-config,
diffutils,
perl
python
pkg-config
diffutils
libpsl,
openssl,
];
libpsl
openssl
]
runtime = [
zlib,
zstd,
libpsl,
openssl,
];
zlib
zstd
libpsl
openssl
]
}

View File

@@ -1,63 +1,63 @@
package dbus {
description = "a message bus system";
website = "https://www.freedesktop.org/wiki/Software/dbus";
anitya = 5356;
description = "a message bus system"
website = "https://www.freedesktop.org/wiki/Software/dbus"
anitya = 5356
version* = "1.16.2";
version := "1.16.2"
source = remoteGitLab {
domain = "gitlab.freedesktop.org";
suffix = "dbus/dbus";
ref = "dbus-"+version;
checksum = "INwOuNdrDG7XW5ilW_vn8JSxEa444rRNc5ho97i84I1CNF09OmcFcV-gzbF4uCyg";
};
domain = "gitlab.freedesktop.org"
suffix = "dbus/dbus"
ref = "dbus-${version}"
checksum = "INwOuNdrDG7XW5ilW_vn8JSxEa444rRNc5ho97i84I1CNF09OmcFcV-gzbF4uCyg"
}
// OSError: [Errno 30] Read-only file system: '/usr/src/dbus/subprojects/packagecache'
writable = true;
writable
// PermissionError: [Errno 13] Permission denied: '/usr/src/dbus/subprojects/packagecache'
chmod = true;
chmod
exec = meson {
setup = {
"Depoll": "enabled";
"Dinotify": "enabled";
"Dx11_autolaunch": "disabled";
};
};
setup = endi [
"Depoll": true
"Dinotify": true
"Dx11_autolaunch": false
]
}
inputs = [
glib,
libexpat,
];
glib
libexpat
]
runtime = [
glib,
libexpat,
];
glib
libexpat
]
}
package xdg-dbus-proxy {
description = "a filtering proxy for D-Bus connections";
website = "https://github.com/flatpak/xdg-dbus-proxy";
anitya = 58434;
description = "a filtering proxy for D-Bus connections"
website = "https://github.com/flatpak/xdg-dbus-proxy"
anitya = 58434
version* = "0.1.7";
version := "0.1.7"
source = remoteGitHub {
suffix = "flatpak/xdg-dbus-proxy";
tag = version;
checksum = "UW5Pe-TP-XAaN-kTbxrkOQ7eYdmlAQlr2pdreLtPT0uwdAz-7rzDP8V_8PWuZBup";
};
suffix = "flatpak/xdg-dbus-proxy"
tag = version
checksum = "UW5Pe-TP-XAaN-kTbxrkOQ7eYdmlAQlr2pdreLtPT0uwdAz-7rzDP8V_8PWuZBup"
}
exec = meson {
setup = {
"Dman": "disabled";
};
};
setup = endi [
"Dman": false
]
}
inputs = [
dbus,
glib,
];
dbus
glib
]
runtime = [ glib ];
runtime = [ glib ]
}

View File

@@ -1,33 +1,32 @@
package dtc {
description = "The Device Tree Compiler";
website = "https://git.kernel.org/pub/scm/utils/dtc/dtc.git";
anitya = 16911;
description = "The Device Tree Compiler"
website = "https://git.kernel.org/pub/scm/utils/dtc/dtc.git"
anitya = 16911
version* = "1.7.2";
version# = "1.7.2"
source = remoteTar {
url = "https://git.kernel.org/pub/scm/utils/dtc/dtc.git/snapshot/"+
"dtc-v"+version+".tar.gz";
checksum = "vUoiRynPyYRexTpS6USweT5p4SVHvvVJs8uqFkkVD-YnFjwf6v3elQ0-Etrh00Dt";
compress = gzip;
};
url = "https://git.kernel.org/pub/scm/utils/dtc/dtc.git/snapshot/dtc-v${version}.tar.gz"
checksum = "vUoiRynPyYRexTpS6USweT5p4SVHvvVJs8uqFkkVD-YnFjwf6v3elQ0-Etrh00Dt"
compress = gzip
}
// works around buggy test:
// fdtdump-runtest.sh /usr/src/dtc/tests/fdtdump.dts
writable = true;
chmod = true;
writable
chmod
exec = meson {
setup = {
"Dyaml": "disabled";
"Dstatic-build": "true";
};
};
setup = endi [
"Dyaml": false
"Dstatic-build": "true"
]
}
inputs = [
flex,
bison,
m4,
coreutils,
diffutils,
];
flex
bison
m4
coreutils
diffutils
]
}

View File

@@ -1,49 +1,48 @@
package elfutils {
description = "utilities and libraries to handle ELF files and DWARF data";
website = "https://sourceware.org/elfutils";
anitya = 5679;
description = "utilities and libraries to handle ELF files and DWARF data"
website = "https://sourceware.org/elfutils"
anitya = 5679
version* = "0.195";
version# = "0.195"
source = remoteTar {
url = "https://sourceware.org/elfutils/ftp/"+
version+"/elfutils-"+version+".tar.bz2";
checksum = "JrGnBD38w8Mj0ZxDw3fKlRBFcLvRKu8rcYnX35R9yTlUSYnzTazyLboG-a2CsJlu";
compress = bzip2;
};
url = "https://sourceware.org/elfutils/ftp/${version}/elfutils-${version}.tar.bz2"
checksum = "JrGnBD38w8Mj0ZxDw3fKlRBFcLvRKu8rcYnX35R9yTlUSYnzTazyLboG-a2CsJlu"
compress = bzip2
}
env = [
"CC=cc" +
// nonstandard glibc extension
" -DFNM_EXTMATCH=0",
];
" -DFNM_EXTMATCH=0"
]
exec = make {
// nonstandard glibc extension
skipCheck = true;
skipCheck
configure = {
"enable-deterministic-archives";
};
};
"enable-deterministic-archives"
}
}
inputs = [
m4,
pkg-config,
m4
pkg-config
zlib,
bzip2,
zstd,
argp-standalone,
musl-fts,
musl-obstack,
kernel-headers,
];
zlib
bzip2
zstd
argp-standalone
musl-fts
musl-obstack
kernel-headers
]
runtime = [
zlib,
bzip2,
zstd,
musl-fts,
musl-obstack,
];
zlib
bzip2
zstd
musl-fts
musl-obstack
]
}

View File

@@ -0,0 +1,27 @@
package fcft {
description = "a simple library for font loading and glyph rasterization using FontConfig, FreeType and pixman"
website = "https://codeberg.org/dnkl/fcft"
anitya = 143240
version# = "3.3.3"
source = remoteTar {
url = "https://codeberg.org/dnkl/fcft/archive/${version}.tar.gz"
checksum = "bMj8OmqtoANRKZWbjHk4WfP09AxJYRbWGqUsm1gRJ_dOFg6gooNbgkDu597PLfz2"
compress = gzip
}
exec = meson()
inputs = [
pixman
fontconfig
utf8proc
tllist
]
runtime = [
pixman
fontconfig
utf8proc
]
}

View File

@@ -1,47 +1,47 @@
package firmware {
description = "firmware blobs for use with the Linux kernel";
website = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git";
anitya = 141464;
description = "firmware blobs for use with the Linux kernel"
website = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"
anitya = 141464
version* = "20260410";
version# = "20260519"
source = remoteGitLab {
domain = "gitlab.com";
suffix = "kernel-firmware/linux-firmware";
ref = version;
checksum = "J8PdQlGqwrivpskPzbL6xacqR6mlKtXpe5RpzFfVzKPAgG81ZRXsc3qrxwdGJbil";
};
domain = "gitlab.com"
suffix = "kernel-firmware/linux-firmware"
ref = version
checksum = "l-wBRTWclYnJsgV4qtUV1-UL5Y4nknAPre8CMe0dH7PxtAqbaeudEIM_Fnuj0TCV"
}
// dedup creates temporary file
writable = true;
writable
// does not use configure
enterSource = true;
enterSource
env = [
"HOME=/proc/nonexistent",
];
"HOME=/proc/nonexistent"
]
exec = make {
omitDefaults = true;
skipConfigure = true;
inPlace = true;
omitDefaults
skipConfigure
inPlace
make = [
"DESTDIR=/work/system",
"install-zst",
];
"DESTDIR=/work/system"
"install-zst"
]
// requires pre-commit
skipCheck = true;
skipCheck
install = "make " + jobsFlagE + " DESTDIR=/work/system dedup";
};
install = "make ${jobFlagsE} DESTDIR=/work/system dedup"
}
inputs = [
parallel,
rdfind,
zstd,
findutils,
coreutils,
];
parallel
rdfind
zstd
findutils
coreutils
]
}

View File

@@ -1,18 +1,18 @@
package flex {
description = "scanner generator for lexing in C and C++";
website = "https://github.com/westes/flex";
anitya = 819;
description = "scanner generator for lexing in C and C++"
website = "https://github.com/westes/flex"
anitya = 819
version* = "2.6.4";
version# = "2.6.4"
source = remoteGitHubRelease {
suffix = "westes/flex";
tag = "v"+version;
name = "flex-"+version+".tar.gz";
checksum = "p9POjQU7VhgOf3x5iFro8fjhy0NOanvA7CTeuWS_veSNgCixIJshTrWVkc5XLZkB";
compress = gzip;
suffix = "westes/flex"
tag = "v"+version
name = "flex-${version}.tar.gz"
checksum = "p9POjQU7VhgOf3x5iFro8fjhy0NOanvA7CTeuWS_veSNgCixIJshTrWVkc5XLZkB"
compress = gzip
};
exec = make {};
exec = make();
inputs = [ m4 ];
}

View File

@@ -0,0 +1,37 @@
package fontconfig {
description = "font configuration and customization library"
website = "https://www.freedesktop.org/wiki/Software/fontconfig"
anitya = 827
version# = "2.18.0"
source = remoteGitLab {
domain = "gitlab.freedesktop.org"
suffix = "fontconfig/fontconfig"
ref = version
checksum = "Z-yA7pFiE7cRDxZm32EHUPmeRx-lth2X6uw51aoeLi4BXwNm4iOWT13IGp3YSbNW"
}
exec = make {
generate = "NOCONFIGURE=1 ./autogen.sh"
}
inputs = [
automake
libtool
pkg-config
gettext
gperf
gzip
python
zlib
libexpat
freetype
]
runtime = [
zlib
libexpat
freetype
]
}

View File

@@ -0,0 +1,28 @@
package foot {
description = "a fast, lightweight and minimalistic Wayland terminal emulator"
website = "https://codeberg.org/dnkl/foot"
anitya = 141611
version# = "1.27.0"
source = remoteTar {
url = "https://codeberg.org/dnkl/foot/archive/${version}.tar.gz"
checksum = "E2XIPRD8t-WBBJUebIwChFT8K_85diwdalssUNwnuZBIynPa7rlXro5WCe9v3UlK"
compress = gzip
}
exec = meson()
inputs = [
ncurses
xkbcommon
tllist
fcft
kernel-headers
]
runtime = [
xkbcommon
fcft
]
}

View File

@@ -1,15 +1,14 @@
package freetype {
description = "a freely available software library to render fonts";
website = "http://www.freetype.org";
anitya = 854;
description = "a freely available software library to render fonts"
website = "http://www.freetype.org"
anitya = 854
version* = "2.14.3";
version# = "2.14.3"
source = remoteTar {
url = "https://download.savannah.gnu.org/releases/freetype/"+
"freetype-"+version+".tar.gz";
checksum = "-WfLv8fVJNyCHpP_lriiDzOcVbBL9ajdQ3tl8AzIIUa9-8sVpU9irxOmSMgRHWYz";
compress = gzip;
};
url = "https://download.savannah.gnu.org/releases/freetype/freetype-${version}.tar.gz"
checksum = "-WfLv8fVJNyCHpP_lriiDzOcVbBL9ajdQ3tl8AzIIUa9-8sVpU9irxOmSMgRHWYz"
compress = gzip
}
exec = make {};
exec = make()
}

View File

@@ -1,33 +1,33 @@
package fuse {
description = "the reference implementation of the Linux FUSE interface";
website = "https://github.com/libfuse/libfuse";
anitya = 861;
description = "the reference implementation of the Linux FUSE interface"
website = "https://github.com/libfuse/libfuse"
anitya = 861
version* = "3.18.2";
version := "3.18.2"
source = remoteGitHubRelease {
suffix = "libfuse/libfuse";
tag = "fuse-"+version;
name = "fuse-"+version+".tar.gz";
checksum = "iL-7b7eUtmlVSf5cSq0dzow3UiqSjBmzV3cI_ENPs1tXcHdktkG45j1V12h-4jZe";
compress = gzip;
};
suffix = "libfuse/libfuse"
tag = "fuse-"+version
name = "fuse-${version}.tar.gz"
checksum = "iL-7b7eUtmlVSf5cSq0dzow3UiqSjBmzV3cI_ENPs1tXcHdktkG45j1V12h-4jZe"
compress = gzip
}
exec = meson {
setup = {
setup = [
"Ddefault_library": "both";
"Dtests": "true";
"Duseroot": "false";
"Dinitscriptdir": "/system/etc";
};
]
postCompile = "python3 -m pytest test/";
postCompile = "python3 -m pytest test/"
// this project uses pytest
skipTest = true;
};
skipTest
}
inputs = [
python-pytest,
python-pytest
kernel-headers,
];
kernel-headers
]
}

View File

@@ -1,95 +1,88 @@
package git {
description = "distributed version control system";
website = "https://www.git-scm.com";
anitya = 5350;
description = "distributed version control system"
website = "https://www.git-scm.com"
anitya = 5350
version* = "2.54.0";
version := "2.54.0"
source = remoteTar {
url = "https://www.kernel.org/pub/software/scm/git/"+
"git-"+version+".tar.gz";
checksum = "7vGKtFOJGqY8DO4e8UMRax7dLgImXKQz5MMalec6MlgYrsarffSJjgOughwRFpSH";
compress = gzip;
};
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.gz"
checksum = "7vGKtFOJGqY8DO4e8UMRax7dLgImXKQz5MMalec6MlgYrsarffSJjgOughwRFpSH"
compress = gzip
}
early = `
ln -s ../../system/bin/perl /usr/bin/ || true
# test suite assumes apache
rm -f /system/bin/httpd
`;
early = `ln -s ../../system/bin/perl /usr/bin/ || true
# test suite assumes apache
rm -f /system/bin/httpd`
// uses source tree as scratch space
enterSource = true;
enterSource
exec = make {
inPlace = true;
generate = "make configure";
inPlace
generate = "make configure"
preMake = `
function disable_test {
local test=$1 pattern=${2:-''}
if [ $# -eq 1 ]; then
rm "t/${test}.sh"
else
sed -i "t/${test}.sh" \
-e "/^\s*test_expect_.*$pattern/,/^\s*' *\$/{s/^/: #/}"
fi
}
disable_test t1800-hook
disable_test t5319-multi-pack-index
disable_test t1305-config-include
disable_test t3900-i18n-commit
disable_test t3507-cherry-pick-conflict
disable_test t4201-shortlog
disable_test t5303-pack-corruption-resilience
disable_test t4301-merge-tree-write-tree
disable_test t8005-blame-i18n
disable_test t9350-fast-export
disable_test t9300-fast-import
disable_test t0211-trace2-perf
disable_test t1517-outside-repo
disable_test t2200-add-update
disable_test t0027-auto-crlf
disable_test t7513-interpret-trailers
disable_test t7703-repack-geometric
disable_test t3705-add-sparse-checkout
disable_test t7002-mv-sparse-checkout
disable_test t1451-fsck-buffer
disable_test t4104-apply-boundary
disable_test t4200-rerere
disable_test t5515-fetch-merge-logic
`;
preMake = r`function disable_test {
local test=$1 pattern=${2:-''}
if [ $# -eq 1 ]; then
rm "t/${test}.sh"
else
sed -i "t/${test}.sh" \
-e "/^\s*test_expect_.*$pattern/,/^\s*' *\$/{s/^/: #/}"
fi
}
disable_test t1800-hook
disable_test t5319-multi-pack-index
disable_test t1305-config-include
disable_test t3900-i18n-commit
disable_test t3507-cherry-pick-conflict
disable_test t4201-shortlog
disable_test t5303-pack-corruption-resilience
disable_test t4301-merge-tree-write-tree
disable_test t8005-blame-i18n
disable_test t9350-fast-export
disable_test t9300-fast-import
disable_test t0211-trace2-perf
disable_test t1517-outside-repo
disable_test t2200-add-update
disable_test t0027-auto-crlf
disable_test t7513-interpret-trailers
disable_test t7703-repack-geometric
disable_test t3705-add-sparse-checkout
disable_test t7002-mv-sparse-checkout
disable_test t1451-fsck-buffer
disable_test t4104-apply-boundary
disable_test t4200-rerere
disable_test t5515-fetch-merge-logic`
check = [
"-C t",
`GIT_PROVE_OPTS="--jobs 32 --failures"`,
"prove",
];
"-C t"
`GIT_PROVE_OPTS="--jobs 32 --failures"`
"prove"
]
install = `make \
` + jobsFlagE + ` \
DESTDIR=/work \
NO_INSTALL_HARDLINKS=1 \
install`;
};
install = r`make \
${jobsFlagE} \
DESTDIR=/work \
NO_INSTALL_HARDLINKS=1 \
install`
}
inputs = [
// test suite hangs on mksh
bash,
bash
diffutils,
autoconf,
gettext,
diffutils
autoconf
gettext
zlib,
curl,
libexpat,
];
zlib
curl
libexpat
]
runtime = [
zlib,
curl,
libexpat,
];
zlib
curl
libexpat
]
}

View File

@@ -3,11 +3,11 @@ package glib {
website = "https://developer.gnome.org/glib";
anitya = 10024;
version* = "2.88.1";
version* = "2.89.0";
source = remoteGit {
url = "https://gitlab.gnome.org/GNOME/glib.git";
tag = version;
checksum = "Rkszn6W4RHjyspyqfXdVAVawdwDJCuS0Zu0f7qot7tbJhnw2fUDoUUJB40m-1MCX";
checksum = "4FXKhdS3pC98LevYa_h7piRylG86cZ_c9zAtGr78oHodU1ob8rBxGU0hoIZ4nzcA";
};
files = {

View File

@@ -1,31 +1,31 @@
package glslang {
description = "reference front end for GLSL/ESSL";
website = "https://github.com/KhronosGroup/glslang";
anitya = 205796;
description = "reference front end for GLSL/ESSL"
website = "https://github.com/KhronosGroup/glslang"
anitya = 205796
version* = "16.3.0";
version# = "16.3.0"
source = remoteGitHub {
suffix = "KhronosGroup/glslang";
tag = version;
checksum = "xyqDf8k3-D0_BXHGi0uLgMglnJ05Rf3j73QgbDs3sGtKNdBIQhY8JfqX1NcNoJQN";
};
suffix = "KhronosGroup/glslang"
tag = version
checksum = "xyqDf8k3-D0_BXHGi0uLgMglnJ05Rf3j73QgbDs3sGtKNdBIQhY8JfqX1NcNoJQN"
}
// test suite writes to source
writable = true;
chmod = true;
writable
chmod
exec = cmake {
cache = {
"BUILD_SHARED_LIBS": "ON";
"ALLOW_EXTERNAL_SPIRV_TOOLS": "ON";
};
};
"BUILD_SHARED_LIBS": "ON"
"ALLOW_EXTERNAL_SPIRV_TOOLS": "ON"
}
}
inputs = [
python,
bash,
diffutils,
python
bash
diffutils
spirv-tools,
];
spirv-tools
]
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,14 +1,14 @@
package googletest {
description = "Google Testing and Mocking Framework";
exclude = true;
anitya = 18290;
description = "Google Testing and Mocking Framework"
exclude
anitya = 18290
version* = "1.17.0";
version# = "1.17.0"
output = remoteGitHubRelease {
suffix = "google/googletest";
tag = "v"+version;
name = "googletest-"+version+".tar.gz";
checksum = "-1r3ch8vPP8COF7xUH5hyX6bEJ4dN9TQh4IxrmpHr6vaig6mA3DdUpV4cihQ_9dw";
compress = gzip;
};
suffix = "google/googletest"
tag = "v"+version
name = "googletest-${version}.tar.gz"
checksum = "-1r3ch8vPP8COF7xUH5hyX6bEJ4dN9TQh4IxrmpHr6vaig6mA3DdUpV4cihQ_9dw"
compress = gzip
}
}

View File

@@ -1,61 +0,0 @@
From 2a9aa3b4007a73a6c9d4608cb9a8822247881fd6 Mon Sep 17 00:00:00 2001
From: Ophestra <cat@gensokyo.uk>
Date: Thu, 21 May 2026 23:34:50 +0900
Subject: [PATCH] cmd/dist: include version in release
This makes HAKUREI_VERSION optional during build.
Signed-off-by: Ophestra <cat@gensokyo.uk>
---
cmd/dist/VERSION | 1 +
cmd/dist/main.go | 7 ++++++-
flake.nix | 1 -
3 files changed, 7 insertions(+), 2 deletions(-)
create mode 100644 cmd/dist/VERSION
diff --git a/cmd/dist/VERSION b/cmd/dist/VERSION
new file mode 100644
index 00000000..0eec13e4
--- /dev/null
+++ b/cmd/dist/VERSION
@@ -0,0 +1 @@
+v0.4.2
diff --git a/cmd/dist/main.go b/cmd/dist/main.go
index 9ed7f2f8..d876cf83 100644
--- a/cmd/dist/main.go
+++ b/cmd/dist/main.go
@@ -18,8 +18,13 @@ import (
"os/signal"
"path/filepath"
"runtime"
+ "strings"
)
+//go:generate sh -c "git describe --tags > VERSION"
+//go:embed VERSION
+var version string
+
// getenv looks up an environment variable, and returns fallback if it is unset.
func getenv(key, fallback string) string {
if v, ok := os.LookupEnv(key); ok {
@@ -47,7 +52,7 @@ func main() {
verbose := os.Getenv("VERBOSE") != ""
runTests := os.Getenv("HAKUREI_DIST_MAKE") == ""
- version := getenv("HAKUREI_VERSION", "untagged")
+ version = getenv("HAKUREI_VERSION", strings.TrimSpace(version))
prefix := getenv("PREFIX", "/usr")
destdir := getenv("DESTDIR", "dist")
diff --git a/flake.nix b/flake.nix
index 4de35204..09520be2 100644
--- a/flake.nix
+++ b/flake.nix
@@ -139,7 +139,6 @@
GOCACHE="$(mktemp -d)" \
PATH="${pkgs.pkgsStatic.musl.bin}/bin:$PATH" \
DESTDIR="$out" \
- HAKUREI_VERSION="v${hakurei.version}" \
./all.sh
'';
}

View File

@@ -2,11 +2,11 @@ package hakurei-source {
description = "hakurei source tree";
exclude = true;
version* = "0.4.2";
version* = "0.4.3";
output = remoteTar {
url = "https://git.gensokyo.uk/rosa/hakurei/archive/"+
"v"+version+".tar.gz";
checksum = "jadgaOrxv5ABGvzQ_Rk0aPGz7U8K-427TbMhQNQ32scSizEnlR44Pu7NoWYWVZWq";
checksum = "1LqBJIcYcAFTVfydCahOm4hjjKhY953X9ars0eQj32hnpNncWFefuT6OJpZzIlZv";
compress = gzip;
};
}
@@ -17,7 +17,6 @@ package hakurei {
anitya = 388834;
source = hakurei-source;
patches = [ "2a9aa3b4007a73a6c9d4608cb9a8822247881fd6.patch" ];
enterSource = true;
writable = true;
chmod = true;
@@ -84,7 +83,6 @@ package hakurei-dist {
website = "https://hakurei.app";
source = hakurei-source;
patches = [ "2a9aa3b4007a73a6c9d4608cb9a8822247881fd6.patch" ];
enterSource = true;
writable = true;
chmod = true;
@@ -132,7 +130,6 @@ package earlyinit {
exclude = true;
source = hakurei-source;
patches = [ "2a9aa3b4007a73a6c9d4608cb9a8822247881fd6.patch" ];
enterSource = true;
writable = true;
chmod = true;
@@ -146,10 +143,8 @@ package earlyinit {
exec = generic {
inPlace = true;
build = `
mkdir -p /work/system/libexec/hakurei/
echo '# Building earlyinit.'
go build -trimpath -v -o /work/system/libexec/hakurei -ldflags="-s -w
go build -trimpath -v -o /work/ -ldflags="-s -w
-buildid=
-linkmode external
-extldflags=-static

View File

@@ -1,23 +1,23 @@
package hwdata {
description = "contains various hardware identification and configuration data";
website = "https://github.com/vcrhonek/hwdata";
anitya = 5387;
description = "contains various hardware identification and configuration data"
website = "https://github.com/vcrhonek/hwdata"
anitya = 5387
version* = "0.407";
version# = "0.407"
source = remoteGitHub {
suffix = "vcrhonek/hwdata";
tag = "v"+version;
checksum = "6p1XD0CRuzt6hLfjv4ShKBW934BexmoPkRrmwxD4J63fBVCzVBRHyF8pVJdW_Xjm";
};
suffix = "vcrhonek/hwdata"
tag = "v"+version
checksum = "6p1XD0CRuzt6hLfjv4ShKBW934BexmoPkRrmwxD4J63fBVCzVBRHyF8pVJdW_Xjm"
}
writable = true;
enterSource = true;
writable
enterSource
exec = make {
// awk: fatal: cannot open file `hwdata.spec' for reading: No such file or directory
inPlace = true;
inPlace
// lspci: Unknown option 'A' (see "lspci --help")
skipCheck = true;
};
skipCheck
}
}

View File

@@ -0,0 +1,4 @@
dir /dev 0755 0 0
nod /dev/null 0666 0 0 c 1 3
nod /dev/console 0600 0 0 c 5 1
file /init /usr/src/initramfs-image/earlyinit 0555 0 0

View File

@@ -0,0 +1,45 @@
package initramfs-image {
description = "Rosa OS initramfs image";
version = unversioned;
exclude = true;
source = earlyinit;
files = {
"initramfs";
};
exec = generic {
build = "gen_init_cpio "+
"-t 4294967295 "+
"-c /usr/src/initramfs | "+
"zstd > /work/initramfs.zst";
};
inputs = [
zstd,
gen_init_cpio,
];
}
package system-image {
description = "Rosa OS system image";
version = unversioned;
exclude = true;
source = earlyinit;
extra = [
musl,
mksh,
toybox,
kmod,
kernel,
firmware,
];
overlay = "/mnt";
exec = generic {
build = "mksquashfs /mnt/system /work/system.img";
};
inputs = [ squashfs-tools ];
}

View File

@@ -1,16 +1,16 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 6.12.87 Kernel Configuration
# Linux/x86 6.12.90 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="clang version 22.1.5"
CONFIG_CC_VERSION_TEXT="clang version 22.1.6"
CONFIG_GCC_VERSION=0
CONFIG_CC_IS_CLANG=y
CONFIG_CLANG_VERSION=220105
CONFIG_CLANG_VERSION=220106
CONFIG_AS_IS_LLVM=y
CONFIG_AS_VERSION=220105
CONFIG_AS_VERSION=220106
CONFIG_LD_VERSION=0
CONFIG_LD_IS_LLD=y
CONFIG_LLD_VERSION=220105
CONFIG_LLD_VERSION=220106
CONFIG_RUSTC_VERSION=0
CONFIG_RUSTC_LLVM_VERSION=0
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y

View File

@@ -1,16 +1,16 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm64 6.12.83 Kernel Configuration
# Linux/arm64 6.12.90 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="clang version 22.1.4"
CONFIG_CC_VERSION_TEXT="clang version 22.1.6"
CONFIG_GCC_VERSION=0
CONFIG_CC_IS_CLANG=y
CONFIG_CLANG_VERSION=220104
CONFIG_CLANG_VERSION=220106
CONFIG_AS_IS_LLVM=y
CONFIG_AS_VERSION=220104
CONFIG_AS_VERSION=220106
CONFIG_LD_VERSION=0
CONFIG_LD_IS_LLD=y
CONFIG_LLD_VERSION=220104
CONFIG_LLD_VERSION=220106
CONFIG_RUSTC_VERSION=0
CONFIG_RUSTC_LLVM_VERSION=0
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
@@ -13858,7 +13858,9 @@ CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
# CONFIG_DEBUG_INFO_DWARF4 is not set
# CONFIG_DEBUG_INFO_DWARF5 is not set
# CONFIG_DEBUG_INFO_REDUCED is not set
CONFIG_DEBUG_INFO_COMPRESSED_NONE=y
# CONFIG_DEBUG_INFO_COMPRESSED_NONE is not set
# CONFIG_DEBUG_INFO_COMPRESSED_ZLIB is not set
CONFIG_DEBUG_INFO_COMPRESSED_ZSTD=y
# CONFIG_DEBUG_INFO_SPLIT is not set
# CONFIG_GDB_SCRIPTS is not set
CONFIG_FRAME_WARN=2048

View File

@@ -1,16 +1,16 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/riscv 6.12.80 Kernel Configuration
# Linux/riscv 6.12.90 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="clang version 22.1.2"
CONFIG_CC_VERSION_TEXT="clang version 22.1.6"
CONFIG_GCC_VERSION=0
CONFIG_CC_IS_CLANG=y
CONFIG_CLANG_VERSION=220102
CONFIG_CLANG_VERSION=220106
CONFIG_AS_IS_LLVM=y
CONFIG_AS_VERSION=220102
CONFIG_AS_VERSION=220106
CONFIG_LD_VERSION=0
CONFIG_LD_IS_LLD=y
CONFIG_LLD_VERSION=220102
CONFIG_LLD_VERSION=220106
CONFIG_RUSTC_VERSION=0
CONFIG_RUSTC_LLVM_VERSION=0
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
@@ -11123,7 +11123,9 @@ CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
# CONFIG_DEBUG_INFO_DWARF4 is not set
# CONFIG_DEBUG_INFO_DWARF5 is not set
# CONFIG_DEBUG_INFO_REDUCED is not set
CONFIG_DEBUG_INFO_COMPRESSED_NONE=y
# CONFIG_DEBUG_INFO_COMPRESSED_NONE is not set
# CONFIG_DEBUG_INFO_COMPRESSED_ZLIB is not set
CONFIG_DEBUG_INFO_COMPRESSED_ZSTD=y
# CONFIG_GDB_SCRIPTS is not set
CONFIG_FRAME_WARN=2048
# CONFIG_STRIP_ASM_SYMS is not set

View File

@@ -3,11 +3,11 @@ package kernel-source {
website = "https://kernel.org";
exclude = true;
version* = "6.12.87";
version* = "6.12.90";
output = remoteTar {
url = "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/"+
"snapshot/linux-"+version+".tar.gz";
checksum = "QTl5teIy0K5KsOLYGHQ3FbnPCZNRH2bySXVzghiOoHDdM3zAcSPUkmdly85lMzHx";
checksum = "l9d_2veqbj3RVDp8L6vhV7j2DOLQtzQUqnzPFuJBR_VD8a3k4mvBQRR1-LE-SWZJ";
compress = gzip;
};
}
@@ -45,9 +45,9 @@ cat \
checksum = arch {
default = "";
amd64 = "lCmBNcMeUmXifg0vecKOPy3GAaFcJSmOPnf3wit9xYTDSTsFADPt1xxUFfmTn1fD";
arm64 = "PlRxp4JzZeMGx7CScRlT1NBzc2NVyJlb8Gm8sa3ofFght9ZT101ZJhcIXiCkHSHM";
riscv64 = "z0MI2uSA31k_HtIsqGoCy-Vcf3mYm_zBDR_jN1tntg2Fdvz6YTwCU9YlHbYnpNbx";
amd64 = "FkIf0_SD4g3mK_VWa9FJURjLS66YmknYTh49uMDlDSnoQpq6BqBymAm47joDwdWi";
arm64 = "bJ6ZLJhDR3K9So9zLh5s31hQPm_27gyl7XDVmCgdvyJGKDnffCKdtlE0HuvEbvye";
riscv64 = "bbZCVNS1ryP-XoW9Gwx3ugvhvOA6d5UuO6gE7-Gv82g_bQN1hk4GG0SXBo-otyqS";
};
inputs = [ rsync ];
}

View File

@@ -1,5 +1,5 @@
#define LINUX_VERSION_CODE 396372
#define LINUX_VERSION_CODE 396378
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + ((c) > 255 ? 255 : (c)))
#define LINUX_VERSION_MAJOR 6
#define LINUX_VERSION_PATCHLEVEL 12
#define LINUX_VERSION_SUBLEVEL 84
#define LINUX_VERSION_SUBLEVEL 90

View File

@@ -1,40 +1,39 @@
package 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";
anitya = 1517;
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"
anitya = 1517
version* = "34.2";
version# = "34.2"
source = remoteTar {
url = "https://www.kernel.org/pub/linux/utils/kernel/"+
"kmod/kmod-"+version+".tar.gz";
checksum = "0K7POeTKxMhExsaTsnKAC6LUNsRSfe6sSZxWONPbOu-GI_pXOw3toU_BIoqfBhJV";
compress = gzip;
};
url = "https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-${version}.tar.gz"
checksum = "0K7POeTKxMhExsaTsnKAC6LUNsRSfe6sSZxWONPbOu-GI_pXOw3toU_BIoqfBhJV"
compress = gzip
}
exec = meson {
setup = {
"Dmoduledir": "/system/lib/modules";
"Dsysconfdir": "/system/etc";
"Dbashcompletiondir": "no";
"Dfishcompletiondir": "no";
"Dxz": "disabled";
"Dmanpages": "false";
};
setup = [
"Dmoduledir": "/system/lib/modules"
"Dsysconfdir": "/system/etc"
"Dbashcompletiondir": "no"
"Dfishcompletiondir": "no"
"Dxz": "disabled"
"Dmanpages": "false"
]
// makes assumptions about the running kernel
skipTest = true;
};
skipTest
}
inputs = [
zlib,
zstd,
openssl,
kernel-headers,
];
zlib
zstd
openssl
kernel-headers
]
runtime = [
zlib,
zstd,
openssl,
];
zlib
zstd
openssl
]
}

View File

@@ -1,23 +1,23 @@
package libbsd {
description = "provides useful functions commonly found on BSD systems";
website = "https://libbsd.freedesktop.org";
anitya = 1567;
description = "provides useful functions commonly found on BSD systems"
website = "https://libbsd.freedesktop.org"
anitya = 1567
version* = "0.12.2";
version# = "0.12.2"
source = remoteGit {
url = "https://gitlab.freedesktop.org/libbsd/libbsd.git";
tag = version;
checksum = "NVS0xFLTwSP8JiElEftsZ-e1_C-IgJhHrHE77RwKt5178M7r087waO-zYx2_dfGX";
};
url = "https://gitlab.freedesktop.org/libbsd/libbsd.git"
tag = version
checksum = "NVS0xFLTwSP8JiElEftsZ-e1_C-IgJhHrHE77RwKt5178M7r087waO-zYx2_dfGX"
}
exec = make {
generate = "echo '" + version + "' > .dist-version && ./autogen";
};
generate = "echo '${version}' > .dist-version && ./autogen"
}
inputs = [
automake,
libtool,
automake
libtool
libmd,
];
libmd
]
}

View File

@@ -1,44 +1,43 @@
package libcap {
description = "a library for getting and setting POSIX.1e draft 15 capabilities";
website = "https://sites.google.com/site/fullycapable";
anitya = 1569;
description = "a library for getting and setting POSIX.1e draft 15 capabilities"
website = "https://sites.google.com/site/fullycapable"
anitya = 1569
version* = "2.78";
version# = "2.78"
source = remoteTar {
url = "https://git.kernel.org/pub/scm/libs/libcap/libcap.git/"+
"snapshot/libcap-"+version+".tar.gz";
checksum = "wFdUkBhFMD9InPnrBZyegWrlPSAg_9JiTBC-eSFyWWlmbzL2qjh2mKxr9Kx2a8ut";
compress = gzip;
};
url = "https://git.kernel.org/pub/scm/libs/libcap/libcap.git/snapshot/libcap-${version}.tar.gz"
checksum = "wFdUkBhFMD9InPnrBZyegWrlPSAg_9JiTBC-eSFyWWlmbzL2qjh2mKxr9Kx2a8ut"
compress = gzip
}
// uses source tree as scratch space
writable = true;
chmod = true;
writable
chmod
env = [
"prefix=/system",
"lib=lib",
];
"prefix=/system"
"lib=lib"
]
early = "\nln -s ../system/bin/bash /bin/\n";
early = "ln -s ../system/bin/bash /bin/"
exec = make {
skipConfigure = true;
inPlace = true;
skipConfigure
inPlace
make = [
"CC=cc",
"all",
];
"CC=cc"
"all"
]
check = [
"CC=cc",
"test",
];
};
"CC=cc"
"test"
]
}
inputs = [
bash,
diffutils,
];
bash
diffutils
]
}

View File

@@ -1,21 +1,21 @@
package libdisplay-info {
description = "EDID and DisplayID library";
website = "https://gitlab.freedesktop.org/emersion/libdisplay-info";
anitya = 326668;
description = "EDID and DisplayID library"
website = "https://gitlab.freedesktop.org/emersion/libdisplay-info"
anitya = 326668
version* = "0.3.0";
version := "0.3.0"
source = remoteGitLab {
domain = "gitlab.freedesktop.org";
suffix = "emersion/libdisplay-info";
ref = version;
checksum = "yjOqPUHHYgRtpqGw5RI1n2Q1_hO5j0LiFNMbjcRWV4Nf71XwwoC9fZMlKBDeLchT";
};
domain = "gitlab.freedesktop.org"
suffix = "emersion/libdisplay-info"
ref = version
checksum = "yjOqPUHHYgRtpqGw5RI1n2Q1_hO5j0LiFNMbjcRWV4Nf71XwwoC9fZMlKBDeLchT"
}
exec = meson {};
exec = meson()
inputs = [
diffutils,
diffutils
hwdata,
];
hwdata
]
}

View File

@@ -1,29 +1,29 @@
package libdrm {
description = "a userspace library for accessing the DRM";
website = "https://dri.freedesktop.org";
anitya = 1596;
description = "a userspace library for accessing the DRM"
website = "https://dri.freedesktop.org"
anitya = 1596
version* = "2.4.133";
version# = "2.4.133"
source = remoteGitLab {
domain = "gitlab.freedesktop.org";
suffix = "mesa/libdrm";
ref = "libdrm-"+version;
checksum = "bfj296NcR9DndO11hqDbSRFPqaweSLMqRk3dlCPZpM6FONX1WZ9J4JdbTDMUd1rU";
};
domain = "gitlab.freedesktop.org"
suffix = "mesa/libdrm"
ref = "libdrm-"+version
checksum = "bfj296NcR9DndO11hqDbSRFPqaweSLMqRk3dlCPZpM6FONX1WZ9J4JdbTDMUd1rU"
}
exec = meson {
setup = {
"Dintel": "enabled";
};
};
setup = endi [
"Dintel": true
]
}
inputs = [
// symbols check fail with llvm nm
binutils,
binutils
libpciaccess,
kernel-headers,
];
libpciaccess
kernel-headers
]
runtime = [ libpciaccess ];
runtime = [ libpciaccess ]
}

View File

@@ -1,21 +1,21 @@
package libepoxy {
description = "a library for handling OpenGL function pointer management";
website = "https://github.com/anholt/libepoxy";
anitya = 6090;
description = "a library for handling OpenGL function pointer management"
website = "https://github.com/anholt/libepoxy"
anitya = 6090
version* = "1.5.10";
version# = "1.5.10"
source = remoteGitHub {
suffix = "anholt/libepoxy";
tag = version;
checksum = "OHI8wshrlGw6BMGrmSyejJtwzM2gPhyFJrTsKxULyKMmYrfgcOe7Iw2ibVoUND_Q";
};
suffix = "anholt/libepoxy"
tag = version
checksum = "OHI8wshrlGw6BMGrmSyejJtwzM2gPhyFJrTsKxULyKMmYrfgcOe7Iw2ibVoUND_Q"
}
exec = meson {
setup = {
"Dglx": "no";
"Degl": "no";
};
};
setup = yn [
"Dglx": false
"Degl": false
]
}
inputs = [ libX11 ];
inputs = [ libX11 ]
}

View File

@@ -1,14 +1,14 @@
package libev {
description = "a full-featured and high-performance event loop";
website = "http://libev.schmorp.de";
anitya = 1605;
description = "a full-featured and high-performance event loop"
website = "http://libev.schmorp.de"
anitya = 1605
version* = "4.33";
version# = "4.33"
source = remoteTar {
url = "https://dist.schmorp.de/libev/Attic/libev-"+version+".tar.gz";
checksum = "774eSXV_4k8PySRprUDChbEwsw-kzjIFnJ3MpNOl5zDpamBRvC3BqPyRxvkwcL6_";
compress = gzip;
};
url = "https://dist.schmorp.de/libev/Attic/libev-${version}.tar.gz"
checksum = "774eSXV_4k8PySRprUDChbEwsw-kzjIFnJ3MpNOl5zDpamBRvC3BqPyRxvkwcL6_"
compress = gzip
}
exec = make {};
exec = make()
}

View File

@@ -1,22 +1,18 @@
package libexpat {
description = "a stream-oriented XML parser library";
website = "https://libexpat.github.io";
anitya = 770;
description = "a stream-oriented XML parser library"
website = "https://libexpat.github.io"
anitya = 770
version* = "2.8.1";
version# = "2.8.1"
source = remoteGitHubRelease {
suffix = "libexpat/libexpat";
tag = "R_"+replace {
s = version;
old = ".";
new = "_";
};
name = "expat-"+version+".tar.bz2";
checksum = "iMEtbOJhQfGof2GxSlxffQSI1va_NDDQ9VIuqcPbNZ0291Dr8wttD5QecYyjIQap";
compress = bzip2;
};
suffix = "libexpat/libexpat"
tag = "R_"+replace(version, ".", "_")
name = "expat-${version}.tar.bz2";
checksum = "iMEtbOJhQfGof2GxSlxffQSI1va_NDDQ9VIuqcPbNZ0291Dr8wttD5QecYyjIQap"
compress = bzip2
}
exec = make {};
exec = make()
inputs = [ bash ];
inputs = [ bash ]
}

View File

@@ -1,18 +1,18 @@
package libffi {
description = "a portable, high level programming interface to various calling conventions";
website = "https://sourceware.org/libffi";
anitya = 1611;
description = "a portable, high level programming interface to various calling conventions"
website = "https://sourceware.org/libffi"
anitya = 1611
version* = "3.5.2";
version# = "3.5.2"
source = remoteGitHubRelease {
suffix = "libffi/libffi";
tag = "v"+version;
name = "libffi-"+version+".tar.gz";
checksum = "2_Q-ZNBBbVhltfL5zEr0wljxPegUimTK4VeMSiwJEGksls3n4gj3lV0Ly3vviSFH";
compress = gzip;
};
suffix = "libffi/libffi"
tag = "v"+version
name = "libffi-${version}.tar.gz"
checksum = "2_Q-ZNBBbVhltfL5zEr0wljxPegUimTK4VeMSiwJEGksls3n4gj3lV0Ly3vviSFH"
compress = gzip
}
exec = make {};
exec = make()
inputs = [ kernel-headers ];
inputs = [ kernel-headers ]
}

View File

@@ -1,25 +1,25 @@
package libgd {
description = "an open source code library for the dynamic creation of images";
website = "https://libgd.github.io";
anitya = 880;
description = "an open source code library for the dynamic creation of images"
website = "https://libgd.github.io"
anitya = 880
version* = "2.3.3";
version# = "2.3.3"
source = remoteGitHubRelease {
suffix = "libgd/libgd";
tag = "gd-"+version;
name = "libgd-"+version+".tar.gz";
checksum = "8T-sh1_FJT9K9aajgxzh8ot6vWIF-xxjcKAHvTak9MgGUcsFfzP8cAvvv44u2r36";
compress = gzip;
};
suffix = "libgd/libgd"
tag = "gd"+version
name = "libgd-${version}.tar.gz"
checksum = "8T-sh1_FJT9K9aajgxzh8ot6vWIF-xxjcKAHvTak9MgGUcsFfzP8cAvvv44u2r36"
compress = gzip
}
env = [
"TMPDIR=/dev/shm/gd",
];
"TMPDIR=/dev/shm/gd"
]
early = "\nmkdir /dev/shm/gd\n";
early = "mkdir /dev/shm/gd"
exec = make {};
exec = make()
inputs = [ zlib ];
runtime = [ zlib ];
inputs = [ zlib ]
runtime = [ zlib ]
}

View File

@@ -1,38 +1,36 @@
package libglvnd {
description = "The GL Vendor-Neutral Dispatch library";
website = "https://gitlab.freedesktop.org/glvnd/libglvnd";
anitya = 12098;
description = "The GL Vendor-Neutral Dispatch library"
website = "https://gitlab.freedesktop.org/glvnd/libglvnd"
anitya = 12098
version* = "1.7.0";
version# = "1.7.0"
source = remoteGitLab {
domain = "gitlab.freedesktop.org";
suffix = "glvnd/libglvnd";
ref = "v"+version;
checksum = "eIQJK2sgFQDHdeFkQO87TrSUaZRFG4y2DrwA8Ut-sGboI59uw1OOiIVqq2AIwnGY";
};
domain = "gitlab.freedesktop.org"
suffix = "glvnd/libglvnd"
ref = "v"+version
checksum = "eIQJK2sgFQDHdeFkQO87TrSUaZRFG4y2DrwA8Ut-sGboI59uw1OOiIVqq2AIwnGY"
}
exec = meson {
setup = {
"Dx11": "enabled";
"Dglx": "enabled";
};
setup = endi [
"Dx11": true
"Dglx": true
]
postCompile = `
export DISPLAY=':0'
Xvfb &
XVFB_PID="$!"
trap 'kill $XVFB_PID && wait $XVFB_PID' EXIT
`;
};
postCompile = `export DISPLAY=':0'
Xvfb &
XVFB_PID="$!"
trap 'kill $XVFB_PID && wait $XVFB_PID' EXIT`
}
inputs = [
// symbols check fail with llvm nm
binutils,
binutils
// test suite wants X server
xserver,
xserver
libXext,
];
libXext
]
runtime = [ libXext ];
runtime = [ libXext ]
}

View File

@@ -1,22 +1,22 @@
package libmd {
description = "Message Digest functions from BSD systems";
website = "https://www.hadrons.org/software/libmd";
anitya = 15525;
description = "Message Digest functions from BSD systems"
website = "https://www.hadrons.org/software/libmd"
anitya = 15525
version* = "1.2.0";
version# = "1.2.0"
source = remoteGit {
url = "https://git.hadrons.org/git/libmd.git";
tag = version;
checksum = "1rJ6joAO0wwMZvSfnRNkc1MOhywyAq7SM8VmF92NvDtv7Qdl1LRbjm5fg_DFFtGj";
};
url = "https://git.hadrons.org/git/libmd.git"
tag = version
checksum = "1rJ6joAO0wwMZvSfnRNkc1MOhywyAq7SM8VmF92NvDtv7Qdl1LRbjm5fg_DFFtGj"
}
exec = make {
generate = "echo '" + version + "' > .dist-version && ./autogen";
preMake = "\ninstall -D /usr/src/libmd/src/helper.c src/helper.c\n";
};
generate = "echo '${version}' > .dist-version && ./autogen"
preMake = "install -D /usr/src/libmd/src/helper.c src/helper.c"
}
inputs = [
automake,
libtool,
];
automake
libtool
]
}

View File

@@ -1,27 +1,18 @@
package libpng {
description = "the official PNG reference library";
website = "https://www.libpng.org/pub/png/libpng.html";
anitya = 1705;
description = "the official PNG reference library"
website = "https://www.libpng.org/pub/png/libpng.html"
anitya = 1705
version* = "1.6.58";
version# = "1.6.58"
source = remoteTar {
url = "https://downloads.sourceforge.net/project/libpng/libpng"+
join {
elems = slice {
elems = split {
s = version;
sep = ".";
n = 3;
};
end = 2;
};
}+"/"+version+"/libpng-"+version+".tar.gz";
checksum = "m_a5lROJH7vmF3cMjqwTUqURuQLhV1JQx2ySPzcN3VPdgDB9pG3UINsIx_mtkr-t";
compress = gzip;
};
url = "https://downloads.sourceforge.net/project/libpng/libpng"+ trimPatch(version)
+ "/${version}/libpng-${version}.tar.gz"
checksum = "m_a5lROJH7vmF3cMjqwTUqURuQLhV1JQx2ySPzcN3VPdgDB9pG3UINsIx_mtkr-t"
compress = gzip
}
exec = make {};
exec = make()
inputs = [ zlib ];
runtime = [ zlib ];
inputs = [ zlib ]
runtime = [ zlib ]
}

View File

@@ -1,25 +1,22 @@
package libpsl {
description = "provides functions to work with the Mozilla Public Suffix List";
website = "https://rockdaboot.github.io/libpsl";
anitya = 7305;
description = "provides functions to work with the Mozilla Public Suffix List"
website = "https://rockdaboot.github.io/libpsl"
anitya = 7305
version* = "0.21.5";
version# = "0.21.5"
source = remoteGitHubRelease {
suffix = "rockdaboot/libpsl";
tag = version;
name = "libpsl-"+version+".tar.gz";
checksum = "XjfxSzh7peG2Vg4vJlL8z4JZJLcXqbuP6pLWkrGCmRxlnYUFTKNBqWGHCxEOlCad";
compress = gzip;
};
suffix = "rockdaboot/libpsl"
tag = version
name = "libpsl-${version}.tar.gz"
checksum = "XjfxSzh7peG2Vg4vJlL8z4JZJLcXqbuP6pLWkrGCmRxlnYUFTKNBqWGHCxEOlCad"
compress = gzip
}
writable = true;
early = `
test_disable() { chmod +w "$2" && echo "$1" > "$2"; }
writable
early = `test_disable() { chmod +w "$2" && echo "$1" > "$2"; }
test_disable 'int main(){return 0;}' tests/test-is-public-builtin.c`
test_disable 'int main(){return 0;}' tests/test-is-public-builtin.c
`;
exec = make()
exec = make {};
inputs = [ python ];
inputs = [ python ]
}

View File

@@ -1,36 +1,29 @@
package libtirpc {
description = "a port of Suns Transport-Independent RPC library to Linux";
website = "https://sourceforge.net/projects/libtirpc";
anitya = 1740;
description = "a port of Suns Transport-Independent RPC library to Linux"
website = "https://sourceforge.net/projects/libtirpc"
anitya = 1740
version* = "1.3.7";
version# = "1.3.7"
source = remoteGit {
url = "git://linux-nfs.org/~steved/libtirpc";
tag = "libtirpc-"+join {
elems = split {
s = version;
sep = ".";
n = 3;
};
sep = "-";
};
checksum = "nzFfu7LNvnSNiNAryD1vtnNWnU-Xqee8KqfXUKoBf5yjb5-dkeRkYuRijdCoYLof";
};
url = "git://linux-nfs.org/~steved/libtirpc"
tag = "libtirpc-"+join(split(version, ".", 3), "-")
checksum = "nzFfu7LNvnSNiNAryD1vtnNWnU-Xqee8KqfXUKoBf5yjb5-dkeRkYuRijdCoYLof"
}
exec = make {
generate = "sh -e ./bootstrap";
configure = {
"CFLAGS": `"$(pkg-config --cflags libbsd-overlay) ${CFLAGS:-}"`;
"disable-gssapi";
};
};
generate = "sh -e ./bootstrap"
configure = [
"CFLAGS": r`"$(pkg-config --cflags libbsd-overlay) ${CFLAGS:-}"`
"disable-gssapi"
]
}
inputs = [
automake,
libtool,
pkg-config,
automake
libtool
pkg-config
libbsd,
kernel-headers,
];
libbsd
kernel-headers
]
}

View File

@@ -1,28 +1,28 @@
package libucontext {
description = "ucontext implementation featuring glibc-compatible ABI";
website = "https://github.com/kaniini/libucontext";
anitya = 17085;
description = "ucontext implementation featuring glibc-compatible ABI"
website = "https://github.com/kaniini/libucontext"
anitya = 17085
version* = "1.5.1";
version# = "1.5.1"
source = remoteGitHub {
suffix = "kaniini/libucontext";
tag = "libucontext-"+version;
checksum = "mUgeyJknjMxT-5fORzz-rqhZfP3Y7EZGBhOwvhuX7MsF4Pk9wkuwtrLf5IML-jWu";
};
suffix = "kaniini/libucontext"
tag = "libucontext-"+version
checksum = "mUgeyJknjMxT-5fORzz-rqhZfP3Y7EZGBhOwvhuX7MsF4Pk9wkuwtrLf5IML-jWu"
}
// uses source tree as scratch space
writable = true;
chmod = true;
enterSource = true;
writable
chmod
enterSource
exec = make {
omitDefaults = true;
skipConfigure = true;
inPlace = true;
omitDefaults
skipConfigure
inPlace
make = [
"ARCH=" + linuxArch,
];
install = "make prefix=/system DESTDIR=/work install";
};
"ARCH=" + linuxArch
]
install = "make prefix=/system DESTDIR=/work install"
}
}

View File

@@ -1,35 +1,35 @@
package libva {
description = "an implementation for VA-API (Video Acceleration API)";
website = "https://01.org/vaapi";
anitya = 1752;
description = "an implementation for VA-API (Video Acceleration API)"
website = "https://01.org/vaapi"
anitya = 1752
version* = "2.23.0";
version# = "2.23.0"
source = remoteGitHub {
suffix = "intel/libva";
tag = version;
checksum = "UmF5tPyWIG_w5kiR3KFpoYbF7UUcaak5tyc-RhOheNTwQlLkPlifreFYCM9FQxbq";
};
suffix = "intel/libva"
tag = version
checksum = "UmF5tPyWIG_w5kiR3KFpoYbF7UUcaak5tyc-RhOheNTwQlLkPlifreFYCM9FQxbq"
}
exec = meson {
setup = {
"Dwith_x11": "yes";
"Dwith_glx": "yes";
"Dwith_wayland": "yes";
};
};
setup = yn [
"Dwith_x11": true
"Dwith_glx": true
"Dwith_wayland": true
]
}
inputs = [
libdrm,
libXfixes,
libglvnd,
wayland,
kernel-headers,
];
libdrm
libXfixes
libglvnd
wayland
kernel-headers
]
runtime = [
libdrm,
libXfixes,
libglvnd,
wayland,
];
libdrm
libXfixes
libglvnd
wayland
]
}

View File

@@ -1,23 +1,23 @@
package libxml2 {
description = "an XML toolkit implemented in C";
website = "https://gitlab.gnome.org/GNOME/libxml2";
anitya = 1783;
description = "an XML toolkit implemented in C"
website = "https://gitlab.gnome.org/GNOME/libxml2"
anitya = 1783
version* = "2.15.3";
version# = "2.15.3"
source = remoteGitLab {
domain = "gitlab.gnome.org";
suffix = "GNOME/libxml2";
ref = "v"+version;
checksum = "oJy74htGlEpf70KPvpW18fYJo0RQQkCXZRwqUz6NoXborS3HCq3Nm4gsyaSeNmUH";
};
domain = "gitlab.gnome.org"
suffix = "GNOME/libxml2"
ref = "v"+version
checksum = "oJy74htGlEpf70KPvpW18fYJo0RQQkCXZRwqUz6NoXborS3HCq3Nm4gsyaSeNmUH"
}
// can't create shell.out: Read-only file system
writable = true;
writable
exec = meson {};
exec = meson()
inputs = [
git,
diffutils,
];
git
diffutils
]
}

View File

@@ -1,31 +1,31 @@
package libxslt {
description = "an XSLT processor based on libxml2";
website = "https://gitlab.gnome.org/GNOME/libxslt";
anitya = 13301;
description = "an XSLT processor based on libxml2"
website = "https://gitlab.gnome.org/GNOME/libxslt"
anitya = 13301
version* = "1.1.45";
version# = "1.1.45"
source = remoteGitLab {
domain = "gitlab.gnome.org";
suffix = "GNOME/libxslt";
ref = "v"+version;
checksum = "67ks7v8od2oWaEGf23Sst_Xbn_8brQyolQjqxPoO-lK35k_WJhi2Px5JJgbk-nfn";
};
domain = "gitlab.gnome.org"
suffix = "GNOME/libxslt"
ref = "v"+version
checksum = "67ks7v8od2oWaEGf23Sst_Xbn_8brQyolQjqxPoO-lK35k_WJhi2Px5JJgbk-nfn"
}
exec = make {
generate = "NOCONFIGURE=1 ./autogen.sh";
generate = "NOCONFIGURE=1 ./autogen.sh"
// python libxml2 cyclic dependency
skipCheck = true;
};
skipCheck
}
inputs = [
automake,
libtool,
python,
pkg-config,
automake
libtool
python
pkg-config
libxml2,
];
libxml2
]
runtime = [ libxml2 ];
runtime = [ libxml2 ]
}

View File

@@ -1,15 +1,15 @@
package lit {
description = "a portable tool for executing LLVM and Clang style test suites";
website = "https://llvm.org/docs/CommandGuide/lit.html";
description = "a portable tool for executing LLVM and Clang style test suites"
website = "https://llvm.org/docs/CommandGuide/lit.html"
source = llvm-project;
source = llvm-project
exec = pip {
append = [ "llvm", "utils", "lit" ];
append = [ "llvm", "utils", "lit" ]
// already checked during llvm
skipCheck = true;
};
skipCheck
}
inputs = [ python-setuptools ];
runtime = [ python ];
inputs = [ python-setuptools ]
runtime = [ python ]
}

View File

@@ -1,49 +1,47 @@
package lm_sensors {
description = "user-space support for hardware monitoring drivers";
website = "https://hwmon.wiki.kernel.org/lm_sensors";
anitya = 1831;
description = "user-space support for hardware monitoring drivers"
website = "https://hwmon.wiki.kernel.org/lm_sensors"
anitya = 1831
version* = "3-6-2";
version# = "3-6-2"
source = remoteGitHub {
suffix = "lm-sensors/lm-sensors";
tag = "V"+version;
checksum = "7JYNutrihe-FP6r3ftf96uFZJJWPfxnBHL0ALSMA-vovaXVRr-sAjlLitw7WWpCI";
};
suffix = "lm-sensors/lm-sensors"
tag = "V"+version
checksum = "7JYNutrihe-FP6r3ftf96uFZJJWPfxnBHL0ALSMA-vovaXVRr-sAjlLitw7WWpCI"
}
writable = true;
chmod = true;
enterSource = true;
writable
chmod
enterSource
early = `
ln -s \
../../system/bin/perl \
/usr/bin/
`;
early = r`ln -s \
../../system/bin/perl \
/usr/bin/`
exec = make {
inPlace = true;
skipConfigure = true;
inPlace
skipConfigure
make = [
"CC=cc",
"ETCDIR=/system/etc",
"PREFIX=/system",
];
"CC=cc"
"ETCDIR=/system/etc"
"PREFIX=/system"
]
check = [
"CC=cc",
"check",
];
"CC=cc"
"check"
]
install = "make DESTDIR=/work PREFIX=/system install";
};
install = "make DESTDIR=/work PREFIX=/system install"
}
inputs = [
perl,
perl-Test-Cmd,
perl
perl-Test-Cmd
m4,
bison,
flex,
];
m4
bison
flex
]
}

View File

@@ -1,25 +1,24 @@
package make {
description = "a tool which controls the generation of executables and other non-source files";
website = "https://www.gnu.org/software/make";
anitya = 1877;
description = "a tool which controls the generation of executables and other non-source files"
website = "https://www.gnu.org/software/make"
anitya = 1877
version* = "4.4.1";
version# = "4.4.1"
source = remoteTar {
url = "https://ftpmirror.gnu.org/gnu/make/make-"+version+".tar.gz";
checksum = "YS_B07ZcAy9PbaK5_vKGj64SrxO2VMpnMKfc9I0Q9IC1rn0RwOH7802pJoj2Mq4a";
compress = gzip;
};
url = "https://ftpmirror.gnu.org/gnu/make/make-${version}.tar.gz"
checksum = "YS_B07ZcAy9PbaK5_vKGj64SrxO2VMpnMKfc9I0Q9IC1rn0RwOH7802pJoj2Mq4a"
compress = gzip
}
toyboxEarly = true;
toyboxEarly
exec = generic {
build = `/usr/src/make/configure \
--prefix=/system \
--build="${ROSA_TRIPLE}" \
--disable-dependency-tracking
./build.sh
`;
build = r`/usr/src/make/configure \
--prefix=/system \
--build="${ROSA_TRIPLE}" \
--disable-dependency-tracking
./build.sh`
// test suite wants perl
install = "./make DESTDIR=/work install\n";
};
install = "./make DESTDIR=/work install"
}
}

View File

@@ -1,137 +1,128 @@
package mesa {
description = "open source implementations of OpenGL, OpenGL ES, Vulkan, OpenCL, and more";
website = "https://mesa3d.org";
anitya = 1970;
latest = anityaFallback;
description = "open source implementations of OpenGL, OpenGL ES, Vulkan, OpenCL, and more"
website = "https://mesa3d.org"
anitya = 1970
latest = anityaFallback
version* = "26.1.0";
version# = "26.1.1"
source = remoteGitLab {
domain = "gitlab.freedesktop.org";
suffix = "mesa/mesa";
ref = "mesa-"+version;
checksum = "zU0fjqevySBaoi_5SLW3e2UffmGeBdxOuHmAHTH68n2hV-sjYoqg30koLqFXuk5y";
};
domain = "gitlab.freedesktop.org"
suffix = "mesa/mesa"
ref = "mesa-"+version
checksum = "OFCxGSTBe7qbnbVdazIJBNMFaQ-ylD5aRzo-JstSAdA0-hvVdRwsZiovMBm2rMzp"
}
exec = meson {
setup = {
"Dplatforms": "x11,wayland";
"Dvideo-codecs": "all";
setup = [
"Dplatforms": "x11,wayland"
"Dvideo-codecs": "all"
"Dglvnd": "enabled";
"Dgbm": "enabled";
"Dglvnd": "enabled"
"Dgbm": "enabled"
"Dgallium-drivers": join {
elems = [
"asahi", // Apple AGX
"crocus", // Intel legacy
"etnaviv", // Vivante GPU designs (mostly NXP/Marvell SoCs)
"freedreno", // Qualcomm Adreno (all Qualcomm SoCs)
"i915", // Intel extra legacy
"iris", // new Intel (Broadwell+)
"lima", // ARM Mali 4xx
"llvmpipe", // software renderer
"nouveau", // Nvidia
"panfrost", // ARM Mali Midgard and up (T/G series)
"r300", // very old AMD
"r600", // less old AMD
"radeonsi", // new AMD (GCN+)
"softpipe", // older software renderer
"svga", // VMWare virtualized GPU
"tegra", // Nvidia Tegra SoCs
"v3d", // Broadcom VC5 (Raspberry Pi 4)
"vc4", // Broadcom VC4 (Raspberry Pi 0-3)
"virgl", // QEMU virtualized GPU (aka VirGL)
"zink", // generic OpenGL over Vulkan, experimental
"Dgallium-drivers": join([
"asahi" // Apple AGX
"crocus" // Intel legacy
"etnaviv" // Vivante GPU designs (mostly NXP/Marvell SoCs)
"freedreno" // Qualcomm Adreno (all Qualcomm SoCs)
"i915" // Intel extra legacy
"iris" // new Intel (Broadwell+)
"lima" // ARM Mali 4xx
"llvmpipe" // software renderer
"nouveau" // Nvidia
"panfrost" // ARM Mali Midgard and up (T/G series)
"r300" // very old AMD
"r600" // less old AMD
"radeonsi" // new AMD (GCN+)
"softpipe" // older software renderer
"svga" // VMWare virtualized GPU
"tegra" // Nvidia Tegra SoCs
"v3d" // Broadcom VC5 (Raspberry Pi 4)
"vc4" // Broadcom VC4 (Raspberry Pi 0-3)
"virgl" // QEMU virtualized GPU (aka VirGL)
"zink" // generic OpenGL over Vulkan, experimental
// d3d12: WSL emulated GPU (aka Dozen)
// ethosu: accelerator
// rocket: accelerator
];
sep = ",";
};
], ",")
"Dvulkan-drivers": join {
elems = [
"amd", // AMD (aka RADV)
"broadcom", // Broadcom VC5 (Raspberry Pi 4, aka V3D)
"freedreno", // Qualcomm Adreno (all Qualcomm SoCs)
"intel", // new Intel (aka ANV)
"intel_hasvk", // Intel Haswell/Broadwell, "legacy" Vulkan driver (https://www.phoronix.com/news/Intel-HasVK-Drop-Dead-Code)
"panfrost", // ARM Mali Midgard and up (T/G series)
"swrast", // software renderer (aka Lavapipe)
"virtio", // QEMU virtualized GPU (aka VirGL)
"imagination", // PowerVR Rogue
"asahi", // Apple AGX
"gfxstream", // Android virtualized GPU
"Dvulkan-drivers": join([
"amd" // AMD (aka RADV)
"broadcom" // Broadcom VC5 (Raspberry Pi 4, aka V3D)
"freedreno" // Qualcomm Adreno (all Qualcomm SoCs)
"intel" // new Intel (aka ANV)
"intel_hasvk" // Intel Haswell/Broadwell, "legacy" Vulkan driver (https://www.phoronix.com/news/Intel-HasVK-Drop-Dead-Code)
"panfrost" // ARM Mali Midgard and up (T/G series)
"swrast" // software renderer (aka Lavapipe)
"virtio" // QEMU virtualized GPU (aka VirGL)
"imagination" // PowerVR Rogue
"asahi" // Apple AGX
"gfxstream" // Android virtualized GPU
// nouveau: Nouveau (aka NVK), requires rust
// microsoft-experimental: WSL virtualized GPU (aka DZN/Dozen)
// kosmickrisp: macOS-specific
];
sep = ",";
};
], ",")
"Dvulkan-layers": join {
elems = [
"device-select",
"intel-nullhw",
"overlay",
"screenshot",
"anti-lag",
"vram-report-limit",
];
sep = ",";
};
"Dvulkan-layers": join([
"device-select"
"intel-nullhw"
"overlay"
"screenshot"
"anti-lag"
"vram-report-limit"
], ",")
"Dfreedreno-kmds": "msm,virtio";
"Damdgpu-virtio": "true";
};
};
"Dfreedreno-kmds": "msm,virtio"
"Damdgpu-virtio": "true"
]
}
inputs = [
m4,
python-packaging,
python-mako,
python-pyyaml,
python-pycparser,
glslang,
spirv-llvm-translator,
m4
python-packaging
python-mako
python-pyyaml
python-pycparser
glslang
spirv-llvm-translator
zlib,
zstd,
gzip,
ncurses,
libglvnd,
libexpat,
libva,
libdrm,
elfutils,
bison,
flex,
lm_sensors,
libconfig,
libdisplay-info,
wayland,
wayland-protocols,
libxshmfence,
libXxf86vm,
libXrandr,
libxcb-keysyms,
libpng,
libarchive,
kernel-headers,
];
zlib
zstd
gzip
ncurses
libglvnd
libexpat
libva
libdrm
elfutils
bison
flex
lm_sensors
libconfig
libdisplay-info
wayland
wayland-protocols
libxshmfence
libXxf86vm
libXrandr
libxcb-keysyms
libpng
libarchive
kernel-headers
]
runtime = [
libdrm,
elfutils,
lm_sensors,
libdisplayInfo,
wayland,
libxshmfence,
libXxf86vm,
libXrandr,
libxcb-keysyms,
libpng,
];
libdrm
elfutils
lm_sensors
libdisplayInfo
wayland
libxshmfence
libXxf86vm
libXrandr
libxcb-keysyms
libpng
]
}

View File

@@ -1,56 +1,49 @@
package meson {
description = "an open source build system";
website = "https://mesonbuild.com";
anitya = 6472;
description = "an open source build system"
website = "https://mesonbuild.com"
anitya = 6472
version* = "1.11.1";
version# = "1.11.1"
source = remoteGitHub {
suffix = "mesonbuild/meson";
tag = version;
checksum = "uvILRxdopwc6Dy17UbIeClcQr0qHqyTaqyk1M9OqWKN9PwB9N6UVAiyN8kSSz3r2";
};
suffix = "mesonbuild/meson"
tag = version
checksum = "uvILRxdopwc6Dy17UbIeClcQr0qHqyTaqyk1M9OqWKN9PwB9N6UVAiyN8kSSz3r2"
}
env = [
"CMAKE_MAKE_PROGRAM=ninja",
];
"CMAKE_MAKE_PROGRAM=ninja"
]
exec = pip {
enterSource = true;
check = `
cd 'test cases'
rm -rf \
'common/32 has header' \
'common/66 vcstag' \
'common/153 wrap file should not failed' \
'common/184 openmp' \
'common/189 check header' \
'linuxlike/6 subdir include order' \
'linuxlike/9 compiler checks with dependencies' \
'linuxlike/13 cmake dependency' \
'frameworks/15 llvm' \
'frameworks/29 blocks'
cd ..
python3 ./run_project_tests.py \
-v \
` + jobsFlagE + ` \
--failfast \
--backend=ninja
`;
};
enterSource
check = r`cd 'test cases'
rm -rf \
'common/32 has header' \
'common/66 vcstag' \
'common/153 wrap file should not failed' \
'common/184 openmp' \
'common/189 check header' \
'linuxlike/6 subdir include order' \
'linuxlike/9 compiler checks with dependencies' \
'linuxlike/13 cmake dependency' \
'frameworks/15 llvm' \
'frameworks/29 blocks'
cd ..`
+ "python3 ./run_project_tests.py -v ${jobsFlagE} --failfast --backend=ninja"
}
inputs = [
python-setuptools,
pkg-config,
cmake,
ninja,
python-pytest,
];
python-setuptools
pkg-config
cmake
ninja
python-pytest
]
runtime = [
python,
pkg-config,
cmake,
ninja,
];
python
pkg-config
cmake
ninja
]
}

View File

@@ -1,38 +1,37 @@
package mksh {
description = "MirBSD Korn Shell";
website = "https://www.mirbsd.org/mksh";
anitya = 5590;
description = "MirBSD Korn Shell"
website = "https://www.mirbsd.org/mksh"
anitya = 5590
version* = "59c";
version# = "59c"
source = remoteTar {
url = "https://mbsd.evolvis.org/MirOS/dist/mir/mksh/mksh-R"+version+".tgz";
checksum = "0Zj-k4nXEu3IuJY4lvwD2OrC2t27GdZj8SPy4DoaeuBRH1padWb7oREpYgwY8JNq";
compress = gzip;
};
url = "https://mbsd.evolvis.org/MirOS/dist/mir/mksh/mksh-R${version}.tgz"
checksum = "0Zj-k4nXEu3IuJY4lvwD2OrC2t27GdZj8SPy4DoaeuBRH1padWb7oREpYgwY8JNq"
compress = gzip
}
env = [
"LDSTATIC=-static",
"CPPFLAGS=-DMKSH_DEFAULT_PROFILEDIR=\\\"/system/etc\\\"",
];
"LDSTATIC=-static"
r`CPPFLAGS=-DMKSH_DEFAULT_PROFILEDIR=\"/system/etc\"`
]
exec = generic {
build = `sh /usr/src/mksh/Build.sh -r
CPPFLAGS="${CPPFLAGS} -DMKSH_BINSHPOSIX -DMKSH_BINSHREDUCED" \
sh /usr/src/mksh/Build.sh -r -L
`;
check = "./test.sh -C regress:no-ctty\n";
install = `
mkdir -p /work/system/bin/
cp -v mksh /work/system/bin/
cp -v lksh /work/system/bin/sh
build = r`sh /usr/src/mksh/Build.sh -r
CPPFLAGS="${CPPFLAGS} -DMKSH_BINSHPOSIX -DMKSH_BINSHREDUCED" \
sh /usr/src/mksh/Build.sh -r -L
`;
check = "./test.sh -C regress:no-ctty\n";
install = `
mkdir -p /work/system/bin/
cp -v mksh /work/system/bin/
cp -v lksh /work/system/bin/sh
mkdir -p /work/bin/
ln -vs ../system/bin/sh /work/bin/
`;
};
mkdir -p /work/bin/
ln -vs ../system/bin/sh /work/bin/`
}
inputs = [
perl,
coreutils,
];
perl
coreutils
]
}

View File

@@ -1,26 +1,26 @@
package musl-fts {
description = "implementation of fts(3) functions which are missing in musl libc";
website = "https://github.com/void-linux/musl-fts";
anitya = 26980;
description = "implementation of fts(3) functions which are missing in musl libc"
website = "https://github.com/void-linux/musl-fts"
anitya = 26980
version* = "1.2.7";
version# = "1.2.7"
source = remoteGitHub {
suffix = "void-linux/musl-fts";
tag = "v"+version;
checksum = "N_p_ZApX3eHt7xoDCw1hLf6XdJOw7ZSx7xPvpvAP0knG2zgU0zeN5w8tt5Pg60XJ";
};
suffix = "void-linux/musl-fts"
tag = "v"+version
checksum = "N_p_ZApX3eHt7xoDCw1hLf6XdJOw7ZSx7xPvpvAP0knG2zgU0zeN5w8tt5Pg60XJ"
}
env = [
"CC=cc -fPIC",
];
"CC=cc -fPIC"
]
exec = make {
generate = "./bootstrap.sh";
};
generate = "./bootstrap.sh"
}
inputs = [
automake,
libtool,
pkg-config,
];
automake
libtool
pkg-config
]
}

View File

@@ -1,26 +1,26 @@
package musl-obstack {
description = "obstack functions and macros separated from glibc";
website = "https://github.com/void-linux/musl-obstack";
anitya = 146206;
description = "obstack functions and macros separated from glibc"
website = "https://github.com/void-linux/musl-obstack"
anitya = 146206
version* = "1.2.3";
version# = "1.2.3"
source = remoteGitHub {
suffix = "void-linux/musl-obstack";
tag = "v"+version;
checksum = "tVRY_KjIlkkMszcaRlkKdBVQHIXTT_T_TiMxbwErlILXrOBosocg8KklppZhNdCG";
};
suffix = "void-linux/musl-obstack"
tag = "v"+version
checksum = "tVRY_KjIlkkMszcaRlkKdBVQHIXTT_T_TiMxbwErlILXrOBosocg8KklppZhNdCG"
}
env = [
"CC=cc -fPIC",
];
"CC=cc -fPIC"
]
exec = make {
generate = "./bootstrap.sh";
};
generate = "./bootstrap.sh"
}
inputs = [
automake,
libtool,
pkg-config,
];
automake
libtool
pkg-config
]
}

View File

@@ -1,26 +1,26 @@
package ncurses {
description = "a free software emulation of curses in System V Release 4.0 (SVr4)";
website = "https://invisible-island.net/ncurses";
anitya = 373226;
description = "a free software emulation of curses in System V Release 4.0 (SVr4)"
website = "https://invisible-island.net/ncurses"
anitya = 373226
version* = "6.6";
version# = "6.6"
source = remoteTar {
url = "https://ftpmirror.gnu.org/gnu/ncurses/ncurses-"+version+".tar.gz";
checksum = "XvWp4xi6hR_hH8XUoGY26L_pqBSDapJYulhzZqPuR0KNklqypqNc1yNXU-nOjf5w";
compress = gzip;
};
url = "https://ftpmirror.gnu.org/gnu/ncurses/ncurses-${version}.tar.gz"
checksum = "XvWp4xi6hR_hH8XUoGY26L_pqBSDapJYulhzZqPuR0KNklqypqNc1yNXU-nOjf5w"
compress = gzip
}
exec = make {
configure = {
"with-pkg-config";
"enable-pc-files";
"with-shared";
"with-cxx-shared";
};
configure = [
"with-pkg-config"
"enable-pc-files"
"with-shared"
"with-cxx-shared"
]
// "tests" are actual demo programs, not a test suite.
skipCheck = true;
};
skipCheck
}
inputs = [ pkg-config ];
inputs = [ pkg-config ]
}

View File

@@ -1,23 +1,23 @@
package nettle {
description = "a low-level cryptographic library";
website = "https://www.lysator.liu.se/~nisse/nettle";
anitya = 2073;
description = "a low-level cryptographic library"
website = "https://www.lysator.liu.se/~nisse/nettle"
anitya = 2073
version* = "4.0";
version# = "4.0"
source = remoteTar {
url = "https://ftpmirror.gnu.org/gnu/nettle/nettle-"+version+".tar.gz";
checksum = "6agC-vHzzoqAlaX3K9tX8yHgrm03HLqPZzVzq8jh_ePbuPMIvpxereu_uRJFmQK7";
compress = gzip;
};
url = "https://ftpmirror.gnu.org/gnu/nettle/nettle-${version}.tar.gz"
checksum = "6agC-vHzzoqAlaX3K9tX8yHgrm03HLqPZzVzq8jh_ePbuPMIvpxereu_uRJFmQK7"
compress = gzip
}
exec = make {};
exec = make()
inputs = [
m4,
diffutils,
m4
diffutils
gmp,
];
gmp
]
runtime = [ gmp ];
runtime = [ gmp ]
}

View File

@@ -1,38 +1,36 @@
package ninja {
description = "a small build system with a focus on speed";
website = "https://ninja-build.org";
anitya = 2089;
description = "a small build system with a focus on speed"
website = "https://ninja-build.org"
anitya = 2089
version* = "1.13.2";
version# = "1.13.2"
source = remoteGitHub {
suffix = "ninja-build/ninja";
tag = "v"+version;
checksum = "ygKWMa0YV2lWKiFro5hnL-vcKbc_-RACZuPu0Io8qDvgQlZ0dxv7hPNSFkt4214v";
};
extra = [ googletest ];
suffix = "ninja-build/ninja"
tag = "v"+version
checksum = "ygKWMa0YV2lWKiFro5hnL-vcKbc_-RACZuPu0Io8qDvgQlZ0dxv7hPNSFkt4214v"
}
extra = [ googletest ]
env = [
"CFLAGS=-std=c++17",
];
"CFLAGS=-std=c++17"
]
exec = generic {
build = `
python3 /usr/src/ninja/configure.py \
--verbose \
--bootstrap
python3 /usr/src/ninja/configure.py \
--gtest-source-dir=/usr/src/extra/googletest
./ninja ` + jobsFlagE + ` all`;
build = r`python3 /usr/src/ninja/configure.py \
--verbose \
--bootstrap
python3 /usr/src/ninja/configure.py \
--gtest-source-dir=/usr/src/extra/googletest
./ninja ` + jobsFlagE + ` all`
check = "\n./ninja_test";
check = "./ninja_test"
install = `
mkdir -p /work/system/bin/
cp ninja /work/system/bin/`;
};
install = `mkdir -p /work/system/bin/
cp ninja /work/system/bin/`
}
inputs = [
python,
bash,
];
python
bash
]
}

View File

@@ -1,101 +1,89 @@
package nspr {
description = "nspr source tree";
anitya = 7953;
exclude = true;
description = "nspr source tree"
anitya = 7953
exclude
version* = "4.38.2";
version# = "4.39"
output = remoteTar {
url = "https://ftp.mozilla.org/pub/nspr/releases/v"+version+
"/src/nspr-"+version+".tar.gz";
checksum = "BcKpVmN6bdBaoZyzht_SpGHnO1CRN5YHeVyWW2skfCKIdhy3ppKe1zMh85QBEsV_";
compress = gzip;
};
url = "https://ftp.mozilla.org/pub/nspr/releases/v${version}/src/nspr-${version}.tar.gz"
checksum = "lgIlqiItMBCRTuz8griNqxtJzNBAoZU1020EVR94X2IiZpJ-NgLXouF7m1knNlDs"
compress = gzip
}
}
package nss {
description = "Network Security Services";
website = "https://firefox-source-docs.mozilla.org/security/nss/index.html";
anitya = 2503;
description = "Network Security Services"
website = "https://firefox-source-docs.mozilla.org/security/nss/index.html"
anitya = 2503
version* = "3.123.1";
version# = "3.124"
source = remoteGitHub {
suffix = "nss-dev/nss";
tag = "NSS_"+join {
elems = split {
s = version;
sep = ".";
n = 3;
};
sep = "_";
}+"_RTM";
checksum = "g811Z_fc74ssg-s6BeXRG-ipSfJggD6hrxjVJxrOBIz98CE7piv0OLwzIRLMQpwR";
};
extra = [ nspr ];
suffix = "nss-dev/nss"
tag = "NSS_"+join(split(version, ".", 3), "_")+"_RTM"
checksum = "p_TFOmKxMVV-ZHRY0QwzEReUOxSRjEExpWIuoA3Bzxj50uNCS8EgqfzcpaiGAkr6"
}
extra = [ nspr ]
enterSource = true;
writable = true;
chmod = true;
early = "\nln -s extra/nspr/nspr /usr/src/nspr\n";
enterSource
writable
chmod
early = "ln -s extra/nspr/nspr /usr/src/nspr"
exec = make {
omitDefaults = true;
skipConfigure = true;
inPlace = true;
omitDefaults
skipConfigure
inPlace
make = [
"CCC=clang++",
"NSDISTMODE=copy",
"BUILD_OPT=1",
"USE_64=1",
"nss_build_all",
];
skipCheck = true;
install = `
cp -r \
/usr/src/dist/. \
lib/ckfw/builtins/certdata.txt \
/work/
`;
};
"CCC=clang++"
"NSDISTMODE=copy"
"BUILD_OPT=1"
"USE_64=1"
"nss_build_all"
]
skipCheck
install = r`cp -r \
/usr/src/dist/. \
lib/ckfw/builtins/certdata.txt \
/work/`
}
inputs = [
perl,
python,
gawk,
coreutils,
perl
python
gawk
coreutils
zlib,
kernel-headers,
];
zlib
kernel-headers
]
runtime = [ zlib ];
runtime = [ zlib ]
}
package nss-cacert {
description = "bundle of X.509 certificates of public Certificate Authorities";
website = "https://curl.se/docs/caextract.html";
version = unversioned;
description = "bundle of X.509 certificates of public Certificate Authorities"
website = "https://curl.se/docs/caextract.html"
version = unversioned
source = nss;
source = nss
enterSource = true;
enterSource
exec = generic {
inPlace = true;
build = `
mkdir -p /work/system/etc/ssl/{certs/unbundled,certs/hashed,trust-source}
buildcatrust \
--certdata_input certdata.txt \
--ca_bundle_output /work/system/etc/ssl/certs/ca-bundle.crt \
--ca_standard_bundle_output /work/system/etc/ssl/certs/ca-no-trust-rules-bundle.crt \
--ca_unpacked_output /work/system/etc/ssl/certs/unbundled \
--ca_hashed_unpacked_output /work/system/etc/ssl/certs/hashed \
--p11kit_output /work/system/etc/ssl/trust-source/ca-bundle.trust.p11-kit
`;
};
inPlace
build = r`mkdir -p /work/system/etc/ssl/{certs/unbundled,certs/hashed,trust-source}
buildcatrust \
--certdata_input certdata.txt \
--ca_bundle_output /work/system/etc/ssl/certs/ca-bundle.crt \
--ca_standard_bundle_output /work/system/etc/ssl/certs/ca-no-trust-rules-bundle.crt \
--ca_unpacked_output /work/system/etc/ssl/certs/unbundled \
--ca_hashed_unpacked_output /work/system/etc/ssl/certs/hashed \
--p11kit_output /work/system/etc/ssl/trust-source/ca-bundle.trust.p11-kit`
}
inputs = [
bash,
bash
buildcatrust,
];
buildcatrust
]
}

View File

@@ -1,45 +1,45 @@
package openssl {
description = "TLS/SSL and crypto library";
website = "https://www.openssl.org";
anitya = 2566;
description = "TLS/SSL and crypto library"
website = "https://www.openssl.org"
anitya = 2566
// strange malformed tags treated as pre-releases in Anitya
latest = anityaFallback;
latest = anityaFallback
version* = "3.6.2";
version# = "3.6.2"
source = remoteGitHubRelease {
suffix = "openssl/openssl";
tag = "openssl-"+version;
name = "openssl-"+version+".tar.gz";
checksum = "jH004dXTiE01Hp0kyShkWXwrSHEksZi4i_3v47D9H9Uz9LQ1aMwF7mrl2Tb4t_XA";
compress = gzip;
};
suffix = "openssl/openssl"
tag = "openssl-"+version
name = "openssl-${version}.tar.gz"
checksum = "jH004dXTiE01Hp0kyShkWXwrSHEksZi4i_3v47D9H9Uz9LQ1aMwF7mrl2Tb4t_XA"
compress = gzip
}
env = [
"CC=cc",
];
"CC=cc"
]
exec = make {
omitDefaults = true;
omitDefaults
configureName = "/usr/src/openssl/Configure";
configure = {
"prefix": "/system";
"libdir": "lib";
"openssldir": "etc/ssl";
"": "no-docs";
};
configureName = "/usr/src/openssl/Configure"
configure = [
"prefix": "/system"
"libdir": "lib"
"openssldir": "etc/ssl"
"": "no-docs"
]
check = [
"HARNESS_JOBS=" + jobsE,
"test",
];
};
"HARNESS_JOBS=${jobsE}"
"test"
]
}
inputs = [
perl,
coreutils,
perl
coreutils
zlib,
kernel-headers,
];
zlib
kernel-headers
]
}

View File

@@ -1,31 +1,31 @@
package p11-kit {
description = "provides a way to load and enumerate PKCS#11 modules";
website = "https://p11-glue.freedesktop.org/p11-kit.html";
anitya = 2582;
description = "provides a way to load and enumerate PKCS#11 modules"
website = "https://p11-glue.freedesktop.org/p11-kit.html"
anitya = 2582
version* = "0.26.2";
version# = "0.26.2"
source = remoteGit {
url = "https://github.com/p11-glue/p11-kit.git";
tag = version;
checksum = "3ei-6DUVtYzrRVe-SubtNgRlweXd6H2qHmUu-_5qVyIn6gSTvZbGS2u79Y8IFb2N";
};
url = "https://github.com/p11-glue/p11-kit.git"
tag = version
checksum = "3ei-6DUVtYzrRVe-SubtNgRlweXd6H2qHmUu-_5qVyIn6gSTvZbGS2u79Y8IFb2N"
}
exec = meson {
setup = {
"Dsystemd": "disabled";
"Dlibffi": "enabled";
};
};
setup = endi [
"Dsystemd": false
"Dlibffi": true
]
}
inputs = [
coreutils,
diffutils,
coreutils
diffutils
libtasn1,
];
libtasn1
]
runtime = [
libffi,
libtasn1,
];
libffi
libtasn1
]
}

View File

@@ -1,30 +1,28 @@
package pcre2 {
description = "a set of C functions that implement regular expression pattern matching";
website = "https://pcre2project.github.io/pcre2";
anitya = 5832;
description = "a set of C functions that implement regular expression pattern matching"
website = "https://pcre2project.github.io/pcre2"
anitya = 5832
version* = "10.47";
version# = "10.47"
source = remoteGitHubRelease {
suffix = "PCRE2Project/pcre2";
tag = "pcre2-"+version;
name = "pcre2-"+version+".tar.bz2";
checksum = "IbC24vVayju6nB9EhrBPSDexk22wDecdpyrjgC3nCZXkwTnUjq4CD2q5sopqu6CW";
compress = bzip2;
};
suffix = "PCRE2Project/pcre2"
tag = "pcre2-"+version
name = "pcre2-${version}.tar.bz2";
checksum = "IbC24vVayju6nB9EhrBPSDexk22wDecdpyrjgC3nCZXkwTnUjq4CD2q5sopqu6CW"
compress = bzip2
}
early = `
# RunGrepTest expects /bin/echo
ln -s ../system/bin/toybox /bin/echo
`;
early = `# RunGrepTest expects /bin/echo
ln -s ../system/bin/toybox /bin/echo`
exec = make {
configure = {
"enable-jit";
"enable-pcre2-8";
"enable-pcre2-16";
"enable-pcre2-32";
};
};
"enable-jit"
"enable-pcre2-8"
"enable-pcre2-16"
"enable-pcre2-32"
}
}
inputs = [ diffutils ];
inputs = [ diffutils ]
}

View File

@@ -1,263 +1,257 @@
package perl {
description = "The Perl Programming language";
website = "https://www.perl.org";
anitya = 13599;
description = "The Perl Programming language"
website = "https://www.perl.org"
anitya = 13599
// odd-even versioning
latest = anityaFallback;
latest = anityaFallback
version* = "5.42.2";
version# = "5.42.2"
source = remoteTar {
url = "https://www.cpan.org/src/5.0/perl-"+version+".tar.gz";
checksum = "Me_xFfgkRnVyG0sE6a74TktK2OUq9Z1LVJNEu_9RdZG3S2fbjfzNiuk2SJqHAgbm";
compress = gzip;
};
url = "https://www.cpan.org/src/5.0/perl-${version}.tar.gz"
checksum = "Me_xFfgkRnVyG0sE6a74TktK2OUq9Z1LVJNEu_9RdZG3S2fbjfzNiuk2SJqHAgbm"
compress = gzip
}
// uses source tree as scratch space
writable = true;
chmod = true;
early = `
echo 'print STDOUT "1..0 # Skip broken test\n";' > ext/Pod-Html/t/htmldir3.t
chmod +w /system/bin && rm -f /system/bin/ps # perl does not like toybox ps
`;
writable
chmod
early = `echo 'print STDOUT "1..0 # Skip broken test\n";' > ext/Pod-Html/t/htmldir3.t
chmod +w /system/bin && rm -f /system/bin/ps # perl does not like toybox ps`
toyboxEarly = true;
toyboxEarly
exec = make {
omitDefaults = true;
inPlace = true;
omitDefaults
inPlace
configureName = "./Configure";
configure = {
"-des";
"Dprefix": "/system";
"Dcc": "clang";
"Dcflags": "--std=gnu99";
"Dldflags": `"${LDFLAGS:-''}"`;
"Doptimize": "'-O2 -fno-strict-aliasing'";
"Duseithreads";
"Duseshrplib";
};
configureName = "./Configure"
configure = [
"-des"
"Dprefix": "/system"
"Dcc": "clang"
"Dcflags": "--std=gnu99"
"Dldflags": `"${LDFLAGS:-''}"`
"Doptimize": "'-O2 -fno-strict-aliasing'"
"Duseithreads"
"Duseshrplib"
]
check = [
"TEST_JOBS=" + jobsLE,
"test_harness",
];
"TEST_JOBS=" + jobsLE
"test_harness"
]
install = `LD_LIBRARY_PATH="$PWD" ./perl -Ilib -I. installperl --destdir=/work`;
};
install = r`LD_LIBRARY_PATH="$PWD" ./perl -Ilib -I. installperl --destdir=/work`
}
}
package perl-Module-Build {
description = "build and install Perl modules";
website = "https://metacpan.org/release/Module-Build";
anitya = 3077;
description = "build and install Perl modules"
website = "https://metacpan.org/release/Module-Build"
anitya = 3077
version* = "0.4234";
version# = "0.4234"
source = remoteCPAN {
author = "LEONT";
name = "Module-Build";
version = version;
checksum = "ZKxEFG4hE1rqZt52zBL2LRZBMkYzhjb5-cTBXcsyA52EbPeeYyVxU176yAea8-Di";
};
author = "LEONT"
name = "Module-Build"
version = version
checksum = "ZKxEFG4hE1rqZt52zBL2LRZBMkYzhjb5-cTBXcsyA52EbPeeYyVxU176yAea8-Di"
}
enterSource = true;
writable = true;
chmod = true;
enterSource
writable
chmod
exec = generic {
inPlace = true;
build = `
perl Build.PL --prefix=/system
./Build build`;
check = `
./Build test`;
install = `
./Build install --destdir=/work
`;
};
inPlace
build = `perl Build.PL --prefix=/system
./Build build`
check = `./Build test`
install = `./Build install --destdir=/work`
}
inputs = [ perl ];
runtime = [ perl ];
inputs = [ perl ]
runtime = [ perl ]
}
package perl-Locale-gettext {
description = "message handling functions";
website = "https://metacpan.org/release/Locale-gettext";
anitya = 7523;
description = "message handling functions"
website = "https://metacpan.org/release/Locale-gettext"
anitya = 7523
version* = "1.07";
version# = "1.07"
source = remoteCPAN {
author = "PVANDRY";
name = "Locale-gettext";
version = version;
checksum = "cFq4BKFD1MWSoa7lsrPjpdo9kzPqd0jlRcBFUyL1L1isw8m3D_Sge_ff0MAu_9J3";
};
author = "PVANDRY"
name = "Locale-gettext"
version = version
checksum = "cFq4BKFD1MWSoa7lsrPjpdo9kzPqd0jlRcBFUyL1L1isw8m3D_Sge_ff0MAu_9J3"
}
exec = makeMaker {};
exec = makeMaker()
runtime = [ perl ];
runtime = [ perl ]
}
package perl-Pod-Parser {
description = "base class for creating POD filters and translators";
website = "https://metacpan.org/release/Pod-Parser";
anitya = 3244;
description = "base class for creating POD filters and translators"
website = "https://metacpan.org/release/Pod-Parser"
anitya = 3244
version* = "1.67";
version# = "1.67"
source = remoteCPAN {
author = "MAREKR";
name = "Pod-Parser";
version = version;
checksum = "RdURu9mOfExk_loCp6abxlcQV3FycSNbTqhRS9i6JUqnYfGGEgercK30g0gjYyqe";
};
author = "MAREKR"
name = "Pod-Parser"
version = version
checksum = "RdURu9mOfExk_loCp6abxlcQV3FycSNbTqhRS9i6JUqnYfGGEgercK30g0gjYyqe"
}
exec = makeMaker {};
exec = makeMaker {}
runtime = [ perl ];
runtime = [ perl ]
}
package perl-SGMLS {
description = "class for postprocessing the output from the sgmls and nsgmls parsers";
website = "https://metacpan.org/release/RAAB/SGMLSpm-1.1";
anitya = 389576;
latest = anityaLegacyCPAN;
description = "class for postprocessing the output from the sgmls and nsgmls parsers"
website = "https://metacpan.org/release/RAAB/SGMLSpm-1.1"
anitya = 389576
latest = anityaLegacyCPAN
version* = "1.1";
version# = "1.1"
source = remoteCPAN {
author = "RAAB";
name = "SGMLSpm";
version = version;
checksum = "aZijn4MUqD-wfyZgdcCruCwl4SgDdu25cNmJ4_UvdAk9a7uz4gzMQdoeB6DQ6QOy";
};
author = "RAAB"
name = "SGMLSpm"
version = version
checksum = "aZijn4MUqD-wfyZgdcCruCwl4SgDdu25cNmJ4_UvdAk9a7uz4gzMQdoeB6DQ6QOy"
}
exec = makeMaker {};
exec = makeMaker()
runtime = [ perl ];
runtime = [ perl ]
}
package perl-Term-ReadKey {
description = "a perl module for simple terminal control";
website = "https://metacpan.org/release/TermReadKey";
anitya = 3372;
description = "a perl module for simple terminal control"
website = "https://metacpan.org/release/TermReadKey"
anitya = 3372
version* = "2.38";
version# = "2.38"
source = remoteCPAN {
author = "JSTOWE";
name = "TermReadKey";
version = version;
checksum = "qerL8Xo7kD0f42PZoiEbmE8Roc_S9pOa27LXelY4DN_0UNy_u5wLrGHI8utNlaiI";
};
author = "JSTOWE"
name = "TermReadKey"
version = version
checksum = "qerL8Xo7kD0f42PZoiEbmE8Roc_S9pOa27LXelY4DN_0UNy_u5wLrGHI8utNlaiI"
}
exec = makeMaker {};
exec = makeMaker()
runtime = [ perl ];
runtime = [ perl ]
}
package perl-Text-CharWidth {
description = "get number of occupied columns of a string on terminal";
website = "https://metacpan.org/release/Text-CharWidth";
anitya = 14380;
description = "get number of occupied columns of a string on terminal"
website = "https://metacpan.org/release/Text-CharWidth"
anitya = 14380
version* = "0.04";
version# = "0.04"
source = remoteCPAN {
author = "KUBOTA";
name = "Text-CharWidth";
version = version;
checksum = "G2p5RHU4_HiZ23ZusBA_enTlVMxz0J4esUx4CGcOPhY6xYTbp-aXWRN6lYZpzBw2";
};
author = "KUBOTA"
name = "Text-CharWidth"
version = version
checksum = "G2p5RHU4_HiZ23ZusBA_enTlVMxz0J4esUx4CGcOPhY6xYTbp-aXWRN6lYZpzBw2"
}
exec = makeMaker {};
exec = makeMaker()
runtime = [ perl ];
runtime = [ perl ]
}
package perl-Text-WrapI18N {
description = "line wrapping module";
website = "https://metacpan.org/release/Text-WrapI18N";
anitya = 14385;
description = "line wrapping module"
website = "https://metacpan.org/release/Text-WrapI18N"
anitya = 14385
version* = "0.06";
version# = "0.06"
source = remoteCPAN {
author = "KUBOTA";
name = "Text-WrapI18N";
version = version;
checksum = "Vmo89qLgxUqyQ6QmWJVqu60aQAUjrNKRjFQSXGnvClxofzRjiCa6idzPgJ4VkixM";
};
author = "KUBOTA"
name = "Text-WrapI18N"
version = version
checksum = "Vmo89qLgxUqyQ6QmWJVqu60aQAUjrNKRjFQSXGnvClxofzRjiCa6idzPgJ4VkixM"
}
exec = makeMaker {};
exec = makeMaker {}
inputs = [ perl-Text-CharWidth ];
runtime = [ perl-Text-CharWidth ];
inputs = [ perl-Text-CharWidth ]
runtime = [ perl-Text-CharWidth ]
}
package perl-MIME-Charset {
description = "Charset Information for MIME";
website = "https://metacpan.org/release/MIME-Charset";
anitya = 3070;
description = "Charset Information for MIME"
website = "https://metacpan.org/release/MIME-Charset"
anitya = 3070
version* = "1.013.1";
version# = "1.013.1"
source = remoteCPAN {
author = "NEZUMI";
name = "MIME-Charset";
version = version;
checksum = "Ou_ukcrOa1cgtE3mptinb-os3bdL1SXzbRDFZQF3prrJj-drc3rp_huay7iDLJol";
};
author = "NEZUMI"
name = "MIME-Charset"
version = version
checksum = "Ou_ukcrOa1cgtE3mptinb-os3bdL1SXzbRDFZQF3prrJj-drc3rp_huay7iDLJol"
}
exec = makeMaker {};
exec = makeMaker {}
runtime = [ perl ];
runtime = [ perl ]
}
package perl-Unicode-LineBreak {
description = "String as Sequence of UAX #29 Grapheme Clusters";
website = "https://metacpan.org/release/Unicode-LineBreak";
anitya = 6033;
description = "String as Sequence of UAX #29 Grapheme Clusters"
website = "https://metacpan.org/release/Unicode-LineBreak"
anitya = 6033
version* = "2019.001";
version# = "2019.001"
source = remoteCPAN {
author = "NEZUMI";
name = "Unicode-LineBreak";
version = version;
checksum = "ZHVkh7EDgAUHnTpvXsnPAuWpgNoBImtY_9_8TIbo2co_WgUwEb0MtXPhI8pAZ5OH";
};
author = "NEZUMI"
name = "Unicode-LineBreak"
version = version
checksum = "ZHVkh7EDgAUHnTpvXsnPAuWpgNoBImtY_9_8TIbo2co_WgUwEb0MtXPhI8pAZ5OH"
}
exec = makeMaker {};
exec = makeMaker()
inputs = [ perl-MIME-Charset ];
runtime = [ perl-MIME-Charset ];
inputs = [ perl-MIME-Charset ]
runtime = [ perl-MIME-Charset ]
}
package perl-YAML-Tiny {
description = "read/write YAML files with as little code as possible";
website = "https://metacpan.org/release/YAML-Tiny";
anitya = 3549;
description = "read/write YAML files with as little code as possible"
website = "https://metacpan.org/release/YAML-Tiny"
anitya = 3549
version* = "1.76";
version# = "1.76"
source = remoteCPAN {
author = "ETHER";
name = "YAML-Tiny";
version = version;
checksum = "V1MV4KPym1LxSw8CRXqPR3K-l1hGHbT5Ob4t-9xju6R9X_CWyw6hI8wsMaNdHdBY";
};
author = "ETHER"
name = "YAML-Tiny"
version = version
checksum = "V1MV4KPym1LxSw8CRXqPR3K-l1hGHbT5Ob4t-9xju6R9X_CWyw6hI8wsMaNdHdBY"
}
exec = makeMaker {};
exec = makeMaker()
runtime = [ perl ];
runtime = [ perl ]
}
package perl-Test-Cmd {
description = "portable testing of commands and scripts";
website = "https://metacpan.org/release/Test-Cmd";
anitya = 6014;
description = "portable testing of commands and scripts"
website = "https://metacpan.org/release/Test-Cmd"
anitya = 6014
version* = "1.09";
version# = "1.09"
source = remoteCPAN {
author = "NEILB";
name = "Test-Cmd";
version = version;
checksum = "gpGUwyC9IozDiYSgW_kXARNfXsTPFa6cTowJmmCBbPqcs2-pONZca_SB06FGy-7H";
};
author = "NEILB"
name = "Test-Cmd"
version = version
checksum = "gpGUwyC9IozDiYSgW_kXARNfXsTPFa6cTowJmmCBbPqcs2-pONZca_SB06FGy-7H"
}
exec = makeMaker {};
exec = makeMaker()
runtime = [ perl ];
runtime = [ perl ]
}

View File

@@ -1,19 +1,19 @@
package pixman {
description = "a low-level software library for pixel manipulation";
website = "https://pixman.org";
anitya = 3648;
description = "a low-level software library for pixel manipulation"
website = "https://pixman.org"
anitya = 3648
version* = "0.46.4";
version# = "0.46.4"
source = remoteGitLab {
domain = "gitlab.freedesktop.org";
suffix = "pixman/pixman";
ref = "pixman-"+version;
checksum = "iECDxLG9SxUrvGHqeDoaBa-b3uqdT5DC4zudjtrwb8Wodq82pyacmFNEAo4SDsiE";
};
domain = "gitlab.freedesktop.org"
suffix = "pixman/pixman"
ref = "pixman-"+version
checksum = "iECDxLG9SxUrvGHqeDoaBa-b3uqdT5DC4zudjtrwb8Wodq82pyacmFNEAo4SDsiE"
}
exec = meson {
setup = {
"Dtests": "enabled";
};
};
setup = endi [
"Dtests": true
]
}
}

View File

@@ -1,26 +1,26 @@
package pkg-config {
description = "a helper tool used when compiling applications and libraries";
website = "https://pkgconfig.freedesktop.org";
anitya = 3649;
description = "a helper tool used when compiling applications and libraries"
website = "https://pkgconfig.freedesktop.org"
anitya = 3649
version* = "0.29.2";
version# = "0.29.2"
source = remoteGitLab {
domain = "gitlab.freedesktop.org";
suffix = "pkg-config/pkg-config";
ref = "pkg-config-"+version;
checksum = "6UsGqEMA8EER_5b9N0b32UCqiRy39B6_RnPfvuslWhtFV1qYD4DfS10crGZN_TP2";
};
domain = "gitlab.freedesktop.org"
suffix = "pkg-config/pkg-config"
ref = "pkg-config-"+version
checksum = "6UsGqEMA8EER_5b9N0b32UCqiRy39B6_RnPfvuslWhtFV1qYD4DfS10crGZN_TP2"
}
exec = make {
generate = "./autogen.sh --no-configure";
configure = {
"CFLAGS": "'-Wno-int-conversion'";
"with-internal-glib";
};
};
generate = "./autogen.sh --no-configure"
configure = [
"CFLAGS": "'-Wno-int-conversion'"
"with-internal-glib"
]
}
inputs = [
automake,
libtool,
];
automake
libtool
]
}

View File

@@ -1,29 +1,29 @@
package procps {
description = "command line and full screen utilities for browsing procfs";
website = "https://gitlab.com/procps-ng/procps";
anitya = 3708;
description = "command line and full screen utilities for browsing procfs"
website = "https://gitlab.com/procps-ng/procps"
anitya = 3708
version* = "4.0.6";
version# = "4.0.6"
source = remoteGitLab {
domain = "gitlab.com";
suffix = "procps-ng/procps";
ref = "v"+version;
checksum = "pl_fZLvDlv6iZTkm8l_tHFpzTDVFGCiSJEs3eu0zAX6u36AV36P_En8K7JPScRWM";
};
domain = "gitlab.com"
suffix = "procps-ng/procps"
ref = "v"+version
checksum = "pl_fZLvDlv6iZTkm8l_tHFpzTDVFGCiSJEs3eu0zAX6u36AV36P_En8K7JPScRWM"
}
exec = make {
generate = "./autogen.sh";
configure = {
"without-ncurses";
};
};
generate = "./autogen.sh"
configure = [
"without-ncurses"
]
}
inputs = [
automake,
gettext,
libtool,
automake
gettext
libtool
gzip,
pkg-config,
];
gzip
pkg-config
]
}

View File

@@ -252,11 +252,11 @@ package python-trove-classifiers {
website = "https://pypi.org/p/trove-classifiers";
anitya = 88298;
version* = "2026.5.7.17";
version* = "2026.5.22.10";
source = remoteGitHub {
suffix = "pypa/trove-classifiers";
tag = version;
checksum = "1Fcps0gK9P4ofwGL8MISN9k1Q40-quxX7NDpIna50TmziBNrZy-0Vz0I9yIeHCoP";
checksum = "PgFh58qkPCee5SIN62a_8s5kYRrydXODZEqeSgMJItiLrT5kaz8senRGn5B1Hv56";
};
exec = pip {

View File

@@ -1,20 +1,20 @@
package rdfind {
description = "a program that finds duplicate files";
website = "https://rdfind.pauldreik.se";
anitya = 231641;
description = "a program that finds duplicate files"
website = "https://rdfind.pauldreik.se"
anitya = 231641
version* = "1.8.0";
version# = "1.8.0"
source = remoteTar {
url = "https://rdfind.pauldreik.se/rdfind-"+version+".tar.gz";
checksum = "PoaeJ2WIG6yyfe5VAYZlOdAQiR3mb3WhAUMj2ziTCx_IIEal4640HMJUb4SzU9U3";
compress = gzip;
};
url = "https://rdfind.pauldreik.se/rdfind-${version}.tar.gz"
checksum = "PoaeJ2WIG6yyfe5VAYZlOdAQiR3mb3WhAUMj2ziTCx_IIEal4640HMJUb4SzU9U3"
compress = gzip
}
exec = make {
// test suite hard codes /bin/echo
preCheck = "\nln -s ../system/bin/toybox /bin/echo\n";
};
preCheck = "ln -s ../system/bin/toybox /bin/echo"
}
inputs = [ nettle ];
runtime = [ nettle ];
inputs = [ nettle ]
runtime = [ nettle ]
}

View File

@@ -1,27 +1,26 @@
package rsync {
description = "an open source utility that provides fast incremental file transfer";
website = "https://rsync.samba.org";
anitya = 4217;
description = "an open source utility that provides fast incremental file transfer"
website = "https://rsync.samba.org"
anitya = 4217
version* = "3.4.2";
version# = "3.4.2"
source = remoteTar {
url = "https://download.samba.org/pub/rsync/src/"+
"rsync-"+version+".tar.gz";
checksum = "t7PxS4WHXzefLMKKc_3hJgxUmlGG6KgHMZ8i4DZvCQAUAizxbclNKwfLyOHyq5BX";
compress = gzip;
};
url = "https://download.samba.org/pub/rsync/src/rsync-${version}.tar.gz"
checksum = "t7PxS4WHXzefLMKKc_3hJgxUmlGG6KgHMZ8i4DZvCQAUAizxbclNKwfLyOHyq5BX"
compress = gzip
}
toyboxEarly = true;
toyboxEarly
exec = make {
configure = {
"disable-openssl";
"disable-xxhash";
"disable-zstd";
"disable-lz4";
};
configure = [
"disable-openssl"
"disable-xxhash"
"disable-zstd"
"disable-lz4"
]
// circular dependency
skipCheck = true;
};
skipCheck
}
}

View File

@@ -5,11 +5,11 @@ package spirv-headers {
// upstream changed version scheme, anitya incapable of filtering them
latest = anityaFilterSPIRV;
version* = "1.4.341.0";
version* = "1.4.350.0";
source = remoteGitHub {
suffix = "KhronosGroup/SPIRV-Headers";
tag = "vulkan-sdk-"+version;
checksum = "0PL43-19Iaw4k7_D8J8BvoJ-iLgCVSYZ2ThgDPGfAJwIJFtre7l0cnQtLjcY-JvD";
checksum = "wFCZquDVL4HoE-kWbS_BHHb_d71EYR2A2kVp08oDutektpnQzhDP89wo821GgcpG";
};
exec = cmake {

View File

@@ -1,51 +1,51 @@
package squashfs-tools {
description = "tools to create and extract Squashfs filesystems";
website = "https://github.com/plougher/squashfs-tools";
anitya = 4879;
description = "tools to create and extract Squashfs filesystems"
website = "https://github.com/plougher/squashfs-tools"
anitya = 4879
version* = "4.7.5";
version# = "4.7.5"
source = remoteGitHubRelease {
suffix = "plougher/squashfs-tools";
tag = version;
name = "squashfs-tools-"+version+".tar.gz";
checksum = "rF52wLQP-jeAmcD-48wqJcck8ZWRFwkax3T-7snaRf5EBnCQQh0YypMY9lwcivLz";
compress = gzip;
};
suffix = "plougher/squashfs-tools"
tag = version
name = "squashfs-tools-${version}.tar.gz"
checksum = "rF52wLQP-jeAmcD-48wqJcck8ZWRFwkax3T-7snaRf5EBnCQQh0YypMY9lwcivLz"
compress = gzip
}
// uses source tree as scratch space
writable = true;
chmod = true;
writable
chmod
env = [
"CONFIG=1",
"XZ_SUPPORT=0",
"LZO_SUPPORT=0",
"LZ4_SUPPORT=0",
"COMP_DEFAULT=zstd",
"USE_PREBUILT_MANPAGES=y",
];
"CONFIG=1"
"XZ_SUPPORT=0"
"LZO_SUPPORT=0"
"LZ4_SUPPORT=0"
"COMP_DEFAULT=zstd"
"USE_PREBUILT_MANPAGES=y"
]
early = "cd squashfs-tools";
early = "cd squashfs-tools"
exec = make {
skipConfigure = true;
inPlace = true;
skipConfigure
inPlace
skipCheck = true;
install = "make INSTALL_PREFIX=/work/system install";
};
skipCheck
install = "make INSTALL_PREFIX=/work/system install"
}
inputs = [
sed,
sed
zstd,
gzip,
zlib,
];
zstd
gzip
zlib
]
runtime = [
zstd,
gzip,
zlib,
];
zstd
gzip
zlib
]
}

View File

@@ -1,18 +1,37 @@
package stage0-dist {
description = "Rosa OS stage0 bootstrap seed";
exclude = true;
package rosa-stage0 {
description = "Rosa OS stage0 bootstrap seed"
version = unversioned
exclude
version* = "20260504";
output = remoteTar {
url = "https://hakurei.app/seed/"+version+"/"+
"stage0-"+triple+".tar.bz2";
checksum = arch {
amd64 = "IQjFDkiAVLo1XzflgMMiLP3gnVY2hhDMTzl-QqJDCQhcLQ3lLtRzjI5WCxGyW_lk";
arm64 = "6fmwl2Umx2QssKQvxxb1JOGkAjzfA_MXKku0jVdGjYGb35OvwEVA5NYtd0HIy3yH";
riscv64 = "Z2ODV0rIoo9iQRUIu35bsaOBeXc_9qQfGcyb2aGneatzNUJlXh5emSpEV2bOklUL";
source = hakurei-source
extra = [
llvm
mksh
toybox-early
]
overlay = "/stage0"
exec = generic {
build = `umask 377
tar -vjc -C /stage0 -f /work/stage0-${triple}.tar.bz2 .`
}
default = 0;
};
compress = bzip2;
};
inputs = [ bzip2 ]
}
package stage0-dist {
description = "Rosa OS stage0 bootstrap seed (binary distribution)"
exclude
version# = "20260504"
output = remoteTar {
url = "https://hakurei.app/seed/${version}/stage0-${triple}.tar.bz2"
checksum = arch {
amd64 = "IQjFDkiAVLo1XzflgMMiLP3gnVY2hhDMTzl-QqJDCQhcLQ3lLtRzjI5WCxGyW_lk"
arm64 = "6fmwl2Umx2QssKQvxxb1JOGkAjzfA_MXKku0jVdGjYGb35OvwEVA5NYtd0HIy3yH"
riscv64 = "Z2ODV0rIoo9iQRUIu35bsaOBeXc_9qQfGcyb2aGneatzNUJlXh5emSpEV2bOklUL"
default = 0
}
compress = bzip2
}
}

View File

@@ -1,38 +1,36 @@
package strace {
description = "a diagnostic, debugging and instructional userspace utility";
website = "https://strace.io";
anitya = 4897;
description = "a diagnostic, debugging and instructional userspace utility"
website = "https://strace.io"
anitya = 4897
version* = "6.19";
version := "6.19"
source = remoteFile {
url = "https://strace.io/files/"+version+"/strace-"+version+".tar.xz";
checksum = "XJFJJ9XLh_1rHS3m_QNjLKzkkBAooE-QT9p9lJNNWowAmd54IJop_fI4-IFtjeeL";
};
url = "https://strace.io/files/${version}/strace-${version}.tar.xz"
checksum = "XJFJJ9XLh_1rHS3m_QNjLKzkkBAooE-QT9p9lJNNWowAmd54IJop_fI4-IFtjeeL"
}
early = `
sed -i 's/off64_t/off_t/g' \
tests/readahead.c \
tests/sync_file_range.c \
tests/sync_file_range2.c
sed -i 's/unsigned int msg_len;$/uint32_t msg_len;/g' \
tests/nlattr.c
`;
early = `sed -i 's/off64_t/off_t/g' \
tests/readahead.c \
tests/sync_file_range.c \
tests/sync_file_range2.c
sed -i 's/unsigned int msg_len;$/uint32_t msg_len;/g' \
tests/nlattr.c`
exec = make {
configure = {
configure = [
// tests broken on clang
"disable-gcc-Werror";
"disable-gcc-Werror"
"enable-mpers": "no";
};
"enable-mpers": "no"
]
// does not compile on musl
skipCheck = true;
};
skipCheck
}
inputs = [
xz,
xz
kernel-headers,
];
kernel-headers
]
}

View File

@@ -1,50 +1,45 @@
package tamago {
description = "a Go toolchain extended with support for bare metal execution";
website = "https://github.com/usbarmory/tamago-go";
anitya = 388872;
description = "a Go toolchain extended with support for bare metal execution"
website = "https://github.com/usbarmory/tamago-go"
anitya = 388872
version* = "1.26.3";
version# = "1.26.3"
source = remoteGitHub {
suffix = "usbarmory/tamago-go";
tag = "tamago-go"+version;
checksum = "-nH3MjAzDDLTeJ2hRKYJcJwo5-Ikci4zOHfB8j1vKn7zrF9TS6zYaoLi8qohGwAE";
};
suffix = "usbarmory/tamago-go"
tag = "tamago-go"+version
checksum = "-nH3MjAzDDLTeJ2hRKYJcJwo5-Ikci4zOHfB8j1vKn7zrF9TS6zYaoLi8qohGwAE"
}
env = [
"CC=cc",
"GOCACHE=/tmp/gocache",
"CGO_ENABLED=0",
];
"CC=cc"
"GOCACHE=/tmp/gocache"
"CGO_ENABLED=0"
]
enterSource = true;
enterSource
exec = generic {
inPlace = true;
build = `
mkdir /work/system/
cp -r . /work/system/tamago
cd /work/system/tamago/src
chmod -R +w ..
inPlace
build = r`mkdir /work/system/
cp -r . /work/system/tamago
cd /work/system/tamago/src
chmod -R +w ..
sed -i \
's,/lib/ld-musl-` + linuxArch + `.so.1,/system/bin/linker,' \
cmd/link/internal/` + arch + `/obj.go
sed -i \
's/cpu.X86.HasAVX512VBMI/& \&\& cpu.X86.HasPOPCNT/' \
internal/runtime/gc/scan/scan_amd64.go
rm \
os/root_unix_test.go \
cmd/cgo/internal/testsanitizers/tsan_test.go \
cmd/cgo/internal/testsanitizers/cshared_test.go
set +u
. ./make.bash "$@" --no-banner
set -u`
check = "bash run.bash --no-rebuild"
install = "../bin/go tool dist banner # print build info"
}
sed -i \
's,/lib/ld-musl-` + linuxArch + `.so.1,/system/bin/linker,' \
cmd/link/internal/` + arch + `/obj.go
sed -i \
's/cpu.X86.HasAVX512VBMI/& \&\& cpu.X86.HasPOPCNT/' \
internal/runtime/gc/scan/scan_amd64.go
rm \
os/root_unix_test.go \
cmd/cgo/internal/testsanitizers/tsan_test.go \
cmd/cgo/internal/testsanitizers/cshared_test.go
set +u
. ./make.bash "$@" --no-banner
set -u
`;
check = "bash run.bash --no-rebuild\n";
install = "../bin/go tool dist banner # print build info";
};
inputs = [ bash, go ];
inputs = [ bash, go ]
}

View File

@@ -0,0 +1,14 @@
package tllist {
description = "a C header file only implementation of a typed linked list"
website = "https://codeberg.org/dnkl/tllist"
anitya = 141661
version# = "1.1.0"
source = remoteTar {
url = "https://codeberg.org/dnkl/tllist/archive/${version}.tar.gz"
checksum = "EEgawChPB8hO7mW9dAzakBGWSRnrgK8pWhCF7Z5F_ycYEqOXxJPCWq6mFUi95U9d"
compress = gzip
}
exec = meson()
}

View File

@@ -1,134 +1,116 @@
package toybox-source {
description = "toybox source tree";
exclude = true;
description = "toybox source tree"
exclude
version* = "0.8.13";
version# = "0.8.13"
output = remoteTar {
url = "https://landley.net/toybox/downloads/toybox-"+version+".tar.gz";
checksum = "rZ1V1ATDte2WeQZanxLVoiRGdfPXhMlEo5-exX-e-ml8cGn9qOv0ABEUVZpX3wTI";
compress = gzip;
};
url = "https://landley.net/toybox/downloads/toybox-${version}.tar.gz"
checksum = "rZ1V1ATDte2WeQZanxLVoiRGdfPXhMlEo5-exX-e-ml8cGn9qOv0ABEUVZpX3wTI"
compress = gzip
}
}
package toybox {
description = "many common Linux command line utilities";
website = "https://landley.net/toybox";
anitya = 13818;
description = "many common Linux command line utilities"
website = "https://landley.net/toybox"
anitya = 13818
source = toybox-source;
source = toybox-source
writable = true;
enterSource = true;
toyboxEarly = true;
writable
enterSource
toyboxEarly
exec = make {
omitDefaults = true;
inPlace = true;
skipConfigure = true;
preMake = `
LDFLAGS="${LDFLAGS:-''} -static"
chmod +w /bin/
ln -rs "$(which bash)" /bin/ || true
chmod +w kconfig tests
rm \
tests/du.test \
tests/sed.test \
tests/tar.test \
tests/ls.test \
tests/taskset.test
make defconfig
sed -i \
's/^CONFIG_TOYBOX_ZHELP=y$/CONFIG_TOYBOX_ZHELP=0/' \
.config
`;
omitDefaults
inPlace
skipConfigure
preMake = r`LDFLAGS="${LDFLAGS:-''} -static"
chmod +w /bin/
ln -rs "$(which bash)" /bin/ || true
chmod +w kconfig tests
rm \
tests/du.test \
tests/sed.test \
tests/tar.test \
tests/ls.test \
tests/taskset.test
make defconfig
sed -i \
's/^CONFIG_TOYBOX_ZHELP=y$/CONFIG_TOYBOX_ZHELP=0/' \
.config`
check = [
"USER=cure",
"tests",
];
skipEarlyStageCheck = true;
install = "PREFIX=/work/system/bin make install_flat";
postInstall = `
mkdir -p /work/usr/bin
ln -s ../../system/bin/env /work/usr/bin
`;
};
"USER=cure"
"tests"
]
skipEarlyStageCheck
install = "PREFIX=/work/system/bin make install_flat"
postInstall = `mkdir -p /work/usr/bin
ln -s ../../system/bin/env /work/usr/bin`
}
inputs = [
bash,
gzip,
bash
gzip
kernel-headers,
];
kernel-headers
]
}
package toybox-early {
description = "a build of toybox with unfinished tools enabled to break dependency loops";
website = "https://landley.net/toybox";
exclude = true;
description = "a build of toybox with unfinished tools enabled to break dependency loops"
website = "https://landley.net/toybox"
exclude
source = toybox-source;
source = toybox-source
writable = true;
enterSource = true;
toyboxEarly = true;
writable
enterSource
toyboxEarly
exec = make {
omitDefaults = true;
inPlace = true;
skipConfigure = true;
omitDefaults
inPlace
skipConfigure
preMake = `
LDFLAGS="${LDFLAGS:-''} -static"
chmod +w /bin/
ln -rs "$(which bash)" /bin/ || true
chmod +w kconfig tests
rm \
tests/du.test \
tests/sed.test \
tests/tar.test \
tests/ls.test \
tests/taskset.test
make defconfig
sed -i \
's/^CONFIG_TOYBOX_ZHELP=y$/CONFIG_TOYBOX_ZHELP=0/' \
.config
echo '
CONFIG_EXPR=y
CONFIG_TR=y
CONFIG_AWK=y
CONFIG_DIFF=y
' >> .config
`;
preMake = r`LDFLAGS="${LDFLAGS:-''} -static"
chmod +w /bin/
ln -rs "$(which bash)" /bin/ || true
chmod +w kconfig tests
rm \
tests/du.test \
tests/sed.test \
tests/tar.test \
tests/ls.test \
tests/taskset.test
make defconfig
sed -i \
's/^CONFIG_TOYBOX_ZHELP=y$/CONFIG_TOYBOX_ZHELP=0/' \
.config
echo '
CONFIG_EXPR=y
CONFIG_TR=y
CONFIG_AWK=y
CONFIG_DIFF=y
' >> .config`
check = [
"USER=cure",
"tests",
];
skipEarlyStageCheck = true;
"USER=cure"
"tests"
]
skipEarlyStageCheck
install = "PREFIX=/work/system/bin make install_flat";
install = "PREFIX=/work/system/bin make install_flat"
postInstall = `
mkdir -p /work/usr/bin
ln -s ../../system/bin/env /work/usr/bin
`;
};
postInstall = `mkdir -p /work/usr/bin
ln -s ../../system/bin/env /work/usr/bin`
}
inputs = [
bash,
gzip,
bash
gzip
kernel-headers,
];
kernel-headers
]
}

View File

@@ -1,36 +1,30 @@
package unzip {
description = "portable compression/archiver utilities";
website = "https://infozip.sourceforge.net";
anitya = 8684;
description = "portable compression/archiver utilities"
website = "https://infozip.sourceforge.net"
anitya = 8684
version* = "6.0";
version# = "6.0"
source = remoteTar {
url = "https://downloads.sourceforge.net/project/infozip/"+
"UnZip%206.x%20%28latest%29/UnZip%20"+version+"/"+
"unzip"+replace {
s = version;
old = ".";
}+".tar.gz";
checksum = "fcqjB1IOVRNJ16K5gTGEDt3zCJDVBc7EDSra9w3H93stqkNwH1vaPQs_QGOpQZu1";
compress = gzip;
};
url = "https://downloads.sourceforge.net/project/infozip/UnZip%206.x%20%28latest%29/UnZip%20${version}/unzip"+
replace (version, ".") + ".tar.gz"
checksum = "fcqjB1IOVRNJ16K5gTGEDt3zCJDVBc7EDSra9w3H93stqkNwH1vaPQs_QGOpQZu1"
compress = gzip
}
enterSource = true;
writable = true;
chmod = true;
enterSource
writable
chmod
exec = generic {
inPlace = true;
inPlace
build = `unix/configure
make -f unix/Makefile generic1`;
install = `
mkdir -p /work/system/bin/
mv unzip /work/system/bin/
`;
};
make -f unix/Makefile generic1`
install = `mkdir -p /work/system/bin/
mv unzip /work/system/bin/`
}
inputs = [
make,
coreutils,
];
make
coreutils
]
}

View File

@@ -0,0 +1,18 @@
package utf8proc {
description = "a clean C library for processing UTF-8 Unicode data"
website = "https://juliastrings.github.io/utf8proc"
anitya = 7455
version# = "2.11.3"
source = remoteGitHub {
suffix = "JuliaStrings/utf8proc"
tag = "v"+version
checksum = "LlmejkymQEhaMciSE17JSl3pAYdf6DdXNr0ucwclClsMCeq7l1dcgIJl1JmNTQVq"
}
exec = cmake {
cache = {
"UTF8PROC_ENABLE_TESTING": "ON"
}
}
}

View File

@@ -1,59 +1,45 @@
package util-linux {
description = "a random collection of Linux utilities";
website = "https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git";
anitya = 8179;
description = "a random collection of Linux utilities"
website = "https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git"
anitya = 8179
// release candidates confuse Anitya
latest = anityaFallback;
latest = anityaFallback
version* = "2.42";
version# = "2.42.1"
source = remoteTar {
url = "https://www.kernel.org/pub/linux/utils/util-linux/"+
"v"+join {
elems = slice {
elems = split {
s = version;
sep = ".";
n = 3;
};
end = 2;
};
sep = ".";
}+"/util-linux-"+version+".tar.gz";
checksum = "Uy8Nxg9DsW5YwDoeaZeZTyQJ2YmnaaL_fSsQXsLUiFFUd7wnZeD_3SEaVO7ClJlk";
compress = gzip;
url = "https://www.kernel.org/pub/linux/utils/util-linux/v"+trimPatch(version)+"/util-linux-${version}.tar.gz"
checksum = "f1c006mnFL9jTEsqnJn08hHqwcL8TpjCJNIToZNuGEPsLmEdNL87r8RzBT-nl9QB"
compress = gzip
};
early = "\nln -s ../system/bin/bash /bin/\n";
early = "ln -s ../system/bin/bash /bin/"
exec = make {
configure = {
"disable-use-tty-group";
"disable-makeinstall-setuid";
"disable-makeinstall-chown";
configure = [
"disable-use-tty-group"
"disable-makeinstall-setuid"
"disable-makeinstall-chown"
"enable-fs-paths-default": join {
elems = [
"/system/sbin",
"/system/sbin/fs.d",
"/system/sbin/fs",
];
sep = ":";
};
"enable-fs-paths-default": join ([
"/system/sbin"
"/system/sbin/fs.d"
"/system/sbin/fs"
], ":")
"disable-su";
"disable-liblastlog2";
"disable-pam-lastlog2";
};
"disable-su"
"disable-liblastlog2"
"disable-pam-lastlog2"
]
// check script claims:
// For development purpose only.
// Don't execute on production system!
skipCheck = true;
skipCheck
};
inputs = [
bash,
bash
kernel-headers,
];
kernel-headers
]
}

View File

@@ -1,30 +1,30 @@
package vim {
description = "a greatly improved version of the good old UNIX editor Vi";
website = "https://www.vim.org";
anitya = 5092;
description = "a greatly improved version of the good old UNIX editor Vi"
website = "https://www.vim.org"
anitya = 5092
version* = "9.2.0461";
version# = "9.2.0461"
source = remoteGitHub {
suffix = "vim/vim";
tag = "v"+version;
checksum = "18Rr_5oIf_PkKuqVkN4CMZIGkZEgpN1vamlrsvPLBjn4mN98CRuoJmhzRZ7MoVYM";
};
suffix = "vim/vim"
tag = "v"+version
checksum = "18Rr_5oIf_PkKuqVkN4CMZIGkZEgpN1vamlrsvPLBjn4mN98CRuoJmhzRZ7MoVYM"
}
writable = true;
chmod = true;
enterSource = true;
writable
chmod
enterSource
exec = make {
inPlace = true;
configure = {
"with-tlib": "ncursesw";
};
check = [ "test" ];
inPlace
configure = [
"with-tlib": "ncursesw"
]
check = [ "test" ]
// very expensive
skipCheck = true;
};
skipCheck
}
inputs = [ ncurses ];
runtime = [ ncurses ];
inputs = [ ncurses ]
runtime = [ ncurses ]
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,38 @@
package xkbcommon {
description = "a library implementing the XKB specification for handling keyboard descriptions"
website = "https://xkbcommon.org"
anitya = 1780
version# = "1.13.1"
source = remoteGitHub {
suffix = "xkbcommon/libxkbcommon"
tag = "xkbcommon-"+version
checksum = "8L8-d1OT9vmCTR6y0fpG7IsSjelAdtDcaD9PRk7--49uEW5ZybD1-bniCxsQU_8Q"
}
env = [
"HOME=/proc/nonexistent"
]
exec = meson {
setup = {
"Denable-x11": "false"
}
}
inputs = [
m4
bison
libxml2
wayland
wayland-protocols
xkeyboard-config
]
runtime = [
libxml2
wayland
wayland-protocols
]
}

View File

@@ -1,18 +1,18 @@
package xz {
description = "XZ Utils";
website = "https://tukaani.org/xz";
anitya = 5277;
description = "XZ Utils"
website = "https://tukaani.org/xz"
anitya = 5277
version* = "5.8.3";
version# = "5.8.3"
source = remoteGitHubRelease {
suffix = "tukaani-project/xz";
tag = "v"+version;
name = "xz-"+version+".tar.bz2";
checksum = "nCdayphPGdIdVoAZ2hR4vYlhDG9LeVKho_i7ealTud4Vxy5o5dWe0VwFlN7utuUL";
compress = bzip2;
};
suffix = "tukaani-project/xz"
tag = "v"+version
name = "xz-${version}.tar.bz2"
checksum = "nCdayphPGdIdVoAZ2hR4vYlhDG9LeVKho_i7ealTud4Vxy5o5dWe0VwFlN7utuUL"
compress = bzip2
}
exec = make {};
exec = make()
inputs = [ diffutils ];
inputs = [ diffutils ]
}

View File

@@ -1,28 +1,28 @@
package zlib {
description = "lossless data-compression library";
website = "https://zlib.net";
anitya = 5303;
description = "lossless data-compression library"
website = "https://zlib.net"
anitya = 5303
version* = "1.3.2";
version# = "1.3.2"
source = remoteTar {
url = "https://www.zlib.net/fossils/zlib-"+version+".tar.gz";
checksum = "KHZrePe42vL2XvOUE3KlJkp1UgWhWkl0jjT_BOvFhuM4GzieEH9S7CioepOFVGYB";
compress = gzip;
};
url = "https://www.zlib.net/fossils/zlib-${version}.tar.gz"
checksum = "KHZrePe42vL2XvOUE3KlJkp1UgWhWkl0jjT_BOvFhuM4GzieEH9S7CioepOFVGYB"
compress = gzip
}
exec = cmake {
cache = {
"CMAKE_C_FLAGS": "-fPIC";
"ZLIB_BUILD_TESTING": "ON";
"ZLIB_BUILD_SHARED": "ON";
"ZLIB_BUILD_STATIC": "ON";
"ZLIB_BUILD_MINIZIP": "OFF";
cache = [
"CMAKE_C_FLAGS": "-fPIC"
"ZLIB_BUILD_TESTING": "ON"
"ZLIB_BUILD_SHARED": "ON"
"ZLIB_BUILD_STATIC": "ON"
"ZLIB_BUILD_MINIZIP": "OFF"
"ZLIB_INSTALL": "ON";
"ZLIB_PREFIX": "OFF";
};
"ZLIB_INSTALL": "ON"
"ZLIB_PREFIX": "OFF"
]
// ninja dependency loop
make = true;
make
};
}

View File

@@ -1,31 +1,29 @@
package zstd {
description = "a fast compression algorithm";
website = "https://facebook.github.io/zstd";
anitya = 12083;
description = "a fast compression algorithm"
website = "https://facebook.github.io/zstd"
anitya = 12083
version* = "1.5.7";
version# = "1.5.7"
source = remoteGitHubRelease {
suffix = "facebook/zstd";
tag = "v"+version;
name = "zstd-"+version+".tar.gz";
checksum = "4XhfR7DwVkwo1R-TmYDAJOcx9YXv9WSFhcFUe3hWEAMmdMLPhFaznCqYIA19_xxV";
compress = gzip;
};
suffix = "facebook/zstd"
tag = "v"+version
name = "zstd-${version}.tar.gz"
checksum = "4XhfR7DwVkwo1R-TmYDAJOcx9YXv9WSFhcFUe3hWEAMmdMLPhFaznCqYIA19_xxV"
compress = gzip
}
// tests Makefile assumes writable source
writable = true;
chmod = true;
writable
chmod
exec = cmake {
append = [ "build", "cmake" ];
test = `
make -C /usr/src/zstd/tests datagen
ZSTD_BIN=/cure/programs/zstd /usr/src/zstd/tests/playTests.sh
`;
};
append = [ "build", "cmake" ]
test = `make -C /usr/src/zstd/tests datagen
ZSTD_BIN=/cure/programs/zstd /usr/src/zstd/tests/playTests.sh`
}
inputs = [
make,
diffutils,
];
make
diffutils
]
}

View File

@@ -1,14 +1,8 @@
package rosa
import (
"slices"
"hakurei.app/internal/pkg"
)
var _perl = H("perl")
// MakeMakerHelper is the [Perl] MakeMaker helper.
// MakeMakerHelper builds projects using the included MakeMaker script.
type MakeMakerHelper struct {
// Whether to skip the check target.
SkipCheck bool
@@ -49,17 +43,3 @@ make \
script += "make DESTDIR=/work install\n"
return script
}
// newViaPerlMakeMaker installs a perl module via Makefile.PL.
func (t Toolchain) newViaPerlMakeMaker(
name, version string,
source pkg.Artifact,
patches []KV,
extra ...ArtifactH,
) pkg.Artifact {
return t.NewPackage("perl-"+name, version, source, &PackageAttr{
Patches: patches,
}, (*MakeMakerHelper)(nil), slices.Concat(extra, P{
_perl,
})...)
}

View File

@@ -1,17 +1,11 @@
package rosa
import (
"slices"
"hakurei.app/internal/pkg"
)
var (
_python = H("python")
_pythonPyTest = H("python-pytest")
)
// PipHelper is the [Python] pip packaging helper.
// PipHelper installs python packages from source using pip.
type PipHelper struct {
// Path elements joined with source.
Append []string
@@ -94,27 +88,3 @@ pip3 install \
'` + sourcePath.String() + `'
` + script
}
// newPythonPackage registers a new [Python] package.
func (s *S) newPythonPackage(
name string, id int, description, website, version string,
source pkg.Artifact, attrP *PackageAttr, attr *PipHelper,
build P, extra ...ArtifactH,
) {
name = "python-" + name
s.MustRegister(name, func(t Toolchain) (*Metadata, pkg.Artifact) {
return &Metadata{
Name: name,
Description: description,
Website: website,
Version: version,
Dependencies: slices.Concat(P{_python}, extra),
ID: id,
}, t.NewPackage(name, version, source, attrP, attr, slices.Concat(
extra,
build,
)...)
})
}

Some files were not shown because too many files have changed in this diff Show More