From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:c151::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id QPLrDuaRRWDZfgAA0tVLHw (envelope-from ) for ; Mon, 08 Mar 2021 02:54:30 +0000 Received: from aspmx2.migadu.com ([2001:41d0:2:c151::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id gG3LCuaRRWCZdQAAB5/wlQ (envelope-from ) for ; Mon, 08 Mar 2021 02:54:30 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx2.migadu.com (Postfix) with ESMTPS id 33CCA24EE6 for ; Mon, 8 Mar 2021 03:54:29 +0100 (CET) Received: from localhost ([::1]:58574 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lJ62O-0002OW-AS for larch@yhetil.org; Sun, 07 Mar 2021 21:54:28 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49904) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lJ61u-0002NV-E9 for guix-devel@gnu.org; Sun, 07 Mar 2021 21:53:58 -0500 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]:50992) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lJ61r-00041K-23 for guix-devel@gnu.org; Sun, 07 Mar 2021 21:53:58 -0500 Received: by mail-pj1-x102d.google.com with SMTP id b15so2226445pjb.0 for ; Sun, 07 Mar 2021 18:53:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=2mKfmuPjcz5wFWbsaz++ljqGyU+EP602olVYrWcFomk=; b=GdqOPkc8KXoczJBYRHi5xZBBS3HVy5oHegRjwVsaYDVpeRDn/KQqKK+LDwkBcGIZDJ VKY0NgWijIVXsLlEtKq+kzorRcP2lIqnN1rf0NJGiYr9UfOBHFwHCWyvr2hhedXQJQ/o 1EigyRfxBMdsq4QUSiuog2bzJ91UbmX/0UYWx8e3BqygvIPjF99pFXtnqzfQjUPiO4lF ZYz5jZQGDrosUyjO7VCZlekq+0RUo4uqZrcBL8avV95cuFuyYeotbIsthSoAhkr7d6rU 7RxraHfyVOk+bStE1XsH8FYu657QU9JcpflBcePCPGVV12cZitS91UfDt4Mw6Fhi84Lk kbng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=2mKfmuPjcz5wFWbsaz++ljqGyU+EP602olVYrWcFomk=; b=ndT5byhDDI1qc2hoOpdQDjCcQr43ULR4eF1XT/8zmAV39/8z0H36MZRabS5b0GzW+i AYvhd5REJHjThG14FXR43l/hIG+p/d8p08PF3qH7vKnDoNZ48A4s4Dbm3BCXwvTEY/7P ub04ZklDEPM5twFn6B8CytfvkfQtRLZvBljeNz4z63RRqPfdo+IHg6Mxgm8XZE8RswR6 ibEC+jEQH0p5GLYStpgUzPSX7xosPV9SuFrBhnFcr8/8xdzHwKuv0f2feNzOGtEA039f 6zqb/i2S6oxbaqvUg5DLbDRHGgNeGaF2qgLc+8LYxxH2KKNPylTZAaAHcNQrcc6ftwQB KJ2Q== X-Gm-Message-State: AOAM530aF2Ac8k8X+gvZdhtBCy39NXc4hHKTAkUABwLuviJk1gewmQ+h Lx2AuytmYSJnwSlT6V+ttJWrALB0SeiXhA== X-Google-Smtp-Source: ABdhPJzPT+tMxO5xG2PubxLPZBKoQVHxLdI0N8wfnV4M2xlPg6nOI6X/w795m2i02HBDttrkv9QKXg== X-Received: by 2002:a17:90a:f986:: with SMTP id cq6mr22675982pjb.175.1615172033440; Sun, 07 Mar 2021 18:53:53 -0800 (PST) Received: from garuda-lan (c-24-18-44-142.hsd1.wa.comcast.net. [24.18.44.142]) by smtp.gmail.com with ESMTPSA id a1sm8567257pff.156.2021.03.07.18.53.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 07 Mar 2021 18:53:52 -0800 (PST) From: Chris Marusich To: Mark H Weaver , Leo Famulari , Christopher Baines Subject: Re: core-updates: Emacs is only supported on x86_64-linux? References: <87a6rf5rd6.fsf@gmail.com> <87a6rf5rd6.fsf@gmail.com> <87r1krgs10.fsf@netris.org> <87a6rf5rd6.fsf@gmail.com> <87r1krgs10.fsf@netris.org> Date: Sun, 07 Mar 2021 18:53:48 -0800 In-Reply-To: <87r1krgs10.fsf@netris.org> (Mark H. Weaver's message of "Sun, 07 Mar 2021 05:46:24 -0500, Sun, 7 Mar 2021 18:40:42 -0500, Sun, 07 Mar 2021 13:41:22 +0000") Message-ID: <874khm5pab.fsf_-_@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Received-SPF: pass client-ip=2607:f8b0:4864:20::102d; envelope-from=cmmarusich@gmail.com; helo=mail-pj1-x102d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1615172069; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=2mKfmuPjcz5wFWbsaz++ljqGyU+EP602olVYrWcFomk=; b=HLdzeEdnhaN/c9AKXh1Iw/9ocwQYFzRfs9BPHpSRQ2Qmx85tNu0vdr09m3NhQaDYbi1LjW gcV5PaSeI+4Os1BCIRLOSe2pDL0MzoAHlceubzUvlZ5SX207fONe2r471r/r+9u1VJBYsW VtJfbp64d6WvbieD/lezS1Mw7mL32z1qAXC2IIebQVophhREUXONzOLpwyODHbzbDil+2m bbdFSr6n/MkSdW231IYLddzrG3UaHsHuWV5mcMn8QAqhyo6slv8yhp98NgX5BrXniaKZ/l Kh269uVQyrHi7vpp4HKdz0IsbSAIdwfz2m5NtDS/cdisIdkvmPg05PlYp4lCPw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1615172069; a=rsa-sha256; cv=none; b=mCSkw5YIg1OknR7Twr+br3zfvzT6iG9/G5Nqo3DcYoX1lpT+im+twDZPo+gEXfdq9Azhim 1YkpVINhizN/2UKZ3jw8D9nsOqT0WPppwCbh8I31U7UA3m2fusQu8k4d1X3GjZhf/Rs68g BYjh2A0U9tO7LLkNoAnk91egPVGGQX+EFxMNEF1MC6eTSNxQ073PWYMGgwCS2E3f4yNRO3 8xMz68LmgqG/A9DabE2vRx+tASxaEMdrPM0p8S33dk9OjhsbVCTUV5JHHuCUY1qPWKFxjh /zNf3DaR3jW56jtRMiSzg1diuAngv7cYqZqVjatQsq9UKGXjpRhx1RRlAVlxiQ== ARC-Authentication-Results: i=1; aspmx2.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=GdqOPkc8; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx2.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -4.18 Authentication-Results: aspmx2.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=GdqOPkc8; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx2.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: 33CCA24EE6 X-Spam-Score: -4.18 X-Migadu-Scanner: scn1.migadu.com X-TUID: 6rZBjKWsHNRF --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hi all, FYI, I'm sending this message to 46987@debbugs.gnu.org via Bcc, also. I'm not sure if that works, but we'll see... Mark H Weaver writes: > It's not intended. Emacs should certainly be supported on every system > that Guix supports. Thank you for confirming. That is what I expected. > For now, I suggest that Emacs should have input 'librsvg' only on > 'x86_64-linux' systems. Something like this (untested), for > core-updates: > > diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm > index 98061c93ae..de6101cf17 100644 > --- a/gnu/packages/emacs.scm > +++ b/gnu/packages/emacs.scm > @@ -71,6 +71,7 @@ > #:use-module (gnu packages xml) > #:use-module (gnu packages xorg) > #:use-module (guix utils) > + #:use-module (ice-9 match) > #:use-module (srfi srfi-1)) >=20=20 > (define-public emacs > @@ -236,7 +237,10 @@ > ("libpng" ,libpng) > ("zlib" ,zlib) >=20=20 > - ("librsvg" ,librsvg) > + ,@(match (or (%current-target-system) > + (%current-system)) > + ("x86_64-linux" `(("librsvg" ,librsvg))) > + (_ `())) > ("libxpm" ,libxpm) > ("libxml2" ,libxml2) > ("libice" ,libice) > > Ditto for all other packages with 'librsvg' as an optional dependency. I've confirmed that works for emacs, except that you actually have to also do it for gtk+, too, since rust gets pulled in via gtk+ also. So, something like this: --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-gnu-emacs-Use-librsvg-and-gtk-on-x86_64-linux-only.patch Content-Transfer-Encoding: quoted-printable From=20649c89e5862e1ed887f5fd863ef7bb32f97bbe74 Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Sun, 7 Mar 2021 17:42:37 -0800 Subject: [PATCH] gnu: emacs: Use librsvg and gtk+ on x86_64-linux only. * gnu/packages/emacs.scm (emacs)[inputs]: Only add librsvg when the %current-target-system or %current-system is "x86_64-linux". This avoids pulling rust into the transitive closure of inputs on systems where Rust support is currently lacking. =2D-- gnu/packages/emacs.scm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 98061c93ae0..f0797ae2347 100644 =2D-- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -71,6 +71,7 @@ #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (guix utils) + #:use-module (ice-9 match) #:use-module (srfi srfi-1)) =20 (define-public emacs @@ -219,7 +220,6 @@ =20 ;; TODO: Add the optional dependencies. ("libx11" ,libx11) =2D ("gtk+" ,gtk+) ("cairo" ,cairo) ("pango" ,pango) ("harfbuzz" ,harfbuzz) @@ -236,7 +236,6 @@ ("libpng" ,libpng) ("zlib" ,zlib) =20 =2D ("librsvg" ,librsvg) ("libxpm" ,libxpm) ("libxml2" ,libxml2) ("libice" ,libice) @@ -246,7 +245,15 @@ =20 ;; multilingualization support ("libotf" ,libotf) =2D ("m17n-lib" ,m17n-lib))) + ("m17n-lib" ,m17n-lib) + + ;; These are optional dependencies that pull in rust. Rust is not + ;; supported well on every architecture yet. + ,@(match (or (%current-target-system) + (%current-system)) + ("x86_64-linux" `(("gtk+" ,gtk+) + ("librsvg" ,librsvg))) + (_ '())))) (native-inputs `(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el")) ("pkg-config" ,pkg-config) =2D-=20 2.26.2 --=-=-= Content-Type: text/plain What do you think about that? If there are no problems, I'll go ahead and commit it to core-updates. Note that because that patch re-orders the inputs, it causes emacs to be rebuilt, which should be fine because it's core-updates. It seemed better to group these two inputs in a single match clause, rather than scattering them in two different but basically identical match clauses just to keep their original ordering intact. Christopher Baines writes: > Chris Marusich 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: --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-gnu-rust-Make-it-supported-on-all-systems-but-i686-l.patch Content-Transfer-Encoding: quoted-printable From=20e36c4cab40c5b97ffedc72acc586c0b560e7868e Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Sun, 7 Mar 2021 15:58:19 -0800 Subject: [PATCH] gnu: rust: Make it "supported" on all systems but i686-lin= ux. * gnu/packages/rust.scm (rust-1.30)[supported-systems]: Instead of hard-cod= ing this to just "x86_64-linux", calculate the supported systems by deleting "i686-linux" from %supported-systems. =2D-- 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 =2D-- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -448,7 +448,9 @@ jemalloc =3D \"" jemalloc "/lib/libjemalloc_pic.a" "\" (search-path-specification (variable "LIBRARY_PATH") (files '("lib" "lib64"))))) =2D (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 mem= ory safety and thread safety guarantees.") =2D-=20 2.26.2 --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable 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. =2D-=20 Chris --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAmBFkbwACgkQ3UCaFdgi Rp3vSQ//dSixq85AcEjmw4TCw/zO0v9RWUZkP66C+jSW2818guy77II0twuo/r77 VGoyg5c9a1S0fZCYLnECrllC7DXSAOHX2VnOrzoQJoJO3auKCxGGsB9yca0Seiow Od7iBswYqUpbY21ByE8tKL+NfKOv+ED4EK+SY6FJwXRK73xefLUYJzUmDymyoKym akcOo0GBLk8DBkuGVAa0qkBYuLr/CaCwYHBOBf/zF78syeHJm9wkgVt1bt/00ecQ 4yOGgAntTFZGyJ9AlFmumBCEsBjOnL1jpa5ws+h0TZB4qVfi5jJUoLOmvTYUYMbs egElKvHOVCeZ0SmJi7FmR3Wka0iRXSyw0KKQMWPsQTcDIpqIX2eUnmAPXX+P6GbN HJbxxH6oGSUqdbx/UoLHzfRxuDvuI70/YR46hdMPzpI2ZfQfNUqF0aoifjxLckoW 41c/bI4ybBvi5dHlNnZj5Y2wPwjodbhYIDucJW71qkxh4TlM1Wb5rT9W4bEHXztk J2UV3LaUWs9aXf1Q/lceV99hvj/17TiK3o0kto69x5o366+6uygRnsmk3OeW+UMF 1nGJieixWMJyMdWlTEjcLx91iW4OBn8TPAV1ctyNP/Le1oVQJRKlCsa5LhsPCp61 PQ2fSEVwqLlU7UNtWv3XLhWqbOpK8zchYtLxZaGTgj4h/POPrDA= =bqac -----END PGP SIGNATURE----- --==-=-=--