mirror of
https://github.com/vale981/poetry2nix
synced 2025-03-05 17:21:39 -05:00

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.
46 lines
954 B
Nix
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
|
|
) {};
|
|
|
|
}
|