summary refs log tree commit diff
path: root/gnu/packages/rust.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2023-05-11 16:35:53 +0300
committerEfraim Flashner <efraim@flashner.co.il>2023-07-18 20:55:19 +0300
commit11c348a1074f4ac256bcf368fab22712b6cd3078 (patch)
tree14c3a0517d146c22856ca37612c8665f2a49094d /gnu/packages/rust.scm
parentf40dd052139648488fc660ba716e923a232a7e94 (diff)
downloadguix-11c348a1074f4ac256bcf368fab22712b6cd3078.tar.gz
gnu: rust: Update to 1.68.2.
* gnu/packages/rust.scm (rust): Update to 1.68.2.
[arguments]: Adjust 'skip-shebang-tests phase to moved files. Add
'adjust-rpath-values phase to link to shared libraries.
Diffstat (limited to 'gnu/packages/rust.scm')
-rw-r--r--gnu/packages/rust.scm17
1 files changed, 14 insertions, 3 deletions
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 8e106a9927..4ee5ded5de 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -705,7 +705,7 @@ safety and thread safety guarantees.")
   (rust-bootstrapped-package
    rust-1.67 "1.68.2" "15ifyd5jj8rd979dkakp887hgmhndr68pqaqvd2hqkfdywirqcwk"))
 
-;;; Note: Only the latest versions of Rust are supported and tested.  The
+;;; Note: Only the latest version of Rust is supported and tested.  The
 ;;; intermediate rusts are built for bootstrapping purposes and should not
 ;;; be relied upon.  This is to ease maintenance and reduce the time
 ;;; required to build the full Rust bootstrap chain.
@@ -713,7 +713,7 @@ safety and thread safety guarantees.")
 ;;; Here we take the latest included Rust, make it public, and re-enable tests
 ;;; and extra components such as rustfmt.
 (define-public rust
-  (let ((base-rust rust-1.67))
+  (let ((base-rust rust-1.68))
     (package
       (inherit base-rust)
       (outputs (cons "rustfmt" (package-outputs base-rust)))
@@ -807,7 +807,7 @@ safety and thread safety guarantees.")
                ;; We skip the test since it's drastically unlikely Guix's
                ;; packaging will introduce a bug here.
                (lambda _
-                 (delete-file "src/test/ui/parser/shebang/sneaky-attrib.rs")))
+                 (delete-file "tests/ui/parser/shebang/sneaky-attrib.rs")))
              (add-after 'unpack 'patch-process-tests
                (lambda* (#:key inputs #:allow-other-keys)
                  (let ((bash (assoc-ref inputs "bash")))
@@ -831,6 +831,17 @@ safety and thread safety guarantees.")
                                 ((file) file))
                    (("fn ctrl_c_kills_everyone")
                     "#[ignore]\nfn ctrl_c_kills_everyone"))))
+             (add-after 'unpack 'adjust-rpath-values
+               ;; This adds %output:out to rpath, allowing us to install utilities in
+               ;; different outputs while reusing the shared libraries.
+               (lambda* (#:key outputs #:allow-other-keys)
+                 (let ((out (assoc-ref outputs "out")))
+                   (substitute* "src/bootstrap/builder.rs"
+                      ((" = rpath.*" all)
+                       (string-append all
+                                      "                "
+                                      "rustflags.arg(\"-Clink-args=-Wl,-rpath="
+                                      out "/lib\");\n"))))))
              (add-after 'configure 'add-gdb-to-config
                (lambda* (#:key inputs #:allow-other-keys)
                  (let ((gdb (assoc-ref inputs "gdb")))