aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix')
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix16
1 files changed, 12 insertions, 4 deletions
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
index 20175f6bade..2791d7dfcb4 100644
--- a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
@@ -17,6 +17,7 @@
, sourceSpec
, supportedExtensions ? lib.importJSON ./extensions.json
, preferWheels ? false
+, __isBootstrap ? false # Hack: Always add Poetry as a build input unless bootstrapping
, ...
}:
@@ -46,10 +47,16 @@ pythonPackages.callPackage
isGit = isSource && source.type == "git";
isLocal = isSource && source.type == "directory";
localDepPath = toPath source.url;
- pyProject = poetryLib.readTOML (localDepPath + "/pyproject.toml");
- buildSystemPkgs = poetryLib.getBuildSystemPkgs {
- inherit pythonPackages pyProject;
- };
+
+ buildSystemPkgs =
+ let
+ pyProjectPath = localDepPath + "/pyproject.toml";
+ pyProject = poetryLib.readTOML pyProjectPath;
+ in
+ if builtins.pathExists pyProjectPath then poetryLib.getBuildSystemPkgs {
+ inherit pythonPackages pyProject;
+ } else [ ];
+
fileInfo =
let
isBdist = f: lib.strings.hasSuffix "whl" f.file;
@@ -106,6 +113,7 @@ pythonPackages.callPackage
baseBuildInputs
++ lib.optional (!isSource) (getManyLinuxDeps fileInfo.name).pkg
++ lib.optional isLocal buildSystemPkgs
+ ++ lib.optional (!__isBootstrap) [ pythonPackages.poetry ]
);
propagatedBuildInputs =