biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / tools / quick-lint-js / default.nix
blob86b76bf99c071df476f380d60075b9e703c8c93d
1 { buildPackages, cmake, fetchFromGitHub, lib, ninja, stdenv, testers, quick-lint-js }:
3 let
4   version = "3.2.0";
6   src = fetchFromGitHub {
7     owner = "quick-lint";
8     repo = "quick-lint-js";
9     rev = version;
10     hash = "sha256-L2LCRm1Fsg+xRdPc8YmgxDnuXJo92nxs862ewzObZ3I=";
11   };
13   quick-lint-js-build-tools = buildPackages.stdenv.mkDerivation {
14     pname = "quick-lint-js-build-tools";
15     inherit version src;
17     nativeBuildInputs = [ cmake ninja ];
18     doCheck = false;
20     cmakeFlags = [
21       "-DQUICK_LINT_JS_ENABLE_BUILD_TOOLS=ON"
22       # Temporary workaround for https://github.com/NixOS/nixpkgs/pull/108496#issuecomment-1192083379
23       "-DCMAKE_SKIP_BUILD_RPATH=ON"
24     ];
25     ninjaFlags = "quick-lint-js-build-tools";
27     installPhase = ''
28       runHook preInstall
29       cmake --install . --component build-tools
30       runHook postInstall
31     '';
32   };
34 stdenv.mkDerivation rec {
35   pname = "quick-lint-js";
36   inherit version src;
38   nativeBuildInputs = [ cmake ninja ];
39   doCheck = true;
41   cmakeFlags = [
42     "-DQUICK_LINT_JS_USE_BUILD_TOOLS=${quick-lint-js-build-tools}/bin"
43     # Temporary workaround for https://github.com/NixOS/nixpkgs/pull/108496#issuecomment-1192083379
44     "-DCMAKE_SKIP_BUILD_RPATH=ON"
45   ];
47   passthru.tests = {
48     version = testers.testVersion { package = quick-lint-js; };
49   };
51   meta = with lib; {
52     description = "Find bugs in Javascript programs";
53     mainProgram = "quick-lint-js";
54     homepage = "https://quick-lint-js.com";
55     license = licenses.gpl3Plus;
56     maintainers = with maintainers; [ ratsclub ];
57     platforms = platforms.all;
58   };
60   # Expose quick-lint-js-build-tools to nix repl as quick-lint-js.build-tools.
61   passthru.build-tools = quick-lint-js-build-tools;