Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 19.09 90 lines 2.1 kB view raw
1{ lib, buildPythonPackage, fetchPypi, callPackage 2, isPy27, isPy34 3, cleo 4, requests 5, cachy 6, requests-toolbelt 7, pyrsistent 8, pyparsing 9, cachecontrol 10, pkginfo 11, html5lib 12, shellingham 13, tomlkit 14, typing 15, pathlib2 16, virtualenv 17, functools32 18, pytest 19}: 20 21let 22 cleo6 = cleo.overrideAttrs (oldAttrs: rec { 23 version = "0.6.8"; 24 src = fetchPypi { 25 inherit (oldAttrs) pname; 26 inherit version; 27 sha256 = "06zp695hq835rkaq6irr1ds1dp2qfzyf32v60vxpd8rcnxv319l5"; 28 }; 29 }); 30 31 jsonschema3 = callPackage ./jsonschema.nix { }; 32 glob2 = callPackage ./glob2.nix { }; 33 34in buildPythonPackage rec { 35 pname = "poetry"; 36 version = "0.12.17"; 37 38 src = fetchPypi { 39 inherit pname version; 40 sha256 = "0gxwcd65qjmzqzppf53x51sic1rbcd9py6cdzx3aprppipimslvf"; 41 }; 42 43 postPatch = '' 44 substituteInPlace setup.py --replace \ 45 "requests-toolbelt>=0.8.0,<0.9.0" \ 46 "requests-toolbelt>=0.8.0,<0.10.0" 47 ''; 48 49 format = "pyproject"; 50 51 propagatedBuildInputs = [ 52 cleo6 53 requests 54 cachy 55 requests-toolbelt 56 jsonschema3 57 pyrsistent 58 pyparsing 59 cachecontrol 60 pkginfo 61 html5lib 62 shellingham 63 tomlkit 64 ] ++ lib.optionals (isPy27 || isPy34) [ typing pathlib2 glob2 ] 65 ++ lib.optionals isPy27 [ virtualenv functools32 ]; 66 67 postInstall = '' 68 mkdir -p "$out/share/bash-completion/completions" 69 "$out/bin/poetry" completions bash > "$out/share/bash-completion/completions/poetry" 70 mkdir -p "$out/share/zsh/vendor-completions" 71 "$out/bin/poetry" completions zsh > "$out/share/zsh/vendor-completions/_poetry" 72 mkdir -p "$out/share/fish/vendor_completions.d" 73 "$out/bin/poetry" completions fish > "$out/share/fish/vendor_completions.d/poetry.fish" 74 ''; 75 76 # No tests in Pypi tarball 77 doCheck = false; 78 checkInputs = [ pytest ]; 79 checkPhase = '' 80 pytest tests 81 ''; 82 83 meta = with lib; { 84 homepage = https://github.com/sdispater/poetry; 85 description = "Python dependency management and packaging made easy"; 86 license = licenses.mit; 87 maintainers = with maintainers; [ jakewaksbaum ]; 88 broken = true; 89 }; 90}