poetry: 0.12.17 -> 1.0.0
This commit is contained in:
parent
ded1080db4
commit
54928f92ac
65
pkgs/development/tools/poetry/default.nix
Normal file
65
pkgs/development/tools/poetry/default.nix
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
{ lib, poetry2nix, python, fetchFromGitHub, runtimeShell }:
|
||||||
|
|
||||||
|
poetry2nix.mkPoetryApplication {
|
||||||
|
|
||||||
|
inherit python;
|
||||||
|
|
||||||
|
pyproject = ./pyproject.toml;
|
||||||
|
poetrylock = ./poetry.lock;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "sdispater";
|
||||||
|
repo = "poetry";
|
||||||
|
rev = "1.0.0";
|
||||||
|
sha256 = "05xlx9wnlrsjj3i4wawnvxadvqwsdh03401wpgingkbq0c50aimi";
|
||||||
|
};
|
||||||
|
|
||||||
|
# "Vendor" dependencies (for build-system support)
|
||||||
|
postPatch = ''
|
||||||
|
for path in ''${PYTHONPATH//:/ }; do
|
||||||
|
echo "sys.path.insert(0, \"$path\")" >> poetry/__init__.py
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Poetry is a bit special in that it can't use itself as the `build-system` property in pyproject.toml.
|
||||||
|
# That's why we need to hackily install outputs completely manually.
|
||||||
|
#
|
||||||
|
# For projects using poetry normally overriding the installPhase is not required.
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out/lib/${python.libPrefix}/site-packages
|
||||||
|
cp -r poetry $out/lib/${python.libPrefix}/site-packages
|
||||||
|
|
||||||
|
mkdir -p $out/bin
|
||||||
|
cat > $out/bin/poetry <<EOF
|
||||||
|
#!${runtimeShell}
|
||||||
|
export PYTHONPATH=$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH
|
||||||
|
exec ${python.interpreter} -m poetry "\$@"
|
||||||
|
EOF
|
||||||
|
chmod +x $out/bin/poetry
|
||||||
|
|
||||||
|
mkdir -p "$out/share/bash-completion/completions"
|
||||||
|
"$out/bin/poetry" completions bash > "$out/share/bash-completion/completions/poetry"
|
||||||
|
mkdir -p "$out/share/zsh/vendor-completions"
|
||||||
|
"$out/bin/poetry" completions zsh > "$out/share/zsh/vendor-completions/_poetry"
|
||||||
|
mkdir -p "$out/share/fish/vendor_completions.d"
|
||||||
|
"$out/bin/poetry" completions fish > "$out/share/fish/vendor_completions.d/poetry.fish"
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Propagating dependencies leads to issues downstream
|
||||||
|
# We've already patched poetry to prefer "vendored" dependencies
|
||||||
|
postFixup = ''
|
||||||
|
rm $out/nix-support/propagated-build-inputs
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Fails because of impurities (network, git etc etc)
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = with maintainers; [ adisbladis jakewaksbaum ];
|
||||||
|
};
|
||||||
|
}
|
1886
pkgs/development/tools/poetry/poetry.lock
generated
Normal file
1886
pkgs/development/tools/poetry/poetry.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
118
pkgs/development/tools/poetry/pyproject.toml
Normal file
118
pkgs/development/tools/poetry/pyproject.toml
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
[tool.poetry]
|
||||||
|
name = "poetry"
|
||||||
|
version = "1.0.0"
|
||||||
|
description = "Python dependency management and packaging made easy."
|
||||||
|
authors = [
|
||||||
|
"Sébastien Eustace <sebastien@eustace.io>"
|
||||||
|
]
|
||||||
|
license = "MIT"
|
||||||
|
|
||||||
|
readme = "README.md"
|
||||||
|
|
||||||
|
homepage = "https://python-poetry.org/"
|
||||||
|
repository = "https://github.com/python-poetry/poetry"
|
||||||
|
documentation = "https://python-poetry.org/docs"
|
||||||
|
|
||||||
|
keywords = ["packaging", "dependency", "poetry"]
|
||||||
|
|
||||||
|
classifiers = [
|
||||||
|
"Topic :: Software Development :: Build Tools",
|
||||||
|
"Topic :: Software Development :: Libraries :: Python Modules"
|
||||||
|
]
|
||||||
|
|
||||||
|
# Requirements
|
||||||
|
[tool.poetry.dependencies]
|
||||||
|
python = "~2.7 || ^3.4"
|
||||||
|
cleo = "^0.7.6"
|
||||||
|
clikit = "^0.4.1"
|
||||||
|
requests = "^2.18"
|
||||||
|
cachy = "^0.3.0"
|
||||||
|
requests-toolbelt = "^0.8.0"
|
||||||
|
jsonschema = "^3.1"
|
||||||
|
pyrsistent = "^0.14.2"
|
||||||
|
pyparsing = "^2.2"
|
||||||
|
cachecontrol = { version = "^0.12.4", extras = ["filecache"] }
|
||||||
|
pkginfo = "^1.4"
|
||||||
|
html5lib = "^1.0"
|
||||||
|
shellingham = "^1.1"
|
||||||
|
tomlkit = "^0.5.8"
|
||||||
|
pexpect = "^4.7.0"
|
||||||
|
|
||||||
|
# The typing module is not in the stdlib in Python 2.7 and 3.4
|
||||||
|
typing = { version = "^3.6", python = "~2.7 || ~3.4" }
|
||||||
|
|
||||||
|
# Use pathlib2 for Python 2.7 and 3.4
|
||||||
|
pathlib2 = { version = "^2.3", python = "~2.7 || ~3.4" }
|
||||||
|
# Use glob2 for Python 2.7 and 3.4
|
||||||
|
glob2 = { version = "^0.6", python = "~2.7 || ~3.4" }
|
||||||
|
# Use virtualenv for Python 2.7 since venv does not exist
|
||||||
|
virtualenv = { version = "^16.0", python = "~2.7" }
|
||||||
|
# functools32 is needed for Python 2.7
|
||||||
|
functools32 = { version = "^3.2.3", python = "~2.7" }
|
||||||
|
keyring = [
|
||||||
|
{ version = "^18.0", python = "~2.7 || ~3.4" },
|
||||||
|
{ version = "^19.0", python = "^3.5" }
|
||||||
|
]
|
||||||
|
# Use subprocess32 for Python 2.7 and 3.4
|
||||||
|
subprocess32 = { version = "^3.5", python = "~2.7 || ~3.4" }
|
||||||
|
importlib-metadata = {version = "^0.23", python = "<3.8"}
|
||||||
|
|
||||||
|
[tool.poetry.dev-dependencies]
|
||||||
|
pytest = "^4.1"
|
||||||
|
pytest-cov = "^2.5"
|
||||||
|
mkdocs = { version = "^1.0", python = "~2.7.9 || ^3.4" }
|
||||||
|
pymdown-extensions = "^6.0"
|
||||||
|
pygments = "^2.2"
|
||||||
|
pytest-mock = "^1.9"
|
||||||
|
pygments-github-lexers = "^0.0.5"
|
||||||
|
black = { version = "^19.10b0", python = "^3.6" }
|
||||||
|
pre-commit = "^1.10"
|
||||||
|
tox = "^3.0"
|
||||||
|
pytest-sugar = "^0.9.2"
|
||||||
|
httpretty = "^0.9.6"
|
||||||
|
markdown-include = "^0.5.1"
|
||||||
|
|
||||||
|
[tool.poetry.scripts]
|
||||||
|
poetry = "poetry.console:main"
|
||||||
|
|
||||||
|
|
||||||
|
[build-system]
|
||||||
|
requires = ["intreehooks"]
|
||||||
|
build-backend = "intreehooks:loader"
|
||||||
|
|
||||||
|
[tool.intreehooks]
|
||||||
|
build-backend = "poetry.masonry.api"
|
||||||
|
|
||||||
|
|
||||||
|
[tool.isort]
|
||||||
|
line_length = 88
|
||||||
|
force_single_line = true
|
||||||
|
atomic = true
|
||||||
|
include_trailing_comma = true
|
||||||
|
lines_after_imports = 2
|
||||||
|
lines_between_types = 1
|
||||||
|
multi_line_output = 3
|
||||||
|
use_parentheses = true
|
||||||
|
not_skip = "__init__.py"
|
||||||
|
skip_glob = ["*/setup.py"]
|
||||||
|
filter_files = true
|
||||||
|
|
||||||
|
known_first_party = "poetry"
|
||||||
|
known_third_party = [
|
||||||
|
"cachecontrol",
|
||||||
|
"cachy",
|
||||||
|
"cleo",
|
||||||
|
"clikit",
|
||||||
|
"html5lib",
|
||||||
|
"httpretty",
|
||||||
|
"jsonschema",
|
||||||
|
"keyring",
|
||||||
|
"pexpect",
|
||||||
|
"pkginfo",
|
||||||
|
"pyparsing",
|
||||||
|
"pytest",
|
||||||
|
"requests",
|
||||||
|
"requests_toolbelt",
|
||||||
|
"shellingham",
|
||||||
|
"tomlkit",
|
||||||
|
]
|
@ -9297,7 +9297,9 @@ in
|
|||||||
|
|
||||||
pew = callPackage ../development/tools/pew {};
|
pew = callPackage ../development/tools/pew {};
|
||||||
|
|
||||||
poetry = with python3Packages; toPythonApplication poetry;
|
poetry = callPackage ../development/tools/poetry {
|
||||||
|
python = python3;
|
||||||
|
};
|
||||||
poetry2nix = callPackage ../development/tools/poetry2nix/poetry2nix {
|
poetry2nix = callPackage ../development/tools/poetry2nix/poetry2nix {
|
||||||
inherit pkgs lib;
|
inherit pkgs lib;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user