waagent: 2.11.1.12 -> 2.12.0.2 (#357728)
[NixPkgs.git] / pkgs / by-name / ni / nix-unit / package.nix
blobaefeb2d63ec9ba676fe27f42499425fc573ce82b
1 { stdenv
2 , lib
3 , boost
4 , clang-tools
5 , cmake
6 , difftastic
7 , makeWrapper
8 , meson
9 , ninja
10 , nixVersions
11 , nlohmann_json
12 , pkg-config
13 , fetchFromGitHub
16 stdenv.mkDerivation (finalAttrs: {
17   pname = "nix-unit";
18   version = "2.24.1";
20   src = fetchFromGitHub {
21     owner = "nix-community";
22     repo = "nix-unit";
23     rev = "v${finalAttrs.version}";
24     hash = "sha256-PcT0jtv2QFaht5eSs1Vq4XGDqtMLdPC49ao9uwGYclE=";
25   };
27   buildInputs = [
28     nlohmann_json
29     # We pin the nix version to a known working one here as upgrades can likely break the build.
30     # Since the nix language is rather stable we don't always need to have the latest and greatest for unit tests
31     # On each update of nix unit we should re-evaluate what version we need.
32     nixVersions.nix_2_24
33     boost
34   ];
36   nativeBuildInputs = [
37     makeWrapper
38     meson
39     pkg-config
40     ninja
41     # nlohmann_json can be only discovered via cmake files
42     cmake
43   ] ++ lib.optional stdenv.cc.isClang [ clang-tools ];
45   postInstall = ''
46     wrapProgram "$out/bin/nix-unit" --prefix PATH : ${difftastic}/bin
47   '';
49   meta = {
50     description = "Nix unit test runner";
51     homepage = "https://github.com/nix-community/nix-unit";
52     license = lib.licenses.gpl3;
53     maintainers = with lib.maintainers; [ mic92 adisbladis ];
54     platforms = lib.platforms.unix;
55     mainProgram = "nix-unit";
56   };