about summary refs log tree commit diff
path: root/pkgs/by-name/ni/nixtract/package.nix
blob: 2885a13f300ded68cf0a288c1397dbb5e9c8c26a (plain) (blame)
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
{
  lib,
  rustPlatform,
  fetchFromGitHub,
  pkg-config,
  openssl,
  stdenv,
  libiconv,
  darwin,
  nix,
  testers,
  nixtract,
}:

rustPlatform.buildRustPackage rec {
  pname = "nixtract";
  version = "0.3.0";

  src = fetchFromGitHub {
    owner = "tweag";
    repo = "nixtract";
    rev = "v${version}";
    hash = "sha256-36ciPNSlB1LU+UXP8MLakrBRRqbyiVFN8Jp/JbCe1OY=";
  };

  cargoHash = "sha256-fawBRIVcOhtDxxRYCf+HWYadoSB/ENKguTbS0M4odVU=";

  nativeBuildInputs = [ pkg-config ];

  buildInputs =
    [ openssl ]
    ++ lib.optionals stdenv.hostPlatform.isDarwin [
      libiconv
      darwin.apple_sdk.frameworks.SystemConfiguration
    ];

  nativeCheckInputs = [ nix ];

  checkFlags = [
    # Requiring network access
    "--skip=nix::narinfo::tests::test_fetch"
    "--skip=nix::substituters::tests::test_from_flake_ref"
    # Requiring write to `/nix/var`
    "--skip=nix::substituters::tests::test_get_substituters"
    "--skip=tests::test_main_fixtures"
  ];

  passthru.tests.version = testers.testVersion { package = nixtract; };

  meta = {
    description = "CLI tool to extract the graph of derivations from a Nix flake";
    homepage = "https://github.com/tweag/nixtract";
    license = with lib.licenses; [
      mit # or
      asl20
    ];
    mainProgram = "nixtract";
    maintainers = with lib.maintainers; [ aleksana ];
  };
}