nix-update/default.nix

38 lines
1.0 KiB
Nix
Raw Normal View History

2020-12-01 12:31:29 +03:00
{ pkgs ? import <nixpkgs> {},
src ? ./.
}:
2020-03-16 13:06:32 +03:00
with pkgs;
python3.pkgs.buildPythonApplication rec {
name = "nix-update";
2020-12-01 12:31:29 +03:00
inherit src;
2022-02-16 22:55:10 +03:00
buildInputs = [ makeWrapper python3 ];
checkInputs = [
2020-12-01 11:30:17 +03:00
python3.pkgs.pytest
python3.pkgs.black
python3.pkgs.flake8
glibcLocales
mypy
# technically not a test input, but we need it for development in PATH
2022-02-16 22:52:25 +03:00
pkgs.nixVersions.nix_2_4 or nix_2_4
2021-01-09 10:55:05 +03:00
nix-prefetch
];
2020-03-16 13:06:32 +03:00
checkPhase = ''
echo -e "\x1b[32m## run black\x1b[0m"
LC_ALL=en_US.utf-8 black --check .
echo -e "\x1b[32m## run flake8\x1b[0m"
flake8 nix_update
echo -e "\x1b[32m## run mypy\x1b[0m"
2021-12-13 16:40:59 +03:00
mypy --no-warn-unused-ignores --strict nix_update tests
2020-03-16 13:06:32 +03:00
'';
makeWrapperArgs = [
2022-02-16 22:52:25 +03:00
"--prefix PATH" ":" (lib.makeBinPath [ pkgs.nixVersions.nix_2_4 or nix_2_4 nix-prefetch nixpkgs-fmt nixpkgs-review ])
2020-03-16 13:06:32 +03:00
];
shellHook = ''
# workaround because `python setup.py develop` breaks for me
'';
passthru.env = buildEnv { inherit name; paths = buildInputs ++ checkInputs; };
}