git.delta.rocks / remowt / refs/commits / 7e5126608cef

difftreelog

source

nix/remowt-agent.nix1.0 KiBsourcehistory
1{2  craneLib,3  lib,4  pkgs,5}: let6  crateName = "remowt-agent";78  buildFor = {9    target,10    crossPkgs,11  }: let12    cc = crossPkgs.stdenv.cc;13    linkerEnv = "CARGO_TARGET_${lib.toUpper (builtins.replaceStrings ["-"] ["_"] target)}_LINKER";14  in15    craneLib.buildPackage ({16        src = craneLib.cleanCargoSource ../.;17        pname = "${crateName}-${target}";1819        cargoExtraArgs = "--locked -p ${crateName}";2021        CARGO_BUILD_TARGET = target;22        CARGO_BUILD_RUSTFLAGS = "-C target-feature=+crt-static";2324        depsBuildBuild = [cc];25        doCheck = false;26      }27      // {28        ${linkerEnv} = "${cc}/bin/${cc.targetPrefix}cc";29      });30in {31  x86_64 = buildFor {32    target = "x86_64-unknown-linux-musl";33    crossPkgs = pkgs;34  };35  aarch64 = buildFor {36    target = "aarch64-unknown-linux-musl";37    crossPkgs = pkgs.pkgsCross.aarch64-multiplatform-musl;38  };39  armv7l = buildFor {40    target = "armv7-unknown-linux-musleabihf";41    crossPkgs = pkgs.pkgsCross.armv7l-hf-multiplatform.pkgsMusl;42  };43}