unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#40957] [PATCH 1/?] gnu: rust: Add 1.40
@ 2020-04-29  9:40 Jakub Kądziołka
  2020-04-29 16:02 ` [bug#40957] [PATCH 2/?] gnu: rust: Add 1.41 Jakub Kądziołka
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Jakub Kądziołka @ 2020-04-29  9:40 UTC (permalink / raw)
  To: 40957

* gnu/packages/rust.scm (rust-1.40): New variable.
---
 gnu/packages/rust.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

Debbugs note: I will send patches to add more versions to this bug
number as I get them to work.

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 11522b933e..a82bfa5912 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1176,4 +1176,38 @@ move around."
                  (generate-all-checksums "vendor")
                  #t)))))))))
 
+(define-public rust-1.40
+  (let ((base-rust
+         (rust-bootstrapped-package rust-1.39 "1.40.0"
+           "1ba9llwhqm49w7sz3z0gqscj039m53ky9wxzhaj11z6yg1ah15yx")))
+    (package
+      (inherit base-rust)
+      (source
+        (origin
+          (inherit (package-source base-rust))
+          ;; llvm-emscripten is no longer bundled, as that codegen backend
+          ;; got removed.
+          (snippet '(begin
+                      (delete-file-recursively "src/llvm-project")
+                      (delete-file-recursively "vendor/jemalloc-sys/jemalloc")
+                      #t))))
+      (arguments
+       ;; Rust 1.40 does not ship rustc-internal libraries by default
+       ;; (see rustc-dev-split). This means that librustc_driver.so is no
+       ;; longer available in lib/rustlib/$target/lib, which is the directory
+       ;; included in the runpath of librustc_codegen_llvm-llvm.so.
+       ;; This is detected by our validate-runpath phase as an error, but it
+       ;; is harmless as the codegen backend is loaded by librustc_driver.so
+       ;; itself, which must at that point have been already loaded.
+       ;; As such, we skip validating the runpath for Rust 1.40.
+       ;; Rust 1.41 stopped putting the codegen backend in a separate library,
+       ;; which makes this workaround only necessary for this release.
+       (cons* #:validate-runpath? #f
+         (substitute-keyword-arguments (package-arguments base-rust)
+           ((#:phases phases)
+            `(modify-phases ,phases
+               ;; The test got removed in commit 000fe63b6fc57b09828930cacbab20c2ee6e6d15
+               ;; "Remove painful test that is not pulling its weight"
+               (delete 'remove-unsupported-tests)))))))))
+
 (define-public rust rust-1.37)
-- 
2.26.2





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

end of thread, other threads:[~2020-07-02 23:42 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-29  9:40 [bug#40957] [PATCH 1/?] gnu: rust: Add 1.40 Jakub Kądziołka
2020-04-29 16:02 ` [bug#40957] [PATCH 2/?] gnu: rust: Add 1.41 Jakub Kądziołka
2020-06-20 20:44 ` [bug#40957] [PATCH v2 1/2] gnu: llvm-9: Backport patches to fix miscompilations Jakub Kądziołka
2020-06-20 20:44 ` [bug#40957] [PATCH v2 2/2] gnu: rust: Bootstrap up to rustc 1.44 Jakub Kądziołka
2020-07-01  6:14 ` [bug#40957] [PATCH 1/?] gnu: rust: Add 1.40 John Soo
2020-07-02 23:41   ` bug#40957: " Jakub Kądziołka

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).