evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / ca / cargo-typify / package.nix
blob40e30350f5e7b225b7f6f8f7044a2da409f24c74
2   lib,
3   rustfmt,
4   rustPlatform,
5   fetchFromGitHub,
6   gitUpdater,
7   makeWrapper,
8 }:
10 rustPlatform.buildRustPackage rec {
11   pname = "cargo-typify";
12   version = "0.1.0";
14   src = fetchFromGitHub {
15     owner = "oxidecomputer";
16     repo = "typify";
17     rev = "v${version}";
18     hash = "sha256-vokhWIY5iikTyADrqxp6DIq+tJ+xdFPebDFTddJnstA=";
19   };
21   cargoHash = "sha256-etlZqhtRCcCBeMC4lq6BjTD4TQyWEwJf1bLKjoIDR70=";
23   nativeBuildInputs = [
24     rustfmt
25     makeWrapper
26   ];
28   cargoBuildFlags = [
29     "--package"
30     "cargo-typify"
31   ];
32   cargoTestFlags = [
33     "--package"
34     "cargo-typify"
35   ];
37   strictDeps = true;
39   preCheck = ''
40     # cargo-typify depends on rustfmt-wrapper, which requires RUSTFMT:
41     export RUSTFMT="${lib.getExe rustfmt}"
42   '';
44   postInstall = ''
45     wrapProgram $out/bin/cargo-typify \
46       --set RUSTFMT "${lib.getExe rustfmt}"
47   '';
49   passthru.updateScript = gitUpdater { rev-prefix = "v"; };
51   meta = {
52     description = "JSON Schema to Rust type converter";
53     mainProgram = "cargo-typify";
54     homepage = "https://github.com/oxidecomputer/typify";
55     license = with lib.licenses; [ asl20 ];
56     maintainers = with lib.maintainers; [ david-r-cox ];
57   };