Subject: bug#33465: closed (Re: [bug#33465] [PATCH] gnu: rust: Don't depend on 'git'.)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 24 Nov 2018 01:10:03 +0000

Your bug report

#33465: [PATCH] gnu: rust: Don't depend on 'git'.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
33465: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=33465
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#33465] [PATCH] gnu: rust: Don't depend on 'git'.
From: Marius Bakke <[email-masked]>
To: Pierre Langlois <[email-masked]>, Julien Lepiller <[email-masked]>
Cc: [email-masked]
Date: Sat, 24 Nov 2018 02:09:00 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Pierre Langlois <[email-masked]> writes:

> Pierre Langlois writes:
>
>> Whoops, ignore that patch, it doesn't do what I wanted it to do. The
>> point was to skip the tests *only* for temporary packages used for
>> bootstrapping the final one. But here it's disabled the tests all the
>> time, we don't want that... my bad!  I'll another look when I have time.
>
> Right, attached is what I meant to do.

Hello!

I don't have a strong opinion for or against disabling tests in the Rust
bootstrap toolchain.  But with Git removed, most (all?) of Rusts
dependencies are packages that do not change very frequently (i.e. only
on the 'staging' and 'core-updates' branches), so maybe it's not as
urgent?

Regardless, I've pushed the original patch to the 'core-updates'
branch.  Could you submit the other patch to a separate issue or to
guix-devel?  TIA!

Subject: [PATCH] gnu: rust: Don't depend on 'git'.
From: Marius Bakke <[email-masked]>
To: [email-masked]
Date: Thu, 22 Nov 2018 14:58:30 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/rust.scm (rust-1.19)[inputs]: Remove GIT.
(rust-1.20)[arguments]: Disable Cargo tests that require git.
(rust-1.26)[arguments]: Likewise.
---

Notes:
    Guix,
    
    The Rust toolchain is very expensive to build and needs less volatility.
    
    So far I have only built up to Rust 1.23 with this patch.  I suggest
    applying this on 'core-updates', and giving Rust in 'master' a
    git-2.19.1 input to the previous substitutes are valid again.
    
    WDYT?

 gnu/packages/rust.scm | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index a56faad07..ae41a7dd3 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -41,7 +41,6 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages tls)
-  #:use-module (gnu packages version-control)
   #:use-module (gnu packages)
   #:use-module (guix build-system cargo)
   #:use-module (guix build-system gnu)
@@ -387,7 +386,6 @@ test = { path = \"../libtest\" }
        ("cmake" ,cmake)
        ("flex" ,flex) ; For the tests
        ("gdb" ,gdb)   ; For the tests
-       ("git" ,git)
        ("procps" ,procps) ; For the tests
        ("python-2" ,python-2)
        ("rustc-bootstrap" ,mrustc)
@@ -446,6 +444,13 @@ safety and thread safety guarantees.")
                  ;; i686-linux.
                  (substitute* "src/tools/cargo/tests/test.rs"
                    (("fn cargo_test_env") "#[ignore]\nfn cargo_test_env"))
+
+                 ;; These tests pull in a dependency on "git", which changes
+                 ;; too frequently take part in the Rust toolchain.
+                 (substitute* "src/tools/cargo/tests/new.rs"
+                   (("fn author_prefers_cargo") "#[ignore]\nfn author_prefers_cargo")
+                   (("fn finds_author_git") "#[ignore]\nfn finds_author_git")
+                   (("fn finds_local_author_git") "#[ignore]\nfn finds_local_author_git"))
                  #t))
              (add-after 'patch-cargo-tests 'ignore-glibc-2.27-incompatible-test
                ;; https://github.com/rust-lang/rust/issues/47863
@@ -678,6 +683,12 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
                  ;; i686-linux.
                  (substitute* "src/tools/cargo/tests/testsuite/test.rs"
                    (("fn cargo_test_env") "#[ignore]\nfn cargo_test_env"))
+
+                 ;; Avoid dependency on "git".
+                 (substitute* "src/tools/cargo/tests/new.rs"
+                   (("fn author_prefers_cargo") "#[ignore]\nfn author_prefers_cargo")
+                   (("fn finds_author_git") "#[ignore]\nfn finds_author_git")
+                   (("fn finds_local_author_git") "#[ignore]\nfn finds_local_author_git"))
                  #t))
              (add-after 'patch-cargo-tests 'disable-cargo-test-for-nightly-channel
                (lambda* _
-- 
2.19.1