diff options
Diffstat (limited to 'meta/classes-recipe/pypi.bbclass')
| -rw-r--r-- | meta/classes-recipe/pypi.bbclass | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/meta/classes-recipe/pypi.bbclass b/meta/classes-recipe/pypi.bbclass new file mode 100644 index 0000000000..aab04c638f --- /dev/null +++ b/meta/classes-recipe/pypi.bbclass | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | # | ||
| 2 | # Copyright OpenEmbedded Contributors | ||
| 3 | # | ||
| 4 | # SPDX-License-Identifier: MIT | ||
| 5 | # | ||
| 6 | |||
| 7 | def pypi_package(d): | ||
| 8 | bpn = d.getVar('BPN') | ||
| 9 | if bpn.startswith('python-'): | ||
| 10 | return bpn[7:] | ||
| 11 | elif bpn.startswith('python3-'): | ||
| 12 | return bpn[8:] | ||
| 13 | return bpn | ||
| 14 | |||
| 15 | PYPI_PACKAGE ?= "${@pypi_package(d)}" | ||
| 16 | PYPI_PACKAGE_EXT ?= "tar.gz" | ||
| 17 | PYPI_ARCHIVE_NAME ?= "${PYPI_PACKAGE}-${PV}.${PYPI_PACKAGE_EXT}" | ||
| 18 | |||
| 19 | def pypi_src_uri(d): | ||
| 20 | package = d.getVar('PYPI_PACKAGE') | ||
| 21 | archive_name = d.getVar('PYPI_ARCHIVE_NAME') | ||
| 22 | return 'https://files.pythonhosted.org/packages/source/%s/%s/%s' % (package[0], package, archive_name) | ||
| 23 | |||
| 24 | PYPI_SRC_URI ?= "${@pypi_src_uri(d)}" | ||
| 25 | |||
| 26 | HOMEPAGE ?= "https://pypi.python.org/pypi/${PYPI_PACKAGE}/" | ||
| 27 | SECTION = "devel/python" | ||
| 28 | SRC_URI:prepend = "${PYPI_SRC_URI} " | ||
| 29 | S = "${WORKDIR}/${PYPI_PACKAGE}-${PV}" | ||
| 30 | |||
| 31 | UPSTREAM_CHECK_URI ?= "https://pypi.org/project/${PYPI_PACKAGE}/" | ||
| 32 | UPSTREAM_CHECK_REGEX ?= "/${PYPI_PACKAGE}/(?P<pver>(\d+[\.\-_]*)+)/" | ||
| 33 | |||
| 34 | CVE_PRODUCT ?= "python:${PYPI_PACKAGE}" | ||
