From 72c2b66fc01f7bf20ced4b9de180e3d154e5fa39 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Mon, 7 Jul 2025 04:22:55 +0900 Subject: [PATCH] nix: cross-platform syscall wrapper Signed-off-by: Ophestra --- flake.nix | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/flake.nix b/flake.nix index 53db737..6cc94de 100644 --- a/flake.nix +++ b/flake.nix @@ -185,17 +185,23 @@ ''; }; - generateSyscallTable = pkgs.mkShell { - # this should be made cross-platform via nix - shellHook = "exec ${pkgs.writeShellScript "generate-syscall-table" '' - set -e - ${pkgs.perl}/bin/perl \ - sandbox/seccomp/mksysnum_linux.pl \ - ${pkgs.linuxHeaders}/include/asm/unistd_64.h | \ - ${pkgs.go}/bin/gofmt > \ - sandbox/seccomp/syscall_linux_amd64.go - ''}"; - }; + generateSyscallTable = + let + GOARCH = { + x86_64-linux = "amd64"; + aarch64-linux = "arm64"; + }; + in + pkgs.mkShell { + shellHook = "exec ${pkgs.writeShellScript "generate-syscall-table" '' + set -e + ${pkgs.perl}/bin/perl \ + container/seccomp/mksysnum_linux.pl \ + ${pkgs.linuxHeaders}/include/asm/unistd_64.h | \ + ${pkgs.go}/bin/gofmt > \ + container/seccomp/syscall_linux_${GOARCH.${system}}.go + ''}"; + }; } ); };