|
3 | 3 |
|
4 | 4 | inputs = { |
5 | 5 | nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05"; |
6 | | - crane.url = "github:ipetkov/crane"; |
7 | 6 | fenix = { |
8 | 7 | url = "github:nix-community/fenix"; |
9 | 8 | inputs.nixpkgs.follows = "nixpkgs"; |
|
12 | 11 |
|
13 | 12 | outputs = |
14 | 13 | { |
15 | | - self, |
16 | 14 | nixpkgs, |
17 | | - crane, |
18 | 15 | fenix, |
| 16 | + ... |
19 | 17 | }: |
20 | 18 | let |
21 | 19 | systems = [ |
|
25 | 23 | "x86_64-linux" |
26 | 24 | ]; |
27 | 25 | eachSystem = nixpkgs.lib.genAttrs systems; |
| 26 | + in |
| 27 | + { |
28 | 28 |
|
29 | | - mkComrak = |
| 29 | + packages = eachSystem ( |
30 | 30 | system: |
31 | 31 | let |
32 | 32 | pkgs = nixpkgs.legacyPackages.${system}; |
33 | | - craneLib = crane.mkLib pkgs; |
34 | | - src = craneLib.cleanCargoSource (craneLib.path ./.); |
35 | | - |
36 | | - commonArgs = { |
37 | | - inherit src; |
38 | | - |
39 | | - buildInputs = nixpkgs.lib.optionals pkgs.stdenv.isDarwin [ pkgs.libiconv ]; |
40 | | - }; |
| 33 | + cargoToml = pkgs.lib.importTOML ./Cargo.toml; |
41 | 34 |
|
42 | | - cargoArtifacts = craneLib.buildDepsOnly commonArgs; |
| 35 | + mkComrak = |
| 36 | + pkgs: |
| 37 | + pkgs.rustPlatform.buildRustPackage { |
| 38 | + pname = "comrak"; |
| 39 | + inherit (cargoToml.package) version; |
43 | 40 |
|
44 | | - comrak = craneLib.buildPackage ( |
45 | | - commonArgs |
46 | | - // { |
47 | | - inherit cargoArtifacts; |
| 41 | + src = ./.; |
| 42 | + cargoLock.lockFile = ./Cargo.lock; |
48 | 43 |
|
49 | 44 | doCheck = false; |
50 | | - } |
51 | | - ); |
52 | | - in |
53 | | - { |
54 | | - inherit |
55 | | - craneLib |
56 | | - src |
57 | | - commonArgs |
58 | | - cargoArtifacts |
59 | | - comrak |
60 | | - ; |
61 | | - }; |
62 | | - |
63 | | - in |
64 | | - { |
65 | | - |
66 | | - checks = eachSystem ( |
67 | | - system: |
68 | | - let |
69 | | - inherit (mkComrak system) |
70 | | - craneLib |
71 | | - src |
72 | | - commonArgs |
73 | | - cargoArtifacts |
74 | | - comrak |
75 | | - ; |
| 45 | + }; |
76 | 46 | in |
77 | | - { |
78 | | - inherit comrak; |
| 47 | + rec { |
| 48 | + default = comrak; |
79 | 49 |
|
80 | | - comrak-clippy = craneLib.cargoClippy ( |
81 | | - commonArgs |
82 | | - // { |
83 | | - inherit cargoArtifacts; |
84 | | - # cargoClippyExtraArgs = "--lib --bins --examples --tests -- --deny warnings"; |
85 | | - # XXX Not sure if we can fix all these and retain our current MSRV. |
86 | | - cargoClippyExtraArgs = "--lib --bins --examples --tests"; |
87 | | - } |
88 | | - ); |
89 | | - |
90 | | - comrak-doc = craneLib.cargoDoc (commonArgs // { inherit cargoArtifacts; }); |
91 | | - |
92 | | - comrak-fmt = craneLib.cargoFmt { inherit src; }; |
93 | | - |
94 | | - comrak-nextest = craneLib.cargoNextest ( |
95 | | - commonArgs |
96 | | - // { |
97 | | - inherit cargoArtifacts; |
98 | | - partitions = 1; |
99 | | - partitionType = "count"; |
100 | | - } |
101 | | - ); |
| 50 | + comrak = mkComrak pkgs; |
| 51 | + comrak-musl = mkComrak pkgs.pkgsStatic; |
102 | 52 | } |
103 | 53 | ); |
104 | 54 |
|
105 | | - packages = eachSystem (system: rec { |
106 | | - default = comrak; |
107 | | - |
108 | | - inherit (mkComrak system) comrak; |
109 | | - }); |
110 | | - |
111 | 55 | formatter = eachSystem (system: nixpkgs.legacyPackages.${system}.nixfmt-rfc-style); |
112 | 56 |
|
113 | 57 | devShells = eachSystem ( |
|
0 commit comments