From 8a77c3858576803d65151b3e01033587de990790 Mon Sep 17 00:00:00 2001 From: James Griffiths Date: Fri, 9 Oct 2020 11:51:50 +0100 Subject: [PATCH] fix: allow for string setup/install_requires setuptools allows for install_requires and setup_requires to be either a string or list of strings. This commit ensures the two formats are normalised to a list. https://setuptools.readthedocs.io/en/latest/userguide/keywords.html#id7 --- default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/default.nix b/default.nix index 51ecf3b..70e8922 100644 --- a/default.nix +++ b/default.nix @@ -27,11 +27,12 @@ let extract_requirements = python: src: name: extras: with pkgs.lib; let + ensureList = requires: if isString requires then [requires] else requires; data = extract python src '' Automatic requirements extraction failed for ${name}. Please manually specify 'requirements' ''; - setup_requires = if hasAttr "setup_requires" data then data.setup_requires else []; - install_requires = if hasAttr "install_requires" data then data.install_requires else []; + setup_requires = if hasAttr "setup_requires" data then ensureList data.setup_requires else []; + install_requires = if hasAttr "install_requires" data then ensureList data.install_requires else []; extras_require = if hasAttr "extras_require" data then pkgs.lib.flatten (map (extra: data.extras_require."${extra}") extras)