Subject: [PATCH core-updates-frozen 6/8] gnu: Build all Rust packages using the latest rustc.

From: Maxim Cournoyer <[email-masked]>
Date: Fri, 3 Sep 2021 11:31:14 -0400

The older Rusts are made private variables; they shouldn't be used by users as
they are not tested and are only built at stage 1, which makes them unsuitable
to compile Rust applications.

* gnu/packages/crates-io.scm (rust-cargo-0.53)[arguments]: Remove #:rust
argument.
(rust-cxx-1, rust-cxx-build-1, rust-cxx-gen-0.7): Likewise.
* gnu/packages/crates-io.scm
(rust-cxx-gen-0.7, rust-cxxbridge-macro-1, rust-postgres-0.19): Likewise.
(rust-rust-decimal-1, rust-sized-chunks-0.6, rust-socket2-0.4): Likewise.
(rust-tokio-postgres-0.7, rust-im-rc-15): Likewise.
* gnu/packages/gnome.scm (librsvg): Likewise.
* gnu/packages/gnuzilla.scm (mozjs-78): Likewise.
* gnu/packages/rust-apps.scm
(hyperfine, tectonic rust-analyzer, rust-cargo-c): Likewise.
* gnu/packages/shells.scm (nushell): Likewise.
* gnu/packages/syndication.scm (newsboat): Likewise.
* gnu/packages/rust.scm: (rust-1.39, rust-1.40, rust-1.41, rust-1.42)
(rust-1.43, rust-1.44, rust-1.45, rust-1.46, rust-1.47, rust-1.48, rust-1.49)
(rust-1.50, rust-1.51, rust-1.52, rust-1.53, rust-1.54): Make variables private.
---
 gnu/packages/crates-io.scm   | 29 +++++++++--------------------
 gnu/packages/gnome.scm       |  2 --
 gnu/packages/gnuzilla.scm    |  4 ++--
 gnu/packages/rust-apps.scm   | 12 ++++--------
 gnu/packages/rust.scm        | 32 ++++++++++++++++----------------
 gnu/packages/shells.scm      |  3 +--
 gnu/packages/syndication.scm |  1 -
 7 files changed, 32 insertions(+), 51 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 275963c311..af585aeeb4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7163,7 +7163,6 @@ capabilities")
      `(;; The test suite is disabled as the internal 'cargo-test-macro' and
        ;; 'cargo-test-support' crates are not included in the release.
        #:tests? #f
-       #:rust ,rust-1.52        ;transitively inherited from rust-sized-chunks
        #:cargo-inputs
        (("rust-anyhow" ,rust-anyhow-1)
         ("rust-atty" ,rust-atty-0.2)
@@ -11766,7 +11765,6 @@ attributes.")
     (build-system cargo-build-system)
     (arguments
      `(#:tests? #f  ; Cannot compile cxx-test-suite.
-       #:rust ,rust-1.48    ; or newer
        #:cargo-inputs
        (("rust-cc" ,rust-cc-1)
         ("rust-cxxbridge-flags" ,rust-cxxbridge-flags-1)
@@ -11826,8 +11824,7 @@ attributes.")
           "0shmkgv3cnh06ws1p555znj1hh23phynaz73rgnz95gradsdwnwg"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:rust ,rust-1.48    ; or newer
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-cc" ,rust-cc-1)
         ("rust-codespan-reporting" ,rust-codespan-reporting-0.11)
         ("rust-lazy-static" ,rust-lazy-static-1)
@@ -11887,8 +11884,7 @@ crate into a Cargo build.")
           "08v366jxd2vc8jc2cbvrga0866pwfcaq6hl8yylfx0vhs2n53j53"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:rust ,rust-1.48    ; or newer
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-cc" ,rust-cc-1)
         ("rust-codespan-reporting" ,rust-codespan-reporting-0.11)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
@@ -11993,8 +11989,7 @@ crate (implementation detail).")
           "0gkwvihw74dh8p3fz3552wnxanrpwmwfy38ylz2z8knjq0y8y4v3"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:rust ,rust-1.48    ; or newer
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-clang-ast" ,rust-clang-ast-0.1)
         ("rust-flate2" ,rust-flate2-1)
         ("rust-memmap" ,rust-memmap-0.7)
@@ -33377,8 +33372,7 @@ UDP.")
           "1hnid1d78zrr8ph12lpvp5b2cpx2fsqqgqs2yn1q23c6g7jix1y7"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:rust ,rust-1.46    ; or later
-       #:tests? #f          ; tests require postgres server.
+     `(#:tests? #f          ; tests require postgres server.
        #:cargo-inputs
        (("rust-bytes" ,rust-bytes-1)
         ("rust-fallible-iterator" ,rust-fallible-iterator-0.2)
@@ -38474,8 +38468,7 @@ password hashing function.")
           "10k58hf367626d4akl7ifyk5qwqphfs5x6z1yay22pkyc6w7q4h1"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:rust ,rust-1.46    ; or later
-       #:tests? #f          ; not all test files included.
+     `(#:tests? #f          ; not all test files included.
        #:cargo-inputs
        (("rust-arbitrary" ,rust-arbitrary-1)
         ("rust-arrayvec" ,rust-arrayvec-0.5)
@@ -43600,8 +43593,7 @@ variants in pure Rust.")
          "07ix5fsdnpf2xsb0k5rbiwlmsicm2237fcx7blirp9p7pljr5mhn"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:rust ,rust-1.52                ;requires the "if in const fn" feature
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-arbitrary" ,rust-arbitrary-1)
         ("rust-array-ops" ,rust-array-ops-0.1)
         ("rust-bitmaps" ,rust-bitmaps-2)
@@ -44255,8 +44247,7 @@ algorithm.  Includes streaming compression and decompression.")
           "18ny6m1gnf6cwp5ax0b5hr36w6yg16z7faj76b31aq2jghhgqgcy"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:rust ,rust-1.46    ; or later
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
         ("rust-winapi" ,rust-winapi-0.3))))
     (home-page "https://github.com/rust-lang/socket2")
@@ -49630,8 +49621,7 @@ OpenSSL.")
           "12rb390i3af7zb0z2idhaf6l2m6snypwdiwjw84rmyz4qy1i6ard"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:rust ,rust-1.46
-       #:tests? #f                      ;require postgresql
+     `(#:tests? #f                      ;require postgresql
        #:cargo-inputs
        (("rust-async-trait" ,rust-async-trait-0.1)
         ("rust-byteorder" ,rust-byteorder-1)
@@ -56716,8 +56706,7 @@ configuration file and/or environment variables.")
          "0gsgcs1nn38r40973l6zr1v4d85f4s9qyl32n5f20jphf5z9ba1w"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:rust ,rust-1.52                ;for rust-sized-chunks
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-arbitrary" ,rust-arbitrary-0.4)
         ("rust-bitmaps" ,rust-bitmaps-2)
         ("rust-proptest" ,rust-proptest-0.9)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index cae6e1aa0b..e426902a2f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3365,8 +3365,6 @@ for dealing with different structured file formats.")
     (outputs '("out" "doc"))
     (arguments
      `(#:install-source? #f
-       ;; XXX: compiling librsvg_c_api hangs forever with 1.49.
-       #:rust ,rust-1.48
        #:modules
        ((guix build cargo-build-system)
         (guix build utils)
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index a455022d6d..3a83cce22c 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -547,8 +547,8 @@ in C/C++.")
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
        ("python" ,python-3)
-       ("rust" ,rust-1.41)
-       ("cargo" ,rust-1.41 "cargo")))
+       ("rust" ,rust)
+       ("cargo" ,rust "cargo")))
     (inputs
      `(("icu4c" ,icu4c)
        ("readline" ,readline)
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 72148947e5..fa6ddde345 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -393,8 +393,7 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.")
           "0m5lrvx6wwkxqdc5digm1k4diiaqcg5j4pia77s5nw1aam7k51hy"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:rust ,rust-1.46
-       #:modules ((guix build cargo-build-system)
+     `(#:modules ((guix build cargo-build-system)
                   (guix build utils)
                   (srfi srfi-26))
        #:cargo-inputs
@@ -659,8 +658,7 @@ gitignore rules.")
         (base32 "0rjkfmbam81anpdqs2qafcmd5bf7y898c8a7iqqqwkbl1hfw4sqs"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:rust ,rust-1.52
-       #:cargo-build-flags '("--release" "--features" "external-harfbuzz")
+     `(#:cargo-build-flags '("--release" "--features" "external-harfbuzz")
        #:cargo-inputs
        (("rust-atty" ,rust-atty-0.2)
         ("rust-byte-unit" ,rust-byte-unit-4)
@@ -838,8 +836,7 @@ runs a command whenever it detects modifications.")
          "06bc3s5kjwpyr2cq79p0306a9bqp3xp928d750ybby9npq2dvj3z"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:rust ,rust-1.52
-       #:install-source? #f             ; virtual manifest
+     `(#:install-source? #f             ; virtual manifest
        #:cargo-test-flags
        '("--release" "--"
          "--skip=tests::test_version_check"         ;; It need rustc's version
@@ -966,8 +963,7 @@ support for Rust.")
           "0fwdxhdj2963xr6xfqr56i7hikhsdv562vgxq2dj3h2mi3dil1k6"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:rust ,rust-1.52                ;inherited from rust-cargo
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-cbindgen" ,rust-cbindgen-0.19)
         ("rust-cargo" ,rust-cargo-0.53) ;
         ("rust-anyhow" ,rust-anyhow-1)
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 36c9b4d012..ac5da3ae0f 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -139,7 +139,7 @@
 
 ;;; Rust 1.39 is special in that it is built with mrustc, which shortens the
 ;;; bootstrap path.  Note: the build is non-deterministic.
-(define-public rust-1.39
+(define rust-1.39
   (package
     (name "rust")
     (version "1.39.0")
@@ -321,7 +321,7 @@ safety and thread safety guarantees.")
     ;; Dual licensed.
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-1.40
+(define rust-1.40
   (package
     (name "rust")
     (version "1.40.0")
@@ -512,7 +512,7 @@ safety and thread safety guarantees.")
     ;; Dual licensed.
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-1.41
+(define rust-1.41
   (let ((base-rust (rust-bootstrapped-package
                     rust-1.40 "1.41.1"
                     "0ws5x0fxv57fyllsa6025h3q6j9v3m8nb3syl4x0hgkddq0kvj9q")))
@@ -532,21 +532,21 @@ safety and thread safety guarantees.")
                     (string-append name "\"" ,%cargo-reference-hash "\"")))
                  (generate-all-checksums "vendor"))))))))))
 
