From 5ae5d85e56195ca22c2df3708c558580a44241bb Mon Sep 17 00:00:00 2001 From: Samuel Cormier-Iijima Date: Thu, 8 Sep 2022 16:02:32 -0400 Subject: [PATCH] Fix determining sourceSpec for git dependencies in pyproject.toml Fixes #702 --- default.nix | 10 +++++++++- mk-poetry-dep.nix | 5 +---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/default.nix b/default.nix index 6a95537..2f76b07 100644 --- a/default.nix +++ b/default.nix @@ -182,7 +182,15 @@ lib.makeScope pkgs.newScope (self: { source = pkgMeta.source or null; files = lockFiles.${name}; pythonPackages = self; - sourceSpec = pyProject.tool.poetry.dependencies.${underscorify pkgMeta.name} or pyProject.tool.poetry.dev-dependencies.${underscorify pkgMeta.name} or { }; + # Packages can be specified with underscores in pyproject.toml; check for + # both possibilities. + sourceSpec = with pyProject.tool.poetry; ( + dependencies.${pkgMeta.name} or + dependencies.${underscorify pkgMeta.name} or + dev-dependencies.${pkgMeta.name} or + dev-dependencies.${underscorify pkgMeta.name} or + { } + ); } ); } diff --git a/mk-poetry-dep.nix b/mk-poetry-dep.nix index 63f8403..3ec139c 100644 --- a/mk-poetry-dep.nix +++ b/mk-poetry-dep.nix @@ -172,10 +172,7 @@ pythonPackages.callPackage rev = source.resolved_reference or source.reference; ref = sourceSpec.branch or (if sourceSpec ? tag then "refs/tags/${sourceSpec.tag}" else "HEAD"); } // ( - let - nixVersion = builtins.substring 0 3 builtins.nixVersion; - in - lib.optionalAttrs ((sourceSpec ? rev) && (lib.versionAtLeast nixVersion "2.4")) { + lib.optionalAttrs ((sourceSpec ? rev) && (lib.versionAtLeast builtins.nixVersion "2.4")) { allRefs = true; } ))