feat: prep work for web UI
This commit is contained in:
@@ -55,25 +55,30 @@
|
||||
freebsd-toolchain winpcap-drivers freebsd-libs libnl libpcap-linux-gnu
|
||||
libpcap-linux-musl libpcap-freebsd;
|
||||
|
||||
buildTools = with pkgs; [
|
||||
# Tools for local compilation
|
||||
lld
|
||||
zig
|
||||
clang
|
||||
glibc
|
||||
libclang
|
||||
buildTools = with pkgs; rec {
|
||||
linux = [
|
||||
# Tools for local compilation
|
||||
lld
|
||||
zig
|
||||
clang
|
||||
glibc
|
||||
libclang
|
||||
mold
|
||||
|
||||
# Tools for cross compilation
|
||||
pkgsCross.x86_64-freebsd.buildPackages.clang
|
||||
pkgsCross.mingwW64.stdenv.cc
|
||||
pkgsCross.mingwW64.windows.pthreads
|
||||
# Tools for building the web UI
|
||||
cargo-leptos
|
||||
wasm-bindgen-cli
|
||||
dart-sass
|
||||
binaryen
|
||||
];
|
||||
freebsd = [ pkgsCross.x86_64-freebsd.buildPackages.clang ];
|
||||
windows = [
|
||||
pkgsCross.mingwW64.stdenv.cc
|
||||
pkgsCross.mingwW64.windows.pthreads
|
||||
];
|
||||
|
||||
# Tools for building the web UI
|
||||
cargo-leptos
|
||||
wasm-bindgen-cli
|
||||
dart-sass
|
||||
binaryen
|
||||
];
|
||||
all = buildTools.linux ++ buildTools.freebsd ++ buildTools.windows;
|
||||
};
|
||||
|
||||
devShellTools = with pkgs; [
|
||||
# Language servers
|
||||
@@ -117,8 +122,19 @@
|
||||
} // system-libs);
|
||||
|
||||
setup-zig-freebsd = pkgs.writeScriptBin "setup-zig-freebsd" ''
|
||||
set -eux
|
||||
|
||||
cp ${outputs.packages.freebsd-zig-libc} $(${pkgs.git}/bin/git rev-parse --show-toplevel)/unix-loader/freebsd.txt
|
||||
'';
|
||||
|
||||
setup-dev-environment = pkgs.writeScriptBin "setup-dev-environment" ''
|
||||
set -eux
|
||||
|
||||
${setup-zig-freebsd}/bin/setup-zig-freebsd
|
||||
cargo build -p sparse-windows-beacon --target=x86_64-pc-windows-gnu
|
||||
cargo build -p sparse-unix-beacon --target=x86_64-unknown-freebsd
|
||||
cargo build -p sparse-unix-beacon --target=x86_64-unknown-linux-musl
|
||||
'';
|
||||
in {
|
||||
packages = outputs.packages;
|
||||
checks = outputs.checks;
|
||||
@@ -127,7 +143,20 @@
|
||||
default = craneLib.devShell (buildEnvironment // {
|
||||
name = "sparse-default";
|
||||
|
||||
packages = buildTools ++ devShellTools ++ [ setup-zig-freebsd ];
|
||||
packages = buildTools.all ++ devShellTools
|
||||
++ [ setup-zig-freebsd setup-dev-environment ];
|
||||
|
||||
# Added to make development easier
|
||||
SPARSE_INSTALLER_LINUX =
|
||||
"../../target/x86_64-unknown-linux-musl/debug/sparse-unix-beacon";
|
||||
SPARSE_INSTALLER_FREEBSD =
|
||||
"../../target/x86_64-unknown-freebsd/debug/sparse-unix-beacon";
|
||||
SPARSE_BEACON_LINUX =
|
||||
"../../target/x86_64-unknown-linux-musl/debug/sparse-unix-beacon";
|
||||
SPARSE_BEACON_FREEBSD =
|
||||
"../../target/x86_64-unknown-freebsd/debug/sparse-unix-beacon";
|
||||
SPARSE_BEACON_WINDOWS =
|
||||
"../../target/x86_64-pc-windows-gnu/debug/sparse-windows-beacon.exe";
|
||||
});
|
||||
};
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user