blob: 6c5d10bb7a3388dc411f0e5db3890be5fe20ea63 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
{self, ...}: {
perSystem = {
craneLib,
pkgs,
system,
...
}: {
packages = {
cargoArtifacts = craneLib.buildDepsOnly {src = craneLib.cleanCargoSource self;};
teawiebot = pkgs.callPackage ./derivation.nix {inherit craneLib self;};
teawiebot-smol =
self.packages.${system}.teawiebot.overrideAttrs (_: {
# statically link musl, optimize for size
CARGO_BUILD_TARGET = "x86_64-unknown-linux-musl";
CARGO_BUILD_RUSTFLAGS = "-C lto=fat -C embed-bitcode=yes \
-C target-feature=+crt-static -C opt-level=z -C strip=symbols -C codegen-units=1";
CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_LINKER = let
inherit (pkgs.pkgsStatic.stdenv) cc;
in "${cc}/bin/${cc.targetPrefix}cc";
});
default = self.packages.${system}.teawiebot;
};
};
}
|