aboutsummaryrefslogtreecommitdiff
path: root/default.nix
blob: 12a4ba5e9b863535945501c17dc8678f88a25cae (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
30
31
32
33
34
35
36
37
with import ./nixpkgs.nix;
rec {
  rust = rustChannelOf {
    channel = "stable";
    date = "2018-08-02";
  };

  target = "x86_64-unknown-linux-musl";

  buildRustCrateWithFlags = flags: args: (buildRustCrate.override {
    rustc = rust.rust.override {
      targets = [ "x86_64-unknown-linux-gnu" target ];
    };

    defaultCrateOverrides = defaultCrateOverrides // {
      messages = attrs: {
        nativeBuildInputs = [ capnproto ];
      };
    };
  }) (args // {
    extraRustcOpts = (args.extraRustcOpts or []) ++ flags;
  });
  
  overlay = self: super: rec {
    buildRustCrateHelpers = self.callPackage ./buildRustCrateHelpers.nix {};

    carnix-cross-test = self.callPackage hello/Cargo.nix {
      cratesIO = self.callPackage hello/crates-io.nix { };
    };

    rustHello = carnix-cross-test.hello {};
  };

  nixpkgs = import (builtins.fetchTarball https://nixos.org/channels/nixos-unstable/nixexprs.tar.xz) {
    overlays = [ overlay ];
  };
}