Compare commits

...

No commits in common. 'f38' and 'i9' have entirely different histories.
f38 ... i9

9
.gitignore vendored

@ -1,8 +1 @@
/setuptools-rust-0.11.6.tar.gz SOURCES/setuptools-rust-0.12.1.tar.gz
/setuptools-rust-0.12.0.tar.gz
/setuptools-rust-0.12.1.tar.gz
/setuptools-rust-1.0.0.tar.gz
/setuptools-rust-1.1.2.tar.gz
/setuptools-rust-1.2.0.tar.gz
/setuptools-rust-1.5.2.tar.gz
/setuptools-rust-1.6.0.tar.gz

@ -0,0 +1 @@
8068add8a5ccbd5deeed81f5ef412ef6ca8e443f SOURCES/setuptools-rust-0.12.1.tar.gz

@ -1,3 +0,0 @@
# python-setuptools-rust
The python-setuptools-rust package

@ -0,0 +1,120 @@
From 78965633be625fba3fee6fbbf3b24e22d9d349cc Mon Sep 17 00:00:00 2001
From: Christian Heimes <christian@python.org>
Date: Mon, 26 Jul 2021 12:29:12 +0200
Subject: [PATCH] Replace semantic_version with packaging
Use the "packaging" package instead of semantic_version package to parse
Rust version and spec. Packaging is used by setuptools to parse version
strings and specs.
This also solves a deprecation warning with semamtic_version. The
partial argument to Version() has been deprecated.
Signed-off-by: Christian Heimes <christian@python.org>
---
setup.cfg | 2 +-
setuptools_rust/check.py | 4 ++--
setuptools_rust/extension.py | 4 ++--
setuptools_rust/test.py | 4 ++--
setuptools_rust/utils.py | 4 ++--
5 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/setup.cfg b/setup.cfg
index 5b6ddf0..19b2b84 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -26,7 +26,7 @@ classifiers =
[options]
packages = setuptools_rust
zip_safe = True
-install_requires = setuptools>=46.1; semantic_version>=2.6.0; toml>=0.9.0
+install_requires = setuptools>=46.1; packaging; toml>=0.9.0
setup_requires = setuptools>=46.1; setuptools_scm[toml]>=3.4.3
python_requires = >=3.6
diff --git a/setuptools_rust/check.py b/setuptools_rust/check.py
index 4fe1d83..62e666b 100644
--- a/setuptools_rust/check.py
+++ b/setuptools_rust/check.py
@@ -7,13 +7,13 @@ from distutils.errors import (
DistutilsExecError,
)
-import semantic_version
+from packaging.specifiers import SpecifierSet
from .command import RustCommand
from .extension import RustExtension
from .utils import rust_features
-MIN_VERSION = semantic_version.Spec(">=1.16")
+MIN_VERSION = SpecifierSet(">=1.16")
class check_rust(RustCommand):
diff --git a/setuptools_rust/extension.py b/setuptools_rust/extension.py
index f8e7205..cc445cb 100644
--- a/setuptools_rust/extension.py
+++ b/setuptools_rust/extension.py
@@ -4,7 +4,7 @@ from distutils.errors import DistutilsSetupError
from enum import IntEnum, auto
from typing import Dict, List, Optional, Union
-import semantic_version
+from packaging.specifiers import SpecifierSet
class Binding(IntEnum):
@@ -149,7 +149,7 @@ class RustExtension:
if self.rust_version is None:
return None
try:
- return semantic_version.SimpleSpec.parse(self.rust_version)
+ return SpecifierSet(self.rust_version)
except ValueError:
raise DistutilsSetupError(
"Can not parse rust compiler version: %s", self.rust_version
diff --git a/setuptools_rust/test.py b/setuptools_rust/test.py
index 93beba1..1f5ce9a 100644
--- a/setuptools_rust/test.py
+++ b/setuptools_rust/test.py
@@ -4,12 +4,12 @@ import subprocess
from distutils.cmd import Command
from distutils.errors import CompileError, DistutilsFileError, DistutilsExecError
-import semantic_version
+from packaging.specifiers import SpecifierSet
from .extension import RustExtension
from .utils import rust_features, get_rust_version
-MIN_VERSION = semantic_version.Spec(">=1.15")
+MIN_VERSION = SpecifierSet(">=1.15")
class test_rust(Command):
diff --git a/setuptools_rust/utils.py b/setuptools_rust/utils.py
index 4b0220d..0564f26 100644
--- a/setuptools_rust/utils.py
+++ b/setuptools_rust/utils.py
@@ -2,7 +2,7 @@ import sys
import subprocess
from distutils.errors import DistutilsPlatformError
-import semantic_version
+from packaging.version import Version
from .extension import Binding
@@ -35,7 +35,7 @@ def rust_features(ext=True, binding=Binding.PyO3):
def get_rust_version(min_version=None):
try:
output = subprocess.check_output(["rustc", "-V"]).decode("latin-1")
- return semantic_version.Version(output.split(" ")[1], partial=True)
+ return Version(output.split(" ")[1])
except (subprocess.CalledProcessError, OSError):
raise DistutilsPlatformError(
"can't find Rust compiler\n\n"
--
2.31.1

@ -5,23 +5,25 @@
%endif %endif
Name: python-setuptools-rust Name: python-setuptools-rust
Version: 1.6.0 Version: 0.12.1
Release: %autorelease Release: 4%{?dist}
Summary: Setuptools Rust extension plugin Summary: Setuptools Rust extension plugin
License: MIT License: MIT
URL: https://github.com/PyO3/setuptools-rust URL: https://github.com/PyO3/setuptools-rust
Source0: %{pypi_source setuptools-rust} Source0: %{pypi_source setuptools-rust}
Patch0001: 0001-Replace-semantic_version-with-packaging.patch
BuildArch: noarch BuildArch: noarch
ExclusiveArch: %{rust_arches} ExclusiveArch: %{rust_arches}
BuildRequires: python3-devel BuildRequires: python3-devel
BuildRequires: python3dist(setuptools) > 46.1 BuildRequires: python3dist(setuptools)
BuildRequires: python3dist(semantic-version) >= 2.8.2 BuildRequires: python3dist(packaging)
BuildRequires: python3dist(typing-extensions) >= 3.7.4.4 BuildRequires: python3dist(toml) >= 0.9.0
%if 0%{?fedora} %if 0%{?fedora}
BuildRequires: python3dist(setuptools-scm) >= 3.4.3
BuildRequires: python3dist(wheel) BuildRequires: python3dist(wheel)
BuildRequires: rust-packaging BuildRequires: rust-packaging >= 1.45
%else %else
# RHEL has rust-toolset and neither setuptools-scm nor wheel # RHEL has rust-toolset and neither setuptools-scm nor wheel
BuildRequires: rust-toolset >= 1.45 BuildRequires: rust-toolset >= 1.45
@ -37,7 +39,7 @@ extensions written in Rust as easily as if they were written in C.
%package -n python3-setuptools-rust %package -n python3-setuptools-rust
Summary: %{summary} Summary: %{summary}
%if 0%{?fedora} %if 0%{?fedora}
Requires: rust-packaging Requires: rust-packaging >= 1.45
%else %else
Requires: rust-toolset >= 1.45 Requires: rust-toolset >= 1.45
%endif %endif
@ -47,7 +49,7 @@ Setuptools helpers for Rust Python extensions. Compile and distribute Python
extensions written in Rust as easily as if they were written in C. extensions written in Rust as easily as if they were written in C.
%prep %prep
%autosetup -n setuptools-rust-%{version} %autosetup -p1 -n setuptools-rust-%{version}
# Remove bundled egg-info # Remove bundled egg-info
rm -rf setuptools-rust.egg-info rm -rf setuptools-rust.egg-info
@ -76,8 +78,9 @@ PYTHONPATH=%{buildroot}%{python3_sitelib} \
%{__python3} -c "from setuptools_rust import RustExtension, version" %{__python3} -c "from setuptools_rust import RustExtension, version"
%if %{with tests} %if %{with tests}
cd examples/hello-world cd examples/tomlgen
%cargo_prep %cargo_prep
sed -i 's/"0\.[0-9.]*"/"^0"/g' setup.cfg
PYTHONPATH=%{buildroot}%{python3_sitelib} %{__python3} setup.py build PYTHONPATH=%{buildroot}%{python3_sitelib} %{__python3} setup.py build
cd ../.. cd ../..
%endif %endif
@ -90,4 +93,36 @@ cd ../..
%{python3_sitelib}/setuptools_rust-%{version}-py%{python3_version}.egg-info/ %{python3_sitelib}/setuptools_rust-%{version}-py%{python3_version}.egg-info/
%changelog %changelog
%autochangelog * Thu Oct 05 2023 Arkady L. Shane <tigro@msvsphere-os.ru> - 0.12.1-4
- Rebuilt for MSVSphere 9.2
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 0.12.1-4
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Mon Jul 26 2021 Christian Heimes <cheimes@redhat.com> - 0.12.1-3
- Replace semantic_version with packaging
- Resolves: rhbz#1980994
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 0.12.1-2
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Thu Mar 11 2021 Christian Heimes <cheimes@redhat.com> - 0.12.1-1
- Update to 0.12.1
* Tue Mar 09 2021 Christian Heimes <cheimes@redhat.com> - 0.12.0-1
- Update to 0.12.0 (#1936679)
- Run tomlgen example as test case
* Thu Feb 11 2021 Christian Heimes <cheimes@redhat.com> - 0.11.6-4
- Fix RHEL build: remove wheel build requirements, use rust-toolset
* Thu Feb 11 2021 Christian Heimes <cheimes@redhat.com> - 0.11.6-3
- Add RHEL packaging support
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Jan 14 2021 Christian Heimes <cheimes@redhat.com> - 0.11.6-1
- Initial package.
- Resolves: rhbz#1906490

@ -1,25 +0,0 @@
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.12.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jun 02 2021 Python Maint <python-maint@redhat.com> - 0.12.1-2
- Rebuilt for Python 3.10
* Thu Mar 11 2021 Christian Heimes <cheimes@redhat.com> - 0.12.1-1
- Update to 0.12.1
* Tue Mar 09 2021 Christian Heimes <cheimes@redhat.com> - 0.12.0-1
- Update to 0.12.0 (#1936679)
- Run tomlgen example as test case
* Thu Feb 11 2021 Christian Heimes <cheimes@redhat.com> - 0.11.6-4
- Fix RHEL build: remove wheel build requirements, use rust-toolset
* Thu Feb 11 2021 Christian Heimes <cheimes@redhat.com> - 0.11.6-3
- Add RHEL packaging support
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Jan 14 2021 Christian Heimes <cheimes@redhat.com> - 0.11.6-1
- Initial package.
- Resolves: rhbz#1906490

@ -1 +0,0 @@
SHA512 (setuptools-rust-1.6.0.tar.gz) = cf6b2df2609f17ce261536d9bc71f2aee615eaf89a43a55c9c5cef4147f04517c169ad565bcd40347d3d6c79c120ad1fee4841afe9a91ae5588e82dbfb2c55df

@ -1,16 +0,0 @@
---
- hosts: localhost
roles:
- role: standard-test-basic
tags:
- classic
repositories:
- repo: "https://src.fedoraproject.org/rpms/pyproject-rpm-macros.git"
dest: "pyproject-rpm-macros"
tests:
- mockbuild_cryptography:
dir: pyproject-rpm-macros/tests
run: fedpkg clone -a python-cryptography && cd python-cryptography && (git switch f$(rpm -q --qf '%{VERSION}' fedora-release-common) || :) && fedpkg sources && ../mocktest.sh python-cryptography
required_packages:
- fedpkg
- mock
Loading…
Cancel
Save