Files
hakurei/internal/rosa/package/hakurei/package.az
T
cat a3867ad65f
Test / Create distribution (push) Successful in 2m40s
Test / Sandbox (push) Successful in 2m46s
Test / ShareFS (push) Successful in 3m47s
Test / Sandbox (race detector) (push) Successful in 5m28s
Test / Hakurei (race detector) (push) Successful in 6m47s
Test / Hakurei (push) Successful in 2m41s
Test / Flake checks (push) Successful in 1m31s
internal/rosa/azalea: replace binding token
This replaces the '*' placeholder with a less confusing '#'.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-24 16:20:26 +09:00

158 lines
2.8 KiB
Go

package hakurei-source {
description = "hakurei source tree";
exclude = true;
version# = "0.4.3";
output = remoteTar {
url = "https://git.gensokyo.uk/rosa/hakurei/archive/"+
"v"+version+".tar.gz";
checksum = "1LqBJIcYcAFTVfydCahOm4hjjKhY953X9ars0eQj32hnpNncWFefuT6OJpZzIlZv";
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",
];
files = {
"hostname/main.go": "hostname";
};
exec = generic {
inPlace = true;
build = `
echo 'Building test helper (hostname).'
go build -o /bin/hostname /usr/src/hostname/main.go
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
-X main.hakureiPath=/system/bin/hakurei
" ./...
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,
pkg-config,
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",
];
files = {
"hostname/main.go": "hostname";
};
exec = generic {
inPlace = true;
build = `
echo 'Building test helper (hostname).'
go build -o /bin/hostname /usr/src/hostname/main.go
NAME=make`;
check = `
NAME=all`;
install = `
DESTDIR=/work "./${NAME}.sh"
`;
};
inputs = [
go,
pkg-config,
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 {
inPlace = true;
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 ];
}