|
6 | 6 | url = github:numtide/flake-utils;
|
7 | 7 | inputs.nixpkgs.follows = "nixpkgs";
|
8 | 8 | };
|
| 9 | + naersk = { |
| 10 | + url = github:yatima-inc/naersk; |
| 11 | + inputs.nixpkgs.follows = "nixpkgs"; |
| 12 | + }; |
9 | 13 | utils = {
|
10 | 14 | url = github:yatima-inc/nix-utils;
|
11 | 15 | inputs.nixpkgs.follows = "nixpkgs";
|
| 16 | + inputs.naersk.follows = "naersk"; |
12 | 17 | };
|
13 | 18 | };
|
14 | 19 |
|
|
17 | 22 | , nixpkgs
|
18 | 23 | , flake-utils
|
19 | 24 | , utils
|
| 25 | + , naersk |
20 | 26 | }:
|
21 |
| - flake-utils.lib.eachDefaultSystem (system: |
| 27 | + let |
| 28 | + # Only use the supported systems |
| 29 | + supportedSystems = builtins.attrNames naersk.lib; |
| 30 | + in |
| 31 | + flake-utils.lib.eachSystem supportedSystems (system: |
22 | 32 | let
|
23 | 33 | lib = utils.lib.${system};
|
24 | 34 | pkgs = import nixpkgs { inherit system; };
|
25 |
| - inherit (lib) buildRustProject testRustProject rustDefault filterRustProject; |
26 |
| - rust = rustDefault; |
| 35 | + inherit (lib) buildRustProject testRustProject getRust; |
| 36 | + rustNightly = getRust { date = "2021-10-13"; sha256 = "2hYUzd1vkONFeibPF2ZVOWR5LhKGecA0+Dq4/fTyNMg="; }; |
27 | 37 | crateName = "rust-multihash";
|
28 | 38 | root = ./.;
|
29 |
| - project = buildRustProject { inherit root; }; |
| 39 | + project = buildRustProject { inherit root; rust = rustNightly; }; |
30 | 40 | in
|
31 | 41 | {
|
32 | 42 | packages.${crateName} = project;
|
33 |
| - checks.${crateName} = testRustProject { doCheck = true; inherit root; }; |
| 43 | + checks.${crateName} = testRustProject { |
| 44 | + inherit root; |
| 45 | + rust = rustNightly; |
| 46 | + # Avoid unstable_options in test |
| 47 | + cargoOptions = opt: []; |
| 48 | + cargoBuildOptions = opt: [ "-Z unstable-options" ] ++ opt; |
| 49 | + cargoTestOptions = opt: [ "--all-features" ] ++ opt; |
| 50 | + |
| 51 | + }; |
34 | 52 |
|
35 | 53 | defaultPackage = self.packages.${system}.${crateName};
|
36 | 54 |
|
|
42 | 60 | # `nix develop`
|
43 | 61 | devShell = pkgs.mkShell {
|
44 | 62 | inputsFrom = builtins.attrValues self.packages.${system};
|
45 |
| - nativeBuildInputs = [ rust ]; |
| 63 | + nativeBuildInputs = [ rustNightly ]; |
46 | 64 | buildInputs = with pkgs; [
|
47 | 65 | rust-analyzer
|
48 | 66 | clippy
|
|
0 commit comments