diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix index 50a0c3447bd4..659af3e0f010 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix @@ -7,7 +7,7 @@ let inherit (poetryLib) isCompatible readTOML moduleName; # Poetry2nix version - version = "1.9.2"; + version = "1.10.0"; /* The default list of poetry2nix override overlays */ defaultPoetryOverrides = (import ./overrides.nix { inherit pkgs lib; }); @@ -22,6 +22,9 @@ let # Get license by id falling back to input string getLicenseBySpdxId = spdxId: spdxLicenses.${spdxId} or spdxId; + # Experimental withPlugins functionality + toPluginAble = (import ./plugins.nix { inherit pkgs lib; }).toPluginAble; + /* Returns an attrset { python, poetryPackages, pyProject, poetryLock } for the given pyproject/lockfile. */ @@ -33,6 +36,7 @@ let , python ? pkgs.python3 , pwd ? projectDir , preferWheels ? false + , __isBootstrap ? false # Hack: Always add Poetry as a build input unless bootstrapping }@attrs: let poetryPkg = poetry.override { inherit python; }; @@ -77,6 +81,7 @@ let value = self.mkPoetryDep ( pkgMeta // { inherit pwd preferWheels; + inherit __isBootstrap; source = pkgMeta.source or null; files = lockFiles.${name}; pythonPackages = self; @@ -106,6 +111,8 @@ let # The canonical name is setuptools-scm setuptools-scm = super.setuptools_scm; + __toPluginAble = toPluginAble self; + inherit (hooks) pipBuildHook removePathDependenciesHook poetry2nixFixupHook; } ) @@ -176,11 +183,12 @@ let , python ? pkgs.python3 , pwd ? projectDir , preferWheels ? false + , __isBootstrap ? false # Hack: Always add Poetry as a build input unless bootstrapping , ... }@attrs: let poetryPython = mkPoetryPackages { - inherit pyproject poetrylock overrides python pwd preferWheels; + inherit pyproject poetrylock overrides python pwd preferWheels __isBootstrap; }; py = poetryPython.python; @@ -206,7 +214,7 @@ let ( dep: let - pkg = py.pkgs."${dep}"; + pkg = py.pkgs."${moduleName dep}"; constraints = deps.${dep}.python or ""; isCompat = compat constraints; in diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix b/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix index 20175f6bade4..6b784fd8fc5b 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix +++ b/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 , ... }: @@ -106,6 +107,7 @@ pythonPackages.callPackage baseBuildInputs ++ lib.optional (!isSource) (getManyLinuxDeps fileInfo.name).pkg ++ lib.optional isLocal buildSystemPkgs + ++ lib.optional (!__isBootstrap) [ pythonPackages.poetry ] ); propagatedBuildInputs = diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix b/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix index 62f2ed6e3065..756694796a78 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix @@ -24,7 +24,7 @@ self: super: nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkgconfig ]; - buildInputs = old.buildInputs ++ [ pkgs.ffmpeg ]; + buildInputs = old.buildInputs ++ [ pkgs.ffmpeg_4 ]; } ); @@ -255,6 +255,11 @@ self: super: } ); + libvirt-python = super.libvirt-python.overridePythonAttrs ({ nativeBuildInputs ? [ ], ... }: { + nativeBuildInputs = nativeBuildInputs ++ [ pkgs.pkgconfig ]; + propagatedBuildInputs = [ pkgs.libvirt ]; + }); + llvmlite = super.llvmlite.overridePythonAttrs ( old: { nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.llvm ]; @@ -345,6 +350,14 @@ self: super: } ); + mip = super.mip.overridePythonAttrs ( + old: { + nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.autoPatchelfHook ]; + + buildInputs = old.buildInputs ++ [ pkgs.zlib self.cppy ]; + } + ); + netcdf4 = super.netcdf4.overridePythonAttrs ( old: { buildInputs = old.buildInputs ++ [ @@ -454,7 +467,14 @@ self: super: old: let parseMinor = drv: lib.concatStringsSep "." (lib.take 2 (lib.splitVersion drv.version)); - _arrow-cpp = pkgs.arrow-cpp.override { inherit (self) python; }; + + # Starting with nixpkgs revision f149c7030a7, pyarrow takes "python3" as an argument + # instead of "python". Below we inspect function arguments to maintain compatibilitiy. + _arrow-cpp = pkgs.arrow-cpp.override ( + builtins.intersectAttrs + (lib.functionArgs pkgs.arrow-cpp.override) { python = self.python; python3 = self.python; } + ); + ARROW_HOME = _arrow-cpp; arrowCppVersion = parseMinor pkgs.arrow-cpp; pyArrowVersion = parseMinor super.pyarrow; @@ -595,6 +615,12 @@ self: super: } ); + python-ldap = super.python-ldap.overridePythonAttrs ( + old: { + buildInputs = old.buildInputs ++ [ pkgs.openldap pkgs.cyrus_sasl ]; + } + ); + pytoml = super.pytoml.overridePythonAttrs ( old: { doCheck = false; @@ -841,6 +867,14 @@ self: super: } ); + tensorflow = super.tensorflow.overridePythonAttrs ( + old: { + postInstall = '' + rm $out/bin/tensorboard + ''; + } + ); + tensorpack = super.tensorpack.overridePythonAttrs ( old: { postPatch = '' diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/default.nix index b41b6e4a9116..d06a1c1d6ae6 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/default.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/default.nix @@ -7,6 +7,9 @@ poetry2nix.mkPoetryApplication { projectDir = ./.; + # Don't include poetry in inputs + __isBootstrap = true; + src = fetchFromGitHub (lib.importJSON ./src.json); # "Vendor" dependencies (for build-system support) diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock index ce1771856814..cb955a62d123 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock +++ b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock @@ -113,7 +113,7 @@ description = "Python package for providing Mozilla's CA Bundle." name = "certifi" optional = false python-versions = "*" -version = "2020.4.5.2" +version = "2020.4.5.1" [[package]] category = "main" @@ -488,10 +488,6 @@ python-versions = ">=2.7,!=3.0,!=3.1,!=3.2,!=3.3" version = "1.0.2" [package.dependencies] -[package.dependencies.pathlib2] -python = "<3" -version = "*" - [package.dependencies.typing] python = "<3.5" version = "*" @@ -503,7 +499,7 @@ marker = "python_version < \"3.7\"" name = "importlib-resources" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" -version = "2.0.0" +version = "1.5.0" [package.dependencies] [package.dependencies.contextlib2] @@ -668,14 +664,11 @@ marker = "python_version >= \"2.7.9\" and python_version < \"2.8.0\" or python_v name = "livereload" optional = false python-versions = "*" -version = "2.6.2" +version = "2.6.1" [package.dependencies] six = "*" - -[package.dependencies.tornado] -python = ">=2.8" -version = "*" +tornado = "*" [[package]] category = "main" @@ -1328,7 +1321,7 @@ marker = "python_version >= \"2.7.9\" and python_version < \"2.8.0\" or python_v name = "regex" optional = false python-versions = "*" -version = "2020.6.8" +version = "2020.5.14" [[package]] category = "main" @@ -1533,7 +1526,7 @@ description = "tox is a generic virtualenv management and test command line tool name = "tox" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" -version = "3.15.2" +version = "3.15.1" [package.dependencies] colorama = ">=0.4.1" @@ -1662,7 +1655,7 @@ marker = "python_version < \"3.5\" or python_version >= \"3.5\"" name = "wcwidth" optional = false python-versions = "*" -version = "0.2.4" +version = "0.2.3" [package.dependencies] [package.dependencies."backports.functools-lru-cache"] @@ -1733,8 +1726,8 @@ cachy = [ {file = "cachy-0.3.0.tar.gz", hash = "sha256:186581f4ceb42a0bbe040c407da73c14092379b1e4c0e327fdb72ae4a9b269b1"}, ] certifi = [ - {file = "certifi-2020.4.5.2-py2.py3-none-any.whl", hash = "sha256:9cd41137dc19af6a5e03b630eefe7d1f458d964d406342dd3edf625839b944cc"}, - {file = "certifi-2020.4.5.2.tar.gz", hash = "sha256:5ad7e9a056d25ffa5082862e36f119f7f7cec6457fa07ee2f8c339814b80c9b1"}, + {file = "certifi-2020.4.5.1-py2.py3-none-any.whl", hash = "sha256:1d987a998c75633c40847cc966fcf5904906c920a7f17ef374f5aa4282abd304"}, + {file = "certifi-2020.4.5.1.tar.gz", hash = "sha256:51fcb31174be6e6664c5f69e3e1691a2d72a1a12e90f872cbdb1567eb47b6519"}, ] cffi = [ {file = "cffi-1.14.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:1cae98a7054b5c9391eb3249b86e0e99ab1e02bb0cc0575da191aedadbdf4384"}, @@ -1967,8 +1960,8 @@ importlib-metadata = [ importlib-resources = [ {file = "importlib_resources-1.0.2-py2.py3-none-any.whl", hash = "sha256:6e2783b2538bd5a14678284a3962b0660c715e5a0f10243fd5e00a4b5974f50b"}, {file = "importlib_resources-1.0.2.tar.gz", hash = "sha256:d3279fd0f6f847cced9f7acc19bd3e5df54d34f93a2e7bb5f238f81545787078"}, - {file = "importlib_resources-2.0.0-py2.py3-none-any.whl", hash = "sha256:a86462cf34a6d391d1d5d598a5e2f5aac9fc00b265d40542e1196328f015d1f6"}, - {file = "importlib_resources-2.0.0.tar.gz", hash = "sha256:7f6aae2ed252ba10f5d1af5676b0e35f3b3eb7d3cc103b8365cc92aec0c79258"}, + {file = "importlib_resources-1.5.0-py2.py3-none-any.whl", hash = "sha256:85dc0b9b325ff78c8bef2e4ff42616094e16b98ebd5e3b50fe7e2f0bbcdcde49"}, + {file = "importlib_resources-1.5.0.tar.gz", hash = "sha256:6f87df66833e1942667108628ec48900e02a4ab4ad850e25fbf07cb17cf734ca"}, ] ipaddress = [ {file = "ipaddress-1.0.23-py2.py3-none-any.whl", hash = "sha256:6e0f4a39e66cb5bb9a137b00276a2eff74f93b71dcbdad6f10ff7df9d3557fcc"}, @@ -1999,7 +1992,8 @@ keyring = [ {file = "keyring-20.0.1.tar.gz", hash = "sha256:963bfa7f090269d30bdc5e25589e5fd9dad2cf2a7c6f176a7f2386910e5d0d8d"}, ] livereload = [ - {file = "livereload-2.6.2.tar.gz", hash = "sha256:d1eddcb5c5eb8d2ca1fa1f750e580da624c0f7fcb734aa5780dc81b7dcbd89be"}, + {file = "livereload-2.6.1-py2.py3-none-any.whl", hash = "sha256:78d55f2c268a8823ba499305dcac64e28ddeb9a92571e12d543cd304faf5817b"}, + {file = "livereload-2.6.1.tar.gz", hash = "sha256:89254f78d7529d7ea0a3417d224c34287ebfe266b05e67e51facaf82c27f0f66"}, ] lockfile = [ {file = "lockfile-0.12.2-py2.py3-none-any.whl", hash = "sha256:6c3cb24f344923d30b2785d5ad75182c8ea7ac1b6171b08657258ec7429d50fa"}, @@ -2048,11 +2042,6 @@ markupsafe = [ {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6"}, {file = "MarkupSafe-1.1.1-cp37-cp37m-win32.whl", hash = "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2"}, {file = "MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-win32.whl", hash = "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be"}, {file = "MarkupSafe-1.1.1.tar.gz", hash = "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"}, ] mkdocs = [ @@ -2229,27 +2218,27 @@ pyyaml = [ {file = "PyYAML-5.3.1.tar.gz", hash = "sha256:b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d"}, ] regex = [ - {file = "regex-2020.6.8-cp27-cp27m-win32.whl", hash = "sha256:fbff901c54c22425a5b809b914a3bfaf4b9570eee0e5ce8186ac71eb2025191c"}, - {file = "regex-2020.6.8-cp27-cp27m-win_amd64.whl", hash = "sha256:112e34adf95e45158c597feea65d06a8124898bdeac975c9087fe71b572bd938"}, - {file = "regex-2020.6.8-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:92d8a043a4241a710c1cf7593f5577fbb832cf6c3a00ff3fc1ff2052aff5dd89"}, - {file = "regex-2020.6.8-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:bae83f2a56ab30d5353b47f9b2a33e4aac4de9401fb582b55c42b132a8ac3868"}, - {file = "regex-2020.6.8-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:b2ba0f78b3ef375114856cbdaa30559914d081c416b431f2437f83ce4f8b7f2f"}, - {file = "regex-2020.6.8-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:95fa7726d073c87141f7bbfb04c284901f8328e2d430eeb71b8ffdd5742a5ded"}, - {file = "regex-2020.6.8-cp36-cp36m-win32.whl", hash = "sha256:e3cdc9423808f7e1bb9c2e0bdb1c9dc37b0607b30d646ff6faf0d4e41ee8fee3"}, - {file = "regex-2020.6.8-cp36-cp36m-win_amd64.whl", hash = "sha256:c78e66a922de1c95a208e4ec02e2e5cf0bb83a36ceececc10a72841e53fbf2bd"}, - {file = "regex-2020.6.8-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:08997a37b221a3e27d68ffb601e45abfb0093d39ee770e4257bd2f5115e8cb0a"}, - {file = "regex-2020.6.8-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:2f6f211633ee8d3f7706953e9d3edc7ce63a1d6aad0be5dcee1ece127eea13ae"}, - {file = "regex-2020.6.8-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:55b4c25cbb3b29f8d5e63aeed27b49fa0f8476b0d4e1b3171d85db891938cc3a"}, - {file = "regex-2020.6.8-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:89cda1a5d3e33ec9e231ece7307afc101b5217523d55ef4dc7fb2abd6de71ba3"}, - {file = "regex-2020.6.8-cp37-cp37m-win32.whl", hash = "sha256:690f858d9a94d903cf5cada62ce069b5d93b313d7d05456dbcd99420856562d9"}, - {file = "regex-2020.6.8-cp37-cp37m-win_amd64.whl", hash = "sha256:1700419d8a18c26ff396b3b06ace315b5f2a6e780dad387e4c48717a12a22c29"}, - {file = "regex-2020.6.8-cp38-cp38-manylinux1_i686.whl", hash = "sha256:654cb773b2792e50151f0e22be0f2b6e1c3a04c5328ff1d9d59c0398d37ef610"}, - {file = "regex-2020.6.8-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:52e1b4bef02f4040b2fd547357a170fc1146e60ab310cdbdd098db86e929b387"}, - {file = "regex-2020.6.8-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:cf59bbf282b627130f5ba68b7fa3abdb96372b24b66bdf72a4920e8153fc7910"}, - {file = "regex-2020.6.8-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:5aaa5928b039ae440d775acea11d01e42ff26e1561c0ffcd3d805750973c6baf"}, - {file = "regex-2020.6.8-cp38-cp38-win32.whl", hash = "sha256:97712e0d0af05febd8ab63d2ef0ab2d0cd9deddf4476f7aa153f76feef4b2754"}, - {file = "regex-2020.6.8-cp38-cp38-win_amd64.whl", hash = "sha256:6ad8663c17db4c5ef438141f99e291c4d4edfeaacc0ce28b5bba2b0bf273d9b5"}, - {file = "regex-2020.6.8.tar.gz", hash = "sha256:e9b64e609d37438f7d6e68c2546d2cb8062f3adb27e6336bc129b51be20773ac"}, + {file = "regex-2020.5.14-cp27-cp27m-win32.whl", hash = "sha256:e565569fc28e3ba3e475ec344d87ed3cd8ba2d575335359749298a0899fe122e"}, + {file = "regex-2020.5.14-cp27-cp27m-win_amd64.whl", hash = "sha256:d466967ac8e45244b9dfe302bbe5e3337f8dc4dec8d7d10f5e950d83b140d33a"}, + {file = "regex-2020.5.14-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:27ff7325b297fb6e5ebb70d10437592433601c423f5acf86e5bc1ee2919b9561"}, + {file = "regex-2020.5.14-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:ea55b80eb0d1c3f1d8d784264a6764f931e172480a2f1868f2536444c5f01e01"}, + {file = "regex-2020.5.14-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:c9bce6e006fbe771a02bda468ec40ffccbf954803b470a0345ad39c603402577"}, + {file = "regex-2020.5.14-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:d881c2e657c51d89f02ae4c21d9adbef76b8325fe4d5cf0e9ad62f850f3a98fd"}, + {file = "regex-2020.5.14-cp36-cp36m-win32.whl", hash = "sha256:99568f00f7bf820c620f01721485cad230f3fb28f57d8fbf4a7967ec2e446994"}, + {file = "regex-2020.5.14-cp36-cp36m-win_amd64.whl", hash = "sha256:70c14743320a68c5dac7fc5a0f685be63bc2024b062fe2aaccc4acc3d01b14a1"}, + {file = "regex-2020.5.14-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:a7c37f048ec3920783abab99f8f4036561a174f1314302ccfa4e9ad31cb00eb4"}, + {file = "regex-2020.5.14-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:89d76ce33d3266173f5be80bd4efcbd5196cafc34100fdab814f9b228dee0fa4"}, + {file = "regex-2020.5.14-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:51f17abbe973c7673a61863516bdc9c0ef467407a940f39501e786a07406699c"}, + {file = "regex-2020.5.14-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:ce5cc53aa9fbbf6712e92c7cf268274eaff30f6bd12a0754e8133d85a8fb0f5f"}, + {file = "regex-2020.5.14-cp37-cp37m-win32.whl", hash = "sha256:8044d1c085d49673aadb3d7dc20ef5cb5b030c7a4fa253a593dda2eab3059929"}, + {file = "regex-2020.5.14-cp37-cp37m-win_amd64.whl", hash = "sha256:c2062c7d470751b648f1cacc3f54460aebfc261285f14bc6da49c6943bd48bdd"}, + {file = "regex-2020.5.14-cp38-cp38-manylinux1_i686.whl", hash = "sha256:329ba35d711e3428db6b45a53b1b13a0a8ba07cbbcf10bbed291a7da45f106c3"}, + {file = "regex-2020.5.14-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:579ea215c81d18da550b62ff97ee187b99f1b135fd894a13451e00986a080cad"}, + {file = "regex-2020.5.14-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:3a9394197664e35566242686d84dfd264c07b20f93514e2e09d3c2b3ffdf78fe"}, + {file = "regex-2020.5.14-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:ce367d21f33e23a84fb83a641b3834dd7dd8e9318ad8ff677fbfae5915a239f7"}, + {file = "regex-2020.5.14-cp38-cp38-win32.whl", hash = "sha256:1386e75c9d1574f6aa2e4eb5355374c8e55f9aac97e224a8a5a6abded0f9c927"}, + {file = "regex-2020.5.14-cp38-cp38-win_amd64.whl", hash = "sha256:7e61be8a2900897803c293247ef87366d5df86bf701083b6c43119c7c6c99108"}, + {file = "regex-2020.5.14.tar.gz", hash = "sha256:ce450ffbfec93821ab1fea94779a8440e10cf63819be6e176eb1973a6017aff5"}, ] requests = [ {file = "requests-2.21.0-py2.py3-none-any.whl", hash = "sha256:7bf2a778576d825600030a110f3c0e3e8edc51dfaafe1c146e39a2027784957b"}, @@ -2327,8 +2316,8 @@ tornado = [ tox = [ {file = "tox-3.12.1-py2.py3-none-any.whl", hash = "sha256:f5c8e446b51edd2ea97df31d4ded8c8b72e7d6c619519da6bb6084b9dd5770f9"}, {file = "tox-3.12.1.tar.gz", hash = "sha256:f87fd33892a2df0950e5e034def9468988b8d008c7e9416be665fcc0dd45b14f"}, - {file = "tox-3.15.2-py2.py3-none-any.whl", hash = "sha256:50a188b8e17580c1fb931f494a754e6507d4185f54fb18aca5ba3e12d2ffd55e"}, - {file = "tox-3.15.2.tar.gz", hash = "sha256:c696d36cd7c6a28ada2da780400e44851b20ee19ef08cfe73344a1dcebbbe9f3"}, + {file = "tox-3.15.1-py2.py3-none-any.whl", hash = "sha256:322dfdf007d7d53323f767badcb068a5cfa7c44d8aabb698d131b28cf44e62c4"}, + {file = "tox-3.15.1.tar.gz", hash = "sha256:8c9ad9b48659d291c5bc78bcabaa4d680d627687154b812fa52baedaa94f9f83"}, ] tqdm = [ {file = "tqdm-4.46.1-py2.py3-none-any.whl", hash = "sha256:07c06493f1403c1380b630ae3dcbe5ae62abcf369a93bbc052502279f189ab8c"}, @@ -2380,8 +2369,8 @@ virtualenv = [ {file = "virtualenv-20.0.21.tar.gz", hash = "sha256:a116629d4e7f4d03433b8afa27f43deba09d48bc48f5ecefa4f015a178efb6cf"}, ] wcwidth = [ - {file = "wcwidth-0.2.4-py2.py3-none-any.whl", hash = "sha256:79375666b9954d4a1a10739315816324c3e73110af9d0e102d906fdb0aec009f"}, - {file = "wcwidth-0.2.4.tar.gz", hash = "sha256:8c6b5b6ee1360b842645f336d9e5d68c55817c26d3050f46b235ef2bc650e48f"}, + {file = "wcwidth-0.2.3-py2.py3-none-any.whl", hash = "sha256:980fbf4f3c196c0f329cdcd1e84c554d6a211f18e252e525a0cf4223154a41d6"}, + {file = "wcwidth-0.2.3.tar.gz", hash = "sha256:edbc2b718b4db6cdf393eefe3a420183947d6aa312505ce6754516f458ff8830"}, ] webencodings = [ {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml index 0cdaef9908a3..7a384698f2d3 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml +++ b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "poetry" -version = "1.0.8" +version = "1.0.9" description = "Python dependency management and packaging made easy." authors = [ "Sébastien Eustace " diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json index 5e91db253ebb..7a9f578bd777 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json +++ b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json @@ -1,6 +1,6 @@ { "owner": "python-poetry", "repo": "poetry", - "rev": "6f9d6b0e1b7b1d3a7d7b2ca3478ad2cb0a7188e2", - "sha256": "1g9kcp3zlfk3f063hz1av9jj7s60pwxzqgj59w21sd5fx7yzdsaf" + "rev": "1d64e1c75cfd03d8f98533645a7815f0dbcaf421", + "sha256": "0gi1li55rim60hf1gdpgpx84zlkaj0wv12wbv7dib9malhfj3pnz" } \ No newline at end of file diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/plugins.nix b/pkgs/development/tools/poetry2nix/poetry2nix/plugins.nix new file mode 100644 index 000000000000..b5e807c6e2d9 --- /dev/null +++ b/pkgs/development/tools/poetry2nix/poetry2nix/plugins.nix @@ -0,0 +1,70 @@ +{ pkgs, lib }: +let + inherit (pkgs) stdenv; + + mkPluginDrv = + { self + , plugins + , drv + , postInstall ? "" + , nativeBuildInputs ? [ ] + , buildInputs ? [ ] + }: + let + env = self.python.withPackages (ps: plugins); + in + stdenv.mkDerivation { + pname = drv.pname + "-with-plugins"; + + inherit (drv) src version meta; + + buildInputs = drv.buildInputs ++ drv.propagatedBuildInputs ++ buildInputs; + nativeBuildInputs = drv.nativeBuildInputs ++ nativeBuildInputs; + + dontConfigure = true; + dontBuild = true; + dontUsePythonRecompileBytecode = true; + + passthru = { + inherit (drv.passthru) withPlugins; + inherit plugins; + }; + + # Link bin/ from environment, but only if it's in a plugin + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + + for bindir in ${lib.concatStringsSep " " (map (d: "${lib.getBin d}/bin") plugins)}; do + for bin in $bindir/*; do + ln -s ${env}/bin/$(basename $bin) $out/bin/ + done + done + + runHook postInstall + ''; + + inherit postInstall; + }; + +in +{ + + # Provide the `withPlugins` function + toPluginAble = self: { drv + , finalDrv + , postInstall ? "" + , nativeBuildInputs ? [ ] + , buildInputs ? [ ] + }: drv.overridePythonAttrs (old: { + passthru = old.passthru // { + withPlugins = pluginFn: mkPluginDrv { + plugins = [ finalDrv ] ++ pluginFn self; + inherit self postInstall nativeBuildInputs buildInputs; + drv = finalDrv; + }; + }; + }); + +}