From faa038757ced955bb5c0a98dae7be6e7185af677 Mon Sep 17 00:00:00 2001 From: seth Date: Wed, 20 Mar 2024 02:28:43 -0400 Subject: nix: cleanup derivation + static package --- nix/static.nix | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 nix/static.nix (limited to 'nix/static.nix') diff --git a/nix/static.nix b/nix/static.nix new file mode 100644 index 0000000..22fbad6 --- /dev/null +++ b/nix/static.nix @@ -0,0 +1,38 @@ +{ + lib, + pkgsStatic, + fenix, + naersk, + teawiebot, +}: let + inherit (pkgsStatic.stdenv) cc; + + target = pkgsStatic.stdenv.hostPlatform.config; + target' = builtins.replaceStrings ["-"] ["_"] target; + targetUpper = lib.toUpper target'; + + toolchain = with fenix; + combine [ + minimal.cargo + minimal.rustc + targets.${target}.latest.rust-std + ]; + + naersk' = naersk.override { + cargo = toolchain; + rustc = toolchain; + }; +in + (teawiebot.override { + naersk = naersk'; + lto = true; + optimizeSize = true; + }) + .overrideAttrs (new: old: { + env = { + "CC_${target'}" = "${cc}/bin/${cc.targetPrefix}cc"; + CARGO_BUILD_TARGET = target; + CARGO_BUILD_RUSTFLAGS = old.env.CARGO_BUILD_RUSTFLAGS + " -C target-feature=+crt-static"; + "CARGO_TARGET_${targetUpper}_LINKER" = new.env."CC_${target'}"; + }; + }) -- cgit v1.2.3