nix: build with clang
Some checks failed
Test / Create distribution (push) Failing after 33s
Test / Sandbox (push) Successful in 2m22s
Test / Hakurei (push) Failing after 3m15s
Test / Hpkg (push) Successful in 4m13s
Test / Sandbox (race detector) (push) Successful in 4m25s
Test / Hakurei (race detector) (push) Failing after 5m12s
Test / Flake checks (push) Has been skipped

Clang is better than gcc in various ways. This also pulls in clang-format which is very helpful.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
Ophestra 2025-11-15 16:27:34 +09:00
parent a91920310d
commit dffa602ac2
Signed by: cat
SSH Key Fingerprint: SHA256:gQ67O0enBZ7UdZypgtspB2FDM1g3GVw8nX0XSdcFw8Q
3 changed files with 15 additions and 6 deletions

View File

@ -114,7 +114,7 @@
inherit (pkgs)
# passthru.buildInputs
go
gcc
clang
# nativeBuildInputs
pkg-config
@ -129,6 +129,10 @@
zstd
gnutar
coreutils
# for check
util-linux
nettools
;
};
hsu = pkgs.callPackage ./cmd/hsu/package.nix { inherit (self.packages.${system}) hakurei; };

View File

@ -38,7 +38,7 @@ static void hakurei_shim_sigaction(int sig, siginfo_t *si, void *ucontext) {
void hakurei_shim_setup_cont_signal(pid_t ppid, int fd) {
if (hakurei_shim_param_ppid != -1 || hakurei_shim_fd != -1)
*(int *)NULL = 0; /* unreachable */
*(volatile int *)NULL = 0; /* unreachable */
struct sigaction new_action = {0}, old_action = {0};
if (sigaction(SIGCONT, NULL, &old_action) != 0)

View File

@ -20,7 +20,7 @@
# for passthru.buildInputs
go,
gcc,
clang,
# for check
util-linux,
@ -81,8 +81,13 @@ buildGoModule rec {
hsuPath = "/run/wrappers/bin/hsu";
};
env = {
# use clang instead of gcc
CC = "clang -O3 -Werror";
# nix build environment does not allow acls
env.GO_TEST_SKIP_ACL = 1;
GO_TEST_SKIP_ACL = 1;
};
buildInputs = [
libffi
@ -135,7 +140,7 @@ buildGoModule rec {
passthru.targetPkgs = [
go
gcc
clang
xorg.xorgproto
util-linux