GNU bug report logs - #67506
guix: platform: Add platform-rust-architecture.

Previous Next

Package: guix-patches;

Reported by: Efraim Flashner <efraim <at> flashner.co.il>

Date: Tue, 28 Nov 2023 10:54:01 UTC

Severity: normal

Done: Efraim Flashner <efraim <at> flashner.co.il>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 67506 in the body.
You can then email your comments to 67506 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix <at> cbaines.net, dev <at> jpoiret.xyz, ludo <at> gnu.org, othacehe <at> gnu.org, rekado <at> elephly.net, zimon.toutoune <at> gmail.com, me <at> tobias.gr, guix-patches <at> gnu.org:
bug#67506; Package guix-patches. (Tue, 28 Nov 2023 10:54:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Efraim Flashner <efraim <at> flashner.co.il>:
New bug report received and forwarded. Copy sent to guix <at> cbaines.net, dev <at> jpoiret.xyz, ludo <at> gnu.org, othacehe <at> gnu.org, rekado <at> elephly.net, zimon.toutoune <at> gmail.com, me <at> tobias.gr, guix-patches <at> gnu.org. (Tue, 28 Nov 2023 10:54:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: guix-patches <at> gnu.org
Cc: Efraim Flashner <efraim <at> flashner.co.il>
Subject: guix: platform: Add platform-rust-architecture.
Date: Tue, 28 Nov 2023 12:52:11 +0200
* guix/platform.scm <platform>: Add rust-architecture field.
* guix/platforms/arm.scm (armv7-linux, aarch64-linux): Add the system's
rust architecture triplet.
* guix/platforms/mips.scm (mips64-linux):
* guix/platforms/powerpc.scm (powerpc-linux, powerpc64-linux,
powerpc64le-linux):
* guix/platforms/riscv.scm (riscv64-linux):
* guix/platforms/x86.scm (i686-linux, x86_64-linux, i686-mingw,
x86_64-mingw, i586-pc): Same.

Change-Id: Id9dca0fb8ec2b3bf2b3876b974e4bbaa30dbc6a6
---
 guix/platform.scm          | 3 +++
 guix/platforms/arm.scm     | 2 ++
 guix/platforms/mips.scm    | 1 +
 guix/platforms/powerpc.scm | 3 +++
 guix/platforms/riscv.scm   | 1 +
 guix/platforms/x86.scm     | 5 +++++
 6 files changed, 15 insertions(+)

diff --git a/guix/platform.scm b/guix/platform.scm
index 55917ca308..bcc2bc3e16 100644
--- a/guix/platform.scm
+++ b/guix/platform.scm
@@ -29,6 +29,7 @@ (define-module (guix platform)
             platform-target
             platform-system
             platform-linux-architecture
+            platform-rust-architecture
             platform-glibc-dynamic-linker
 
             &platform-not-found-error
@@ -74,6 +75,8 @@ (define-record-type* <platform> platform make-platform
   (system               platform-system)
   (linux-architecture   platform-linux-architecture
                         (default #false))
+  (rust-architecture    platform-rust-architecture
+                        (default #false))
   (glibc-dynamic-linker platform-glibc-dynamic-linker))
 
 
diff --git a/guix/platforms/arm.scm b/guix/platforms/arm.scm
index 32c0fbc032..02337ee6b3 100644
--- a/guix/platforms/arm.scm
+++ b/guix/platforms/arm.scm
@@ -27,6 +27,7 @@ (define armv7-linux
    (target "arm-linux-gnueabihf")
    (system "armhf-linux")
    (linux-architecture "arm")
+   (rust-architecture "armv7-unknown-linux-gnueabihf")
    (glibc-dynamic-linker "/lib/ld-linux-armhf.so.3")))
 
 (define aarch64-linux
@@ -34,4 +35,5 @@ (define aarch64-linux
    (target "aarch64-linux-gnu")
    (system "aarch64-linux")
    (linux-architecture "arm64")
+   (rust-architecture "aarch64-unknown-linux-gnu")
    (glibc-dynamic-linker "/lib/ld-linux-aarch64.so.1")))
diff --git a/guix/platforms/mips.scm b/guix/platforms/mips.scm
index e6fa9eb292..5c1aef5f4f 100644
--- a/guix/platforms/mips.scm
+++ b/guix/platforms/mips.scm
@@ -26,4 +26,5 @@ (define mips64-linux
    (target "mips64el-linux-gnu")
    (system "mips64el-linux")
    (linux-architecture "mips")
+   (rust-architecture "mips64el-unknown-linux-gnuabi64")
    (glibc-dynamic-linker "/lib/ld.so.1")))
diff --git a/guix/platforms/powerpc.scm b/guix/platforms/powerpc.scm
index 1c7141ab42..9730e74288 100644
--- a/guix/platforms/powerpc.scm
+++ b/guix/platforms/powerpc.scm
@@ -28,6 +28,7 @@ (define powerpc-linux
    (target "powerpc-linux-gnu")
    (system "powerpc-linux")
    (linux-architecture "powerpc")
+   (rust-architecture "powerpc-unknown-linux-gnu")
    (glibc-dynamic-linker "/lib/ld.so.1")))
 
 (define powerpc64-linux
@@ -35,6 +36,7 @@ (define powerpc64-linux
    (target "powerpc64-linux-gnu")
    (system #f)                                    ;not supported
    (linux-architecture "powerpc")
+   (rust-architecture "powerpc64-unknown-linux-gnu")
    (glibc-dynamic-linker "/lib/ld64.so.1")))
 
 (define powerpc64le-linux
@@ -42,4 +44,5 @@ (define powerpc64le-linux
    (target "powerpc64le-linux-gnu")
    (system "powerpc64le-linux")
    (linux-architecture "powerpc")
+   (rust-architecture "powerpc64le-unknown-linux-gnu")
    (glibc-dynamic-linker "/lib/ld64.so.2")))
diff --git a/guix/platforms/riscv.scm b/guix/platforms/riscv.scm
index c716c12c12..ec400a2f0c 100644
--- a/guix/platforms/riscv.scm
+++ b/guix/platforms/riscv.scm
@@ -26,4 +26,5 @@ (define riscv64-linux
    (target "riscv64-linux-gnu")
    (system "riscv64-linux")
    (linux-architecture "riscv")
+   (rust-architecture "riscv64gc-unknown-linux-gnu")
    (glibc-dynamic-linker "/lib/ld-linux-riscv64-lp64d.so.1")))
diff --git a/guix/platforms/x86.scm b/guix/platforms/x86.scm
index 6f547dd770..05c69f0d4c 100644
--- a/guix/platforms/x86.scm
+++ b/guix/platforms/x86.scm
@@ -30,6 +30,7 @@ (define i686-linux
    (target "i686-linux-gnu")
    (system "i686-linux")
    (linux-architecture "i386")
+   (rust-architecture "i686-unknown-linux-gnu")
    (glibc-dynamic-linker "/lib/ld-linux.so.2")))
 
 (define x86_64-linux
@@ -37,22 +38,26 @@ (define x86_64-linux
    (target "x86_64-linux-gnu")
    (system "x86_64-linux")
    (linux-architecture "x86_64")
+   (rust-architecture "x86_64-unknown-linux-gnu")
    (glibc-dynamic-linker "/lib/ld-linux-x86-64.so.2")))
 
 (define i686-mingw
   (platform
    (target "i686-w64-mingw32")
    (system #f)
+   (rust-architecture "i686-pc-windows-gnu")
    (glibc-dynamic-linker #f)))
 
 (define x86_64-mingw
   (platform
    (target "x86_64-w64-mingw32")
    (system #f)
+   (rust-architecture "x86_64-pc-windows-gnu")
    (glibc-dynamic-linker #f)))
 
 (define i586-gnu
   (platform
    (target "i586-pc-gnu")
    (system "i586-gnu")
+   (rust-architecture "i686-unknown-hurd-gnu")
    (glibc-dynamic-linker "/lib/ld.so.1")))
-- 
Efraim Flashner   <efraim <at> flashner.co.il>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted





Information forwarded to guix-patches <at> gnu.org:
bug#67506; Package guix-patches. (Fri, 01 Dec 2023 14:41:02 GMT) Full text and rfc822 format available.

Message #8 received at 67506 <at> debbugs.gnu.org (full text, mbox):

From: Jean-Pierre De Jesus Diaz <jean <at> foundationdevices.com>
To: 67506 <at> debbugs.gnu.org
Cc: efraim.flashner <at> gmail.com
Subject: Re: guix: platform: Add platform-rust-architecture.
Date: Fri, 1 Dec 2023 14:39:44 +0000
Hello,

The patch series looks good to me.  I was thinking of something
similar to this in order
to add a procedure to cross compile the `std` target so that the rust
package can use it.

I was thinking that maybe the RUST-ARCHITECTURE could be called RUST-TARGET and
that it could be a list (RUST-TARGETS) as some GCC multilib targets
don't have a single
RUST-TARGET, namely arm-none-eabi and avr, but the latter only has one
rust target
but the intention from the existing target is to add more as needed I
think, as the
avr-unknown-gnu-atmega328 target is MCU specific.

But given that there are zero multilib targets present in GNU Guix as
of now I think
it can stay as a string.

Cheers,

-- 
Jean-Pierre De Jesus DIAZ
Foundation Devices, Inc.




Reply sent to Efraim Flashner <efraim <at> flashner.co.il>:
You have taken responsibility. (Mon, 11 Dec 2023 11:59:02 GMT) Full text and rfc822 format available.

Notification sent to Efraim Flashner <efraim <at> flashner.co.il>:
bug acknowledged by developer. (Mon, 11 Dec 2023 11:59:03 GMT) Full text and rfc822 format available.

Message #13 received at 67506-done <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: Jean-Pierre De Jesus Diaz <jean <at> foundationdevices.com>
Cc: 67506-done <at> debbugs.gnu.org
Subject: Re: [bug#67506] guix: platform: Add platform-rust-architecture.
Date: Mon, 11 Dec 2023 13:58:07 +0200
[Message part 1 (text/plain, inline)]
On Fri, Dec 01, 2023 at 02:39:44PM +0000, Jean-Pierre De Jesus Diaz via Guix-patches via wrote:
> Hello,
> 
> The patch series looks good to me.  I was thinking of something
> similar to this in order
> to add a procedure to cross compile the `std` target so that the rust
> package can use it.
> 
> I was thinking that maybe the RUST-ARCHITECTURE could be called RUST-TARGET and
> that it could be a list (RUST-TARGETS) as some GCC multilib targets
> don't have a single
> RUST-TARGET, namely arm-none-eabi and avr, but the latter only has one
> rust target
> but the intention from the existing target is to add more as needed I
> think, as the
> avr-unknown-gnu-atmega328 target is MCU specific.
> 
> But given that there are zero multilib targets present in GNU Guix as
> of now I think
> it can stay as a string.

I like rust-target better than rust-architecture.  I suppose we can look
at changing it to rust-targets later if necessary but currently rust
cross-builds aren't setup to accept a list of targets.

We can always change it later if necessary.

-- 
Efraim Flashner   <efraim <at> flashner.co.il>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#67506; Package guix-patches. (Mon, 11 Dec 2023 17:33:03 GMT) Full text and rfc822 format available.

Message #16 received at 67506-done <at> debbugs.gnu.org (full text, mbox):

From: Jean-Pierre De Jesus Diaz <jean <at> foundationdevices.com>
To: Efraim Flashner <efraim <at> flashner.co.il>, 
 Jean-Pierre De Jesus Diaz <jean <at> foundationdevices.com>,
 67506-done <at> debbugs.gnu.org
Subject: Re: [bug#67506] guix: platform: Add platform-rust-architecture.
Date: Mon, 11 Dec 2023 17:32:03 +0000
>I like rust-target better than rust-architecture.  I suppose we can look
>at changing it to rust-targets later if necessary but currently rust
>cross-builds aren't setup to accept a list of targets.
>
>We can always change it later if necessary.

Agreed, should be changed later.

--
Jean-Pierre De Jesus DIAZ
Foundation Devices, Inc.




Information forwarded to guix-patches <at> gnu.org:
bug#67506; Package guix-patches. (Mon, 11 Dec 2023 20:55:02 GMT) Full text and rfc822 format available.

Message #19 received at 67506-done <at> debbugs.gnu.org (full text, mbox):

From: Greg Hogan <code <at> greghogan.com>
To: Jean-Pierre De Jesus Diaz <jean <at> foundationdevices.com>
Cc: Efraim Flashner <efraim <at> flashner.co.il>, 67506-done <at> debbugs.gnu.org
Subject: Re: [bug#67506] guix: platform: Add platform-rust-architecture.
Date: Mon, 11 Dec 2023 15:53:42 -0500
On Mon, Dec 11, 2023 at 12:33 PM Jean-Pierre De Jesus Diaz via
Guix-patches via <guix-patches <at> gnu.org> wrote:
>
> >I like rust-target better than rust-architecture.  I suppose we can look
> >at changing it to rust-targets later if necessary but currently rust
> >cross-builds aren't setup to accept a list of targets.
> >
> >We can always change it later if necessary.
>
> Agreed, should be changed later.

This commit is causing a world rebuild for me back to
gcc-mesboot-4.9.4; however, CI only includes 182 packages in the
evaluation at https://ci.guix.gnu.org/eval/972727. Might it matter
that I do not have substitute servers enabled?

Greg




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 09 Jan 2024 12:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 121 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.