diff options
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 ]; +} |
