From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from eggs.gnu.org ([2001:4830:134:3::10]:52420)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1fgbj5-0006jg-L3
	for guix-patches@gnu.org; Fri, 20 Jul 2018 16:10:08 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1fgbj0-0002EU-Cu
	for guix-patches@gnu.org; Fri, 20 Jul 2018 16:10:07 -0400
Received: from debbugs.gnu.org ([208.118.235.43]:44966)
	by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16)
	(Exim 4.71) (envelope-from <Debian-debbugs@debbugs.gnu.org>)
	id 1fgbj0-0002EP-8x
	for guix-patches@gnu.org; Fri, 20 Jul 2018 16:10:02 -0400
Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2)
	(envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1fgbiz-0006Go-Vp
	for guix-patches@gnu.org; Fri, 20 Jul 2018 16:10:02 -0400
Subject: [bug#32227] [PATCH] gnu: rust: make rust 1.25.0 build reproducible
Resent-Message-ID: <handler.32227.B.153211738124061@debbugs.gnu.org>
Received: from eggs.gnu.org ([2001:4830:134:3::10]:52358)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <nikolay.d.merinov@gmail.com>) id 1fgbiR-00067U-P5
	for guix-patches@gnu.org; Fri, 20 Jul 2018 16:09:28 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <nikolay.d.merinov@gmail.com>) id 1fgbiM-000231-T3
	for guix-patches@gnu.org; Fri, 20 Jul 2018 16:09:27 -0400
Received: from mail-lf1-f45.google.com ([209.85.167.45]:35241)
	by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16)
	(Exim 4.71) (envelope-from <nikolay.d.merinov@gmail.com>)
	id 1fgbiM-00022U-Kv
	for guix-patches@gnu.org; Fri, 20 Jul 2018 16:09:22 -0400
Received: by mail-lf1-f45.google.com with SMTP id f18-v6so2583338lfc.2
	for <guix-patches@gnu.org>; Fri, 20 Jul 2018 13:09:21 -0700 (PDT)
Received: from libremnd (97.9-157-90.telenet.ru. [90.157.9.97])
	by smtp.gmail.com with ESMTPSA id
	t24-v6sm499132ljb.89.2018.07.20.13.09.17 for <guix-patches@gnu.org>
	(version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);
	Fri, 20 Jul 2018 13:09:18 -0700 (PDT)
From: Nikolai Merinov <nikolai.merinov@member.fsf.org>
Date: Sat, 14 Jul 2018 01:15:11 +0500
Message-ID: <87a7qlk6tx.fsf@member.fsf.org>
MIME-Version: 1.0
Content-Type: text/plain
List-Id: <guix-patches.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>,
	<mailto:guix-patches-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/guix-patches/>
List-Post: <mailto:guix-patches@gnu.org>
List-Help: <mailto:guix-patches-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>,
	<mailto:guix-patches-request@gnu.org?subject=subscribe>
Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org
Sender: "Guix-patches" <guix-patches-bounces+kyle=kyleam.com@gnu.org>
To: 32227@debbugs.gnu.org

* gnu/packages/rust.scm (rust-1.25): switch back to llvm@3.9 still builds with
llvm@6.0 is not reproducible. Remove all llvm@6.0 related twicks.
(rust-1.26): switch to llvm@6.0 still rust-1.26 can build reproducible
binaries with new llvm release. Enable llvm@5.0 related twicks.
---
 gnu/packages/rust.scm | 39 ++++++++++++++++++---------------------
 1 file changed, 18 insertions(+), 21 deletions(-)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 28bffb44b..1095070eb 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -545,10 +545,6 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
                                     "0baxjr99311lvwdq0s38bipbnj72pn6fgbk6lcq7j555xq53mxpf")))
     (package
       (inherit base-rust)
-      (inputs
-       ;; Use LLVM 6.0
-       (alist-replace "llvm" (list llvm)
-                      (package-inputs base-rust)))
       (arguments
        (substitute-keyword-arguments (package-arguments base-rust)
          ((#:phases phases)
@@ -559,23 +555,6 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
                    ;; This test wants to update the crate index.
                    (("fn no_index_update") "#[ignore]\nfn no_index_update"))
                  #t))
-             (add-after 'configure 'enable-codegen-tests
-               (lambda _
-                 (substitute* "config.toml"
-                   (("codegen-tests = false") ""))
-                 #t))
-             (replace 'patch-aarch64-test
-               (lambda _
-                 (substitute* "src/librustc_metadata/dynamic_lib.rs"
-                   ;; This test is known to fail on aarch64 and powerpc64le:
-                   ;; https://github.com/rust-lang/rust/issues/45410
-                   (("fn test_loading_cosine") "#[ignore]\nfn test_loading_cosine"))
-                 ;; This test fails on aarch64 with llvm@6.0:
-                 ;; https://github.com/rust-lang/rust/issues/49807
-                 ;; other possible solution:
-                 ;; https://github.com/rust-lang/rust/pull/47688
-                 (delete-file "src/test/debuginfo/by-value-self-argument-in-trait-impl.rs")
-                 #t))
              (delete 'ignore-glibc-2.27-incompatible-test))))))))
 
 (define-public rust-1.26
@@ -585,6 +564,10 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
                                     #:patches '("rust-coresimd-doctest.patch"))))
     (package
       (inherit base-rust)
+      (inputs
+       ;; Use LLVM 6.0
+       (alist-replace "llvm" (list llvm)
+                      (package-inputs base-rust)))
       (arguments
        (substitute-keyword-arguments (package-arguments base-rust)
          ((#:phases phases)
@@ -624,6 +607,20 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
                  (substitute* "src/tools/cargo/tests/testsuite/generate_lockfile.rs"
                    ;; This test wants to update the crate index.
                    (("fn no_index_update") "#[ignore]\nfn no_index_update"))
+                 #t))
+             (add-after 'patch-aarch64-test 'patch-aarch64-llvm6-test
+               (lambda _
+                 ;; This test fails on aarch64 with llvm@6.0:
+                 ;; https://github.com/rust-lang/rust/issues/49807
+                 ;; other possible solution:
+                 ;; https://github.com/rust-lang/rust/pull/47688
+                 (delete-file "src/test/debuginfo/by-value-self-argument-in-trait-impl.rs")
+                 #t))
+             (add-after 'configure 'enable-codegen-tests
+               (lambda* _
+                 (substitute* "config.toml"
+                   ;; codegen test should pass with LLVM 6
+                   (("codegen-tests = false") ""))
                  #t)))))))))
 
 (define-public rust
-- 
2.17.1