unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Christopher Baines <mail@cbaines.net>
To: Chris Marusich <cmmarusich@gmail.com>
Cc: guix-devel@gnu.org
Subject: Re: core-updates: Emacs is only supported on x86_64-linux?
Date: Mon, 08 Mar 2021 22:33:00 +0000	[thread overview]
Message-ID: <87h7llb7j7.fsf@cbaines.net> (raw)
In-Reply-To: <874khm5pab.fsf_-_@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4840 bytes --]


Chris Marusich <cmmarusich@gmail.com> writes:

> Christopher Baines <mail@cbaines.net> writes:
>
>> Chris Marusich <cmmarusich@gmail.com> writes:
>>
>>> I've noticed that the emacs package only supports x86_64-linux, at least
>>> on core-updates.  Is that intended?
>>
>> The relevant commit [1] does mention the intent "Remove "i686-linux"
>> from supported systems.", but that does differ from my interpretation of
>> the change, which is only support x86_64-linux.
>>
>> 1: https://git.savannah.gnu.org/cgit/guix.git/commit/?id=0ed631866cc0b7cece2b0a0b50e39b37ae91bb67
>>
>> I've sent a patch that should add back "support" for other systems:
>>
>>   https://issues.guix.gnu.org/46987
>>
>> That's for master at least, I haven't looked in to what the situation is
>> on core-updates. It's worth there checking if the build still fails.
>
> That patch doesn't apply on core-updates because that rust version
> doesn't seem to exist any more on core-updates.  However, the same
> change applied to the right rust on core-updates does the trick, like
> this:
>
> From e36c4cab40c5b97ffedc72acc586c0b560e7868e Mon Sep 17 00:00:00 2001
> From: Chris Marusich <cmmarusich@gmail.com>
> Date: Sun, 7 Mar 2021 15:58:19 -0800
> Subject: [PATCH] gnu: rust: Make it "supported" on all systems but i686-linux.
>
> * gnu/packages/rust.scm (rust-1.30)[supported-systems]: Instead of hard-coding
> this to just "x86_64-linux", calculate the supported systems by deleting
> "i686-linux" from %supported-systems.
> ---
>  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 70d19e089ab..98c553cb913 100644
> --- a/gnu/packages/rust.scm
> +++ b/gnu/packages/rust.scm
> @@ -448,7 +448,9 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
>             (search-path-specification
>              (variable "LIBRARY_PATH")
>              (files '("lib" "lib64")))))
> -    (supported-systems '("x86_64-linux"))
> +    (supported-systems
> +     (delete "i686-linux"  ; fails to build, see bug #35519
> +             %supported-systems))
>      (synopsis "Compiler for the Rust progamming language")
>      (description "Rust is a systems programming language that provides memory
>  safety and thread safety guarantees.")
> -- 
> 2.26.2
>
>
> Both of these patches fix the issue for me.  After applying either one
> in isolation (on the wip-ppc64le branch, which was recently rebased onto
> core-updates), the list of supported systems for the emacs package
> correctly includes other systems, including powerpc64le-linux, and thus
> the tests/guix-package.sh test passes on my powerpc64le-linux system.
>
> I think both of these patches are important and needed.  The patch to
> restore supported systems to the rust package is important because we
> will want rust to build successfully on many systems.  The patch to only
> add gtk+ and librsvg inputs to emacs when the system is x86_64-linux is
> important because it would be advantageous to be able to use emacs
> without depending on rust on systems like powerpc64le-linux, where Rust
> support may not be great yet.
>
> It's also convenient for me, personally, because I don't really want to
> deal with Rust right now just to get Emacs working on powerpc64le-linux.
> Once I can build a Guix release binary for powerpc64le-linux, then I
> think I can start worrying more about Rust.  I have taken the liberty of
> applying these patches to the wip-ppc64le branch as-is, since they work
> for me.  I can remove them later if we don't like it.
>
> We will undoubtedly run into a similar situation with other packages
> going forward, like Mark mentioned.  Debian ran into this very issue
> some time ago, and apparently it caused a bit of consternation:
>
> https://lwn.net/Articles/771355/
>
> Apparently, powerpc64le-unknown-linux-gnu is a "Tier 2" Rust platform,
> which I guess means it's pretty well supported, but not as well as "Tier
> 1".  I hope that we can get it all working, since librsvg is depended
> upon in some way or another by about 2700 packages (about 17% of the
> total Guix package collection).  In the meantime, limiting the blast
> radius as needed, like Mark suggested, seems like the right thing to do
> until Rust support improves on other architectures.

I've gone ahead and pushed the patch I proposed to master, I think it's
a step forward.

As you say, adapting the change for core-updates might be good as
well. I want to check though if rust builds for i686-linux on
core-updates, as the path is different to master, so it may well work.

So yeah, once I've found out whether rust works on i686-linux on
core-updates, I might make a change there too.

Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]

  parent reply	other threads:[~2021-03-08 22:33 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-07  7:56 core-updates: Emacs is only supported on x86_64-linux? Chris Marusich
2021-03-07 10:46 ` Mark H Weaver
2021-03-07 23:40   ` Leo Famulari
2021-03-08  2:53   ` Chris Marusich
2021-03-08  5:29     ` Mark H Weaver
2021-03-08  7:14       ` Ricardo Wurmus
2021-03-10  0:09         ` Mark H Weaver
2021-03-08  7:19       ` Ricardo Wurmus
2021-03-09  6:04       ` Chris Marusich
2021-03-09  8:20         ` Chris Marusich
2021-03-10  0:05           ` Mark H Weaver
2021-03-08 22:33     ` Christopher Baines [this message]
2021-03-09 23:47       ` Mark H Weaver
2021-03-07 13:41 ` Christopher Baines

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87h7llb7j7.fsf@cbaines.net \
    --to=mail@cbaines.net \
    --cc=cmmarusich@gmail.com \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).