-(define-public rust-1.42
+(define rust-1.42
   (rust-bootstrapped-package
    rust-1.41 "1.42.0" "0x9lxs82may6c0iln0b908cxyn1cv7h03n5cmbx3j1bas4qzks6j"))
 
-(define-public rust-1.43
+(define rust-1.43
   (rust-bootstrapped-package
    rust-1.42 "1.43.0" "18akhk0wz1my6y9vhardriy2ysc482z0fnjdcgs9gy59kmnarxkm"))
 
 ;; This version requires llvm <= 11.
-(define-public rust-1.44
+(define rust-1.44
   (rust-bootstrapped-package
    rust-1.43 "1.44.1"
    "0ww4z2v3gxgn3zddqzwqya1gln04p91ykbrflnpdbmcd575n8bky"))
 
-(define-public rust-1.45
+(define rust-1.45
   (let ((base-rust (rust-bootstrapped-package
                     rust-1.44 "1.45.2"
                     "0273a1g3f59plyi1n0azf21qjzwml1yqdnj5z472crz37qggr8xp")))
@@ -562,11 +562,11 @@ safety and thread safety guarantees.")
                    (("linker.env\\(\"LC_ALL\", \"C\"\\);")
                     "linker.env(\"LC_ALL\", \"en_US.UTF-8\");")))))))))))
 
