diff --git a/lang/python/pyproject-metadata/Makefile b/lang/python/pyproject-metadata/Makefile index 7f234b4fb6..d95a5e16ae 100644 --- a/lang/python/pyproject-metadata/Makefile +++ b/lang/python/pyproject-metadata/Makefile @@ -1,45 +1,45 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=pyproject-metadata -PKG_VERSION:=0.9.1 -PKG_RELEASE:=1 - -PYPI_NAME:=pyproject-metadata -PYPI_SOURCE_NAME:=pyproject_metadata -PKG_HASH:=b8b2253dd1b7062b78cf949a115f02ba7fa4114aabe63fa10528e9e1a954a816 - -PKG_MAINTAINER:=Andy Syam -PKG_LICENSE:=MIT -PKG_LICENSE_FILES:=LICENSE - -HOST_BUILD_DEPENDS:= \ - python3/host \ - python-setuptools/host \ - python-build/host \ - python-installer/host \ - python-wheel/host - -include ../pypi.mk -include $(INCLUDE_DIR)/package.mk -include $(INCLUDE_DIR)/host-build.mk -include ../python3-package.mk -include ../python3-host-build.mk - -define Package/python3-pyproject-metadata - SUBMENU:=Python - SECTION:=lang - CATEGORY:=Languages - TITLE:=PEP 621 metadata parsing - URL:=https://github.com/FFY00/python-pyproject-metadata - DEPENDS:=+python3 -endef - -define Package/python3-pyproject-metadata/description -This project does not implement the parsing of pyproject.toml containing PEP 621 metadata. -Instead, given a Python data structure representing PEP 621 metadata (already parsed), it will validate this input and generate a PEP 643-compliant metadata file (e.g. PKG-INFO). -endef - -$(eval $(call Py3Package,python3-pyproject-metadata)) -$(eval $(call BuildPackage,python3-pyproject-metadata)) -$(eval $(call BuildPackage,python3-pyproject-metadata-src)) -$(eval $(call HostBuild)) +include $(TOPDIR)/rules.mk + +PKG_NAME:=pyproject-metadata +PKG_VERSION:=0.11.0 +PKG_RELEASE:=1 + +PYPI_NAME:=pyproject-metadata +PYPI_SOURCE_NAME:=pyproject_metadata +PKG_HASH:=c72fa49418bb7c5a10f25e050c418009898d1c051721d19f98a6fb6da59a66cf + +PKG_MAINTAINER:=Andy Syam +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE + +HOST_BUILD_DEPENDS:= \ + python3/host \ + python-setuptools/host \ + python-build/host \ + python-installer/host \ + python-wheel/host + +include ../pypi.mk +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/host-build.mk +include ../python3-package.mk +include ../python3-host-build.mk + +define Package/python3-pyproject-metadata + SUBMENU:=Python + SECTION:=lang + CATEGORY:=Languages + TITLE:=PEP 621 metadata parsing + URL:=https://github.com/FFY00/python-pyproject-metadata + DEPENDS:=+python3 +python3-packaging +endef + +define Package/python3-pyproject-metadata/description +This project does not implement the parsing of pyproject.toml containing PEP 621 metadata. +Instead, given a Python data structure representing PEP 621 metadata (already parsed), it will validate this input and generate a PEP 643-compliant metadata file (e.g. PKG-INFO). +endef + +$(eval $(call Py3Package,python3-pyproject-metadata)) +$(eval $(call BuildPackage,python3-pyproject-metadata)) +$(eval $(call BuildPackage,python3-pyproject-metadata-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/pyproject-metadata/test.sh b/lang/python/pyproject-metadata/test.sh new file mode 100755 index 0000000000..9dfa7a25aa --- /dev/null +++ b/lang/python/pyproject-metadata/test.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +[ "$1" = python3-pyproject-metadata ] || exit 0 + +python3 - << 'EOF' +from pyproject_metadata import StandardMetadata + +data = { + "project": { + "name": "test-pkg", + "version": "0.1.0", + "description": "A test package", + "requires-python": ">=3.8", + } +} +m = StandardMetadata.from_pyproject(data) +assert m.name == "test-pkg" +assert str(m.version) == "0.1.0" +assert m.description == "A test package" + +data2 = { + "project": { + "name": "other-pkg", + "version": "2.0.0", + "dependencies": ["requests>=2.0"], + } +} +m2 = StandardMetadata.from_pyproject(data2) +assert m2.name == "other-pkg" +assert str(m2.version) == "2.0.0" +assert len(m2.dependencies) == 1 +EOF