aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2021-09-27 19:44:00 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2021-09-27 19:48:06 +0000
commitae7e9d3094f54e8cf55185312933bc69c2d0e7bf (patch)
tree601e92689daad1c8090497e979fb23b71f1fb1e2
parentfb80bc28b376e3c321df665cf7e94add97d616d7 (diff)
downloadports-ae7e9d3094f54e8cf55185312933bc69c2d0e7bf.tar.gz
ports-ae7e9d3094f54e8cf55185312933bc69c2d0e7bf.zip
devel/py-pdm: Add py-pdm 1.8.5
PDM is meant to be a next generation Python package management tool. It was originally built for personal use. If you feel you are going well with Pipenv or Poetry and don't want to introduce another package manager, just stick to it. But if you are missing something that is not present in those tools, you can probably find some goodness in pdm. WWW: https://github.com/pdm-project/pdm
-rw-r--r--devel/Makefile1
-rw-r--r--devel/py-pdm/Makefile43
-rw-r--r--devel/py-pdm/distinfo3
-rw-r--r--devel/py-pdm/files/setup.py80
-rw-r--r--devel/py-pdm/pkg-descr7
5 files changed, 134 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index 12358cd22353..3b243a10f99a 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4842,6 +4842,7 @@
SUBDIR += py-pathtools
SUBDIR += py-paver
SUBDIR += py-pbr
+ SUBDIR += py-pdm
SUBDIR += py-pebble
SUBDIR += py-pefile
SUBDIR += py-pendulum
diff --git a/devel/py-pdm/Makefile b/devel/py-pdm/Makefile
new file mode 100644
index 000000000000..765126121b41
--- /dev/null
+++ b/devel/py-pdm/Makefile
@@ -0,0 +1,43 @@
+# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
+
+PORTNAME= pdm
+PORTVERSION= 1.8.5
+CATEGORIES= devel python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Python Development Master
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}appdirs>=0:devel/py-appdirs@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}atoml>=1.0.3:textproc/py-atoml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}click>=7:devel/py-click@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}installer>=0.2.3<0.3:devel/py-installer@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pdm-pep517>=0.8.3<0.9:devel/py-pdm-pep517@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pep517>=0.11.0:devel/py-pep517@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pip>=20.1:devel/py-pip@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}python-dotenv>=0.15<1:www/py-python-dotenv@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pythonfinder>=0:devel/py-pythonfinder@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}resolvelib>=0.7.0<0.8.0:devel/py-resolvelib@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}shellingham>=1.3.2<2.0.0:devel/py-shellingham@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}tomli>=1.1.0<2.0.0:textproc/py-tomli@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0.36.2<1.0.0:devel/py-wheel@${PY_FLAVOR}
+
+USES= python:3.7+
+USE_PYTHON= autoplist concurrent distutils
+
+NO_ARCH= yes
+
+.include <bsd.port.pre.mk>
+
+.if ${PYTHON_REL} < 30800
+RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}importlib-metadata>=0:devel/py-importlib-metadata@${PY_FLAVOR}
+.endif
+
+post-patch:
+ @${CP} ${FILESDIR}/setup.py ${WRKSRC}/
+
+.include <bsd.port.post.mk>
diff --git a/devel/py-pdm/distinfo b/devel/py-pdm/distinfo
new file mode 100644
index 000000000000..70ed41632e8a
--- /dev/null
+++ b/devel/py-pdm/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1632760422
+SHA256 (pdm-1.8.5.tar.gz) = 91c50a792b0af21c6e8b82c344281b4ce7e1f518010c362bee6a4b7434b5b97e
+SIZE (pdm-1.8.5.tar.gz) = 173613
diff --git a/devel/py-pdm/files/setup.py b/devel/py-pdm/files/setup.py
new file mode 100644
index 000000000000..1b0c05eeb08e
--- /dev/null
+++ b/devel/py-pdm/files/setup.py
@@ -0,0 +1,80 @@
+
+# -*- coding: utf-8 -*-
+from setuptools import setup
+
+import codecs
+
+with codecs.open('README.md', encoding="utf-8") as fp:
+ long_description = fp.read()
+INSTALL_REQUIRE = [
+ 'appdirs',
+ 'atoml>=1.0.3',
+ 'click>=7',
+ 'importlib-metadata; python_version < "3.8"',
+ 'pdm-pep517>=0.8.3,<0.9',
+ 'pep517>=0.11.0',
+ 'pip>=20.1',
+ 'python-dotenv~=0.15',
+ 'pythonfinder',
+ 'resolvelib>=0.7.0,<0.8.0',
+ 'shellingham<2.0.0,>=1.3.2',
+ 'wheel<1.0.0,>=0.36.2',
+ 'tomli>=1.1.0,<2.0.0',
+ 'installer~=0.2.3',
+]
+ENTRY_POINTS = {
+ 'console_scripts': [
+ 'pdm = pdm.core:main',
+ ],
+}
+
+setup_kwargs = {
+ 'name': 'pdm',
+ 'version': '1.8.5',
+ 'description': 'Python Development Master',
+ 'long_description': long_description,
+ 'license': 'MIT',
+ 'author': '',
+ 'author_email': 'frostming <mianghong@gmail.com>',
+ 'maintainer': None,
+ 'maintainer_email': None,
+ 'url': 'https://pdm.fming.dev',
+ 'packages': [
+ 'pdm',
+ 'pdm._vendor',
+ 'pdm._vendor.colorama',
+ 'pdm._vendor.halo',
+ 'pdm._vendor.log_symbols',
+ 'pdm._vendor.spinners',
+ 'pdm.builders',
+ 'pdm.cli',
+ 'pdm.cli.commands',
+ 'pdm.cli.completions',
+ 'pdm.formats',
+ 'pdm.installers',
+ 'pdm.models',
+ 'pdm.models.in_process',
+ 'pdm.pep582',
+ 'pdm.project',
+ 'pdm.resolver',
+ ],
+ 'package_data': {'': ['*']},
+ 'long_description_content_type': 'text/markdown',
+ 'keywords': ['packaging', 'dependency', 'workflow'],
+ 'classifiers': [
+ 'Development Status :: 4 - Beta',
+ 'License :: OSI Approved :: MIT License',
+ 'Programming Language :: Python :: 3',
+ 'Programming Language :: Python :: 3.7',
+ 'Programming Language :: Python :: 3.8',
+ 'Programming Language :: Python :: 3.9',
+ 'Topic :: Software Development :: Build Tools',
+ ],
+ 'install_requires': INSTALL_REQUIRE,
+ 'python_requires': '>=3.7',
+ 'entry_points': ENTRY_POINTS,
+
+}
+
+
+setup(**setup_kwargs)
diff --git a/devel/py-pdm/pkg-descr b/devel/py-pdm/pkg-descr
new file mode 100644
index 000000000000..9309b4fa161a
--- /dev/null
+++ b/devel/py-pdm/pkg-descr
@@ -0,0 +1,7 @@
+PDM is meant to be a next generation Python package management tool. It was
+originally built for personal use. If you feel you are going well with Pipenv or
+Poetry and don't want to introduce another package manager, just stick to it.
+But if you are missing something that is not present in those tools, you can
+probably find some goodness in pdm.
+
+WWW: https://github.com/pdm-project/pdm