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}" | ||