121 lines
3.9 KiB
Diff
121 lines
3.9 KiB
Diff
|
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
|
||
|
|