From 0792b459eddfe7244b0d6ed59271ccfd974121b7 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sat, 11 Oct 2025 10:12:19 +0000 Subject: [PATCH 1/3] quick-lint-js: cleanup --- pkgs/by-name/qu/quick-lint-js/package.nix | 52 ++++++++++++----------- 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/pkgs/by-name/qu/quick-lint-js/package.nix b/pkgs/by-name/qu/quick-lint-js/package.nix index b413e9d7e2ba..fb806943affc 100644 --- a/pkgs/by-name/qu/quick-lint-js/package.nix +++ b/pkgs/by-name/qu/quick-lint-js/package.nix @@ -15,10 +15,17 @@ let src = fetchFromGitHub { owner = "quick-lint"; repo = "quick-lint-js"; - rev = version; + tag = version; hash = "sha256-L2LCRm1Fsg+xRdPc8YmgxDnuXJo92nxs862ewzObZ3I="; }; + cmakeFlags = [ + (lib.cmakeBool "QUICK_LINT_JS_ENABLE_BUILD_TOOLS" true) + + # Temporary workaround for https://github.com/NixOS/nixpkgs/pull/108496#issuecomment-1192083379 + (lib.cmakeBool "CMAKE_SKIP_BUILD_RPATH" true) + ]; + quick-lint-js-build-tools = buildPackages.stdenv.mkDerivation { pname = "quick-lint-js-build-tools"; inherit version src; @@ -27,13 +34,7 @@ let cmake ninja ]; - doCheck = false; - - cmakeFlags = [ - "-DQUICK_LINT_JS_ENABLE_BUILD_TOOLS=ON" - # Temporary workaround for https://github.com/NixOS/nixpkgs/pull/108496#issuecomment-1192083379 - "-DCMAKE_SKIP_BUILD_RPATH=ON" - ]; + inherit cmakeFlags; ninjaFlags = "quick-lint-js-build-tools"; installPhase = '' @@ -41,9 +42,11 @@ let cmake --install . --component build-tools runHook postInstall ''; + + doCheck = false; }; in -stdenv.mkDerivation { +stdenv.mkDerivation (finalAttrs: { pname = "quick-lint-js"; inherit version src; @@ -51,27 +54,28 @@ stdenv.mkDerivation { cmake ninja ]; + + inherit cmakeFlags; + doCheck = true; - cmakeFlags = [ - "-DQUICK_LINT_JS_USE_BUILD_TOOLS=${quick-lint-js-build-tools}/bin" - # Temporary workaround for https://github.com/NixOS/nixpkgs/pull/108496#issuecomment-1192083379 - "-DCMAKE_SKIP_BUILD_RPATH=ON" - ]; + passthru = { + # Expose quick-lint-js-build-tools to nix repl as quick-lint-js.build-tools. + build-tools = quick-lint-js-build-tools; - passthru.tests = { - version = testers.testVersion { package = quick-lint-js; }; + tests = { + version = testers.testVersion { package = quick-lint-js; }; + }; }; - meta = with lib; { + meta = { description = "Find bugs in Javascript programs"; mainProgram = "quick-lint-js"; homepage = "https://quick-lint-js.com"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ ratsclub ]; - platforms = platforms.all; + downloadPage = "https://github.com/quick-lint/quick-lint-js"; + changelog = "https://github.com/quick-lint/quick-lint-js/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ ratsclub ]; + platforms = lib.platforms.all; }; - - # Expose quick-lint-js-build-tools to nix repl as quick-lint-js.build-tools. - passthru.build-tools = quick-lint-js-build-tools; -} +}) From e18d865bd60f2200a578e871fff3052fc325ff99 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sat, 11 Oct 2025 10:17:21 +0000 Subject: [PATCH 2/3] quick-lint-js: fix CMake 4 compatibility Tracking: https://github.com/NixOS/nixpkgs/issues/445447 --- pkgs/by-name/qu/quick-lint-js/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/qu/quick-lint-js/package.nix b/pkgs/by-name/qu/quick-lint-js/package.nix index fb806943affc..5726d75fb124 100644 --- a/pkgs/by-name/qu/quick-lint-js/package.nix +++ b/pkgs/by-name/qu/quick-lint-js/package.nix @@ -24,6 +24,10 @@ let # Temporary workaround for https://github.com/NixOS/nixpkgs/pull/108496#issuecomment-1192083379 (lib.cmakeBool "CMAKE_SKIP_BUILD_RPATH" true) + + # CMake 4 dropped support of versions lower than 3.5, + # versions lower than 3.10 are deprecated. + (lib.cmakeFeature "CMAKE_POLICY_VERSION_MINIMUM" "3.10") ]; quick-lint-js-build-tools = buildPackages.stdenv.mkDerivation { From 020f6c1e3b8becd6f991acbea9f68673ffbb2759 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sat, 11 Oct 2025 10:19:44 +0000 Subject: [PATCH 3/3] quick-lint-js: use versionCheckHook instead of testers.testVersion Tracking: https://github.com/NixOS/nixpkgs/issues/445447 --- pkgs/by-name/qu/quick-lint-js/package.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/qu/quick-lint-js/package.nix b/pkgs/by-name/qu/quick-lint-js/package.nix index 5726d75fb124..b83a7a164ca5 100644 --- a/pkgs/by-name/qu/quick-lint-js/package.nix +++ b/pkgs/by-name/qu/quick-lint-js/package.nix @@ -5,8 +5,7 @@ lib, ninja, stdenv, - testers, - quick-lint-js, + versionCheckHook, }: let @@ -63,13 +62,15 @@ stdenv.mkDerivation (finalAttrs: { doCheck = true; + nativeInstallCheckInputs = [ + versionCheckHook + ]; + versionCheckProgramArg = "--version"; + doInstallCheck = true; + passthru = { # Expose quick-lint-js-build-tools to nix repl as quick-lint-js.build-tools. build-tools = quick-lint-js-build-tools; - - tests = { - version = testers.testVersion { package = quick-lint-js; }; - }; }; meta = {