-(define-public rust-1.46
+(define rust-1.46
   (rust-bootstrapped-package
    rust-1.45 "1.46.0" "0a17jby2pd050s24cy4dfc0gzvgcl585v3vvyfilniyvjrqknsid"))
 
-(define-public rust-1.47
+(define rust-1.47
   (let ((base-rust (rust-bootstrapped-package
                     rust-1.46 "1.47.0"
                     "07fqd2vp7cf1ka3hr207dnnz93ymxml4935vp74g4is79h3dz19i")))
@@ -586,25 +586,25 @@ safety and thread safety guarantees.")
                            "library/std"
                            "src/tools/cargo")))))))))))
 
-(define-public rust-1.48
+(define rust-1.48
   (rust-bootstrapped-package
    rust-1.47 "1.48.0" "0fz4gbb5hp5qalrl9lcl8yw4kk7ai7wx511jb28nypbxninkwxhf"))
 
-(define-public rust-1.49
+(define rust-1.49
   (rust-bootstrapped-package
    rust-1.48 "1.49.0" "0yf7kll517398dgqsr7m3gldzj0iwsp3ggzxrayckpqzvylfy2mm"))
 
-(define-public rust-1.50
+(define rust-1.50
   (rust-bootstrapped-package
    rust-1.49 "1.50.0" "0pjs7j62maiyvkmhp9zrxl528g2n0fphp4rq6ap7aqdv0a6qz5wm"))
 
-(define-public rust-1.51
+(define rust-1.51
   (rust-bootstrapped-package
    rust-1.50 "1.51.0" "0ixqkqglv3isxbvl4ldr4byrkx692wghsz3fasy1pn5kr2prnsvs"))
 
 ;;; The LLVM requiriment has been bumped to version 10 in Rust 1.52.  Use the
 ;;; latest available.
-(define-public rust-1.52
+(define rust-1.52
   (let ((base-rust (rust-bootstrapped-package
                     rust-1.51 "1.52.1"
                     "165zs3xzp9dravybwslqs1qhn35agp6wacmzpymqg3qfdni26vrs")))
@@ -613,11 +613,11 @@ safety and thread safety guarantees.")
       (inputs (alist-replace "llvm" (list llvm-12)
                              (package-inputs base-rust))))))
 
-(define-public rust-1.53
+(define rust-1.53
   (rust-bootstrapped-package
    rust-1.52 "1.53.0" "1f95p259dfp5ca118bg107rj3rqwlswy65dxn3hg8sqgl4wwmxsw"))
 
-(define-public rust-1.54
+(define rust-1.54
   (let ((base-rust
          (rust-bootstrapped-package
           rust-1.53 "1.54.0"
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 68a4a401f6..66315dd3be 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -969,8 +969,7 @@ files and text.")
         (base32 "0p5whwx6wk9k7mrxhr7azrppbj9mv53hd4bl1cgygxz231aq8337"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:rust ,rust-1.52
-       #:tests? #false                  ;missing files
+     `(#:tests? #false                  ;missing files
        #:features '("extra")
        #:cargo-inputs
        (("rust-ctrlc" ,rust-ctrlc-3)
diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm
index 215e8e32cb..eb634303f6 100644
--- a/gnu/packages/syndication.scm
+++ b/gnu/packages/syndication.scm
@@ -246,7 +246,6 @@ cards.")
                   (guix build utils)
                   ((guix build gnu-build-system) #:prefix gnu:))
        #:vendor-dir "vendor"
-       #:rust ,rust-1.48    ; or newer
        #:install-source? #f
        #:cargo-inputs
        (("rust-backtrace" ,rust-backtrace-0.3)
-- 
2.33.0