commit 0500d9eced23762739ac7c3b4783a99d2add96d0 Author: MSVSphere Packaging Team Date: Tue Nov 26 19:00:50 2024 +0300 import python-resolvelib-1.0.1-5.el10 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e7725fe --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/resolvelib-1.0.1.tar.gz diff --git a/.python-resolvelib.metadata b/.python-resolvelib.metadata new file mode 100644 index 0000000..75d4e21 --- /dev/null +++ b/.python-resolvelib.metadata @@ -0,0 +1 @@ +648153875ad2f5553ab50f8b4d5b6bfb494282b2 SOURCES/resolvelib-1.0.1.tar.gz diff --git a/SOURCES/remove-commentjson-dep.patch b/SOURCES/remove-commentjson-dep.patch new file mode 100644 index 0000000..2905a65 --- /dev/null +++ b/SOURCES/remove-commentjson-dep.patch @@ -0,0 +1,63 @@ +From 3e50054d836b655b0868520bae8b85a3c18967ef Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= +Date: Wed, 8 Nov 2023 17:12:16 +0100 +Subject: [PATCH] Replace the commentjson test dependency with re.sub + +While at it, only open the json files once. + +Co-authored-by: Maxwell G +--- + setup.cfg | 1 - + .../cocoapods/test_resolvers_cocoapods.py | 19 +++++++++++-------- + 2 files changed, 11 insertions(+), 9 deletions(-) + +diff --git a/setup.cfg b/setup.cfg +index 5eddf2f..e080991 100644 +--- a/setup.cfg ++++ b/setup.cfg +@@ -44,7 +44,6 @@ lint = + isort + types-requests + test = +- commentjson + packaging + pytest + release = +diff --git a/tests/functional/cocoapods/test_resolvers_cocoapods.py b/tests/functional/cocoapods/test_resolvers_cocoapods.py +index 12dff46..f54e27d 100644 +--- a/tests/functional/cocoapods/test_resolvers_cocoapods.py ++++ b/tests/functional/cocoapods/test_resolvers_cocoapods.py +@@ -5,7 +5,6 @@ + import re + import string + +-import commentjson # type: ignore + import pytest + + from resolvelib import AbstractProvider, ResolutionImpossible, Resolver +@@ -124,14 +123,18 @@ def _version_in_specset(version, specset): + + + def _safe_json_load(filename): +- # Some fixtures has comments so the stdlib implementation doesn't work. +- # We only use commentjson if we absolutely need to because it's SLOW. +- try: +- with open(filename) as f: ++ # Some fixtures have comments so they are not valid json. ++ # We could use commentjson/json5 to load them, ++ # but it's easier to strip the comments. ++ # We only do it when json.load() fails to avoid unnecessary loading ++ # all the json files to strings. ++ with open(filename) as f: ++ try: + data = json.load(f) +- except ValueError: +- with open(filename) as f: +- data = commentjson.load(f) ++ except ValueError: ++ f.seek(0) ++ strippedjson = re.sub(r"//.*$", "", f.read(), flags=re.MULTILINE) ++ data = json.loads(strippedjson) + return data + + diff --git a/SPECS/python-resolvelib.spec b/SPECS/python-resolvelib.spec new file mode 100644 index 0000000..2974957 --- /dev/null +++ b/SPECS/python-resolvelib.spec @@ -0,0 +1,105 @@ +%global pypi_name resolvelib +%global forgeurl https://github.com/sarugaku/resolvelib +%bcond tests 1 + +Name: python-%{pypi_name} +Version: 1.0.1 +%global tag %{version} +%forgemeta +Release: 5%{?dist} +Summary: Resolve abstract dependencies into concrete ones + +License: ISC +URL: %{forgeurl} +Source: %{forgesource} +# Avoid commentjson/json5 build dependency just for a couple tests +Patch: %{url}/pull/141.patch#/remove-commentjson-dep.patch + +BuildArch: noarch + +BuildRequires: python3-devel + +%global _description %{expand: +ResolveLib at the highest level provides a Resolver class that +includes dependency resolution logic. You give it some things, and a little +information on how it should interact with them, and it will spit out a +resolution result. Intended Usage :: import resolvelib Things I want to +resolve. requirements [...] Implement logic so the resolver understands the +requirement format. class...} + +%description %_description + + +%package -n python3-%{pypi_name} +Summary: %{summary} + +%description -n python3-%{pypi_name} %{_description} + + +%prep +%autosetup %{forgesetupargs} -p1 + + +%generate_buildrequires +%pyproject_buildrequires %{?with_tests:-x test} + + +%build +%pyproject_wheel + + +%install +%pyproject_install +%pyproject_save_files %{pypi_name} + +%check +%pytest -v + + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%license LICENSE +%doc README.rst + + +%changelog +* Mon Jun 24 2024 Troy Dawson - 1.0.1-5 +- Bump release for June 2024 mass rebuild + +* Fri Jan 26 2024 Fedora Release Engineering - 1.0.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Jan 22 2024 Fedora Release Engineering - 1.0.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Nov 07 2023 Yaakov Selkowitz - 1.0.1-2 +- Simplify build dependencies + +* Fri Oct 20 2023 Maxwell G - 1.0.1-1 +- Update to 1.0.1. + +* Fri Jul 21 2023 Fedora Release Engineering - 0.5.5-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jun 13 2023 Python Maint - 0.5.5-8 +- Rebuilt for Python 3.12 + +* Fri Jan 20 2023 Fedora Release Engineering - 0.5.5-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jul 22 2022 Fedora Release Engineering - 0.5.5-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 0.5.5-5 +- Rebuilt for Python 3.11 + +* Fri Jan 21 2022 Fedora Release Engineering - 0.5.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 0.5.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 0.5.5-2 +- Rebuilt for Python 3.10 + +* Sat Apr 10 2021 Kevin Fenzi - 0.5.5-1 +- Initial package.