all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [PATCH] gnu: rustc: Retain binutils.
@ 2017-01-09 13:45 David Craven
  2017-01-09 14:05 ` David Craven
  2017-01-09 22:59 ` Ludovic Courtès
  0 siblings, 2 replies; 3+ messages in thread
From: David Craven @ 2017-01-09 13:45 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rustc)[arguments]: Retain binutils. Add
  wrap-rustc phase.

Problem reported by Ben Woodcroft <donttrustben@gmail.com>.
---
 gnu/packages/rust.scm | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 97d0d7cb0..ae0453004 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -241,6 +241,7 @@ rustc-bootstrap and cargo-bootstrap packages.")
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
                     (gcc (assoc-ref inputs "gcc"))
+                    (binutils (assoc-ref inputs "binutils"))
                     (python (assoc-ref inputs "python-2"))
                     (rustc (assoc-ref inputs "rustc-bootstrap"))
                     (llvm (assoc-ref inputs "llvm"))
@@ -250,7 +251,7 @@ rustc-bootstrap and cargo-bootstrap packages.")
                             (string-append "--datadir=" out "/share")
                             (string-append "--infodir=" out "/share/info")
                             (string-append "--default-linker=" gcc "/bin/gcc")
-                            (string-append "--default-ar=" gcc "/bin/ar")
+                            (string-append "--default-ar=" binutils "/bin/ar")
                             (string-append "--python=" python "/bin/python2")
                             (string-append "--local-rust-root=" rustc)
                             (string-append "--llvm-root=" llvm)
@@ -261,7 +262,16 @@ rustc-bootstrap and cargo-bootstrap packages.")
                             ;;"--enable-rustbuild"
                             "--disable-manage-submodules")))
                ;; Rust uses a custom configure script (no autoconf).
-               (zero? (apply system* "./configure" flags))))))))
+               (zero? (apply system* "./configure" flags)))))
+         (add-after 'install 'wrap-rustc
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (libc (assoc-ref inputs "libc"))
+                   (ld-wrapper (assoc-ref inputs "ld-wrapper")))
+               ;; Let gcc find ld and libc startup files.
+               (wrap-program (string-append out "/bin/rustc")
+                 `("PATH" ":" prefix (,(string-append ld-wrapper "/bin")))
+                 `("LIBRARY_PATH" ":" suffix (,(string-append libc "/lib"))))))))))
     (synopsis "Compiler for the Rust progamming language")
     (description "Rust is a systems programming language that provides memory
 safety and thread safety guarantees.")
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-01-09 22:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-09 13:45 [PATCH] gnu: rustc: Retain binutils David Craven
2017-01-09 14:05 ` David Craven
2017-01-09 22:59 ` Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.