summaryrefslogtreecommitdiffstats
path: root/pkgs/by-name/nv/nvrs/package.nix
blob: 82b6e174e6fec58af4e1d49ba475872a54fba2e8 (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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
{
  lib,
  nix-update-script,
  fetchFromGitHub,
  rustPlatform,
  pkg-config,
  openssl,
}:

rustPlatform.buildRustPackage (finalAttrs: {
  pname = "nvrs";
  version = "0.1.9";

  src = fetchFromGitHub {
    owner = "koibtw";
    repo = "nvrs";
    tag = "v${finalAttrs.version}";
    hash = "sha256-6ATkebFYuOOvhzSO+gClPbtaz9/Zph4m8/cqkufRYFw=";
  };

  cargoHash = "sha256-h3egaj4RQImxIf0MB8ZM9V92Xlml5BK++s7RJQwAk+E=";

  nativeBuildInputs = [ pkg-config ];
  buildInputs = [ openssl ];

  buildFeatures = [ "cli" ];
  cargoBuildFlags = [
    "--bin"
    "nvrs"
  ];

  # Skip tests that rely on network access.
  # We're also not running cli tokio tests because they don't implement skipping functionality.
  cargoTestFlags = [
    "--lib"
    "--"
    "--skip=api::aur::request_test"
    "--skip=api::crates_io::request_test"
    "--skip=api::gitea::request_test"
    "--skip=api::github::request_test"
    "--skip=api::gitlab::request_test"
    "--skip=api::regex::request_test"
  ];

  passthru.updateScript = nix-update-script { };

  meta = {
    description = "Fast new version checker for software releases";
    homepage = "https://nvrs.adamperkowski.dev";
    changelog = "https://github.com/koibtw/nvrs/blob/v${finalAttrs.version}/CHANGELOG.md";
    license = lib.licenses.mit;
    maintainers = with lib.maintainers; [ koi ];
    mainProgram = "nvrs";
    platforms = lib.platforms.linux;
  };
})