28 lines
728 B
Nix
28 lines
728 B
Nix
{
|
|
target,
|
|
pkgs,
|
|
}: let
|
|
cargoToml = fromTOML (builtins.readFile ../Cargo.toml);
|
|
name = cargoToml.package.name;
|
|
version = cargoToml.package.version;
|
|
buildArgs = {
|
|
pname = name;
|
|
inherit version;
|
|
src = pkgs.lib.cleanSource ../.;
|
|
cargoLock.lockFile = ../Cargo.lock;
|
|
useNextest = true;
|
|
meta = {
|
|
inherit (cargoToml.package) description homepage;
|
|
};
|
|
postBuild = "${pkgs.upx}/bin/upx target/*/release/${name}${target.exeSuffix}";
|
|
};
|
|
rustVersion = pkgs.rust-bin.stable.latest.default.override {
|
|
targets = [target.triple];
|
|
};
|
|
rustPlatform = target.crossPkgs.makeRustPlatform {
|
|
cargo = rustVersion;
|
|
rustc = rustVersion;
|
|
};
|
|
in
|
|
rustPlatform.buildRustPackage buildArgs
|