summary refs log tree commit diff
diff options
context:
space:
mode:
authorJake Waksbaum <jake.waksbaum@gmail.com>2019-01-07 18:25:57 +0000
committerJake Waksbaum <jake.waksbaum@gmail.com>2019-01-10 17:02:45 +0000
commit53b996a62a4d192c873084b6a604db72bd733a38 (patch)
tree20893ff9b60183feebd6b51ee04d2cdc61d3cb8a
parent0756066b1b5d9d4d7a4da2fcc157a07ef4bc3c6d (diff)
downloadnixpkgs-53b996a62a4d192c873084b6a604db72bd733a38.tar
nixpkgs-53b996a62a4d192c873084b6a604db72bd733a38.tar.gz
nixpkgs-53b996a62a4d192c873084b6a604db72bd733a38.tar.bz2
nixpkgs-53b996a62a4d192c873084b6a604db72bd733a38.tar.lz
nixpkgs-53b996a62a4d192c873084b6a604db72bd733a38.tar.xz
nixpkgs-53b996a62a4d192c873084b6a604db72bd733a38.tar.zst
nixpkgs-53b996a62a4d192c873084b6a604db72bd733a38.zip
pythonPackages.poetry: init at 0.12.10
-rw-r--r--pkgs/development/python-modules/poetry/default.nix76
-rw-r--r--pkgs/development/python-modules/poetry/jsonschema.nix37
-rw-r--r--pkgs/top-level/python-packages.nix2
3 files changed, 115 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/poetry/default.nix b/pkgs/development/python-modules/poetry/default.nix
new file mode 100644
index 00000000000..6f7ebc4cbc9
--- /dev/null
+++ b/pkgs/development/python-modules/poetry/default.nix
@@ -0,0 +1,76 @@
+{ lib, buildPythonPackage, fetchPypi, callPackage
+, isPy27, isPy34
+, cleo
+, requests
+, cachy
+, requests-toolbelt
+, pyrsistent
+, pyparsing
+, cachecontrol
+, pkginfo
+, html5lib
+, shellingham
+, tomlkit
+, typing
+, pathlib2
+, virtualenv
+, functools32
+, pytest
+}:
+
+let
+  cleo6 = cleo.overrideAttrs (oldAttrs: rec {
+    version = "0.6.8";
+    src = fetchPypi {
+      inherit (oldAttrs) pname;
+      inherit version;
+      sha256 = "06zp695hq835rkaq6irr1ds1dp2qfzyf32v60vxpd8rcnxv319l5";
+    };
+  });
+
+  jsonschema3 = callPackage ./jsonschema.nix { };
+
+in buildPythonPackage rec {
+  pname = "poetry";
+  version = "0.12.10";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "00npb0jlimnk4r01zkhfmns4843j1hfhd388s326da5pd8n0dq7l";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml --replace "3.0a3" "3.0.0a3"
+    substituteInPlace setup.py --replace "3.0a3" "3.0.0a3"
+  '';
+
+  propagatedBuildInputs = [
+    cleo6
+    requests
+    cachy
+    requests-toolbelt
+    jsonschema3
+    pyrsistent
+    pyparsing
+    cachecontrol
+    pkginfo
+    html5lib
+    shellingham
+    tomlkit
+  ] ++ lib.optionals (isPy27 || isPy34) [ typing pathlib2 ]
+    ++ lib.optionals isPy27 [ virtualenv functools32 ];
+
+  # No tests in Pypi tarball
+  doCheck = false;
+  checkInputs = [ pytest ];
+  checkPhase = ''
+    pytest tests
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/sdispater/poetry;
+    description = "Python dependency management and packaging made easy";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}
diff --git a/pkgs/development/python-modules/poetry/jsonschema.nix b/pkgs/development/python-modules/poetry/jsonschema.nix
new file mode 100644
index 00000000000..9f7cf34b941
--- /dev/null
+++ b/pkgs/development/python-modules/poetry/jsonschema.nix
@@ -0,0 +1,37 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27, callPackage
+, attrs
+, pyrsistent
+, six
+, functools32
+, lockfile
+, setuptools_scm
+}:
+
+buildPythonPackage rec {
+  pname = "jsonschema";
+  version = "3.0.0a3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0pkhsq91rhk6384p0jxjkhc9yml2ya2l0mysyq78sb4981h45n6z";
+  };
+
+  nativeBuildInputs = [ setuptools_scm ];
+  propagatedBuildInputs = [
+    attrs
+    pyrsistent
+    six
+    lockfile
+  ] ++ lib.optional isPy27 functools32;
+
+  # tests for latest version rely on custom version of betterpaths that is
+  # difficult to deal with and isn't used on master
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = https://github.com/Julian/jsonschema;
+    description = "An implementation of JSON Schema validation for Python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 5bab0ace12b..6e846e1f308 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -512,6 +512,8 @@ in {
 
   plantuml = callPackage ../tools/misc/plantuml { };
 
+  poetry = callPackage ../development/python-modules/poetry { };
+
   progress = callPackage ../development/python-modules/progress { };
 
   pymysql = callPackage ../development/python-modules/pymysql { };