contrib: use unpublished rustc 1.64 to build the GUI in Guix

This commit is contained in:
Antoine Poinsot 2023-02-02 12:14:31 +01:00
parent 0a1c04db36
commit b2602e0204
No known key found for this signature in database
GPG Key ID: E13FC145CD3F4304

View File

@ -1,15 +1,28 @@
(specifications->manifest (let ((is_gui (getenv "IS_GUI")))
(append (concatenate-manifests
(list "rust" (list
"rust:cargo" (specifications->manifest
"coreutils" (append
"patchelf" (list
"gcc-toolchain@10.3.0") "rust:cargo"
;; Additional dependencies for building the GUI "coreutils"
(let ((is_gui (getenv "IS_GUI"))) "patchelf"
"gcc-toolchain@10.3.0")
;; Additional dependencies for building the GUI, and the regular rustc for building
;; the daemon and CLI.
(if (if
(string=? is_gui "1") (string=? is_gui "1")
(list "pkg-config" (list "pkg-config"
"eudev" "eudev"
"fontconfig") "fontconfig")
'())))) (list "rust"))))
;; The GUI MSRV is 1.65. We could patch the requirements for new compiler features but
;; Iced 0.7 started relying on a lifetime that was treated as a bug until rustc 1.64. I
;; couldn't find how to fix it therefore we are relying on a Rust toolchain unpublished
;; by Guix to build the GUI.
(packages->manifest
(if
(string=? is_gui "1")
(list
(@@ (gnu packages rust) rust-1.64))
'())))))