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
This replaces the '*' placeholder with a less confusing '#'. Signed-off-by: Ophestra <cat@gensokyo.uk>
158 lines
2.8 KiB
Go
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 ];
|
|
}
|