[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: core-updates: Emacs is only supported on x86_64-linux?
From: |
Christopher Baines |
Subject: |
Re: core-updates: Emacs is only supported on x86_64-linux? |
Date: |
Mon, 08 Mar 2021 22:33:00 +0000 |
User-agent: |
mu4e 1.4.15; emacs 27.1 |
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
signature.asc
Description: PGP signature
- Re: core-updates: Emacs is only supported on x86_64-linux?, (continued)
- Re: core-updates: Emacs is only supported on x86_64-linux?, Mark H Weaver, 2021/03/07
- Re: core-updates: Emacs is only supported on x86_64-linux?, Leo Famulari, 2021/03/07
- Re: core-updates: Emacs is only supported on x86_64-linux?, Chris Marusich, 2021/03/07
- Re: core-updates: Emacs is only supported on x86_64-linux?, Ricardo Wurmus, 2021/03/08
- Re: core-updates: Emacs is only supported on x86_64-linux?, Chris Marusich, 2021/03/09
- Re: core-updates: Emacs is only supported on x86_64-linux?, Chris Marusich, 2021/03/09
- Re: core-updates: Emacs is only supported on x86_64-linux?, Mark H Weaver, 2021/03/09
- Re: core-updates: Emacs is only supported on x86_64-linux?,
Christopher Baines <=
- Re: core-updates: Emacs is only supported on x86_64-linux?, Mark H Weaver, 2021/03/09
Re: core-updates: Emacs is only supported on x86_64-linux?, Christopher Baines, 2021/03/07