summaryrefslogtreecommitdiff
path: root/Biz/Bild/Builder.nix
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2023-08-22 11:46:08 -0400
committerBen Sima <ben@bsima.me>2023-08-22 11:46:08 -0400
commitc13e829e145daf96ea2be9b4d35fc2a94a1b33bd (patch)
treebeaec3d7c830b5c59561f1a225ea37ac1731c54e /Biz/Bild/Builder.nix
parent9eac46cfeddc65938b3cc946629a9c3d93ac35ee (diff)
Replace pylint with ruff
Ruff is like a million times faster, and I mostly ignored pylint's suggestions anyway. I also took this opportunity to move lint tools into a runtime dependency on Lint.hs, which meant adding a wrapper to the Haskell builder, which was easy enough. This paves the way for proper rundeps in bild.
Diffstat (limited to 'Biz/Bild/Builder.nix')
-rw-r--r--Biz/Bild/Builder.nix11
1 files changed, 8 insertions, 3 deletions
diff --git a/Biz/Bild/Builder.nix b/Biz/Bild/Builder.nix
index 342569b..8f42733 100644
--- a/Biz/Bild/Builder.nix
+++ b/Biz/Bild/Builder.nix
@@ -63,13 +63,18 @@ let
haskell = stdenv.mkDerivation rec {
inherit name src BIZ_ROOT preBuild;
+ nativeBuildInputs = [ makeWrapper ];
buildInputs = sysdeps_ ++ [
(bild.haskell.ghcWith (p:
(lib.attrsets.attrVals target.langdeps p)
))
];
- installPhase = "install -D ${name} $out/bin/${name}";
buildPhase = compileLine;
+ installPhase = ''
+ install -D ${name} $out/bin/${name}
+ wrapProgram $out/bin/${name} \
+ --prefix PATH : ${lib.makeBinPath sysdeps_}
+ '';
};
c = stdenv.mkDerivation rec {
@@ -89,13 +94,13 @@ let
inherit name src BIZ_ROOT;
propagatedBuildInputs = [ (bild.python.pythonWith (_: langdeps_)) ] ++ sysdeps_;
buildInputs = sysdeps_;
- checkInputs = [(bild.python.pythonWith (p: with p; [black mypy pylint]))];
+ checkInputs = [(bild.python.pythonWith (p: with p; [black mypy])) ruff];
checkPhase = ''
check() {
$@ || { echo "fail: $name: $3"; exit 1; }
}
check python -m black --quiet --exclude 'setup\.py$' --check .
- check python -m pylint --errors-only .
+ check ${ruff}/bin/ruff check .
check python -m mypy --strict --no-error-summary --exclude 'setup\.py$' .
check python -m ${mainModule} test
'';