diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-08-15 16:18:44 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-08-15 16:18:44 +0900 |
| commit | e58b6eb17110e266be07db10d2af212b58cc8f0f (patch) | |
| tree | 1546dde10e378786cd163b2b42680986b906309d /internal/rosa/package/hakurei.az | |
| parent | 1625aaee80de62380cc40974ae9bd266b3df32e4 (diff) | |
internal/rosa/package: net-tools
These are nice to have, but will not be included in the base system.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/package/hakurei.az')
| -rw-r--r-- | internal/rosa/package/hakurei.az | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/internal/rosa/package/hakurei.az b/internal/rosa/package/hakurei.az new file mode 100644 index 00000000..229af5fc --- /dev/null +++ b/internal/rosa/package/hakurei.az @@ -0,0 +1,150 @@ +package hakurei-source { + description = "hakurei source tree"; + exclude = true; + + version# = "0.4.6"; + output = remoteTar { + url = "https://git.gensokyo.uk/rosa/hakurei/archive/"+ + "v"+version+".tar.gz"; + checksum = "2HxvdykuSSymAu-c1WIwQAy3qT4dDm8B--93iL4uomBlBC8wfSWldbvPF1noNkUC"; + compress = gzip; + }; +} + +package hakurei { + description = "low-level userspace tooling for Rosa OS"; + website = "https://hakurei.app"; + anitya = 388834; + + source = hakurei-source; + enterSource = true; + writable = true; + chmod = true; + + env = [ + "CGO_ENABLED=1", + "GOCACHE=/tmp/gocache", + "CC=clang -O3 -Werror", + ]; + + exec = generic { + chdir = false; + build = ` +mkdir -p /work/system/libexec/hakurei/ + +echo "Building hakurei for $(go env GOOS)/$(go env GOARCH)." +go generate ./... +go build -trimpath -tags=rosa -o /work/system/libexec/hakurei -ldflags="-s -w + -buildid= + -linkmode external + -extldflags=-static + -X hakurei.app/internal/info.buildVersion=$(cat cmd/dist/VERSION) + -X hakurei.app/internal/info.hakureiPath=/system/bin/hakurei + -X hakurei.app/internal/info.hsuPath=/system/bin/hsu +" ./cmd/hakurei ./cmd/sharefs + +echo "Building hsu for $(go env GOOS)/$(go env GOARCH)." +CGO_ENABLED=0 go build -trimpath -tags=rosa -o /work/system/libexec/hakurei -ldflags="-s -w + -buildid= + -X main.hakureiPath=/system/bin/hakurei +" ./cmd/hsu +echo`; + check = ` +echo '##### Testing hakurei.' +go test -ldflags='-buildid= -linkmode external -extldflags=-static' ./... +echo`; + install = ` +mkdir -p /work/system/bin/ +(cd /work/system/libexec/hakurei && mv \ + hakurei \ + sharefs \ + ../../bin/) +`; + }; + + inputs = [ + go, + pkgconf, + net-tools, + + libseccomp, + acl, + fuse, + xcb, + wayland, + wayland-protocols, + kernel-headers, + ]; +} + +package hakurei-dist { + description = "low-level userspace tooling for Rosa OS (distribution tarball)"; + website = "https://hakurei.app"; + + source = hakurei-source; + enterSource = true; + writable = true; + chmod = true; + + env = [ + "CGO_ENABLED=1", + "GOCACHE=/tmp/gocache", + "CC=clang -O3 -Werror", + ]; + + exec = generic { + chdir = false; + build = ` +NAME=make`; + check = ` +NAME=all`; + install = ` +DESTDIR=/work "./${NAME}.sh" +`; + }; + + inputs = [ + go, + pkgconf, + net-tools, + + libseccomp, + acl, + fuse, + xcb, + wayland, + wayland-protocols, + kernel-headers, + ]; +} + +package earlyinit { + description = "Rosa OS initramfs init program"; + exclude = true; + + source = hakurei-source; + enterSource = true; + writable = true; + chmod = true; + + env = [ + "CGO_ENABLED=1", + "GOCACHE=/tmp/gocache", + "CC=clang -O3 -Werror", + ]; + + exec = generic { + chdir = false; + build = ` +echo '# Building earlyinit.' +go build -trimpath -v -o /work/ -ldflags="-s -w + -buildid= + -linkmode external + -extldflags=-static + -X hakurei.app/internal/info.buildVersion=$(cat cmd/dist/VERSION) +" ./cmd/earlyinit +echo`; + }; + + inputs = [ go ]; +} |
