[PATCH]: gnu: rust-analyzer: Update to 2020-01-10.

DoneSubmitted by Z572.
Details
5 participants
  • Z572
  • Leo Famulari
  • Nicolas Goaziou
  • Maxime Devos
  • Tobias Geerinckx-Rice
Owner
unassigned
Severity
normal
Z
(address . guix-patches@gnu.org)
tencent_A2DE6A853729521FB35CFE3474F8CB3B4A09@qq.com
Hello,
These patch update rust-analyzer to 2020-01-10, and last patch make
rust-analyzer out of box.


--
over
Z
[PATCH 07/39] gnu: Add rust-windows-i686-gnu-0.28.
(address . 53208@debbugs.gnu.org)
tencent_64E73759524DB2A2FEB8744ECA094A806A09@qq.com
* gnu/packages/crates-io.scm (rust-windows-i686-gnu-0.28): New variable.
---
gnu/packages/crates-io.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ffc62120fa..ca5310dab7 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -65585,6 +65585,24 @@ (define-public rust-windows-i686-msvc-0.28
     (description "Code gen support for the windows crate")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-windows-i686-gnu-0.28
+  (package
+    (name "rust-windows-i686-gnu")
+    (version "0.28.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "windows_i686_gnu" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "12hx7qpsjg9p7jggfcplqa3mf1mzr7k7s5ybzqwg1zmg4fn2aizm"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/microsoft/windows-rs")
+    (synopsis "Code gen support for the windows crate")
+    (description "Code gen support for the windows crate")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-windows-gen-0.9
   (package
     (name "rust-windows-gen")
-- 
2.34.0
Z
[PATCH 02/39] gnu: Add rust-matchers-0.1.
(address . 53208@debbugs.gnu.org)
tencent_06E9A90459467F413A64E57B2550B5D99B08@qq.com
* gnu/packages/crates-io.scm (rust-matchers-0.1): New variable.
(rust-matchers-0.0): Inherit from above.
---
gnu/packages/crates-io.scm | 32 +++++++++++++++++++++++++-------
1 file changed, 25 insertions(+), 7 deletions(-)

Toggle diff (61 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index dd91abd5e5..3d7b407286 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -29896,22 +29896,21 @@ (define-public rust-matches-0.1
 whether an expression matches a pattern.")
     (license license:expat)))
 
-(define-public rust-matchers-0.0
+(define-public rust-matchers-0.1
   (package
     (name "rust-matchers")
-    (version "0.0.1")
+    (version "0.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "matchers" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32
-         "1q8ckqmkjqkznvdi9x0z769yz2bmvlqcwx51ad2lpk4mfmgpi6gh"))))
+        (base32 "0n2mbk7lg2vf962c8xwzdq96yrc9i0p8dbmm4wa1nnkcp1dhfqw2"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
+     `(#:skip-build? #t
+       #:cargo-inputs
        (("rust-regex-automata" ,rust-regex-automata-0.1))))
     (home-page "https://github.com/hawkw/matchers")
     (synopsis "Regex matching on character and byte streams")
@@ -29921,6 +29920,25 @@ (define-public rust-matchers-0.0
 matching, not parsing substrings.")
     (license license:expat)))
 
+(define-public rust-matchers-0.0
+  (package
+    (inherit rust-matchers-0.1)
+    (name "rust-matchers")
+    (version "0.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "matchers" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1q8ckqmkjqkznvdi9x0z769yz2bmvlqcwx51ad2lpk4mfmgpi6gh"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-regex-automata" ,rust-regex-automata-0.1))))))
+
 (define-public rust-matrixcompare-core-0.1
   (package
     (name "rust-matrixcompare-core")
-- 
2.34.0
Z
[PATCH 04/39] gnu: Add rust-windows-x86-64-msvc-0.28.
(address . 53208@debbugs.gnu.org)
tencent_722DC8A675AA52D6F5DF868E56395C894006@qq.com
* gnu/packages/crates-io.scm (rust-windows-x86-64-msvc-0.28): New variable.
---
gnu/packages/crates-io.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a64adda4fc..ebcf4e26a8 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -65531,6 +65531,24 @@ (define-public rust-windows-0.9
     (description "Rust for Windows")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-windows-x86-64-msvc-0.28
+  (package
+    (name "rust-windows-x86-64-msvc")
+    (version "0.28.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "windows_x86_64_msvc" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "17z8q25pd3dp6b84qm9nlayd3ym78sbryxlqmgcxvz9vpmy8qarz"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/microsoft/windows-rs")
+    (synopsis "Code gen support for the windows crate")
+    (description "Code gen support for the windows crate")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-windows-gen-0.9
   (package
     (name "rust-windows-gen")
-- 
2.34.0
Z
[PATCH 06/39] gnu: Add rust-windows-i686-msvc-0.28.
(address . 53208@debbugs.gnu.org)
tencent_9FB884A4F6617327B53E0BE62F4D67B4FC05@qq.com
* gnu/packages/crates-io.scm (rust-windows-i686-msvc-0.28): New variable.
---
gnu/packages/crates-io.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8aa03b6325..ffc62120fa 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -65567,6 +65567,24 @@ (define-public rust-windows-x86-64-gnu-0.28
     (description "Code gen support for the windows crate")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-windows-i686-msvc-0.28
+  (package
+    (name "rust-windows-i686-msvc")
+    (version "0.28.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "windows_i686_msvc" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0r0z8s1wcdwd20azsdfilf2a6bz68xkavl990wy64hyc8f51bmai"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/microsoft/windows-rs")
+    (synopsis "Code gen support for the windows crate")
+    (description "Code gen support for the windows crate")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-windows-gen-0.9
   (package
     (name "rust-windows-gen")
-- 
2.34.0
Z
[PATCH 03/39] gnu: Add rust-countme-3.
(address . 53208@debbugs.gnu.org)
tencent_69655DFC85EA4895E795A0D4766D8EA51A0A@qq.com
* gnu/packages/crates-io.scm (rust-countme-3): New variable.
(rust-countme-2): Inherit from above.
---
gnu/packages/crates-io.scm | 27 ++++++++++++++++++++++++---
1 file changed, 24 insertions(+), 3 deletions(-)

Toggle diff (56 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3d7b407286..a64adda4fc 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11745,10 +11745,10 @@ (define-public rust-cov-mark-1
     (description "This package provides a Manual coverage marks.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-countme-2
+(define-public rust-countme-3
   (package
     (name "rust-countme")
-    (version "2.0.4")
+    (version "3.0.0")
     (source
      (origin
        (method url-fetch)
@@ -11757,7 +11757,7 @@ (define-public rust-countme-2
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0n6bzg2g6gsmgabyzbcfkyb9y9mzxsvavng85d04wkdsvhmq52rj"))))
+         "10z4r1xx77sr8axp3lsgc0azidazwgnhpzig2gcx5dfrdl66wx03"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
@@ -11771,6 +11771,27 @@ (define-public rust-countme-2
      "This package provides a counts the number of live instances of types.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-countme-2
+  (package
+    (inherit rust-countme-3)
+    (name "rust-countme")
+    (version "2.0.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "countme" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0n6bzg2g6gsmgabyzbcfkyb9y9mzxsvavng85d04wkdsvhmq52rj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-dashmap" ,rust-dashmap-4)
+        ("rust-once-cell" ,rust-once-cell-1)
+        ("rust-rustc-hash" ,rust-rustc-hash-1))))))
+
 (define-public rust-cpp-demangle-0.3
   (package
     (name "rust-cpp-demangle")
-- 
2.34.0
Z
[PATCH 05/39] gnu: Add rust-windows-x86-64-gnu-0.28.
(address . 53208@debbugs.gnu.org)
tencent_05CDA85481ACC2BF0F9DA372B712B85ABE07@qq.com
* gnu/packages/crates-io.scm (rust-windows-x86-64-gnu-0.28): New variable.
---
gnu/packages/crates-io.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ebcf4e26a8..8aa03b6325 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -65549,6 +65549,24 @@ (define-public rust-windows-x86-64-msvc-0.28
     (description "Code gen support for the windows crate")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-windows-x86-64-gnu-0.28
+  (package
+    (name "rust-windows-x86-64-gnu")
+    (version "0.28.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "windows_x86_64_gnu" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0m79bhdr54g4h4wh2q8wkjlkypb5wvl7xzhc2csiaqb5yl4z8cdw"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/microsoft/windows-rs")
+    (synopsis "Code gen support for the windows crate")
+    (description "Code gen support for the windows crate")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-windows-gen-0.9
   (package
     (name "rust-windows-gen")
-- 
2.34.0
Z
[PATCH 08/39] gnu: Add rust-windows-aarch64-msvc-0.28.
(address . 53208@debbugs.gnu.org)
tencent_8ACEDFA74E65794689526DE766516A511606@qq.com
* gnu/packages/crates-io.scm (rust-windows-aarch64-msvc-0.28): New variable.
---
gnu/packages/crates-io.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ca5310dab7..2d682b3a17 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -65603,6 +65603,24 @@ (define-public rust-windows-i686-gnu-0.28
     (description "Code gen support for the windows crate")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-windows-aarch64-msvc-0.28
+  (package
+    (name "rust-windows-aarch64-msvc")
+    (version "0.28.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "windows_aarch64_msvc" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1hpk0n2z0jzzvwlvs98b75sa4q920953nqfc119rv19nwm0mlsaj"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/microsoft/windows-rs")
+    (synopsis "Code gen support for the windows crate")
+    (description "Code gen support for the windows crate")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-windows-gen-0.9
   (package
     (name "rust-windows-gen")
-- 
2.34.0
Z
[PATCH 11/39] gnu: rust-smol-str-0.1: Update to 0.1.21.
(address . 53208@debbugs.gnu.org)
tencent_85B33415290BF70F5A67BBBCADA4BAB66E05@qq.com
* gnu/packages/crates-io.scm (rust-smol-str-0.1): Update to 0.1.21.
---
gnu/packages/crates-io.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a866f80b35..a0a300fed2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -51487,7 +51487,7 @@ (define-public rust-smol-0.1
 (define-public rust-smol-str-0.1
   (package
     (name "rust-smol-str")
-    (version "0.1.17")
+    (version "0.1.21")
     (source
      (origin
        (method url-fetch)
@@ -51496,7 +51496,7 @@ (define-public rust-smol-str-0.1
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1srj7gd14cllfwh55jwmid425rz2idpvbw7ly08448r97b7gg83c"))))
+         "1gb14a85k6mzpn6s78flwvfl5vy1czsrzlwcgidy7k00wf1mrlb1"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
-- 
2.34.0
Z
[PATCH 09/39] gnu: Add rust-windows-sys-0.28.
(address . 53208@debbugs.gnu.org)
tencent_084C16FE5F81CE7DF9400944EDFEE67AAA06@qq.com
* gnu/packages/crates-io.scm (rust-windows-sys-0.28): New variable.
---
gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2d682b3a17..96449fe37b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -65621,6 +65621,32 @@ (define-public rust-windows-aarch64-msvc-0.28
     (description "Code gen support for the windows crate")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-windows-sys-0.28
+  (package
+    (name "rust-windows-sys")
+    (version "0.28.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "windows-sys" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1xkghf343nll9i1yvha1a4spf53mnb5knzmnqj9adgsw5mh3kjl2"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build?
+       #t
+       #:cargo-inputs
+       (("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.28)
+        ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.28)
+        ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.28)
+        ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.28)
+        ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.28))))
+    (home-page "https://github.com/microsoft/windows-rs")
+    (synopsis "Rust for Windows")
+    (description "Rust for Windows")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-windows-gen-0.9
   (package
     (name "rust-windows-gen")
-- 
2.34.0
Z
[PATCH 10/39] gnu: Add rust-miow-0.4.
(address . 53208@debbugs.gnu.org)
tencent_B66A6ED6F1DF8DCE56B965494AEDDDA67D06@qq.com
* gnu/packages/crates-io.scm (rust-miow-0.4): New variable.
(rust-miow-0.3): Inherit from above.
---
gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++------
1 file changed, 25 insertions(+), 6 deletions(-)

Toggle diff (63 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 96449fe37b..a866f80b35 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -31488,24 +31488,24 @@ (define-public rust-mio-uds-0.6
      "Unix domain socket bindings for mio.")
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-miow-0.3
+(define-public rust-miow-0.4
   (package
     (name "rust-miow")
-    (version "0.3.6")
+    (version "0.4.0")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "miow" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "15sqdhh29dqgw5xh59clwv6scbsbvdkbmdc16hbfvyq7b2sw2css"))))
+        (base32 "03p0dgbahlysgxk0sihhf09k5h13r9aam3d6rfivdbxkj9vpydx7"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-socket2" ,rust-socket2-0.3)
-        ("rust-winapi" ,rust-winapi-0.3))
+       (("rust-windows-sys" ,rust-windows-sys-0.28))
        #:cargo-development-inputs
-       (("rust-rand" ,rust-rand-0.4))))
+       (("rust-rand" ,rust-rand-0.8)
+        ("rust-socket2" ,rust-socket2-0.4))))
     (home-page "https://github.com/alexcrichton/miow")
     (synopsis "Rust I/O library for Windows")
     (description
@@ -31514,6 +31514,25 @@ (define-public rust-miow-0.3
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-miow-0.3
+  (package
+    (inherit rust-miow-0.4)
+    (name "rust-miow")
+    (version "0.3.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "miow" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "15sqdhh29dqgw5xh59clwv6scbsbvdkbmdc16hbfvyq7b2sw2css"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-socket2" ,rust-socket2-0.3)
+        ("rust-winapi" ,rust-winapi-0.3))
+       #:cargo-development-inputs
+       (("rust-rand" ,rust-rand-0.4))))))
+
 (define-public rust-miow-0.2
   (package
     (inherit rust-miow-0.3)
-- 
2.34.0
Z
[PATCH 01/39] gnu: Add rust-typed-arena-2.
(address . 53208@debbugs.gnu.org)
tencent_EC81EB7895BB9674D4DA6DA2A4726519FE0A@qq.com
* gnu/packages/crates-io.scm (rust-typed-arena-2): New variable.
(rust-typed-arena-1): Inherit from above.
---
gnu/packages/crates-io.scm | 26 +++++++++++++++++++++-----
1 file changed, 21 insertions(+), 5 deletions(-)

Toggle diff (69 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 15e67d5561..dd91abd5e5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -14,7 +14,7 @@
 ;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net>
 ;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2021 aecepoglu <aecepoglu@fastmail.fm>
-;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2021, 2022 Zheng Junjie <873216071@qq.com>
 ;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
 ;;; Copyright © 2021 Antero Mejr <antero@kodmin.com>
 ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
@@ -22,7 +22,6 @@
 ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
 ;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2021 Jacob Hrbek <kreyren@rixotstudio.cz>
-;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -60791,10 +60790,10 @@ (define-public rust-typeable-0.1
     (description "Exposes Typeable, for getting TypeIds at runtime.")
     (license license:expat)))
 
-(define-public rust-typed-arena-1
+(define-public rust-typed-arena-2
   (package
     (name "rust-typed-arena")
-    (version "1.4.1")
+    (version "2.0.1")
     (source
      (origin
        (method url-fetch)
@@ -60803,7 +60802,7 @@ (define-public rust-typed-arena-1
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1i8yczhwcy0nnrxqck1lql3i7hvg95l0vw0dbgfb92zkms96mh66"))))
+         "1bnhphrksp9krxhsfhfimrxvkbah2pa6rf9ygmpw5lalbm6wi186"))))
     (build-system cargo-build-system)
     (arguments `(#:skip-build? #t))
     (home-page "https://github.com/SimonSapin/rust-typed-arena")
@@ -60812,6 +60811,23 @@ (define-public rust-typed-arena-1
      "The arena, a fast but limited type of allocator.")
     (license license:expat)))
 
+(define-public rust-typed-arena-1
+  (package
+    (inherit rust-typed-arena-2)
+    (name "rust-typed-arena")
+    (version "1.4.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "typed-arena" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1i8yczhwcy0nnrxqck1lql3i7hvg95l0vw0dbgfb92zkms96mh66"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))))
+
 (define-public rust-typed-builder-0.5
   (package
     (name "rust-typed-builder")
-- 
2.34.0
Z
[PATCH 12/39] gnu: rust-tracing-core-0.1: Update to 0.1.21.
(address . 53208@debbugs.gnu.org)
tencent_3B029DA5F2E412BEDAA5CDA154F02CEC3F07@qq.com
* gnu/packages/crates-io.scm (rust-tracing-core-0.1): Update to 0.1.21.
---
gnu/packages/crates-io.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a0a300fed2..0a86a703f6 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -59237,14 +59237,14 @@ (define-public rust-tracing-attributes-0.1
 (define-public rust-tracing-core-0.1
   (package
     (name "rust-tracing-core")
-    (version "0.1.17")
+    (version "0.1.21")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tracing-core" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0pvbgv301vw6dq4krc14yqbyyixb42lcs4s57xw05llkgy9f63gm"))))
+        (base32 "1r262wskhm6wmc5i2bxz44nglyzqaq3x50s0h5q0ffdq6xbdckhz"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-- 
2.34.0
Z
[PATCH 15/39] gnu: Add rust-cov-mark-2.
(address . 53208@debbugs.gnu.org)
tencent_ED1DBF72D712F45A904DA8D4D6ACB63F0507@qq.com
* gnu/packages/crates-io.scm (rust-cov-mark-2): New variable.
(rust-cov-mark-1): Inherit from above.
---
gnu/packages/crates-io.scm | 22 +++++++++++++++++++---
1 file changed, 19 insertions(+), 3 deletions(-)

Toggle diff (51 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 29ca10ef6f..0e0322afc1 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11725,10 +11725,10 @@ (define-public rust-core-text-13
         ("rust-foreign-types" ,rust-foreign-types-0.3)
         ("rust-libc" ,rust-libc-0.2))))))
 
-(define-public rust-cov-mark-1
+(define-public rust-cov-mark-2
   (package
     (name "rust-cov-mark")
-    (version "1.1.0")
+    (version "2.0.0-pre.1")
     (source
      (origin
        (method url-fetch)
@@ -11737,7 +11737,7 @@ (define-public rust-cov-mark-1
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1wv75ylrai556m388a40d50fxiyacmvm6qqz6va6qf1q04z3vylz"))))
+         "0jj4yz70k31ax1n3s7iyjv1k5yzrm4hkibrazqciycyrdgvxhj0d"))))
     (arguments `(#:skip-build? #t))
     (build-system cargo-build-system)
     (home-page "https://github.com/matklad/cov-mark")
@@ -11745,6 +11745,22 @@ (define-public rust-cov-mark-1
     (description "This package provides a Manual coverage marks.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-cov-mark-1
+  (package
+    (inherit rust-cov-mark-2)
+    (name "rust-cov-mark")
+    (version "1.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "cov-mark" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1wv75ylrai556m388a40d50fxiyacmvm6qqz6va6qf1q04z3vylz"))))
+    (arguments `(#:skip-build? #t))))
+
 (define-public rust-countme-3
   (package
     (name "rust-countme")
-- 
2.34.0
Z
[PATCH 13/39] gnu: Add rust-rustc-ap-rustc-lexer-725.
(address . 53208@debbugs.gnu.org)
tencent_248536135359B23CFE0874BACBEB4A706A09@qq.com
* gnu/packages/crates-io.scm (rust-rustc-ap-rustc-lexer-725): New variable.
(rust-rustc-ap-rustc-lexer-721): Inherit from above.
---
gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++----
1 file changed, 26 insertions(+), 4 deletions(-)

Toggle diff (61 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0a86a703f6..6013258625 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -45742,10 +45742,10 @@ (define-public rust-rustc-ap-rustc-index-654
 @url{https://www.github.com/rust-lang/rust}")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-rustc-ap-rustc-lexer-721
+(define-public rust-rustc-ap-rustc-lexer-725
   (package
     (name "rust-rustc-ap-rustc-lexer")
-    (version "721.0.0")
+    (version "725.0.0")
     (source
      (origin
        (method url-fetch)
@@ -45754,10 +45754,11 @@ (define-public rust-rustc-ap-rustc-lexer-721
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1ldk41a4vxgh39p9650vhw1j7fng06pfmvb4xb2pvp22547gd89b"))))
+         "13pnbln1mnv51p1kgf6ljmzypp9q0j4aplxac5val0x2z0p78l7r"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
+     `(#:skip-build? #t
+       #:cargo-inputs
        (("rust-unicode-xid" ,rust-unicode-xid-0.2))
        #:cargo-development-inputs
        (("rust-expect-test" ,rust-expect-test-1))))
@@ -45769,6 +45770,27 @@ (define-public rust-rustc-ap-rustc-lexer-721
 @url{https://www.github.com/rust-lang/rust}.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-rustc-ap-rustc-lexer-721
+  (package
+    (inherit rust-rustc-ap-rustc-lexer-725)
+    (name "rust-rustc-ap-rustc-lexer")
+    (version "721.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustc-ap-rustc_lexer" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ldk41a4vxgh39p9650vhw1j7fng06pfmvb4xb2pvp22547gd89b"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-unicode-xid" ,rust-unicode-xid-0.2))
+       #:cargo-development-inputs
+       (("rust-expect-test" ,rust-expect-test-1))))))
+
 (define-public rust-rustc-ap-rustc-lexer-654
   (package
     (inherit rust-rustc-ap-rustc-lexer-721)
-- 
2.34.0
Z
[PATCH 16/39] gnu: rust-tracing-log-0.1: Update to 0.1.2.
(address . 53208@debbugs.gnu.org)
tencent_98B3F4FE9275FECBCD4AA06AB1376753EB09@qq.com
* gnu/packages/crates-io.scm (rust-tracing-log-0.1): Update to 0.1.2.
---
gnu/packages/crates-io.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0e0322afc1..89f2cbf221 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -59381,7 +59381,7 @@ (define-public rust-tracing-fmt-0.1
 (define-public rust-tracing-log-0.1
   (package
     (name "rust-tracing-log")
-    (version "0.1.1")
+    (version "0.1.2")
     (source
      (origin
        (method url-fetch)
@@ -59390,7 +59390,7 @@ (define-public rust-tracing-log-0.1
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1fdr0az98q9m5kiybvdvsb2m9mg86fdidgb5czzq2d71g1qqq3sy"))))
+         "1qv1cwvdqrgvizkszbff4fvkw0m3nn5yz68r3yaw2hcflivk94m6"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-- 
2.34.0
Z
[PATCH 14/39] gnu: Add rust-rowan-0.15.
(address . 53208@debbugs.gnu.org)
tencent_C0A4B956641328D531ABF0AF4D87A33CA305@qq.com
* gnu/packages/crates-io.scm (rust-rowan-0.15): New variable.
(rust-rowan-0.13): Inherit from above.
---
gnu/packages/crates-io.scm | 41 +++++++++++++++++++++++++++++++-------
1 file changed, 34 insertions(+), 7 deletions(-)

Toggle diff (73 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6013258625..29ca10ef6f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -44601,10 +44601,10 @@ (define-public rust-route-recognizer-0.2
 wildcard segments")
     (license license:expat)))
 
-(define-public rust-rowan-0.13
+(define-public rust-rowan-0.15
   (package
     (name "rust-rowan")
-    (version "0.13.0-pre.6")
+    (version "0.15.2")
     (source
       (origin
         (method url-fetch)
@@ -44612,14 +44612,14 @@ (define-public rust-rowan-0.13
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
-          (base32
-            "03gh3wa52135mh1an1x4hw6jba64fwfsh4lw3fsmm6jy2i7c1k42"))))
+         (base32 "1ilxrar5npwnsb575gxh2gp8hi3032mm20sapzw72sv58gn8zski"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build? #t
+      `(#:rust ,rust-1.57
+        #:skip-build? #t
         #:cargo-inputs
-        (("rust-countme" ,rust-countme-2)
-         ("rust-hashbrown" ,rust-hashbrown-0.9)
+        (("rust-countme" ,rust-countme-3)
+         ("rust-hashbrown" ,rust-hashbrown-0.11)
          ("rust-memoffset" ,rust-memoffset-0.6)
          ("rust-rustc-hash" ,rust-rustc-hash-1)
          ("rust-serde" ,rust-serde-1)
@@ -44634,6 +44634,33 @@ (define-public rust-rowan-0.13
       "This package provides a library for generic lossless syntax trees.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-rowan-0.13
+  (package
+    (inherit rust-rowan-0.15)
+    (name "rust-rowan")
+    (version "0.13.0-pre.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rowan" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "03gh3wa52135mh1an1x4hw6jba64fwfsh4lw3fsmm6jy2i7c1k42"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-countme" ,rust-countme-2)
+        ("rust-hashbrown" ,rust-hashbrown-0.9)
+        ("rust-memoffset" ,rust-memoffset-0.6)
+        ("rust-rustc-hash" ,rust-rustc-hash-1)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-text-size" ,rust-text-size-1))
+       #:cargo-development-inputs
+       (("rust-m-lexer" ,rust-m-lexer-0.0.4))))))
+
 (define-public rust-rspec-1
   (package
     (name "rust-rspec")
-- 
2.34.0
Z
[PATCH 19/39] gnu: rust-salsa-0.17: Update to 0.17.0-pre.2.
(address . 53208@debbugs.gnu.org)
tencent_E3ADF06645EA5456C39FB50E42B947495506@qq.com
* gnu/packages/crates-io.scm (rust-salsa-0.17): Update to 0.17.0-pre.2.
---
gnu/packages/crates-io.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b8e1ed9a9d..393005d075 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -47242,7 +47242,7 @@ (define-public rust-salsa-macros-0.17
 (define-public rust-salsa-0.17
   (package
     (name "rust-salsa")
-    (version "0.17.0-pre.1")
+    (version "0.17.0-pre.2")
     (source
      (origin
        (method url-fetch)
@@ -47251,7 +47251,7 @@ (define-public rust-salsa-0.17
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "10jm7s8abw0m7iffa2983kmwgmv342i9g32d1irsgmccx9hq40sq"))))
+         "0ypiig0p9969nkb7k0ydxm5bnc3jva815dfh8hqpackcnk63s8lv"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build?
-- 
2.34.0
Z
[PATCH 17/39] gnu: Add rust-tracing-subscriber-0.3.
(address . 53208@debbugs.gnu.org)
tencent_656C36A4DA6785FF99EAC094D79458D4260A@qq.com
* gnu/packages/crates-io.scm (rust-tracing-subscriber-0.3): New variable.
(rust-tracing-subscriber-0.2): Inherit from above.
---
gnu/packages/crates-io.scm | 64 ++++++++++++++++++++++++++++----------
1 file changed, 48 insertions(+), 16 deletions(-)

Toggle diff (86 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 89f2cbf221..66d8f50ac9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -59447,8 +59447,55 @@ (define-public rust-tracing-serde-0.1
 with @code{serde}.")
     (license license:expat)))
 
+(define-public rust-tracing-subscriber-0.3
+  (package
+    (name "rust-tracing-subscriber")
+    (version "0.3.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "tracing-subscriber" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "157mz6q0ljpragrj4hsv5rchyabsbfc7r0sb0g5rik142jlbz0ax"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build? #t
+        #:cargo-inputs
+        (("rust-ansi-term" ,rust-ansi-term-0.12)
+         ("rust-lazy-static" ,rust-lazy-static-1)
+         ("rust-matchers" ,rust-matchers-0.1)
+         ("rust-parking-lot" ,rust-parking-lot-0.11)
+         ("rust-regex" ,rust-regex-1)
+         ("rust-serde" ,rust-serde-1)
+         ("rust-serde-json" ,rust-serde-json-1)
+         ("rust-sharded-slab" ,rust-sharded-slab-0.1)
+         ("rust-smallvec" ,rust-smallvec-1)
+         ("rust-thread-local" ,rust-thread-local-1)
+         ("rust-time" ,rust-time-0.3)
+         ("rust-tracing" ,rust-tracing-0.1)
+         ("rust-tracing-core" ,rust-tracing-core-0.1)
+         ("rust-tracing-log" ,rust-tracing-log-0.1)
+         ("rust-tracing-serde" ,rust-tracing-serde-0.1))))
+    (home-page "https://tokio.rs")
+    (synopsis "Implement and compose tracing subscribers")
+    (description
+     "This package provides utilities for implementing and composing tracing
+subscribers.
+
+Tracing is a framework for instrumenting Rust programs to collect scoped,
+structured, and async-aware diagnostics.  The Subscriber trait represents the
+functionality necessary to collect this trace data.  This crate contains tools
+for composing subscribers out of smaller units of behaviour, and
+batteries-included implementations of common subscriber functionality.
+
+Tracing-subscriber is intended for use by both Subscriber authors and
+application authors using tracing to instrument their applications.")
+    (license license:expat)))
+
 (define-public rust-tracing-subscriber-0.2
   (package
+    (inherit rust-tracing-subscriber-0.3)
     (name "rust-tracing-subscriber")
     (version "0.2.15")
     (source
@@ -59484,22 +59531,7 @@ (define-public rust-tracing-subscriber-0.2
         ("rust-tokio" ,rust-tokio-0.2)
         ("rust-tracing" ,rust-tracing-0.1)
         ("rust-tracing-futures" ,rust-tracing-futures-0.2)
-        ("rust-tracing-log" ,rust-tracing-log-0.1))))
-    (home-page "https://tokio.rs")
-    (synopsis "Implement and compose tracing subscribers")
-    (description
-     "This package provides utilities for implementing and composing tracing
-subscribers.
-
-Tracing is a framework for instrumenting Rust programs to collect scoped,
-structured, and async-aware diagnostics.  The Subscriber trait represents the
-functionality necessary to collect this trace data.  This crate contains tools
-for composing subscribers out of smaller units of behaviour, and
-batteries-included implementations of common subscriber functionality.
-
-Tracing-subscriber is intended for use by both Subscriber authors and
-application authors using tracing to instrument their applications.")
-    (license license:expat)))
+        ("rust-tracing-log" ,rust-tracing-log-0.1))))))
 
 (define-public rust-tracing-subscriber-0.1
   (package
-- 
2.34.0
Z
[PATCH 18/39] gnu: rust-salsa-macros-0.17: Update to 0.17.0-pre.2.
(address . 53208@debbugs.gnu.org)
tencent_9037B5E09B3BA919591F7F193A8CE5E52508@qq.com
* gnu/packages/crates-io.scm (rust-salsa-macros-0.17): Update to 0.17.0-pre.2.
---
gnu/packages/crates-io.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 66d8f50ac9..b8e1ed9a9d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -47213,7 +47213,7 @@ (define-public rust-s3handler-0.5
 (define-public rust-salsa-macros-0.17
   (package
     (name "rust-salsa-macros")
-    (version "0.17.0-pre.1")
+    (version "0.17.0-pre.2")
     (source
      (origin
        (method url-fetch)
@@ -47222,7 +47222,7 @@ (define-public rust-salsa-macros-0.17
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1yrjiriw5bb0gxl2dk7c5ng7g5wlkc4gd65czx5x99bzc9hc0brf"))))
+         "1xrgb38l5fhv3lqx2lwnqc3s2zrgxmj63cd7kl0vyl7m5lsjwv5c"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build?
-- 
2.34.0
Z
[PATCH 20/39] gnu: Add rust-tracing-tree-0.2.
(address . 53208@debbugs.gnu.org)
tencent_E7A41E6589FFF9EA3894FB96B0D6326DDE0A@qq.com
* gnu/packages/crates-io.scm (rust-tracing-tree-0.2): New variable.
(rust-tracing-tree-0.1): Inherit from above.
---
gnu/packages/crates-io.scm | 45 ++++++++++++++++++++++++++++++--------
1 file changed, 36 insertions(+), 9 deletions(-)

Toggle diff (67 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 393005d075..a6632e123f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -59566,8 +59566,43 @@ (define-public rust-tracing-subscriber-0.1
         ("rust-tracing" ,rust-tracing-0.1)
         ("rust-tracing-log" ,rust-tracing-log-0.1))))))
 
+(define-public rust-tracing-tree-0.2
+  (package
+    (name "rust-tracing-tree")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tracing-tree" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1rrlw6kc61q0g5y4d4i3zjfn9167xqqa5m2d13z62zrcjv4qks9w"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-ansi-term" ,rust-ansi-term-0.12)
+        ("rust-atty" ,rust-atty-0.2)
+        ("rust-tracing-core" ,rust-tracing-core-0.1)
+        ("rust-tracing-log" ,rust-tracing-log-0.1)
+        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))
+       #:cargo-development-inputs
+       (("rust-tracing" ,rust-tracing-0.1)
+        ("rust-glob" ,rust-glob-0.3)
+        ("rust-assert-cmd" ,rust-assert-cmd-1)
+        ("rust-log" ,rust-log-0.4))))
+    (home-page
+     "https://github.com/davidbarsky/tracing-tree")
+    (synopsis
+     "Tracing Layer which prints a tree of spans and events")
+    (description
+     "This package provides a Tracing Layer which prints a tree of spans and
+events.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-tracing-tree-0.1
   (package
+    (inherit rust-tracing-tree-0.2)
     (name "rust-tracing-tree")
     (version "0.1.9")
     (source
@@ -59593,15 +59628,7 @@ (define-public rust-tracing-tree-0.1
        #:cargo-development-inputs
         (("rust-assert-cmd" ,rust-assert-cmd-1)
          ("rust-glob" ,rust-glob-0.3)
-         ("rust-log" ,rust-log-0.4))))
-    (home-page
-     "https://github.com/davidbarsky/tracing-tree")
-    (synopsis
-     "Tracing Layer which prints a tree of spans and events")
-    (description
-     "This package provides a Tracing Layer which prints a tree of spans and
-events.")
-    (license (list license:expat license:asl2.0))))
+         ("rust-log" ,rust-log-0.4))))))
 
 (define-public rust-trackable-1
   (package
-- 
2.34.0
Z
[PATCH 23/39] gnu: Add rust-cargo-metadata-0.14.
(address . 53208@debbugs.gnu.org)
tencent_E65FAA4196E35F9ECE4DB967895FADE42606@qq.com
* gnu/packages/crates-io.scm (rust-cargo-metadata-0.14): New variable.
(rust-cargo-metadata-0.13): Inherit from above.
---
gnu/packages/crates-io.scm | 35 ++++++++++++++++++++++++++++++-----
1 file changed, 30 insertions(+), 5 deletions(-)

Toggle diff (71 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d5bbb71cac..f75329941e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8694,10 +8694,10 @@ (define-public rust-cargo-0.53
 the library crate of Cargo.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-cargo-metadata-0.13
+(define-public rust-cargo-metadata-0.14
   (package
     (name "rust-cargo-metadata")
-    (version "0.13.0")
+    (version "0.14.1")
     (source
      (origin
        (method url-fetch)
@@ -8706,7 +8706,7 @@ (define-public rust-cargo-metadata-0.13
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "11cnz97byqswmhpbbig9hss5kf8bmxq9nd5xjg3l2rsnnv040i32"))))
+         "04kfzvmh80pq0bw1cwzlz71wfrign2k7792mc4gi8hs1jkgfcams"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -8714,8 +8714,7 @@ (define-public rust-cargo-metadata-0.13
        (("rust-camino" ,rust-camino-1)
         ("rust-cargo-platform" ,rust-cargo-platform-0.1)
         ("rust-derive-builder" ,rust-derive-builder-0.9)
-        ("rust-semver" ,rust-semver-0.11)
-        ("rust-semver-parser" ,rust-semver-parser-0.10)
+        ("rust-semver" ,rust-semver-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1))))
     (home-page "https://github.com/oli-obk/cargo_metadata")
@@ -8725,6 +8724,32 @@ (define-public rust-cargo-metadata-0.13
 metadata}.")
     (license license:expat)))
 
+(define-public rust-cargo-metadata-0.13
+  (package
+    (inherit rust-cargo-metadata-0.14)
+    (name "rust-cargo-metadata")
+    (version "0.13.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "cargo-metadata" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "11cnz97byqswmhpbbig9hss5kf8bmxq9nd5xjg3l2rsnnv040i32"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-camino" ,rust-camino-1)
+        ("rust-cargo-platform" ,rust-cargo-platform-0.1)
+        ("rust-derive-builder" ,rust-derive-builder-0.9)
+        ("rust-semver" ,rust-semver-0.11)
+        ("rust-semver-parser" ,rust-semver-parser-0.10)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1))))))
+
 (define-public rust-cargo-metadata-0.9
   (package
     (inherit rust-cargo-metadata-0.13)
-- 
2.34.0
Z
[PATCH 24/39] gnu: rust-synstructure-0.12: Update to 0.12.6.
(address . 53208@debbugs.gnu.org)
tencent_DC87AABCA7A4B276775322952F0BE6CF4B05@qq.com
* gnu/packages/crates-io.scm (rust-synstructure-0.12): Update to 0.12.6.
[arguments]:<#:cargo-development-inputs>: Add
rust-synstructure-test-traits-0.1.
<#:phases>: add fix-test phase.
---
gnu/packages/crates-io.scm | 29 +++++++++++++++++++----------
1 file changed, 19 insertions(+), 10 deletions(-)

Toggle diff (50 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f75329941e..51d86e6d64 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -54231,16 +54231,16 @@ (define-public rust-synom-0.11
 (define-public rust-synstructure-0.12
   (package
     (name "rust-synstructure")
-    (version "0.12.3")
+    (version "0.12.6")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "synstructure" version))
-        (file-name
-         (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "0igmc5fzpk6fg7kgff914j05lbpc6ai2wmji312v2h8vvjhnwrb7"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "synstructure" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "03r1lydbf3japnlpc4wka7y90pmz1i0danaj3f9a7b431akdlszk"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -54248,7 +54248,16 @@ (define-public rust-synstructure-0.12
        (("rust-unicode-xid" ,rust-unicode-xid-0.2)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-syn" ,rust-syn-1)
-        ("rust-quote" ,rust-quote-1))))
+        ("rust-quote" ,rust-quote-1))
+       #:cargo-development-inputs
+       (("rust-synstructure-test-traits" ,rust-synstructure-test-traits-0.1))
+       #:phases
+       (modify-phases %standard-phases
+         ;; https://github.com/mystor/synstructure/issues/51
+         (add-after 'unpack 'fix-test
+           (lambda _
+             (substitute* "src/lib.rs"
+               (("non_upper_case_globals )") "non_upper_case_globals)")))))))
     (home-page "https://github.com/mystor/synstructure")
     (synopsis "Helper methods and macros for custom derives")
     (description
-- 
2.34.0
Z
[PATCH 25/39] gnu: Add rust-chalk-derive-0.75.
(address . 53208@debbugs.gnu.org)
tencent_7EE515255EB5C69B50A97859E77FB43ADB08@qq.com
* gnu/packages/crates-io.scm (rust-chalk-derive-0.75): New variable.
(rust-chalk-derive-0.68): Inherit from above.
---
gnu/packages/crates-io.scm | 28 +++++++++++++++++++++++++---
1 file changed, 25 insertions(+), 3 deletions(-)

Toggle diff (57 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 51d86e6d64..771a891d93 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9158,10 +9158,10 @@ (define-public rust-cfg-if-0.1
        (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
         ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))))))
 
-(define-public rust-chalk-derive-0.68
+(define-public rust-chalk-derive-0.75
   (package
     (name "rust-chalk-derive")
-    (version "0.68.0")
+    (version "0.75.0")
     (source
      (origin
        (method url-fetch)
@@ -9170,7 +9170,7 @@ (define-public rust-chalk-derive-0.68
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0ss18zx2ddp50mvbwffs5jmmcs7a0pkiq1g62xa7z1bacvkm45ga"))))
+         "0v1i5sb1w2skqg5sjy3gimdglsq0in6mc1zz36qyc99lkrgknknm"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -9187,6 +9187,28 @@ (define-public rust-chalk-derive-0.68
 macros.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-chalk-derive-0.68
+  (package
+    (inherit rust-chalk-derive-0.75)
+    (name "rust-chalk-derive")
+    (version "0.68.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "chalk-derive" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ss18zx2ddp50mvbwffs5jmmcs7a0pkiq1g62xa7z1bacvkm45ga"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1)
+        ("rust-synstructure" ,rust-synstructure-0.12))))))
 (define-public rust-chalk-ir-0.68
   (package
     (name "rust-chalk-ir")
-- 
2.34.0
Z
[PATCH 26/39] gnu: Add rust-chalk-ir-0.75.
(address . 53208@debbugs.gnu.org)
tencent_6B9FAE4E57F94A0979ADC2A659AA6996C406@qq.com
* gnu/packages/crates-io.scm (rust-chalk-ir-0.75): New variable.
(rust-chalk-ir-0.68): Inherit from above.
---
gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++----
1 file changed, 27 insertions(+), 4 deletions(-)

Toggle diff (65 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 771a891d93..bcd841d290 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9209,10 +9209,11 @@ (define-public rust-chalk-derive-0.68
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1)
         ("rust-synstructure" ,rust-synstructure-0.12))))))
-(define-public rust-chalk-ir-0.68
+
+(define-public rust-chalk-ir-0.75
   (package
     (name "rust-chalk-ir")
-    (version "0.68.0")
+    (version "0.75.0")
     (source
      (origin
        (method url-fetch)
@@ -9221,13 +9222,13 @@ (define-public rust-chalk-ir-0.68
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0riyv4fjmxys8gsyrikn9in34cjcgwgj55qyaj9w9fld8kqxbmqr"))))
+         "12iyziaw14qb0wz3pqx70qwqa9r0qsi5d4y6j0g32yabs2hyay9b"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
-        ("rust-chalk-derive" ,rust-chalk-derive-0.68)
+        ("rust-chalk-derive" ,rust-chalk-derive-0.75)
         ("rust-lazy-static" ,rust-lazy-static-1))))
     (home-page "https://github.com/rust-lang/chalk")
     (synopsis
@@ -9237,6 +9238,28 @@ (define-public rust-chalk-ir-0.68
 clauses.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-chalk-ir-0.68
+  (package
+    (inherit rust-chalk-ir-0.75)
+    (name "rust-chalk-ir")
+    (version "0.68.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "chalk-ir" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0riyv4fjmxys8gsyrikn9in34cjcgwgj55qyaj9w9fld8kqxbmqr"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-chalk-derive" ,rust-chalk-derive-0.68)
+        ("rust-lazy-static" ,rust-lazy-static-1))))))
+
 (define-public rust-chalk-recursive-0.68
   (package
     (name "rust-chalk-recursive")
-- 
2.34.0
Z
[PATCH 27/39] gnu: Add rust-chalk-solve-0.75.
(address . 53208@debbugs.gnu.org)
tencent_5B99EB34952F9574D5BE6C3AA5966729FC0A@qq.com
* gnu/packages/crates-io.scm (rust-chalk-solve-0.75): New variable.
(rust-chalk-solve-0.68): Inherit from above.
---
gnu/packages/crates-io.scm | 43 +++++++++++++++++++++++++++++++-------
1 file changed, 36 insertions(+), 7 deletions(-)

Toggle diff (82 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index bcd841d290..68d5676ff9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9289,10 +9289,10 @@ (define-public rust-chalk-recursive-0.68
      "Recursive solver for the Chalk project")
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-chalk-solve-0.68
+(define-public rust-chalk-solve-0.75
   (package
     (name "rust-chalk-solve")
-    (version "0.68.0")
+    (version "0.75.0")
     (source
      (origin
        (method url-fetch)
@@ -9301,21 +9301,21 @@ (define-public rust-chalk-solve-0.68
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0dvf1rm1z7miwlsmynxfys0189r6mjq863p1wp4v3f2sm9fwvgqc"))))
+         "07gaf59zr7pgpr01l3si7a8iici2qh5dh2w2b05agaq5cvds3lm5"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-chalk-derive" ,rust-chalk-derive-0.68)
-        ("rust-chalk-ir" ,rust-chalk-ir-0.68)
+       (("rust-chalk-derive" ,rust-chalk-derive-0.75)
+        ("rust-chalk-ir" ,rust-chalk-ir-0.75)
         ("rust-ena" ,rust-ena-0.14)
         ("rust-itertools" ,rust-itertools-0.10)
         ("rust-petgraph" ,rust-petgraph-0.5)
         ("rust-rustc-hash" ,rust-rustc-hash-1)
         ("rust-tracing" ,rust-tracing-0.1)
         ("rust-tracing-subscriber"
-         ,rust-tracing-subscriber-0.2)
-        ("rust-tracing-tree" ,rust-tracing-tree-0.1))))
+         ,rust-tracing-subscriber-0.3)
+        ("rust-tracing-tree" ,rust-tracing-tree-0.2))))
     (home-page "https://github.com/rust-lang/chalk")
     (synopsis
      "Combines the chalk-engine with chalk-ir")
@@ -9323,6 +9323,35 @@ (define-public rust-chalk-solve-0.68
      "This package provides a combines the chalk-engine with chalk-ir.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-chalk-solve-0.68
+  (package
+    (inherit rust-chalk-solve-0.75)
+    (name "rust-chalk-solve")
+    (version "0.68.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "chalk-solve" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0dvf1rm1z7miwlsmynxfys0189r6mjq863p1wp4v3f2sm9fwvgqc"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-chalk-derive" ,rust-chalk-derive-0.68)
+        ("rust-chalk-ir" ,rust-chalk-ir-0.68)
+        ("rust-ena" ,rust-ena-0.14)
+        ("rust-itertools" ,rust-itertools-0.10)
+        ("rust-petgraph" ,rust-petgraph-0.5)
+        ("rust-rustc-hash" ,rust-rustc-hash-1)
+        ("rust-tracing" ,rust-tracing-0.1)
+        ("rust-tracing-subscriber"
+         ,rust-tracing-subscriber-0.2)
+        ("rust-tracing-tree" ,rust-tracing-tree-0.1))))))
+
 (define-public rust-charset-0.1
   (package
     (name "rust-charset")
-- 
2.34.0
Z
[PATCH 28/39] gnu: Add rust-chalk-recursive-0.75.
(address . 53208@debbugs.gnu.org)
tencent_71C26A9F36715357B22EFEC67538CBDB4A09@qq.com
* gnu/packages/crates-io.scm (rust-chalk-recursive-0.75): New variable.
(rust-chalk-recursive-0.68): Inherit from above.
---
gnu/packages/crates-io.scm | 36 ++++++++++++++++++++++++++++++------
1 file changed, 30 insertions(+), 6 deletions(-)

Toggle diff (69 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 68d5676ff9..2a2ef6bc72 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9260,10 +9260,10 @@ (define-public rust-chalk-ir-0.68
         ("rust-chalk-derive" ,rust-chalk-derive-0.68)
         ("rust-lazy-static" ,rust-lazy-static-1))))))
 
-(define-public rust-chalk-recursive-0.68
+(define-public rust-chalk-recursive-0.75
   (package
     (name "rust-chalk-recursive")
-    (version "0.68.0")
+    (version "0.75.0")
     (source
      (origin
        (method url-fetch)
@@ -9272,14 +9272,14 @@ (define-public rust-chalk-recursive-0.68
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "11ak4zl5lgyh88scjm91fc9wjcyxb4s1kkcanhhi0ci755nl1pz0"))))
+         "11bnn0yn9np4mar4nryys6w1ijizj3y9dcz3xbldxzx6fplmk7y3"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-chalk-derive" ,rust-chalk-derive-0.68)
-        ("rust-chalk-ir" ,rust-chalk-ir-0.68)
-        ("rust-chalk-solve" ,rust-chalk-solve-0.68)
+       (("rust-chalk-derive" ,rust-chalk-derive-0.75)
+        ("rust-chalk-ir" ,rust-chalk-ir-0.75)
+        ("rust-chalk-solve" ,rust-chalk-solve-0.75)
         ("rust-rustc-hash" ,rust-rustc-hash-1)
         ("rust-tracing" ,rust-tracing-0.1))))
     (home-page "https://github.com/rust-lang/chalk")
@@ -9289,6 +9289,30 @@ (define-public rust-chalk-recursive-0.68
      "Recursive solver for the Chalk project")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-chalk-recursive-0.68
+  (package
+    (inherit rust-chalk-recursive-0.75)
+    (name "rust-chalk-recursive")
+    (version "0.68.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "chalk-recursive" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "11ak4zl5lgyh88scjm91fc9wjcyxb4s1kkcanhhi0ci755nl1pz0"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-chalk-derive" ,rust-chalk-derive-0.68)
+        ("rust-chalk-ir" ,rust-chalk-ir-0.68)
+        ("rust-chalk-solve" ,rust-chalk-solve-0.68)
+        ("rust-rustc-hash" ,rust-rustc-hash-1)
+        ("rust-tracing" ,rust-tracing-0.1))))))
+
 (define-public rust-chalk-solve-0.75
   (package
     (name "rust-chalk-solve")
-- 
2.34.0
Z
[PATCH 29/39] gnu: Add rust-pulldown-cmark-to-cmark-7.
(address . 53208@debbugs.gnu.org)
tencent_5CEA5895B39758D4266CBAA416640DFF550A@qq.com
* gnu/packages/crates-io.scm (rust-pulldown-cmark-to-cmark-7): New variable.
(rust-pulldown-cmark-to-cmark-6): Inherit from above.
---
gnu/packages/crates-io.scm | 64 ++++++++++++++++++++++++++------------
1 file changed, 44 insertions(+), 20 deletions(-)

Toggle diff (88 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2a2ef6bc72..d459229a8d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -41249,37 +41249,61 @@ (define-public rust-pulldown-cmark-0.0.8
        (("rust-bitflags" ,rust-bitflags-0.5)
         ("rust-getopts" ,rust-getopts-0.2))))))
 
-(define-public rust-pulldown-cmark-to-cmark-6
+(define-public rust-pulldown-cmark-to-cmark-7
   (package
     (name "rust-pulldown-cmark-to-cmark")
-    (version "6.0.0")
+    (version "7.1.1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "pulldown-cmark-to-cmark" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "08yyjr60jk8f4v4sqcgmna5n9y31l6lx3z9lak38wd82h63vkwp8"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pulldown-cmark-to-cmark" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "03f6bnqjzchmzs4qaf63pirgj95b0x3l2rlp1wj1z27mp734phcb"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build? #t
-        #:cargo-inputs
-        (("rust-pulldown-cmark" ,rust-pulldown-cmark-0.8))
-        #:cargo-development-inputs
-        (("rust-indoc" ,rust-indoc-1)
-         ("rust-pretty-assertions"
-          ,rust-pretty-assertions-0.6))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-pulldown-cmark" ,rust-pulldown-cmark-0.8))
+       #:cargo-development-inputs
+       (("rust-indoc" ,rust-indoc-1)
+        ("rust-pretty-assertions"
+         ,rust-pretty-assertions-0.7))))
     (home-page
-      "https://github.com/Byron/pulldown-cmark-to-cmark")
+     "https://github.com/Byron/pulldown-cmark-to-cmark")
     (synopsis
-      "Convert pulldown-cmark Events back to the string they were parsed from")
+     "Convert pulldown-cmark Events back to the string they were parsed from")
     (description
-      "This package provides a convert pulldown-cmark Events back to the string
+     "This package provides a convert pulldown-cmark Events back to the string
 they were parsed from")
     (license license:asl2.0)))
 
+(define-public rust-pulldown-cmark-to-cmark-6
+  (package
+    (inherit rust-pulldown-cmark-to-cmark-7)
+    (name "rust-pulldown-cmark-to-cmark")
+    (version "6.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pulldown-cmark-to-cmark" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "08yyjr60jk8f4v4sqcgmna5n9y31l6lx3z9lak38wd82h63vkwp8"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-pulldown-cmark" ,rust-pulldown-cmark-0.8))
+       #:cargo-development-inputs
+       (("rust-indoc" ,rust-indoc-1)
+        ("rust-pretty-assertions"
+         ,rust-pretty-assertions-0.6))))))
+
 (define-public rust-pulse-0.5
   (package
     (name "rust-pulse")
-- 
2.34.0
Z
[PATCH 30/39] gnu: rust-memchr-2: Update to 2.4.1.
(address . 53208@debbugs.gnu.org)
tencent_26BAD490ACAA3F731D89728D92865AF9CD07@qq.com
* gnu/packages/crates-io.scm (rust-memchr-2): Update to 2.4.1.
---
gnu/packages/crates-io.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d459229a8d..9dce8a07e4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -30457,7 +30457,7 @@ (define-public rust-measureme-0.7
 (define-public rust-memchr-2
   (package
     (name "rust-memchr")
-    (version "2.4.0")
+    (version "2.4.1")
     (source
       (origin
         (method url-fetch)
@@ -30466,7 +30466,7 @@ (define-public rust-memchr-2
          (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "1p478fqf4nia2ma0kv4npb8x1hli0zz6k16517ikb51jkryx8sxi"))))
+          "0smq8xzd40njqpfzv5mghigj91fzlfrfg842iz8x0wqvw2dw731h"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
-- 
2.34.0
Z
[PATCH 32/39] gnu: Add rust-lsp-types-0.91.
(address . 53208@debbugs.gnu.org)
tencent_D0DBB5379B13A90059497FE83A06E5BD2508@qq.com
* gnu/packages/crates-io.scm (rust-lsp-types-0.91): New variable.
(rust-lsp-types-0.89): Inherit from above.
---
gnu/packages/crates-io.scm | 58 +++++++++++++++++++++++++++-----------
1 file changed, 41 insertions(+), 17 deletions(-)

Toggle diff (83 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8e4c6e6f47..a9b6405f45 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -29433,28 +29433,28 @@ (define-public rust-lscolors-0.6
         (base32
          "0jxsgkn378kxkiqdshdjdclw5wwp2xaz45cqd3yw85fhn8a38fza"))))))
 
-(define-public rust-lsp-types-0.89
+(define-public rust-lsp-types-0.91
   (package
     (name "rust-lsp-types")
-    (version "0.89.2")
+    (version "0.91.1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "lsp-types" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "18h9dckjy11pz2lpd5lm12vvfcds1qg67clqalr35k2jzpnhsbl5"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "lsp-types" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1bk8iy7s80i2iqj1siyfm0rsdq2vwvz7lclsrcrx2pa2b4n32s13"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build? #t
-        #:cargo-inputs
-        (("rust-bitflags" ,rust-bitflags-1)
-         ("rust-serde" ,rust-serde-1)
-         ("rust-serde-json" ,rust-serde-json-1)
-         ("rust-serde-repr" ,rust-serde-repr-0.1)
-         ("rust-url" ,rust-url-2))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1)
+        ("rust-serde-repr" ,rust-serde-repr-0.1)
+        ("rust-url" ,rust-url-2))))
     (home-page "https://github.com/gluon-lang/lsp-types")
     (synopsis "Types for interaction with a language server")
     (description
@@ -29462,6 +29462,30 @@ (define-public rust-lsp-types-0.89
 server (LSP).")
     (license license:expat)))
 
+(define-public rust-lsp-types-0.89
+  (package
+    (inherit rust-lsp-types-0.91)
+    (name "rust-lsp-types")
+    (version "0.89.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "lsp-types" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "18h9dckjy11pz2lpd5lm12vvfcds1qg67clqalr35k2jzpnhsbl5"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1)
+        ("rust-serde-repr" ,rust-serde-repr-0.1)
+        ("rust-url" ,rust-url-2))))))
+
 (define-public rust-lsp-types-0.83
   (package
     (inherit rust-lsp-types-0.89)
-- 
2.34.0
Z
[PATCH 31/39] gnu: Add rust-object-0.28.
(address . 53208@debbugs.gnu.org)
tencent_D652ADB21CFE2C75E8CABB4A706A25361509@qq.com
* gnu/packages/crates-io.scm (rust-object-0.28): New variable.
(rust-object-0.24): Inherit from above.
---
gnu/packages/crates-io.scm | 49 ++++++++++++++++++++++++++++++++++----
1 file changed, 45 insertions(+), 4 deletions(-)

Toggle diff (92 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9dce8a07e4..8e4c6e6f47 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -35255,10 +35255,10 @@ (define-public rust-objc-test-utils-0.0
      "This package provides utilities for testing Objective-C interop.")
     (license license:expat)))
 
-(define-public rust-object-0.24
+(define-public rust-object-0.28
   (package
     (name "rust-object")
-    (version "0.24.0")
+    (version "0.28.2")
     (source
      (origin
        (method url-fetch)
@@ -35267,7 +35267,7 @@ (define-public rust-object-0.24
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0w21hp41mixzaavsdpjylbylh44z2b5d2wbnf5ipkvkjq38ksnqs"))))
+         "1wgv6gx69rpn4jjqs24kvafwsic1q06iaafs5mb9hy34hp7c3x89"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -35276,14 +35276,24 @@ (define-public rust-object-0.24
          ,rust-compiler-builtins-0.1)
         ("rust-crc32fast" ,rust-crc32fast-1)
         ("rust-flate2" ,rust-flate2-1)
+        ("rust-hashbrown" ,rust-hashbrown-0.11)
         ("rust-indexmap" ,rust-indexmap-1)
+        ("rust-memchr" ,rust-memchr-2)
         ("rust-rustc-std-workspace-alloc"
          ,rust-rustc-std-workspace-alloc-1)
         ("rust-rustc-std-workspace-core"
          ,rust-rustc-std-workspace-core-1)
         ("rust-wasmparser" ,rust-wasmparser-0.57))
        #:cargo-development-inputs
-       (("rust-memmap" ,rust-memmap-0.7))))
+       (("rust-memmap" ,rust-memmap-0.7))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-version-requirements
+           (lambda _
+             (substitute* "Cargo.toml"
+               (("1.6.\\*")
+                ,(package-version rust-indexmap-1)))
+             #t)))))
     (home-page "https://github.com/gimli-rs/object")
     (synopsis "Unified interface for reading and writing object file formats")
     (description
@@ -35291,6 +35301,37 @@ (define-public rust-object-0.24
 file formats.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-object-0.24
+  (package
+    (inherit rust-object-0.28)
+    (name "rust-object")
+    (version "0.24.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "object" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0w21hp41mixzaavsdpjylbylh44z2b5d2wbnf5ipkvkjq38ksnqs"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-compiler-builtins"
+         ,rust-compiler-builtins-0.1)
+        ("rust-crc32fast" ,rust-crc32fast-1)
+        ("rust-flate2" ,rust-flate2-1)
+        ("rust-indexmap" ,rust-indexmap-1)
+        ("rust-rustc-std-workspace-alloc"
+         ,rust-rustc-std-workspace-alloc-1)
+        ("rust-rustc-std-workspace-core"
+         ,rust-rustc-std-workspace-core-1)
+        ("rust-wasmparser" ,rust-wasmparser-0.57))
+       #:cargo-development-inputs
+       (("rust-memmap" ,rust-memmap-0.7))))))
+
 (define-public rust-object-0.23
   (package
     (inherit rust-object-0.24)
-- 
2.34.0
Z
[PATCH 34/39] gnu: Add rust-kqueue-1.
(address . 53208@debbugs.gnu.org)
tencent_47A92B593A7F223AC7E5EE25D6B57D9B3408@qq.com
* gnu/packages/crates-io.scm (rust-kqueue-1): New variable.
---
gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0ddc8b3ca8..71608a3ac5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -27251,6 +27251,29 @@ (define-public rust-kqueue-sys-1
     (description "This package provides a low-level kqueue interface for BSDs.")
     (license license:expat)))
 
+(define-public rust-kqueue-1
+  (package
+    (name "rust-kqueue")
+    (version "1.0.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "kqueue" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1ad4vifr0kmla8a5pgig7plx5kmc9w7k1h9mgm6fk2sgg1x112h5"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-kqueue-sys" ,rust-kqueue-sys-1) ("rust-libc" ,rust-libc-0.2))
+       #:cargo-development-inputs
+       (("rust-tempfile" ,rust-tempfile-3))))
+    (home-page "https://gitlab.com/worr/rust-kqueue")
+    (synopsis "kqueue interface for BSDs")
+    (description "This package provides a kqueue interface for BSDs.")
+    (license license:expat)))
+
 (define-public rust-kv-log-macro-1
   (package
     (name "rust-kv-log-macro")
-- 
2.34.0
Z
[PATCH 33/39] gnu: Add rust-kqueue-sys-1.
(address . 53208@debbugs.gnu.org)
tencent_98AC91BF6C1DF5F2BA92995ACCCDE6D4CC07@qq.com
* gnu/packages/crates-io.scm (rust-kqueue-sys-1): New variable.
---
gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a9b6405f45..0ddc8b3ca8 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -27229,6 +27229,28 @@ (define-public rust-khronos-api-3
      "The Khronos XML API Registry, exposed as byte string constants.")
     (license license:asl2.0)))
 
+(define-public rust-kqueue-sys-1
+  (package
+    (name "rust-kqueue-sys")
+    (version "1.0.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "kqueue-sys" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "11z5labbms9vn9m6csi5383dmrlmdgsxq13ls9fwa6zhi5a5hrw3"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build?
+       #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1) ("rust-libc" ,rust-libc-0.2))))
+    (home-page "https://gitlab.com/worr/rust-kqueue-sys")
+    (synopsis "Low-level kqueue interface for BSDs")
+    (description "This package provides a low-level kqueue interface for BSDs.")
+    (license license:expat)))
+
 (define-public rust-kv-log-macro-1
   (package
     (name "rust-kv-log-macro")
-- 
2.34.0
Z
[PATCH 35/39] gnu: Add rust-fsevent-sys-4.
(address . 53208@debbugs.gnu.org)
tencent_6D9DA9F2B6929B5A814DA354BBACCEBF7707@qq.com
* gnu/packages/crates-io.scm (rust-fsevent-sys-4): New variable.
(rust-fsevent-sys-3): Inherit from above.
---
gnu/packages/crates-io.scm | 26 +++++++++++++++++++++++---
1 file changed, 23 insertions(+), 3 deletions(-)

Toggle diff (55 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 71608a3ac5..57383de266 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20316,10 +20316,10 @@ (define-public rust-fsevent-0.4
         (("rust-tempdir" ,rust-tempdir-0.3)
          ("rust-time" ,rust-time-0.1))))))
 
-(define-public rust-fsevent-sys-3
+(define-public rust-fsevent-sys-4
   (package
     (name "rust-fsevent-sys")
-    (version "3.1.0")
+    (version "4.1.0")
     (source
      (origin
        (method url-fetch)
@@ -20328,7 +20328,7 @@ (define-public rust-fsevent-sys-3
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1mav57d1zcp4x17h0wprcr188d8yvxfz1c0f1z0p31q52xl5wvya"))))
+         "1liz67v8b0gcs8r31vxkvm2jzgl9p14i78yfqx81c8sdv817mvkn"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -20340,6 +20340,26 @@ (define-public rust-fsevent-sys-3
 macOS API for file changes notifications")
     (license license:expat)))
 
+(define-public rust-fsevent-sys-3
+  (package
+    (inherit rust-fsevent-sys-4)
+    (name "rust-fsevent-sys")
+    (version "3.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "fsevent-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1mav57d1zcp4x17h0wprcr188d8yvxfz1c0f1z0p31q52xl5wvya"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2))))))
+
 (define-public rust-fsevent-sys-2
   (package
     (inherit rust-fsevent-sys-3)
-- 
2.34.0
Z
[PATCH 36/39] gnu: rust-normalize-line-endings-0.2: Update to 5.0.0-pre.13.
(address . 53208@debbugs.gnu.org)
tencent_E68AA55A64B1FC05E900953B95E0D5C66E0A@qq.com
* gnu/packages/crates-io.scm (rust-normalize-line-endings-0.2): Update to
5.0.0-pre.13.
[arguments]: <#:cargo-inputs>: add rust-kqueue-1.
<#:cargo-development-inputs>: add rust-futures,rust-tempfile.
<#:phases>: remove it.
---
gnu/packages/crates-io.scm | 18 +++++++-----------
1 file changed, 7 insertions(+), 11 deletions(-)

Toggle diff (52 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 57383de266..57c348fb0f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -34218,7 +34218,7 @@ (define-public rust-normalize-line-endings-0.2
 (define-public rust-notify-5
   (package
     (name "rust-notify")
-    (version "5.0.0-pre.8")
+    (version "5.0.0-pre.13")
     (source
       (origin
         (method url-fetch)
@@ -34227,7 +34227,7 @@ (define-public rust-notify-5
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "0jq1ixzi7rgq233dxbxkn129n8lidswp1glsgbdhvw7ig38brfs6"))))
+            "0za8mpacxkr62fii5h7ny4h396y0m8myd3hf08njqdg2h21kap94"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build? #t
@@ -34237,7 +34237,8 @@ (define-public rust-notify-5
           ,rust-crossbeam-channel-0.5)
          ("rust-filetime" ,rust-filetime-0.2)
          ("rust-fsevent" ,rust-fsevent-2)
-         ("rust-fsevent-sys" ,rust-fsevent-sys-3)
+         ("rust-fsevent-sys" ,rust-fsevent-sys-4)
+         ("rust-kqueue" ,rust-kqueue-1)
          ("rust-inotify" ,rust-inotify-0.9)
          ("rust-libc" ,rust-libc-0.2)
          ("rust-mio" ,rust-mio-0.7)
@@ -34245,14 +34246,9 @@ (define-public rust-notify-5
          ("rust-walkdir" ,rust-walkdir-2)
          ("rust-winapi" ,rust-winapi-0.3))
         #:cargo-development-inputs
-        (("rust-serde-json" ,rust-serde-json-1))
-        #:phases
-        (modify-phases %standard-phases
-          (add-after 'unpack 'fix-version-requirements
-           (lambda _
-             (substitute* "Cargo.toml"
-               (("0.7.7") ,(package-version rust-mio-0.7)))
-             #t)))))
+        (("rust-serde-json" ,rust-serde-json-1)
+         ("rust-futures" ,rust-futures-0.3)
+         ("rust-tempfile" ,rust-tempfile-3))))
     (home-page "https://github.com/notify-rs/notify")
     (synopsis
       "Cross-platform filesystem notification library")
-- 
2.34.0
Z
[PATCH 37/39] gnu: rust-pulldown-cmark-0.8: update #:cargo-inputs rust-bitflags.
(address . 53208@debbugs.gnu.org)
tencent_EBBF0C1DA372A792FF5AE8CD89D4D5ACA207@qq.com
* gnu/packages/crates-io.scm (rust-pulldown-cmark-0.8):
[arguments]: <#:cargo-inputs>: Use rust-bitflags-1.3 replace rust-bitflags-1.

rust-analyzer need rust-pulldown-cmark-0.8 use rust-bitflags-1.3 build,
else:

error[E0599]: no method named `union` found for struct `pulldown_cmark::Options` in the current scope
--> crates/ide/src/doc_links.rs:36:31
|
36 | Options::ENABLE_FOOTNOTES.union(Options::ENABLE_TABLES).union(Options::ENABLE_TASKLISTS);
| ^^^^^ method not found in `pulldown_cmark::Options`
---
gnu/packages/crates-io.scm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

Toggle diff (18 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 57c348fb0f..0aece30beb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -41266,7 +41266,10 @@ (define-public rust-pulldown-cmark-0.8
     (arguments
       `(#:skip-build? #t
         #:cargo-inputs
-        (("rust-bitflags" ,rust-bitflags-1)
+        (;; use rust-bitflags-1.3 make rust-analyzer build success
+         ;; else build rust-analyzer sey: no method named `union` found for
+         ;; struct `pulldown_cmark::Options` in the current scope
+         ("rust-bitflags" ,rust-bitflags-1.3)
          ("rust-getopts" ,rust-getopts-0.2)
          ("rust-memchr" ,rust-memchr-2)
          ("rust-unicase" ,rust-unicase-2))
-- 
2.34.0
Z
[PATCH 39/39] gnu: rust-analyzer: Make it out of box.
(address . 53208@debbugs.gnu.org)
tencent_9856C05FBECE47F96849412DCAA67FAA6F06@qq.com
* gnu/packages/rust-apps.scm (rust-src): New variable.
(rust-analyzer): [arguments]: <#:phases>: Add wrap-program phase.
[inputs]: Add rust-src.
---
gnu/packages/rust-apps.scm | 44 ++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)

Toggle diff (78 lines)
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 2831b1401f..f7604ec546 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -33,6 +33,7 @@
 (define-module (gnu packages rust-apps)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system cargo)
+  #:use-module (guix build-system copy)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix packages)
@@ -1158,6 +1159,24 @@ (define-public watchexec
 runs a command whenever it detects modifications.")
     (license license:asl2.0)))
 
+(define-public rust-src
+  (hidden-package
+   (package
+     (inherit rust-1.57)
+     (name "rust-src")
+     (build-system copy-build-system)
+     (native-inputs '())
+     (inputs '())
+     (native-search-paths '())
+     (outputs '("out"))
+     (arguments
+      `(#:install-plan
+        '(("library" "lib/rustlib/src/rust/library")
+          ("src" "lib/rustlib/src/rust/src"))))
+     (synopsis "Source code for the Rust standard library")
+     (description "This package provide source code for the Rust standard
+library, only use by rust-analyzer, make rust-analyzer out of box."))))
+
 (define-public rust-analyzer
   (package
     (name "rust-analyzer")
@@ -1290,6 +1309,30 @@ (define-public rust-analyzer
          (add-before 'install 'chdir
            (lambda _
              (chdir "crates/rust-analyzer")))
+         (add-after 'install 'wrap-program
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin"))
+                    (rust-src-path (search-input-directory
+                                    inputs "/lib/rustlib/src/rust/library")))
+               ;; if not get environment variable RUST_SRC_PATH, set it,
+               ;; make rust-analyzer out of box.
+               (with-directory-excursion bin
+                 (let* ((prog "rust-analyzer")
+                        (wrapped-file (string-append (dirname prog)
+                                                     "/." (basename prog) "-real"))
+                        (prog-tmp (string-append wrapped-file "-tmp")))
+                   (link prog wrapped-file)
+                   (call-with-output-file prog-tmp
+                     (lambda (port)
+                       (format port "#!~a
+if test -z \"${RUST_SRC_PATH}\";then export RUST_SRC_PATH=~S;fi;
+exec -a \"$0\" \"~a\" \"$@\""
+                               (which "bash")
+                               rust-src-path
+                               (canonicalize-path wrapped-file))))
+                   (chmod prog-tmp #o755)
+                   (rename-file prog-tmp prog))))))
          (replace 'install-license-files
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -1298,6 +1341,7 @@ (define-public rust-analyzer
                (chdir "../..")
                (install-file "LICENSE-MIT" doc)
                (install-file "LICENSE-APACHE" doc)))))))
+    (inputs (list rust-src))
     (home-page "https://rust-analyzer.github.io/")
     (synopsis "Experimental Rust compiler front-end for IDEs")
     (description "Rust-analyzer is a modular compiler frontend for the Rust
-- 
2.34.0
Z
[PATCH 38/39] gnu: rust-analyzer: Update to 2022-01-10.
(address . 53208@debbugs.gnu.org)
tencent_DDA6BCB544AEF678B32DB53DCBECAF4E8705@qq.com
* gnu/packages/rust-apps.scm (rust-analyzer): Update to 2022-01-10.
[arguments]: Add #:rust rust-1.57.
<#:cargo-test-flags>: Skip two fail test.
<#:cargo-inputs>:
Add rust-typed-arena-2. Remove rust-tracing-tree-0.1
Use rust-cargo-metadata-0.14 replace rust-cargo-metadata-0.13,
use rust-chalk-ir-0.75 replace rust-chalk-ir-0.68,
use rust-chalk-recursive-0.75 replace rust-chalk-recursive-0.68,
use rust-countme-3 replace rust-countme-2,
use rust-cov-mark-2 replace rust-cov-mark-1,
use rust-lsp-types-0.91 replace rust-lsp-types-0.89,
use rust-memmap2-0.5 replace rust-memmap2-0.2,
use rust-miow-0.4 replace rust-miow-0.3,
use rust-object-0.28 replace rust-object-0.24,
use rust-pulldown-cmark-to-cmark-7 replace rust-pulldown-cmark-to-cmark-6,
use rust-rowan-0.15 replace rust-rowan-0.13,
use rust-rustc-ap-rustc-lexer-725 replace rust-rustc-ap-rustc-lexer-721.
Move rust-quote-1 to #:cargo-development-inputs,
Move rust-expect-test-1 to #:cargo-development-inputs,
move rust-rayon-1 to #:cargo-development-inputs,
move rust-tracing-0.1 to #:cargo-development-inputs,
move rust-ungrammar-1 to #:cargo-development-inputs.
<#:cargo-development-inputs>:
Add rust-arbitrary-1, rust-derive-arbitrary, rust-tracing-subscriber-0.3,
rust-tracing-tree-0.2.
<#:phases>:
Remove patch-build-failures.
Add install-doc, chdir phase.
Remove replace install phase.
Replace install-license-files phase.
Update fix-tests phase
---
gnu/packages/rust-apps.scm | 88 +++++++++++++++++++++++---------------
1 file changed, 53 insertions(+), 35 deletions(-)

Toggle diff (185 lines)
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 7dd60dd35b..2831b1401f 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -9,7 +9,7 @@
 ;;; Copyright © 2020–2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.ccom>
-;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2021, 2022 Zheng Junjie <873216071@qq.com>
 ;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
 ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
@@ -1161,7 +1161,7 @@ (define-public watchexec
 (define-public rust-analyzer
   (package
     (name "rust-analyzer")
-    (version "2021-06-07")
+    (version "2022-01-10")
     (source
      (origin
        ;; The crate at "crates.io" is empty.
@@ -1172,35 +1172,52 @@ (define-public rust-analyzer
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "06bc3s5kjwpyr2cq79p0306a9bqp3xp928d750ybby9npq2dvj3z"))))
+         "1ci85bp8xwqrk8nqr8sh6yj8njgd98nhgnhaks2g00c77wwyra41"))))
     (build-system cargo-build-system)
     (arguments
      `(#:install-source? #f             ; virtual manifest
+       #:rust ,rust-1.57
        #:cargo-test-flags
        '("--release" "--"
          "--skip=tests::test_version_check"         ;; It need rustc's version
          ;; FIXME: Guix's rust not install source in %out/lib/rustlib/src/rust
          ;; so "can't load standard library from sysroot"
          "--skip=tests::test_loading_rust_analyzer"
+         ;; Failed to run rustfmt from toolchain 'stable'.
+         ;; Please run `rustup component add rustfmt --toolchain stable` to install it
+         "--skip=tests::sourcegen::sourcegen_assists_docs" ;; Need rustfmt
+         "--skip=tests::sourcegen_ast::sourcegen_ast" ;; Same
+
          "--skip=tidy::cargo_files_are_tidy"        ;; Not need
          "--skip=tidy::check_licenses"              ;; It run cargo metadata.
          "--skip=tidy::check_merge_commits"         ;; It run git rev-list.
          "--skip=tidy::check_code_formatting"       ;; Need rustfmt as cargo fmt
          "--skip=tidy::generate_grammar"            ;; Same
          "--skip=tidy::generate_assists_tests")     ;; Same
+       #:cargo-development-inputs
+       (("rust-arbitrary" ,rust-arbitrary-1)
+        ("rust-derive-arbitrary" ,rust-derive-arbitrary-1)
+        ("rust-expect-test" ,rust-expect-test-1)
+        ("rust-oorandom" ,rust-oorandom-11.1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-rayon" ,rust-rayon-1)
+        ("rust-tracing" ,rust-tracing-0.1)
+        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)
+        ("rust-tracing-tree" ,rust-tracing-tree-0.2)
+        ("rust-ungrammar" ,rust-ungrammar-1))
        #:cargo-inputs
        (("rust-always-assert" ,rust-always-assert-0.1)
         ("rust-anyhow" ,rust-anyhow-1)
         ("rust-anymap" ,rust-anymap-0.12)
         ("rust-arrayvec" ,rust-arrayvec-0.7)
         ("rust-backtrace" ,rust-backtrace-0.3)
-        ("rust-cargo-metadata" ,rust-cargo-metadata-0.13)
+        ("rust-cargo-metadata" ,rust-cargo-metadata-0.14)
         ("rust-cfg-if" ,rust-cfg-if-1)
-        ("rust-chalk-ir" ,rust-chalk-ir-0.68)
-        ("rust-chalk-recursive" ,rust-chalk-recursive-0.68)
-        ("rust-chalk-solve" ,rust-chalk-solve-0.68)
-        ("rust-countme" ,rust-countme-2)
-        ("rust-cov-mark" ,rust-cov-mark-1)
+        ("rust-chalk-ir" ,rust-chalk-ir-0.75)
+        ("rust-chalk-recursive" ,rust-chalk-recursive-0.75)
+        ("rust-chalk-solve" ,rust-chalk-solve-0.75)
+        ("rust-countme" ,rust-countme-3)
+        ("rust-cov-mark" ,rust-cov-mark-2)
         ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
         ("rust-dashmap" ,rust-dashmap-4)
         ("rust-dissimilar" ,rust-dissimilar-1)
@@ -1209,7 +1226,6 @@ (define-public rust-analyzer
         ("rust-either" ,rust-either-1)
         ("rust-ena" ,rust-ena-0.14)
         ("rust-env-logger" ,rust-env-logger-0.8)
-        ("rust-expect-test" ,rust-expect-test-1)
         ("rust-flate2" ,rust-flate2-1)
         ("rust-fst" ,rust-fst-0.4)
         ("rust-home" ,rust-home-0.5)
@@ -1220,29 +1236,27 @@ (define-public rust-analyzer
         ("rust-libloading" ,rust-libloading-0.7)
         ("rust-log" ,rust-log-0.4)
         ("rust-lsp-server" ,rust-lsp-server-0.5)
-        ("rust-lsp-types" ,rust-lsp-types-0.89)
-        ("rust-memmap2" ,rust-memmap2-0.2)
+        ("rust-lsp-types" ,rust-lsp-types-0.91)
+        ("rust-memmap2" ,rust-memmap2-0.5)
         ("rust-mimalloc" ,rust-mimalloc-0.1)
-        ("rust-miow" ,rust-miow-0.3)
+        ("rust-miow" ,rust-miow-0.4)
         ("rust-notify" ,rust-notify-5)
-        ("rust-object" ,rust-object-0.24)
+        ("rust-object" ,rust-object-0.28)
         ("rust-once-cell" ,rust-once-cell-1)
-        ("rust-oorandom" ,rust-oorandom-11.1)
         ("rust-parking-lot" ,rust-parking-lot-0.11)
         ("rust-perf-event" ,rust-perf-event-0.4)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.8)
-        ("rust-pulldown-cmark-to-cmark" ,rust-pulldown-cmark-to-cmark-6)
-        ("rust-quote" ,rust-quote-1)
-        ("rust-rayon" ,rust-rayon-1)
-        ("rust-rowan" ,rust-rowan-0.13)
-        ("rust-rustc-ap-rustc-lexer" ,rust-rustc-ap-rustc-lexer-721)
+        ("rust-pulldown-cmark-to-cmark" ,rust-pulldown-cmark-to-cmark-7)
+        ("rust-rowan" ,rust-rowan-0.15)
+        ("rust-rustc-ap-rustc-lexer" ,rust-rustc-ap-rustc-lexer-725)
         ("rust-rustc-hash" ,rust-rustc-hash-1)
         ("rust-salsa" ,rust-salsa-0.17)
         ("rust-scoped-tls" ,rust-scoped-tls-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1)
         ("rust-serde-path-to-error" ,rust-serde-path-to-error-0.1)
+        ("rust-typed-arena" ,rust-typed-arena-2)
         ("rust-smallvec" ,rust-smallvec-1)
         ("rust-smol-str" ,rust-smol-str-0.1)
         ("rust-snap" ,rust-snap-1)
@@ -1250,10 +1264,6 @@ (define-public rust-analyzer
         ("rust-threadpool" ,rust-threadpool-1)
         ("rust-tikv-jemalloc-ctl" ,rust-tikv-jemalloc-ctl-0.4)
         ("rust-tikv-jemallocator" ,rust-tikv-jemallocator-0.4)
-        ("rust-tracing" ,rust-tracing-0.1)
-        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.2)
-        ("rust-tracing-tree" ,rust-tracing-tree-0.1)
-        ("rust-ungrammar" ,rust-ungrammar-1)
         ("rust-url" ,rust-url-2)
         ("rust-walkdir" ,rust-walkdir-2)
         ("rust-winapi" ,rust-winapi-0.3)
@@ -1262,24 +1272,32 @@ (define-public rust-analyzer
         ("rust-xshell" ,rust-xshell-0.1))
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'patch-build-failures
-           (lambda _
-             (chmod ".cargo/config" 420)
-             #t))
          (add-before 'check 'fix-tests
-           (lambda* (#:key inputs #:allow-other-keys)
+           (lambda _
              (let ((bash (string-append "#!" (which "bash"))))
-               (with-directory-excursion "crates/syntax/test_data/lexer/ok"
-                 (substitute* "0010_single_line_comments.txt"
+               (with-directory-excursion "crates/parser/test_data/lexer/ok"
+                 (substitute* "single_line_comments.txt"
                    (("SHEBANG 19")
                     (string-append "SHEBANG "
                                    (number->string (string-length bash))))
                    (("#!/usr/bin/env bash") bash))))))
-         (replace 'install
+         (add-before 'install 'install-doc
            (lambda* (#:key outputs #:allow-other-keys)
-             (install-file "target/release/rust-analyzer"
-                           (string-append (assoc-ref outputs "out")
-                                          "/bin")))))))
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (string-append out "/share/doc/rust-analyzer-"
+                                        ,version)))
+               (copy-recursively "docs" doc))))
+         (add-before 'install 'chdir
+           (lambda _
+             (chdir "crates/rust-analyzer")))
+         (replace 'install-license-files
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (string-append out "/share/doc/rust-analyzer-"
+                                        ,version)))
+               (chdir "../..")
+               (install-file "LICENSE-MIT" doc)
+               (install-file "LICENSE-APACHE" doc)))))))
     (home-page "https://rust-analyzer.github.io/")
     (synopsis "Experimental Rust compiler front-end for IDEs")
     (description "Rust-analyzer is a modular compiler frontend for the Rust
-- 
2.34.0
Z
[PATCH 21/39] gnu: rust-expat-sys-2: Update to 1.2.2.
(address . 53208@debbugs.gnu.org)
tencent_9551EA78D6D65F960E55794B094B6DF96606@qq.com
* gnu/packages/crates-io.scm (rust-expat-sys-2): Update to 1.2.2.
---
gnu/packages/crates-io.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a6632e123f..53af5eec81 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -18336,7 +18336,7 @@ (define-public rust-expat-sys-2
 (define-public rust-expect-test-1
   (package
     (name "rust-expect-test")
-    (version "1.1.0")
+    (version "1.2.2")
     (source
      (origin
        (method url-fetch)
@@ -18345,7 +18345,7 @@ (define-public rust-expect-test-1
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0cq651b3dcrw94bl03krxnvllr8kqx6vskqal0n8ydrsmdx4f013"))))
+         "05nv365xd5fqydmzbsvzqz0148a1vbxp2p0r8a3ivafdvhl6ngky"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build?
-- 
2.34.0
Z
[PATCH 22/39] gnu: rust-ungrammar-1: Update to 1.14.9.
(address . 53208@debbugs.gnu.org)
tencent_726AD7367953C9B2EEFEB675AACAB74A4409@qq.com
* gnu/packages/crates-io.scm (rust-ungrammar-1): Update to 1.14.9.
---
gnu/packages/crates-io.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 53af5eec81..d5bbb71cac 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -61349,7 +61349,7 @@ (define-public rust-unchecked-index-0.2
 (define-public rust-ungrammar-1
   (package
     (name "rust-ungrammar")
-    (version "1.13.0")
+    (version "1.14.9")
     (source
       (origin
         (method url-fetch)
@@ -61358,7 +61358,7 @@ (define-public rust-ungrammar-1
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "17wm4b5r3z5hqail6p609nii37y3j8dr4bxg8x0bkhkc2wa06xkn"))))
+            "1agx2hpp3sirknnx8j17mzcg222024s6vkx6s5v3s3l8zp15kgk6"))))
     (build-system cargo-build-system)
     (arguments `(#:skip-build? #t))
     (home-page
-- 
2.34.0
N
N
Nicolas Goaziou wrote on 21 Jan 00:19 +0100
Re: [bug#53208] [PATCH]: gnu: rust-analyzer: Update to 2020-01-10.
(name . Z572 via Guix-patches via)(address . guix-patches@gnu.org)
87v8ye806s.fsf@nicolasgoaziou.fr
Hello,

Z572 via Guix-patches via <guix-patches@gnu.org> writes:

Toggle quote (3 lines)
> These patch update rust-analyzer to 2020-01-10, and last patch make
> rust-analyzer out of box.

Thank you. I pushed the patches up to the rust-analyzer update, but
didn't apply the last one. I'll make comments about it as a reply to the
dedicated message.

Regards,
--
Nicolas Goaziou
N
N
Nicolas Goaziou wrote on 21 Jan 00:23 +0100
Re: [bug#53208] [PATCH 39/39] gnu: rust-analyzer: Make it out of box.
(name . Z572 via Guix-patches via)(address . guix-patches@gnu.org)
87r1928016.fsf@nicolasgoaziou.fr
Hello,

Z572 via Guix-patches via <guix-patches@gnu.org> writes:

Toggle quote (19 lines)
> +(define-public rust-src
> + (hidden-package
> + (package
> + (inherit rust-1.57)
> + (name "rust-src")
> + (build-system copy-build-system)
> + (native-inputs '())
> + (inputs '())
> + (native-search-paths '())
> + (outputs '("out"))
> + (arguments
> + `(#:install-plan
> + '(("library" "lib/rustlib/src/rust/library")
> + ("src" "lib/rustlib/src/rust/src"))))
> + (synopsis "Source code for the Rust standard library")
> + (description "This package provide source code for the Rust standard
> +library, only use by rust-analyzer, make rust-analyzer out of
> box."))))

This cannot work, because, AFAIK, you can only inherit packages from the
same module. So rust-src should be moved to rust.scm and made visible.

Toggle quote (25 lines)
> + (add-after 'install 'wrap-program
> + (lambda* (#:key inputs outputs #:allow-other-keys)
> + (let* ((out (assoc-ref outputs "out"))
> + (bin (string-append out "/bin"))
> + (rust-src-path (search-input-directory
> + inputs "/lib/rustlib/src/rust/library")))
> + ;; if not get environment variable RUST_SRC_PATH, set it,
> + ;; make rust-analyzer out of box.
> + (with-directory-excursion bin
> + (let* ((prog "rust-analyzer")
> + (wrapped-file (string-append (dirname prog)
> + "/." (basename prog) "-real"))
> + (prog-tmp (string-append wrapped-file "-tmp")))
> + (link prog wrapped-file)
> + (call-with-output-file prog-tmp
> + (lambda (port)
> + (format port "#!~a
> +if test -z \"${RUST_SRC_PATH}\";then export RUST_SRC_PATH=~S;fi;
> +exec -a \"$0\" \"~a\" \"$@\""
> + (which "bash")
> + rust-src-path
> + (canonicalize-path wrapped-file))))
> + (chmod prog-tmp #o755)
> + (rename-file prog-tmp prog))))))

I tried to move the rust-src in rust.scm, as explained above, but when
I do, installation of rust-analyzer fails during the `wrap-program'
phases.

Toggle quote (9 lines)
> (replace 'install-license-files
> (lambda* (#:key outputs #:allow-other-keys)
> (let* ((out (assoc-ref outputs "out"))
> @@ -1298,6 +1341,7 @@ (define-public rust-analyzer
> (chdir "../..")
> (install-file "LICENSE-MIT" doc)
> (install-file "LICENSE-APACHE" doc)))))))
> + (inputs (list rust-src))

Shouldn't it be a native-input?

Could you have a look at those issues? Thanks!

Regards,
--
Nicolas Goaziou
M
M
Maxime Devos wrote on 21 Jan 20:30 +0100
Re: [bug#53208] [PATCH 04/39] gnu: Add rust-windows-x86-64-msvc-0.28.
45b62b8d110e6ec8a469cea32dfd84163a9aa398.camel@telenet.be
Z572 via Guix-patches via schreef op wo 12-01-2022 om 23:27 [+0800]:
Toggle quote (2 lines)
> * gnu/packages/crates-io.scm (rust-windows-x86-64-msvc-0.28): New variable.

I don't see the point of packaging crates for Windows support in
Guix, since Guix (currently) does not support Windows at all,
except for some rather limited cross-compilation support.

Do things build without this crate?

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iIwEABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYesJuxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7n3PAPj0IMhheOkPAp9w8sm+p3QG1EJN
DUw4xY/23Uv0ZzGkAP0colsDlsMc3WnlHgiQ1oaUgYnpo9ybKLFr+XVLy2vOBQ==
=XN7f
-----END PGP SIGNATURE-----


Z
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 53208@debbugs.gnu.org)
tencent_535A6D3EA5D665B1FE09EAFC944F97ACD60A@qq.com
Maxime Devos <maximedevos@telenet.be> writes:

Toggle quote (8 lines)
> [[PGP Signed Part:Undecided]]
> Z572 via Guix-patches via schreef op wo 12-01-2022 om 23:27 [+0800]:
>> * gnu/packages/crates-io.scm (rust-windows-x86-64-msvc-0.28): New variable.
>
> I don't see the point of packaging crates for Windows support in
> Guix, since Guix (currently) does not support Windows at all,
> except for some rather limited cross-compilation support.
>

Cargo will asset that all dependencies exist (optional,
platform-specific, or not) to generate a lock file.

Toggle quote (1 lines)
> Do things build without this crate?
Cargo need all dependency, even though it’s optional or platform-specific.
so if missing any one optional dependency, build will fail, maybe edit
crate's Cargo.toml files to remove them can be work, but it is a
terrible hack.
Toggle quote (7 lines)
>
> Greetings,
> Maxime.
>
> [[End of PGP Signed Part]]


--
over
Z
Re: [bug#53208] [PATCH 39/39] gnu: rust-analyzer: Make it out of box.
(name . Nicolas Goaziou)(address . mail@nicolasgoaziou.fr)(address . 53208@debbugs.gnu.org)
tencent_E94BF92F5B47A5DCB144B2F6793325352305@qq.com
looks like failed to send email yesterday

Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:

Toggle quote (27 lines)
> Hello,
>
> Z572 via Guix-patches via <guix-patches@gnu.org> writes:
>
>> +(define-public rust-src
>> + (hidden-package
>> + (package
>> + (inherit rust-1.57)
>> + (name "rust-src")
>> + (build-system copy-build-system)
>> + (native-inputs '())
>> + (inputs '())
>> + (native-search-paths '())
>> + (outputs '("out"))
>> + (arguments
>> + `(#:install-plan
>> + '(("library" "lib/rustlib/src/rust/library")
>> + ("src" "lib/rustlib/src/rust/src"))))
>> + (synopsis "Source code for the Rust standard library")
>> + (description "This package provide source code for the Rust
>> standard
>> +library, only use by rust-analyzer, make rust-analyzer out of
>> box."))))
>
> This cannot work, because, AFAIK, you can only inherit packages from the
> same module. So rust-src should be moved to rust.scm and made visible.

It can work, for example: fdik-libetpan and libetpan.
fdik-libetpan is in (gnu packages pep), libetpan is in (gnu packages
mail), fdik-libetpan inherit from libetpan, them are in different module.
Toggle quote (30 lines)
>
>> + (add-after 'install 'wrap-program
>> + (lambda* (#:key inputs outputs #:allow-other-keys)
>> + (let* ((out (assoc-ref outputs "out"))
>> + (bin (string-append out "/bin"))
>> + (rust-src-path (search-input-directory
>> + inputs "/lib/rustlib/src/rust/library")))
>> + ;; if not get environment variable RUST_SRC_PATH, set it,
>> + ;; make rust-analyzer out of box.
>> + (with-directory-excursion bin
>> + (let* ((prog "rust-analyzer")
>> + (wrapped-file (string-append (dirname prog)
>> + "/." (basename prog) "-real"))
>> + (prog-tmp (string-append wrapped-file "-tmp")))
>> + (link prog wrapped-file)
>> + (call-with-output-file prog-tmp
>> + (lambda (port)
>> + (format port "#!~a
>> +if test -z \"${RUST_SRC_PATH}\";then export RUST_SRC_PATH=~S;fi;
>> +exec -a \"$0\" \"~a\" \"$@\""
>> + (which "bash")
>> + rust-src-path
>> + (canonicalize-path wrapped-file))))
>> + (chmod prog-tmp #o755)
>> + (rename-file prog-tmp prog))))))
>
> I tried to move the rust-src in rust.scm, as explained above, but when
> I do, installation of rust-analyzer fails during the `wrap-program'
> phases.

new patch move rust-src to rust.scm, and build rust-analyzer success.

Toggle quote (12 lines)
>
>> (replace 'install-license-files
>> (lambda* (#:key outputs #:allow-other-keys)
>> (let* ((out (assoc-ref outputs "out"))
>> @@ -1298,6 +1341,7 @@ (define-public rust-analyzer
>> (chdir "../..")
>> (install-file "LICENSE-MIT" doc)
>> (install-file "LICENSE-APACHE" doc)))))))
>> + (inputs (list rust-src))
>
> Shouldn't it be a native-input?

Fix in new patch.

Toggle quote (4 lines)
>
> Could you have a look at those issues? Thanks!
>
> Regards,
From a3ea65ba89f7f369fd6d2f8bd557dd59645ed456 Mon Sep 17 00:00:00 2001
Message-Id: <a3ea65ba89f7f369fd6d2f8bd557dd59645ed456.1642764287.git.873216071@qq.com>
From: Z572 <873216071@qq.com>
Date: Fri, 21 Jan 2022 19:06:10 +0800
Subject: [PATCH] gnu: rust-analyzer: Make it out of the box.

* gnu/packages/rust.scm (rust-src): New variable.
* gnu/packages/rust-apps.scm (rust-analyzer): [native-inputs]: Add rust-src.
[arguments]: <#:phases>: Add wrap-program phase.
---
gnu/packages/rust-apps.scm | 25 +++++++++++++++++++++++++
gnu/packages/rust.scm | 20 ++++++++++++++++++++
2 files changed, 45 insertions(+)

Toggle diff (87 lines)
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index a31fabac36..8ffa3a9817 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -1408,6 +1408,30 @@ (define-public rust-analyzer
          (add-before 'install 'chdir
            (lambda _
              (chdir "crates/rust-analyzer")))
+         (add-after 'install 'wrap-program
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin"))
+                    (rust-src-path (search-input-directory
+                                    inputs "/lib/rustlib/src/rust/library")))
+               ;; if not get environment variable RUST_SRC_PATH, set it,
+               ;; make rust-analyzer out of box.
+               (with-directory-excursion bin
+                 (let* ((prog "rust-analyzer")
+                        (wrapped-file (string-append (dirname prog)
+                                                     "/." (basename prog) "-real"))
+                        (prog-tmp (string-append wrapped-file "-tmp")))
+                   (link prog wrapped-file)
+                   (call-with-output-file prog-tmp
+                     (lambda (port)
+                       (format port "#!~a
+if test -z \"${RUST_SRC_PATH}\";then export RUST_SRC_PATH=~S;fi;
+exec -a \"$0\" \"~a\" \"$@\""
+                               (which "bash")
+                               rust-src-path
+                               (canonicalize-path wrapped-file))))
+                   (chmod prog-tmp #o755)
+                   (rename-file prog-tmp prog))))))
          (replace 'install-license-files
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -1416,6 +1440,7 @@ (define-public rust-analyzer
                (chdir "../..")
                (install-file "LICENSE-MIT" doc)
                (install-file "LICENSE-APACHE" doc)))))))
+    (native-inputs (list rust-src))
     (home-page "https://rust-analyzer.github.io/")
     (synopsis "Experimental Rust compiler front-end for IDEs")
     (description "Rust-analyzer is a modular compiler frontend for the Rust
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 739ffb3192..5a6d4a5c30 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -13,6 +13,7 @@
 ;;; Copyright © 2020 Matthew James Kraai <kraai@ftbfs.org>
 ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2021 (unmatched parenthesis <paren@disroot.org>
+;;; Copyright © 2022 Zheng Junjie <873216071@qq.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -49,6 +50,7 @@ (define-module (gnu packages rust)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages)
   #:use-module (guix build-system cargo)
+  #:use-module (guix build-system copy)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix download)
@@ -787,3 +789,21 @@ (define rust-1.57
 ;;; be relied upon.  This is to ease maintenance and reduce the time
 ;;; required to build the full Rust bootstrap chain.
 (define-public rust rust-1.57)
+
+(define-public rust-src
+  (hidden-package
+   (package
+     (inherit rust)
+     (name "rust-src")
+     (build-system copy-build-system)
+     (native-inputs '())
+     (inputs '())
+     (native-search-paths '())
+     (outputs '("out"))
+     (arguments
+      `(#:install-plan
+        '(("library" "lib/rustlib/src/rust/library")
+          ("src" "lib/rustlib/src/rust/src"))))
+     (synopsis "Source code for the Rust standard library")
+     (description "This package provide source code for the Rust standard
+library, only use by rust-analyzer, make rust-analyzer out of the box."))))
-- 
2.34.0
--
over
N
N
Nicolas Goaziou wrote on 22 Jan 17:04 +0100
(name . Z572 via Guix-patches via)(address . guix-patches@gnu.org)
87zgnnycxa.fsf@nicolasgoaziou.fr
Hello,

Z572 via Guix-patches via <guix-patches@gnu.org> writes:

Toggle quote (2 lines)
> Fix in new patch.

Applied. Thank you.

Regards,
--
Nicolas Goaziou
L
L
Leo Famulari wrote on 23 Jan 02:00 +0100
Re: [bug#53208] [PATCH 38/39] gnu: rust-analyzer: Update to 2022-01-10.
(name . Z572 via Guix-patches via)(address . guix-patches@gnu.org)
Yeyooxq0TvjkFOIn@jasmine.lan
On Wed, Jan 12, 2022 at 11:27:58PM +0800, Z572 via Guix-patches via wrote:
Toggle quote (2 lines)
> * gnu/packages/rust-apps.scm (rust-analyzer): Update to 2022-01-10.

This patch series caused ~2300 rebuilds on the build farm, if I
understand correctly:


Remember: changes that cause more than 300 rebuilds per architecture
may not be pushed to the master branch:

T
T
Tobias Geerinckx-Rice wrote on 23 Jan 02:39 +0100
Re: [bug#53208] [PATCH 04/39] gnu: Add rust-windows-x86-64-msvc-0.28.
(name . Z572)(address . 873216071@qq.com)
87h79v8bzv.fsf@nckx
Hullo Z,

Z572 via Guix-patches via 写道:
Toggle quote (7 lines)
> Cargo need all dependency, even though it’s optional or
> platform-specific.
> so if missing any one optional dependency, build will fail,
> maybe edit
> crate's Cargo.toml files to remove them can be work, but it is a
> terrible hack.

I think it's a hack worth trying if upstream can't or won't fix
it.

Kind regards,

T G-R
-----BEGIN PGP SIGNATURE-----

iIMEARYKACsWIQT12iAyS4c9C3o4dnINsP+IT1VteQUCYeyyRA0cbWVAdG9iaWFz
LmdyAAoJEA2w/4hPVW15ghAA+wUZeyqa1lNMwVybDDbWi/OnqKaEISVAmrSc04xb
FaATAP9Ayd02cdo3L62yV5e92OOXGZDJ4OH4YXzvftA+RqLjBg==
=KORc
-----END PGP SIGNATURE-----

N
N
Nicolas Goaziou wrote on 23 Jan 09:35 +0100
Re: [bug#53208] [PATCH 38/39] gnu: rust-analyzer: Update to 2022-01-10.
(name . Leo Famulari)(address . leo@famulari.name)
87tuduetoh.fsf@nicolasgoaziou.fr
Hello,

Leo Famulari <leo@famulari.name> writes:

Toggle quote (5 lines)
> This patch series caused ~2300 rebuilds on the build farm, if I
> understand correctly:
>
> https://ci.guix.gnu.org/eval/56317

Ouch! Sorry about the mess.

Fortunately, all packages are rebuilt already, IIUC.

Toggle quote (5 lines)
> Remember: changes that cause more than 300 rebuilds per architecture
> may not be pushed to the master branch:
>
> https://guix.gnu.org/manual/en/html_node/Submitting-Patches.html#Submitting-Patches

As you may guess, I know this part (which IMO could be refreshed as the
capacity of the build farm and the number of Guix packages evolved since
2016) of the manual.

What I do not know, however, is how to predict the number of rebuilds
when it comes to Rust packages. Do you have an idea?

Regards,
--
Nicolas Goaziou
L
L
Leo Famulari wrote on 23 Jan 19:53 +0100
(name . Nicolas Goaziou)(address . mail@nicolasgoaziou.fr)
Ye2kRODelov4i6hJ@jasmine.lan
On Sun, Jan 23, 2022 at 09:35:10AM +0100, Nicolas Goaziou wrote:
Toggle quote (4 lines)
> As you may guess, I know this part (which IMO could be refreshed as the
> capacity of the build farm and the number of Guix packages evolved since
> 2016) of the manual.

I agree about refreshing the guidelines, although I'm waiting until
after the 1.4.0 release to start a discussion about it. Think about
ideas for improving the workflow!

Toggle quote (3 lines)
> What I do not know, however, is how to predict the number of rebuilds
> when it comes to Rust packages. Do you have an idea?

It's tough, indeed.

Maybe something like `./pre-inst-env guix build --no-grafts gnome
--dry-run` can reliably give a good answer.

GNOME does depend on Rust packages, in at least two ways: via librsvg
and via rav1e.

------
$ guix graph --path gnome rav1e
gnome@41.0
tracker-miners@3.1.2
ffmpeg@4.4.1
rav1e@0.5.1
$ guix graph --path gnome librsvg
gnome@41.0
gnome-control-center@41.2
librsvg@2.50.7
------

And anyways, it's good practice to make sure that GNOME builds after
changing big parts of the dependency graph.

If it's too computationally expensive for you to perform builds like
that, let us know maybe we can provide a solution via ci.guix.gnu.org
M
M
Maxime Devos wrote on 23 Jan 22:02 +0100
Re: [bug#53208] [PATCH 04/39] gnu: Add rust-windows-x86-64-msvc-0.28.
(address . 53208@debbugs.gnu.org)
cf85af933c9396ee420fab1a48034732790d0668.camel@telenet.be
Tobias Geerinckx-Rice schreef op zo 23-01-2022 om 02:39 [+0100]:
Toggle quote (8 lines)
> Z572 via Guix-patches via 写道:
> > Cargo need all dependency, even though it’s optional or
> > platform-specific.
> > so if missing any one optional dependency, build will fail,
> > maybe edit
> > crate's Cargo.toml files to remove them can be work, but it is a
> > terrible hack.

I haven't received this mail by Z572, any idea what happened here?

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYe3CZxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7l9fAQCA22ZyDoBITi0vrr/JYW3U612P
gxabLqEVFR+4Qe5gtAEA22zioUOaJNXz2CZ6KV57oFsAEA/OVvo5WUX3DX8anAM=
=ecFt
-----END PGP SIGNATURE-----


Z
(name . Tobias Geerinckx-Rice)(address . me@tobias.gr)
tencent_A0965CD5426CFAA49665D9FDA9EB68962B0A@qq.com
Tobias Geerinckx-Rice <me@tobias.gr> writes:

Toggle quote (13 lines)
> [[PGP Signed Part:Undecided]]
> Hullo Z,
>
> Z572 via Guix-patches via 写道:
>> Cargo need all dependency, even though it’s optional or
>> platform-specific.
>> so if missing any one optional dependency, build will fail, maybe
>> edit
>> crate's Cargo.toml files to remove them can be work, but it is a
>> terrible hack.
>
> I think it's a hack worth trying if upstream can't or won't fix it.

Ok, I will try edit Cargo.toml in the future.

Toggle quote (8 lines)
>
> Kind regards,
>
> T G-R
>
> [[End of PGP Signed Part]]


--
over
Z
(name . Maxime Devos)(address . maximedevos@telenet.be)
tencent_56A99559AD7F963A25E5E625E5B59D9B6208@qq.com
Maxime Devos <maximedevos@telenet.be> writes:

Toggle quote (11 lines)
> [[PGP Signed Part:Undecided]]
> Tobias Geerinckx-Rice schreef op zo 23-01-2022 om 02:39 [+0100]:
>> Z572 via Guix-patches via 写道:
>> > Cargo need all dependency, even though it’s optional or
>> > platform-specific.
>> > so if missing any one optional dependency, build will fail,
>> > maybe edit
>> > crate's Cargo.toml files to remove them can be work, but it is a
>> > terrible hack.
>
> I haven't received this mail by Z572, any idea what happened here?
send mail to you fail, postmaster@qq.com say:
host mx1.telenet-ops.be [195.130.132.8] said: 452 4.1.1
<maximedevos@telenet.be> Greylisting in action, please try again later
(in reply to RCPT TO command)

maybe telenet.be think i'm spam :)

Toggle quote (7 lines)
>
> Greetings,
> Maxime.
>
> [[End of PGP Signed Part]]


--
over
?
Your comment

This issue is archived.

To comment on this conversation send email to 53208@debbugs.gnu.org