diff --git a/.gitignore b/.gitignore index e69de29..10e5b10 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,2 @@ +/python-pyproject-metadata-*.tar.gz +/pyproject-metadata-*.tar.gz diff --git a/README.md b/README.md new file mode 100644 index 0000000..5e1724d --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +# python-pyproject-metadata + +[This package](https://github.com/FFY00/python-pyproject-metadata) contains a +dataclass for [PEP 621](https://peps.python.org/pep-0621/) metadata with +support for core metadata generation. + +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). diff --git a/changelog b/changelog new file mode 100644 index 0000000..016f843 --- /dev/null +++ b/changelog @@ -0,0 +1,33 @@ +* Fri Jan 26 2024 Fedora Release Engineering - 0.7.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Jan 22 2024 Fedora Release Engineering - 0.7.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jul 21 2023 Fedora Release Engineering - 0.7.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 11 2023 Miro HronĨok - 0.7.1-3 +- Drop an unused build requirement on pytest-cov + +* Tue Jun 13 2023 Python Maint - 0.7.1-2 +- Rebuilt for Python 3.12 + +* Thu Feb 23 2023 Jerry James - 0.7.1-1 +- Dynamically generate BuildRequires + +* Mon Jan 30 2023 Jerry James - 0.7.1-1 +- Version 0.7.1 +- Drop packaging workaround, resolved upstream + +* Fri Jan 20 2023 Fedora Release Engineering - 0.7.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jan 18 2023 Jerry James - 0.7.0-2 +- Work around FTI due to version of packaging (rhbz#2161981) + +* Tue Jan 17 2023 Jerry James - 0.7.0-1 +- Version 0.7.0 + +* Tue Jul 26 2022 Jerry James - 0.6.1-1 +- Initial RPM, obsoleting python-pep621 diff --git a/python-pyproject-metadata.spec b/python-pyproject-metadata.spec new file mode 100644 index 0000000..fe4a86a --- /dev/null +++ b/python-pyproject-metadata.spec @@ -0,0 +1,88 @@ +# Building the documentation requires the furo Sphinx theme. But building furo +# requires sphinx_theme_builder, which requires this package. Avoid a +# dependency loop with this conditional. +%bcond doc 0 + +Name: python-pyproject-metadata +Version: 0.9.1 +Release: %autorelease +Summary: PEP 621 metadata parsing + +License: MIT +URL: https://github.com/FFY00/python-pyproject-metadata +VCS: git:%{url}.git +Source: %{url}/archive/%{version}/pyproject-metadata-%{version}.tar.gz + +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: %{py3_dist sphinx} + +%global _desc %{expand: +Dataclass for PEP 621 metadata with support for core metadata generation. + +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).} + +%description %_desc + +%package -n python3-pyproject-metadata +Summary: PEP 621 metadata parsing + +# This can be removed when F40 reaches EOL +Obsoletes: python3-pep621 < 0.5 +Provides: python3-pep621 = %{version}-%{release} + +%description -n python3-pyproject-metadata %_desc + +%if %{with doc} +%package doc +Summary: Documentation for python3-pyproject-metadata + +# This can be removed when F40 reaches EOL +Obsoletes: python3-pep621-doc < 0.5 +Provides: python3-pep621-doc = %{version}-%{release} + +%description doc +Documentation for python3-pyproject-metadata. +%endif + +%prep +%autosetup -n pyproject-metadata-%{version} +# No need to BuildRequire pytest-cov to run pytest +sed -i /pytest-cov/d pyproject.toml + +%generate_buildrequires +%pyproject_buildrequires -x test%{?with_doc:,docs} + +%build +%pyproject_wheel + +%if %{with doc} +# Build the documentation +PYTHONPATH=$PWD/build/lib +mkdir html +sphinx-build -b html docs html +rm -rf html/{.buildinfo,.doctrees} +%endif + +%install +%pyproject_install +%pyproject_save_files -L pyproject_metadata + +%check +%pytest -v + +%files -n python3-pyproject-metadata -f %{pyproject_files} +%doc docs/changelog.md README.md +%license LICENSE + +%if %{with doc} +%files doc +%doc html +%endif + +%changelog +%autochangelog diff --git a/sources b/sources new file mode 100644 index 0000000..af047e0 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (pyproject-metadata-0.9.1.tar.gz) = 80afd47a8b33d6f756610ee317550435508f10b2eedac439c5e54ff0abf7bf02a36c75b60b264cc09ee21591cc10f714034c68745542df44227a8894253e8256