diff mbox series

[bug#42888] gnu: rust: Fix install phase for non-x86_64 platforms.

Message ID 87zh5l6g8r.fsf@gmx.com
State Accepted
Headers show
Series [bug#42888] gnu: rust: Fix install phase for non-x86_64 platforms. | expand

Checks

Context Check Description
cbaines/applying patch fail View Laminar job

Commit Message

Pierre Langlois Sept. 19, 2020, 1:36 p.m. UTC
Hello Guix!

Pierre Langlois writes:

> Hi Jakub,
>
> Jakub Kądziołka writes:
>

(snip)

>> Pierre,
>>
>> thanks for your patch! I was working on a similar change before, but
>> when I tried it, it failed even earlier in the bootstrap chain. It
>> might've been QEMU weirdness, though, a la #42448.
>>
>>> @@ -612,9 +613,10 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
>>>                         (cargo-out (assoc-ref outputs "cargo")))
>>>                     (for-each
>>>                       (lambda (file) (delete-manifest-file out file))
>>> -                     '("install.log"
>>> +                     `("install.log"
>>>                         "manifest-rust-docs"
>>> -                       "manifest-rust-std-x86_64-unknown-linux-gnu"
>>> +                       ,,(string-append "manifest-rust-std-"
>>> +                                        (nix-system->gnu-triplet-for-rust))
>>>                         "manifest-rustc"))
>>>                     (for-each
>>>                       (lambda (file) (delete-manifest-file cargo-out file))
>>
>> If I understand the code correctly, this quasiquote is unnecessary, as
>> the host-side code will evaluate to a string that can be inserted as-is,
>> without another unquote on the build side.
>>
>> Fixing this would mean that the patch can go on master, since it would
>> now only trigger rebuilds on architectures that are already broken.
>
> Ooooh yeah, that'll be much better, I've attached a patch that does just
> that. I can confirm it doesn't trigger a full rebuild, nice!
>

I've just rebased this patch and fixed a little formatting issue. I've
made sure, it doesn't trigger any rust rebuilds on x86.

Is this OK to commit?

Thanks,
Pierre

Comments

Marius Bakke Sept. 25, 2020, 6:57 p.m. UTC | #1
Pierre Langlois <pierre.langlois@gmx.com> writes:

> Hello Guix!
>
> Pierre Langlois writes:
>
>> Hi Jakub,
>>
>> Jakub Kądziołka writes:
>>
>
> (snip)
>
>>> Pierre,
>>>
>>> thanks for your patch! I was working on a similar change before, but
>>> when I tried it, it failed even earlier in the bootstrap chain. It
>>> might've been QEMU weirdness, though, a la #42448.
>>>
>>>> @@ -612,9 +613,10 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
>>>>                         (cargo-out (assoc-ref outputs "cargo")))
>>>>                     (for-each
>>>>                       (lambda (file) (delete-manifest-file out file))
>>>> -                     '("install.log"
>>>> +                     `("install.log"
>>>>                         "manifest-rust-docs"
>>>> -                       "manifest-rust-std-x86_64-unknown-linux-gnu"
>>>> +                       ,,(string-append "manifest-rust-std-"
>>>> +                                        (nix-system->gnu-triplet-for-rust))
>>>>                         "manifest-rustc"))
>>>>                     (for-each
>>>>                       (lambda (file) (delete-manifest-file cargo-out file))
>>>
>>> If I understand the code correctly, this quasiquote is unnecessary, as
>>> the host-side code will evaluate to a string that can be inserted as-is,
>>> without another unquote on the build side.
>>>
>>> Fixing this would mean that the patch can go on master, since it would
>>> now only trigger rebuilds on architectures that are already broken.
>>
>> Ooooh yeah, that'll be much better, I've attached a patch that does just
>> that. I can confirm it doesn't trigger a full rebuild, nice!
>>
>
> I've just rebased this patch and fixed a little formatting issue. I've
> made sure, it doesn't trigger any rust rebuilds on x86.
>
> Is this OK to commit?

LGTM!  Thanks a lot for tackling this long-standing issue.

Were you able to build all the way to the latest Rust?
diff mbox series

Patch

From 207071445a0a637075138fb678bdbcdcfbaa038d Mon Sep 17 00:00:00 2001
From: Pierre Langlois <pierre.langlois@gmx.com>
Date: Sun, 16 Aug 2020 12:17:18 +0100
Subject: [PATCH] gnu: rust: Fix install phase for non-x86_64 platforms.

* gnu/packages/rust.scm (rust-1.20)[arguments]: Replace hardcoded x86_64
triplet with nix-system->gnu-triplet-for-rust in 'delete-install-logs phase.
---
 gnu/packages/rust.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index d5914f012b..1690ad96c5 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -9,6 +9,7 @@ 
 ;;; Copyright © 2018 Danny Milosavljevic <dannym+a@scratchpost.org>
 ;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com>
 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
+;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -614,7 +615,8 @@  jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
                      (lambda (file) (delete-manifest-file out file))
                      '("install.log"
                        "manifest-rust-docs"
-                       "manifest-rust-std-x86_64-unknown-linux-gnu"
+                       ,(string-append "manifest-rust-std-"
+                                       (nix-system->gnu-triplet-for-rust))
                        "manifest-rustc"))
                    (for-each
                      (lambda (file) (delete-manifest-file cargo-out file))
-- 
2.28.0