tools/pkgs/fawltydeps/default.nix

48 lines
1.5 KiB
Nix

{ lib
, poetry2nix
, fetchFromGitHub
, python39
, python39Packages
}:
let
poetryOverrides = poetry2nix.defaultPoetryOverrides.extend (full: prev: {
colorama = prev.colorama.overridePythonAttrs (old: {
buildInputs = old.buildInputs ++ [ prev.hatchling ];
});
iniconfig = prev.iniconfig.overridePythonAttrs (old: {
buildInputs = old.buildInputs ++ [ prev.hatchling prev.hatch-vcs ];
});
filelock = prev.filelock.overridePythonAttrs (old: {
buildInputs = old.buildInputs ++ [ prev.hatchling prev.hatch-vcs ];
});
packaging = prev.packaging.overridePythonAttrs (old: {
buildInputs = old.buildInputs ++ [ prev.flit-core ];
});
pathspec = prev.pathspec.overridePythonAttrs (old: {
buildInputs = old.buildInputs ++ [ prev.flit-core ];
});
nox = prev.nox.overridePythonAttrs (old: {
buildInputs = old.buildInputs ++ [ prev.setuptools ];
});
exceptiongroup = prev.exceptiongroup.overridePythonAttrs (old: {
buildInputs = old.buildInputs ++ [ prev.flit-scm ];
});
mypy = prev.mypy.overridePythonAttrs (old: {
buildInputs = old.buildInputs ++ [ prev.types-psutil ];
});
});
src = fetchFromGitHub {
owner = "tweag";
repo = "FawltyDeps";
rev = "f8b156756b1de47c578935c4d6f6a7a8f2975c63";
sha256 = "sha256-3oQX0oX1+jZAC+vTRd7dUGNfioc6ADFmF+GSbvVyYsQ=";
};
in
poetry2nix.mkPoetryApplication {
version = "2023-03-16";
python = python39;
projectDir = "${src}";
overrides = poetryOverrides;
}