feat: added zig loaders for unix and refactor

This commit is contained in:
Andrew Rioux
2025-01-21 00:41:42 -05:00
parent 5ee8802607
commit 489b1d380f
15 changed files with 225 additions and 21 deletions
+10 -5
View File
@@ -35,8 +35,6 @@
url = "https://download.freebsd.org/releases/amd64/14.1-RELEASE/base.txz";
flake = false;
};
# command for later:
# echo '000007: 09' | xxd -r - target/x86_64-unknown-freebsd/debug/sparse-beacon
};
outputs = { self, nixpkgs, flake-utils, crane, rust-overlay, advisory-db
@@ -54,7 +52,7 @@
freebsd-libs-packed;
};
inherit (system-libs)
bsd-toolchain winpcap-drivers freebsd-libs libnl libpcap-linux-gnu
freebsd-toolchain winpcap-drivers freebsd-libs libnl libpcap-linux-gnu
libpcap-linux-musl libpcap-freebsd;
buildTools = with pkgs; [
@@ -77,10 +75,13 @@
];
devShellTools = with pkgs; [
# Language servers
rust-analyzer
zls
# Cargo lint tools
taplo
cargo-deny
cargo-generate
];
craneLib = (crane.mkLib pkgs).overrideToolchain (p:
@@ -111,6 +112,10 @@
inherit pkgs buildTools buildEnvironment craneLib advisory-db
winpcap-libs;
} // system-libs);
setup-zig-freebsd = pkgs.writeScriptBin "setup-zig-freebsd" ''
cp ${outputs.packages.freebsd-zig-libc} $(${pkgs.git}/bin/git rev-parse --show-toplevel)/unix-loader/freebsd.txt
'';
in {
packages = outputs.packages;
checks = outputs.checks;
@@ -119,7 +124,7 @@
default = craneLib.devShell (buildEnvironment // {
name = "sparse-default";
packages = buildTools ++ devShellTools;
packages = buildTools ++ devShellTools ++ [ setup-zig-freebsd ];
});
};
});