rust-once-cell (alacritty dependency) build failure

  • Open
  • quality assurance status badge
Details
3 participants
  • bdju
  • Ben Van Sleen
  • Maxime Devos
Owner
unassigned
Submitted by
bdju
Severity
normal
B
(address . bug-guix@gnu.org)
CMPB1D82V88L.1DNGUL6O9Q48E@masaki
Looks like alacritty can't be built because rust-wayland-commons and
rust-wayland-client can't be built because rust-once-cell can't be built.

rust-once-cell build log: http://sprunge.us/8t8VaQ

p.s. my guix --version output still shows guix (GNU Guix) 0
B
B
Ben Van Sleen wrote on 7 Sep 2022 01:15
(address . 57611@debbugs.gnu.org)
CAGdf7-GLgwCDgeL40fqxkko7qDh4vS7+MFjj=HpdbMxQCaZ2wQ@mail.gmail.com
rust-once-cell-1 can't be built because it now depends on
rust-parking-lot-core-0.9. This can't be built because it now requires
rust-windows-sys-0.36 according to the crates page (
definition can be found in the guix channel that Must Not Be Named (right
next to firefox), and is not present in the main guix repo.

I would guess the reasoning behind this is that rust-windows-sys requires
some kind of nonfree code in its dependencies (perhaps
rust-windows-aarch64-msvc-0.36?). If I'm wrong about this and the package
does meet the Guix repo standards, then the alacritty problem can be fixed
by incorporating the rust-windows-sys-0.36 package definition into (gnu
packages crates-io). Would be happy to add them, but I've never submitted a
patch before (would love to start if someone wouldn't mind guiding me!) and
I'm new to the mailing list style of repo management. (I notice the
rust-windows-sys-0.28 package is included, so I assume bumping the version
up to 0.36 will be acceptable. Am testing this locally.)

Otherwise, I believe the guix-repo-only solution requires rolling back the
update to rust-once-cell in commit af39bd88a27e33c43df8324202cfebaeeb77437a.
Attachment: file
M
M
Maxime Devos wrote on 7 Sep 2022 20:44
Re: bug#57611: rust-once-cell (alacritty dependency) build failure
07b8965c-9f25-2f32-1cf2-66635e2bb916@telenet.be
On 07-09-2022 01:15, Ben Van Sleen wrote:
Toggle quote (21 lines)
> Subject:
> bug#57611: rust-once-cell (alacritty dependency) build failure
> From:
> Ben Van Sleen <benvansleen@gmail.com>
> Date:
> 07-09-2022 01:15
>
> To:
> 57611@debbugs.gnu.org
>
>
> rust-once-cell-1 can't be built because it now depends on
> rust-parking-lot-core-0.9. This can't be built because it now requires
> rust-windows-sys-0.36 according to the crates page
> (https://crates.io/crates/parking_lot_core/0.9.3/dependencies). This
> package definition can be found in the guix channel that Must Not Be
> Named (right next to firefox), and is not present in the main guix repo.
>
> I would guess the reasoning behind this is that rust-windows-sys
> requires some kind of nonfree code in its dependencies (perhaps
> rust-windows-aarch64-msvc-0.36?).
AFAICT it is free, though whoever maintains that package forgot to
include a copy of the license text.
Toggle quote (4 lines)
> If I'm wrong about this and the package does meet the Guix repo
> standards, then the alacritty problem can be fixed by incorporating
> the rust-windows-sys-0.36 package definition into (gnu packages
> crates-io).
Another solution would be to remove the dependency rust-windows-sys from
rust-parking-lot-core-0.9 by patching the Cargo.toml appropriately (this
dependency is only required for compiling to Windows targets).
Greetings,
MAxime.
Attachment: file
Attachment: OpenPGP_signature
B
B
Ben Van Sleen wrote on 7 Sep 2022 23:57
[PATCH] Addressing bug#57611 by updating rust-wayland-client and rust-wayland-scanner dependencies
(address . guix-patches@gnu.org)
CAGdf7-E8dLK=8-Fd8VWd_BGhSfVOAUp92Rnqvjh6tsBnK96Omw@mail.gmail.com
Hi,

This is my first patch to Guix (and my first time submitting a patch by
mailing list), so I'd love whatever feedback y'all have to offer!

Trying to address the alacritty build issue. As of now, alacritty won't
build because rust-wayland-scanner can't be built. After chasing many
dependencies, rust-parking-lot-core now requires rust-windows-sys-0.36.
rust-windows-sys-0.28 currently exists in the repo, so I've added packages
to bump the versions to 0.36.

After applying these patches, Alacritty now builds.

Best,
Ben Van Sleen

From 682b335058c6dff1ea48165762ec8bbc0e469803 Mon Sep 17 00:00:00 2001
From: Ben Van Sleen <benvansleen@gmail.com>
Date: Wed, 7 Sep 2022 16:32:00 -0500
Subject: [PATCH 1/4] rust-windows-sys-0.36: Added package (updating existing
package from 0.28 -> 0.36). Also added definitions for dependencies
rust-windows-*-0.36

---
gnu/packages/crates-io.scm | 86 ++++++++++++++++++++++++++++++++++++++
1 file changed, 86 insertions(+)

Toggle diff (274 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a03f02e868..a9d8bd5669 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -74075,6 +74075,19 @@ (define-public rust-windows-x86-64-msvc-0.32
crate.")
(license (list license:expat license:asl2.0))))

+(define-public rust-windows-x86-64-msvc-0.36
+ (package
+ (inherit rust-windows-x86-64-msvc-0.32)
+ (name "rust-windows-x86-64-msvc")
+ (version "0.36.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "windows_x86_64_msvc" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+
"103n3xijm5vr7qxr1dps202ckfnv7njjnnfqmchg8gl5ii5cl4f8"))))))
+
(define-public rust-windows-x86-64-gnu-0.28
(package
(name "rust-windows-x86-64-gnu")
@@ -74114,6 +74127,19 @@ (define-public rust-windows-x86-64-gnu-0.32
crate.")
(license (list license:expat license:asl2.0))))

+(define-public rust-windows-x86-64-gnu-0.36
+ (package
+ (inherit rust-windows-x86-64-gnu-0.32)
+ (name "rust-windows-x86-64-gnu")
+ (version "0.36.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "windows_x86_64_gnu" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+
"1qfrck3jnihymfrd01s8260d4snql8ks2p8yaabipi3nhwdigkad"))))))
+
(define-public rust-windows-i686-msvc-0.28
(package
(name "rust-windows-i686-msvc")
@@ -74153,6 +74179,19 @@ (define-public rust-windows-i686-msvc-0.32
crate.")
(license (list license:expat license:asl2.0))))

+(define-public rust-windows-i686-msvc-0.36
+ (package
+ (inherit rust-windows-i686-msvc-0.32)
+ (name "rust-windows-i686-msvc")
+ (version "0.36.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "windows_i686_msvc" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+
"097h2a7wig04wbmpi3rz1akdy4s8gslj5szsx8g2v0dj91qr3rz2"))))))
+
(define-public rust-windows-i686-gnu-0.28
(package
(name "rust-windows-i686-gnu")
@@ -74192,6 +74231,19 @@ (define-public rust-windows-i686-gnu-0.32
crate.")
(license (list license:expat license:asl2.0))))

+(define-public rust-windows-i686-gnu-0.36
+ (package
+ (inherit rust-windows-i686-gnu-0.32)
+ (name "rust-windows-i686-gnu")
+ (version "0.36.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "windows_i686_gnu" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+
"1dm3svxfzamrv6kklyda9c3qylgwn5nwdps6p0kc9x6s077nq3hq"))))))
+
(define-public rust-windows-aarch64-msvc-0.28
(package
(name "rust-windows-aarch64-msvc")
@@ -74231,6 +74283,19 @@ (define-public rust-windows-aarch64-msvc-0.32
crate.")
(license (list license:expat license:asl2.0))))

+(define-public rust-windows-aarch64-msvc-0.36
+ (package
+ (inherit rust-windows-aarch64-msvc-0.32)
+ (name "rust-windows-aarch64-msvc")
+ (version "0.36.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "windows_aarch64_msvc" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+
"0ixaxs2c37ll2smprzh0xq5p238zn8ylzb3lk1zddqmd77yw7f4v"))))))
+
(define-public rust-windows-implement-0.32
(package
(name "rust-windows-implement")
@@ -74282,6 +74347,27 @@ (define-public rust-windows-sys-0.28
if they were just another Rust module.")
(license (list license:expat license:asl2.0))))

+(define-public rust-windows-sys-0.36
+ (package
+ (inherit rust-windows-sys-0.28)
+ (name "rust-windows-sys")
+ (version "0.36.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "windows-sys" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1lmqangv0zg1l46xiq7rfnqwsx8f8m52mqbgg2mrx7x52rd1a17a"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs (("rust-windows-aarch64-msvc"
,rust-windows-aarch64-msvc-0.36)
+ ("rust-windows-i686-gnu"
,rust-windows-i686-gnu-0.36)
+ ("rust-windows-i686-msvc"
,rust-windows-i686-msvc-0.36)
+ ("rust-windows-x86-64-gnu"
,rust-windows-x86-64-gnu-0.36)
+ ("rust-windows-x86-64-msvc"
,rust-windows-x86-64-msvc-0.36))))))
+
(define-public rust-windows-gen-0.9
(package
(name "rust-windows-gen")
--
2.37.3


From 28d3ff0d247eb1b96ad58e120a4e099cb9ba397f Mon Sep 17 00:00:00 2001
From: Ben Van Sleen <benvansleen@gmail.com>
Date: Wed, 7 Sep 2022 16:34:26 -0500
Subject: [PATCH 2/4] rust-parking-lot-core-0.9: Updated dependency list to
include rust-windows-sys-0.36 as requested by package's cargo.toml

---
gnu/packages/crates-io.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a9d8bd5669..4440997287 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -41735,7 +41735,8 @@ (define-public rust-parking-lot-core-0.9
("rust-petgraph" ,rust-petgraph-0.6)
("rust-redox-syscall" ,rust-redox-syscall-0.2)
("rust-smallvec" ,rust-smallvec-1)
- ("rust-thread-id" ,rust-thread-id-4))))
+ ("rust-thread-id" ,rust-thread-id-4)
+ ("rust-windows-sys" ,rust-windows-sys-0.36))))
(home-page "https://github.com/Amanieu/parking_lot")
(synopsis "API for creating custom synchronization primitives")
(description "This package provides an advanced API for creating custom
--
2.37.3


From dbe1102c50ca7644a35205a5da739bbef350f1eb Mon Sep 17 00:00:00 2001
From: Ben Van Sleen <benvansleen@gmail.com>
Date: Wed, 7 Sep 2022 16:36:49 -0500
Subject: [PATCH 3/4] rust-wayland-scanner: Bumped *-0.29 from v0.28.3 to
v0.28.6 and *-0.28 from v0.28.3 to v0.28.6

---
gnu/packages/crates-graphics.scm | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/crates-graphics.scm
b/gnu/packages/crates-graphics.scm
index c5d9555599..35e4f4eb5b 100644
--- a/gnu/packages/crates-graphics.scm
+++ b/gnu/packages/crates-graphics.scm
@@ -2903,17 +2903,20 @@ (define-public rust-wayland-protocols-0.21
(define-public rust-wayland-scanner-0.29
(package
(name "rust-wayland-scanner")
- (version "0.29.4")
+ (version "0.29.5")
(source
(origin
(method url-fetch)
(uri (crate-uri "wayland-scanner" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "1q7r764z8k922xf51fj56b1xm29ffi9ap8jnf4c478gp8cqyv89r"))))
+ (base32 "0lxx3i2kxnmsk421qx87lqqc9kd2y1ksjxcyg0pqbar2zbc06hwg"))))
(build-system cargo-build-system)
- (inputs
- (list rust-proc-macro2-1 rust-quote-1 rust-xml-rs-0.8))
+ (arguments
+ `(#:cargo-inputs
+ (("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-quote" ,rust-quote-1)
+ ("rust-xml-rs" ,rust-xml-rs-0.8))))
(home-page "https://github.com/smithay/wayland-rs")
(synopsis "Generate Rust APIs from XML Wayland protocol files")
(description
@@ -2927,16 +2930,15 @@ (define-public rust-wayland-scanner-0.28
(package
(inherit rust-wayland-scanner-0.29)
(name "rust-wayland-scanner")
- (version "0.28.3")
+ (version "0.28.6")
(source
(origin
(method url-fetch)
(uri (crate-uri "wayland-scanner" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "0g8ky63qk27in7zajycj3fyydsxlj19hanfcvr8d7z5kcxbvl43h"))))
- (inputs
- (list rust-proc-macro2-1 rust-quote-1 rust-xml-rs-0.8))))
+ (base32
+ "1w839jsh7nrni4f2x5bkapf98w7kddxyqmpks4rf67dnvsr3x4nf"))))))

(define-public rust-wayland-scanner-0.23
(package
--
2.37.3



From 70d6222e6891743506a42b42412a6358441fe15c Mon Sep 17 00:00:00 2001
From: Ben Van Sleen <benvansleen@gmail.com>
Date: Wed, 7 Sep 2022 16:38:11 -0500
Subject: [PATCH 4/4] rust-wayland-client-0.28: Moved rust-wayland-scanner to
cargo-dependency as specified by its cargo.toml

---
gnu/packages/crates-graphics.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/crates-graphics.scm
b/gnu/packages/crates-graphics.scm
index 35e4f4eb5b..19b3972365 100644
--- a/gnu/packages/crates-graphics.scm
+++ b/gnu/packages/crates-graphics.scm
@@ -2553,7 +2553,8 @@ (define-public rust-wayland-client-0.28
("rust-downcast-rs" ,rust-downcast-rs-1)
("rust-libc" ,rust-libc-0.2)
("rust-nix" ,rust-nix-0.18)
- ("rust-scoped-tls" ,rust-scoped-tls-1))
+ ("rust-scoped-tls" ,rust-scoped-tls-1)
+ ("rust-wayland-scanner" ,rust-wayland-scanner-0.28))
#:cargo-development-inputs
(("rust-tempfile" ,rust-tempfile-3))))
(inputs
@@ -2563,7 +2564,6 @@ (define-public rust-wayland-client-0.28
rust-nix-0.18
rust-scoped-tls-1
rust-wayland-commons-0.28
- rust-wayland-scanner-0.28
rust-wayland-sys-0.28))))

(define-public rust-wayland-client-0.23
--
2.37.3
Attachment: file
From dbe1102c50ca7644a35205a5da739bbef350f1eb Mon Sep 17 00:00:00 2001
From: Ben Van Sleen <benvansleen@gmail.com>
Date: Wed, 7 Sep 2022 16:36:49 -0500
Subject: [PATCH 3/4] rust-wayland-scanner: Bumped *-0.29 from v0.28.3 to
v0.28.6 and *-0.28 from v0.28.3 to v0.28.6

---
gnu/packages/crates-graphics.scm | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)

Toggle diff (51 lines)
diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm
index c5d9555599..35e4f4eb5b 100644
--- a/gnu/packages/crates-graphics.scm
+++ b/gnu/packages/crates-graphics.scm
@@ -2903,17 +2903,20 @@ (define-public rust-wayland-protocols-0.21
(define-public rust-wayland-scanner-0.29
(package
(name "rust-wayland-scanner")
- (version "0.29.4")
+ (version "0.29.5")
(source
(origin
(method url-fetch)
(uri (crate-uri "wayland-scanner" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "1q7r764z8k922xf51fj56b1xm29ffi9ap8jnf4c478gp8cqyv89r"))))
+ (base32 "0lxx3i2kxnmsk421qx87lqqc9kd2y1ksjxcyg0pqbar2zbc06hwg"))))
(build-system cargo-build-system)
- (inputs
- (list rust-proc-macro2-1 rust-quote-1 rust-xml-rs-0.8))
+ (arguments
+ `(#:cargo-inputs
+ (("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-quote" ,rust-quote-1)
+ ("rust-xml-rs" ,rust-xml-rs-0.8))))
(home-page "https://github.com/smithay/wayland-rs")
(synopsis "Generate Rust APIs from XML Wayland protocol files")
(description
@@ -2927,16 +2930,15 @@ (define-public rust-wayland-scanner-0.28
(package
(inherit rust-wayland-scanner-0.29)
(name "rust-wayland-scanner")
- (version "0.28.3")
+ (version "0.28.6")
(source
(origin
(method url-fetch)
(uri (crate-uri "wayland-scanner" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "0g8ky63qk27in7zajycj3fyydsxlj19hanfcvr8d7z5kcxbvl43h"))))
- (inputs
- (list rust-proc-macro2-1 rust-quote-1 rust-xml-rs-0.8))))
+ (base32
+ "1w839jsh7nrni4f2x5bkapf98w7kddxyqmpks4rf67dnvsr3x4nf"))))))
(define-public rust-wayland-scanner-0.23
(package
--
2.37.3
From 28d3ff0d247eb1b96ad58e120a4e099cb9ba397f Mon Sep 17 00:00:00 2001
From: Ben Van Sleen <benvansleen@gmail.com>
Date: Wed, 7 Sep 2022 16:34:26 -0500
Subject: [PATCH 2/4] rust-parking-lot-core-0.9: Updated dependency list to
include rust-windows-sys-0.36 as requested by package's cargo.toml

---
gnu/packages/crates-io.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Toggle diff (16 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a9d8bd5669..4440997287 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -41735,7 +41735,8 @@ (define-public rust-parking-lot-core-0.9
("rust-petgraph" ,rust-petgraph-0.6)
("rust-redox-syscall" ,rust-redox-syscall-0.2)
("rust-smallvec" ,rust-smallvec-1)
- ("rust-thread-id" ,rust-thread-id-4))))
+ ("rust-thread-id" ,rust-thread-id-4)
+ ("rust-windows-sys" ,rust-windows-sys-0.36))))
(home-page "https://github.com/Amanieu/parking_lot")
(synopsis "API for creating custom synchronization primitives")
(description "This package provides an advanced API for creating custom
--
2.37.3
From 70d6222e6891743506a42b42412a6358441fe15c Mon Sep 17 00:00:00 2001
From: Ben Van Sleen <benvansleen@gmail.com>
Date: Wed, 7 Sep 2022 16:38:11 -0500
Subject: [PATCH 4/4] rust-wayland-client-0.28: Moved rust-wayland-scanner to
cargo-dependency as specified by its cargo.toml

---
gnu/packages/crates-graphics.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm
index 35e4f4eb5b..19b3972365 100644
--- a/gnu/packages/crates-graphics.scm
+++ b/gnu/packages/crates-graphics.scm
@@ -2553,7 +2553,8 @@ (define-public rust-wayland-client-0.28
("rust-downcast-rs" ,rust-downcast-rs-1)
("rust-libc" ,rust-libc-0.2)
("rust-nix" ,rust-nix-0.18)
- ("rust-scoped-tls" ,rust-scoped-tls-1))
+ ("rust-scoped-tls" ,rust-scoped-tls-1)
+ ("rust-wayland-scanner" ,rust-wayland-scanner-0.28))
#:cargo-development-inputs
(("rust-tempfile" ,rust-tempfile-3))))
(inputs
@@ -2563,7 +2564,6 @@ (define-public rust-wayland-client-0.28
rust-nix-0.18
rust-scoped-tls-1
rust-wayland-commons-0.28
- rust-wayland-scanner-0.28
rust-wayland-sys-0.28))))
(define-public rust-wayland-client-0.23
--
2.37.3
?