From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: Re: package systems, before and after the core-updates merge Date: Sat, 19 Oct 2019 23:02:21 +0200 Message-ID: <87r238sb36.fsf@gnu.org> References: <87sgnrqf62.fsf@cbaines.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:53710) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iLvrl-0005a9-Et for guix-devel@gnu.org; Sat, 19 Oct 2019 17:02:26 -0400 In-Reply-To: <87sgnrqf62.fsf@cbaines.net> (Christopher Baines's message of "Thu, 17 Oct 2019 21:40:21 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Christopher Baines Cc: guix-devel@gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi, Christopher Baines skribis: > One thing that I was aware of before the recent core-updates merge was > that the Guix Data Service [1] didn't generate derivations for systems > other than x86_64-linux and i686-linux, at least to the same extent as > the master branch before the recent core-updates merge. Indeed, see this bug fix that landed before the merge: https://git.savannah.gnu.org/cgit/guix.git/commit/?id=3Dbc60349b5bc58a0b8= 03df5adce1de6db82453744 > I think this is down to the use of package-transitive-supported-systems > within the Guix Data Service, but the output of this function for a > package can also be seen by running guix package --show. The patch below fixes =E2=80=98guix show=E2=80=99 but it has a noticeable p= erformance impact that makes me thing something=E2=80=99s not quite right with memoiza= tion in =E2=80=98package-transitive-supported-systems=E2=80=99: --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/guix/ui.scm b/guix/ui.scm index 3e4bd5787e..426e517b54 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -1259,7 +1259,8 @@ WIDTH columns. EXTRA-FIELDS is a list of symbol/value pairs to emit." (format port "version: ~a~%" (package-version p)) (format port "outputs: ~a~%" (string-join (package-outputs p))) (format port "systems: ~a~%" - (string-join (package-transitive-supported-systems p))) + (string-join (filter (cut supported-package? p <>) + %supported-systems))) (format port "dependencies: ~a~%" (match (package-direct-inputs p) (((labels inputs . _) ...) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable > Also, for the Guix Data Service, all I want to know is for a given > package, is for which systems and targets a derivation can be reasonably > computed. Maybe it is wrong to use package-transitive-supported-systems > for this. You can use =E2=80=98supported-package?=E2=80=99 as above. This is also wh= at (gnu ci) does. Let me know if this helps! Ludo=E2=80=99. --=-=-=--