如何覆盖Nix包中的libc使其成为musl?

时间:2018-11-13 00:49:25

标签: rust nix musl

我正在使用Nix作为Rust程序的依赖管理器。我有以下default.nix(简体,但可以正常使用):

rec {
  pkgs = import <nixpkgs> {};

  hello = pkgs.stdenv.mkDerivation rec {
    name = "rust-hello";

    buildInputs = [
      pkgs.rustc
    ];

    src = ./source;

    buildPhase = "rustc main.rs -o rust-hello";
    installPhase = ''
      mkdir -p $out/bin
      install -s rust-hello $out/bin
    '';
  };
}

我试图将libc的所有依赖项(包括Rust编译器)覆盖为pkg.musl,但是我没有这样做。如何实现?

1 个答案:

答案 0 :(得分:1)

尝试使用pkgsMusl便利属性(source)

rec {
  pkgs = (import <nixpkgs> {}).pkgsMusl;
  # ...
}