On Fri, Nov 29, 2024 at 11:11:10PM +0100, Santiago Vila wrote:
> cargo generate-lockfile --offline
> error: failed to select a version for the requirement `pep440_rs = "^0.6.0"`
> candidate versions found which didn't match: 0.7.2

I beat my head against this for a while as there are several similar
problems.  Eventually I ran into what I think is the same thing that
https://github.com/PyO3/maturin/pull/2342 is trying to fix; since that's
a recent PR and the work crosses multiple packages, it's probably best
to give it a little while to settle.

Here's my work so far (some of which may need to be revised based on the
above):

diff --git a/debian/changelog b/debian/changelog
index 1b4cbf49..095f7be0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,10 @@
 python-maturin (1.7.4-3) UNRELEASED; urgency=medium
 
   * debian/watch: Mangle upstream beta versions.
+  * Update cargo dependencies on pep440_rs, pep508_rs, and pyproject-toml
+    (closes: #1088724).
+  * Build-depend on librust-indoc-dev, librust-pep508-rs-dev, and
+    librust-which-dev.
 
  -- Colin Watson <cjwat...@debian.org>  Tue, 03 Dec 2024 11:57:19 +0000
 
diff --git a/debian/control b/debian/control
index 41b00c34..c70847e8 100644
--- a/debian/control
+++ b/debian/control
@@ -28,13 +28,15 @@ Build-Depends: debhelper-compat (= 13),
                librust-goblin-dev (>= 0.6),
                librust-ignore-dev (>= 0.4.18),
                librust-indexmap-dev (>= 2),
+               librust-indoc-dev,
                librust-itertools-dev (>= 0.10),
                librust-lddtree-dev,
                librust-minijinja-dev,
                librust-normpath-dev,
                librust-once-cell-dev (>= 1.7.2),
                librust-path-slash-dev,
-               librust-pep440-rs-dev,
+               librust-pep440-rs-dev (>= 0.7.0),
+               librust-pep508-rs-dev (>= 0.9.0),
                librust-platform-info-dev (>= 1.0.0),
                librust-pretty-assertions-dev,
                librust-pyproject-toml-dev,
@@ -60,6 +62,7 @@ Build-Depends: debhelper-compat (= 13),
                librust-tracing-subscriber-dev,
                librust-trycmd-dev,
                librust-ureq-dev,
+               librust-which-dev,
                librust-zip-dev (>= 0.6.1),
                pybuild-plugin-pyproject,
                python3-all,
diff --git a/debian/patches/bump-pep440-rs b/debian/patches/bump-pep440-rs
new file mode 100644
index 00000000..5ea61b62
--- /dev/null
+++ b/debian/patches/bump-pep440-rs
@@ -0,0 +1,13 @@
+Index: maturin/Cargo.toml
+===================================================================
+--- maturin.orig/Cargo.toml
++++ maturin/Cargo.toml
+@@ -80,7 +80,7 @@
+ dunce = "1.0.2"
+ normpath = "1.1.1"
+ path-slash = "0.2.1"
+-pep440_rs = { version = "0.6.0", features = ["serde", "tracing"] }
++pep440_rs = { version = ">=0.7.0", features = ["tracing"] }
+ pep508_rs = { version = "0.6.0", features = ["serde", "tracing"] }
+ same-file = "1.0.6"
+ time = "0.3.17"
diff --git a/debian/patches/bump-pep508-rs b/debian/patches/bump-pep508-rs
new file mode 100644
index 00000000..fdfce605
--- /dev/null
+++ b/debian/patches/bump-pep508-rs
@@ -0,0 +1,13 @@
+Index: maturin/Cargo.toml
+===================================================================
+--- maturin.orig/Cargo.toml
++++ maturin/Cargo.toml
+@@ -81,7 +81,7 @@
+ normpath = "1.1.1"
+ path-slash = "0.2.1"
+ pep440_rs = { version = ">=0.7.0", features = ["tracing"] }
+-pep508_rs = { version = "0.6.0", features = ["serde", "tracing"] }
++pep508_rs = { version = ">=0.9.0", features = ["tracing"] }
+ same-file = "1.0.6"
+ time = "0.3.17"
+ url = "2.5.0"
diff --git a/debian/patches/relax-pyproject-toml 
b/debian/patches/relax-pyproject-toml
new file mode 100644
index 00000000..13996571
--- /dev/null
+++ b/debian/patches/relax-pyproject-toml
@@ -0,0 +1,13 @@
+Index: maturin/Cargo.toml
+===================================================================
+--- maturin.orig/Cargo.toml
++++ maturin/Cargo.toml
+@@ -70,7 +70,7 @@
+ semver = "1"
+ target-lexicon = "0.12.14"
+ indexmap = "2.2.3"
+-pyproject-toml = "0.11.0"
++pyproject-toml = ">=0.11.0"
+ python-pkginfo = "0.6.0"
+ textwrap = "0.16.1"
+ ignore = "0.4.20"
diff --git a/debian/patches/series b/debian/patches/series
index 2326676b..c5b269ed 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -17,3 +17,6 @@ relax-rstest
 relax-trycmd
 relax-which
 relax-base64
+bump-pep440-rs
+bump-pep508-rs
+relax-pyproject-toml

-- 
Colin Watson (he/him)                              [cjwat...@debian.org]

Reply via email to