fix: got release builds actually working

This commit is contained in:
Andrew Rioux
2025-02-17 01:36:01 -05:00
parent 118d56fc36
commit d823603054
16 changed files with 244 additions and 211 deletions
+23 -22
View File
@@ -106,6 +106,26 @@ let
RUSTFLAGS = "-Ctarget-feature=+crt-static";
};
webCrateBuildArgs = commonArgs // {
nativeBuildInputs = buildTools.linux ++ (with pkgs; [ glibc.static ]);
SPARSE_INSTALLER_LINUX =
"${sparse-installer-linux}/bin/sparse-unix-installer";
SPARSE_INSTALLER_FREEBSD =
"${sparse-installer-freebsd}/bin/sparse-unix-installer";
SPARSE_INSTALLER_WINDOWS =
"${sparse-installer-windows}/bin/sparse-windows-installer.exe";
SPARSE_BEACON_LINUX = "${sparse-beacon-linux}/bin/sparse-unix-beacon";
SPARSE_BEACON_LINUX_LOADER = "${linux-loader}/bin/unix-loader";
SPARSE_BEACON_FREEBSD = "${sparse-beacon-freebsd}/bin/sparse-unix-beacon";
SPARSE_BEACON_FREEBSD_LOADER = "${freebsd-loader}/bin/unix-loader";
SPARSE_BEACON_WINDOWS =
"${sparse-beacon-windows}/bin/sparse-windows-beacon.exe";
SPARSE_BEACON_WINDOWS_SVC =
"${sparse-beacon-windows-svc}/bin/sparse-windows-beacon.exe";
};
freebsdArgs = commonArgs // {
# Sigh...
# For some reason, crane and cargo don't run the build script for FreeBSD
@@ -127,8 +147,7 @@ let
OPENSSL_DIR = win-openssl;
};
gnuLinuxCargoArtifacts = craneLib.buildDepsOnly (commonArgs // {
nativeBuildInputs = buildTools.linux ++ (with pkgs; [ glibc.static ]);
gnuLinuxCargoArtifacts = craneLib.buildDepsOnly (webCrateBuildArgs // {
name = "sparse-deps-gnu-linux";
cargoExtraArgs =
"--target=x86_64-unknown-linux-gnu --locked -p sparse-server";
@@ -289,17 +308,17 @@ let
SPARSE_LIBRARY = "${sparse-beacon-windows}/lib/sparse_windows_beacon.dll";
});
sparse-server = craneLib.mkCargoDerivation (linuxArgs // {
sparse-server = craneLib.mkCargoDerivation (webCrateBuildArgs // {
src = fileSetForWebCrate;
cargoArtifacts = gnuLinuxCargoArtifacts;
nativeBuildInputs = buildTools.linux ++ (with pkgs; [ glibc.static ]);
name = "sparse-server";
pname = "sparse-server";
buildPhaseCargoCommand = ''
cargo leptos build \
-vv \
--release \
--project=sparse-server
'';
@@ -311,24 +330,6 @@ let
cp target/x86_64-unknown-linux-gnu/release/sparse-server $out/bin
'';
doCheck = false;
RUSTFLAGS = "";
SPARSE_INSTALLER_LINUX =
"${sparse-installer-linux}/bin/sparse-unix-installer";
SPARSE_INSTALLER_FREEBSD =
"${sparse-installer-freebsd}/bin/sparse-unix-installer";
SPARSE_INSTALLER_WINDOWS =
"${sparse-installer-windows}/bin/sparse-windows-installer.exe";
SPARSE_BEACON_LINUX = "${sparse-beacon-linux}/bin/sparse-unix-beacon";
SPARSE_BEACON_LINUX_LOADER = "${linux-loader}/bin/unix-loader";
SPARSE_BEACON_FREEBSD = "${sparse-beacon-freebsd}/bin/sparse-unix-beacon";
SPARSE_BEACON_FREEBSD_LOADER = "${freebsd-loader}/bin/unix-loader";
SPARSE_BEACON_WINDOWS =
"${sparse-beacon-windows}/bin/sparse-windows-beacon.exe";
SPARSE_BEACON_WINDOWS_SVC =
"${sparse-beacon-windows-svc}/bin/sparse-windows-beacon.exe";
});
sparse-server-docker = pkgs.dockerTools.buildImage {