poetry2nix/hooks/default.nix
adisbladis b9221f61b5
Automatically build most packages without passing format param
We should never have to use `format = "setuptools"` since pip can
_also_ handle setuptools packages.

This uses a custom pipBuildHook that removes pyproject.toml in case
there is also a setup.py in the same sources.
2020-04-01 00:14:30 +01:00

46 lines
954 B
Nix

{ python
, callPackage
, makeSetupHook
, yj
, wheel
, pip
}:
let
pythonInterpreter = python.pythonForBuild.interpreter;
pythonSitePackages = python.sitePackages;
in
{
removePathDependenciesHook = callPackage (
{}:
makeSetupHook {
name = "remove-path-dependencies.sh";
deps = [];
substitutions = {
inherit pythonInterpreter;
yj = "${yj}/bin/yj";
pyprojectPatchScript = "${./pyproject-without-path.py}";
};
} ./remove-path-dependencies.sh
) {};
pipBuildHook = callPackage (
{ pip, wheel }:
makeSetupHook {
name = "pip-build-hook.sh";
deps = [ pip wheel ];
substitutions = {
inherit pythonInterpreter pythonSitePackages;
};
} ./pip-build-hook.sh
) {};
poetry2nixFixupHook = callPackage (
{}:
makeSetupHook {
name = "fixup-hook.sh";
deps = [];
} ./fixup-hook.sh
) {};
}