GNU bug report logs - #53127
[PATCH RFC] Turning Rust/Cargo inputs into “regular” inputs?

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix-patches; Reported by: Ludovic Courtès <ludovic.courtes@HIDDEN>; Keywords: patch; dated Sat, 8 Jan 2022 17:58:02 UTC; Maintainer for guix-patches is guix-patches@HIDDEN.
bug reassigned from package 'guix' to 'guix-patches'. Request was from Ludovic Courtès <ludo@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 53127 <at> debbugs.gnu.org:


Received: (at 53127) by debbugs.gnu.org; 11 Jan 2022 10:11:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 11 05:11:28 2022
Received: from localhost ([127.0.0.1]:54215 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1n7E7k-0004Nx-9O
	for submit <at> debbugs.gnu.org; Tue, 11 Jan 2022 05:11:28 -0500
Received: from hera.aquilenet.fr ([185.233.100.1]:44366)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1n7E7i-0004Ni-Uj
 for 53127 <at> debbugs.gnu.org; Tue, 11 Jan 2022 05:11:27 -0500
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 783705FE;
 Tue, 11 Jan 2022 11:11:21 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Received: from hera.aquilenet.fr ([127.0.0.1])
 by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id nbb2P6HK5P6H; Tue, 11 Jan 2022 11:11:20 +0100 (CET)
Received: from ribbon (unknown [193.50.110.156])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 89CC2F2;
 Tue, 11 Jan 2022 11:11:20 +0100 (CET)
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN>
To: Liliana Marie Prikler <liliana.prikler@HIDDEN>
Subject: Re: bug#53127: [PATCH RFC] Turning Rust/Cargo inputs into
 =?utf-8?B?4oCccmVndWxhcuKAnQ==?= inputs?
References: <87sfty3yb5.fsf@HIDDEN>
 <f31aa42f47fef21dd459771402601ddbe16998a9.camel@HIDDEN>
 <87zgo4ynk4.fsf@HIDDEN>
 <5d8fcfd860d68aa3f1173744031ff2a55a0adf28.camel@HIDDEN>
Date: Tue, 11 Jan 2022 11:11:19 +0100
In-Reply-To: <5d8fcfd860d68aa3f1173744031ff2a55a0adf28.camel@HIDDEN>
 (Liliana Marie Prikler's message of "Mon, 10 Jan 2022 21:24:10 +0100")
Message-ID: <875yqqy43c.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 783705FE
X-Spamd-Result: default: False [0.90 / 15.00]; ARC_NA(0.00)[];
 RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[];
 TO_DN_SOME(0.00)[]; FREEMAIL_ENVRCPT(0.00)[gmail.com];
 TO_MATCH_ENVRCPT_ALL(0.00)[]; TAGGED_RCPT(0.00)[];
 MIME_GOOD(-0.10)[text/plain]; RCPT_COUNT_TWO(0.00)[2];
 FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[];
 MIME_TRACE(0.00)[0:+]; SUBJECT_ENDS_QUESTION(1.00)[];
 RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[];
 MID_RHS_MATCH_FROM(0.00)[]
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: 53127
Cc: 53127 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

Liliana Marie Prikler <liliana.prikler@HIDDEN> skribis:

> Am Montag, dem 10.01.2022 um 09:58 +0100 schrieb Ludovic Court=C3=A8s:
>> Hi!
>>=20
>> Liliana Marie Prikler <liliana.prikler@HIDDEN> skribis:
>>=20
>> > I suppose adding (package-source rust-cargo) to inputs to preserve
>> > the
>> > old meaning would not make much sense?
>>=20
>> No because you need transitivity (that is, you need sources of the
>> dependencies, too).
>>=20
>> > If so, what about having a source output and using (list `(,rust-
>> > cargo
>> > "source") ...)?
>>=20
>> AFAICS it wouldn=E2=80=99t help solve the problems I mentioned.
> Even if it held the transitive sources?

Ah yes, that could work.

> The only other idea I have is somehow adapting maven-build-system's
> parent-poms, but I don't know how that'd look like implementation-wise.

I=E2=80=99m not familiar with this.

[...]

>> Yeah, we could change things incrementally if that helps.
>>=20
>> However, given that =E2=80=98guix style=E2=80=99 can automate all the ch=
anges, I
>> think we could just as well change everything at once.=C2=A0 The good
>> thing is that it allows us that the strategy we choose actually works
>> at scale, in every case.
> Ahh, but what if we told =E2=80=98guix style=E2=80=99 to automate all the=
 changes
> incrementally?  In other words, we'd tell it to detect cycles in inputs
> and only commit those changes that it can make without creating one.=20
> That'd be similar to the new-style inputs change, which also aborts if
> even a single input can't be handled.

Hmm yes, maybe.  As a first step I=E2=80=99d like to see if we can get rid =
of
those cycles altogether (that seems to be the case at first sight) or if
it=E2=80=99s just not an option.

Thanks,
Ludo=E2=80=99.




Information forwarded to bug-guix@HIDDEN:
bug#53127; Package guix. Full text available.

Message received at 53127 <at> debbugs.gnu.org:


Received: (at 53127) by debbugs.gnu.org; 10 Jan 2022 20:24:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 10 15:24:21 2022
Received: from localhost ([127.0.0.1]:53387 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1n71DJ-0000PI-L7
	for submit <at> debbugs.gnu.org; Mon, 10 Jan 2022 15:24:21 -0500
Received: from mail-wm1-f65.google.com ([209.85.128.65]:42965)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <liliana.prikler@HIDDEN>) id 1n71DG-0000P1-KN
 for 53127 <at> debbugs.gnu.org; Mon, 10 Jan 2022 15:24:20 -0500
Received: by mail-wm1-f65.google.com with SMTP id
 a83-20020a1c9856000000b00344731e044bso594767wme.1
 for <53127 <at> debbugs.gnu.org>; Mon, 10 Jan 2022 12:24:18 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=message-id:subject:from:to:cc:date:in-reply-to:references
 :user-agent:mime-version:content-transfer-encoding;
 bh=3kZ5CN4F34N1VidVUPx8BywVew3q/YA/uh6/2QAfdpw=;
 b=YVitBknIGVFnsYGvbMi/yJa9zquy6PivqmfaqfPADmx+pp7YpMWdct2gt/2Xitsmld
 BncP2+Mw3qVuHR5b6qI63pjeY0/1xZBN9AKNLPRiBF2bBoqJfHNQMCjw2vyJUhgJ+j8p
 wgWQvGZbOkwSpfXKbuXEFvR6dOvP+GPlb7Fbxe4fm/kw4vbfvMdpRyzEDaPiIbBmjzwb
 Xm8HAd/i/dVAxTPr4Ywtj7jcg/u0oW1/udfsaTJ4A5mJqU6OfYVsmEuXLFv4OPvJWI7L
 U+mwEPZfFk0t591673VYC6/CVyEV3IBJQufryTG5zezgNklB1lmZ1fsIV5LKVzpZoSih
 HdtQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to
 :references:user-agent:mime-version:content-transfer-encoding;
 bh=3kZ5CN4F34N1VidVUPx8BywVew3q/YA/uh6/2QAfdpw=;
 b=uIG5gnNon6SGFFGPdsVV2KgPZk9K/Qee3tELWTZ3d8k0n7iJhTIJi2n+dgHCwJMkwt
 hLF0xSNXjwra+YSyttHNK8cf17e2qLk1ZSgf1wJ1dBUiWoA0Q3THxXsNdFCCXoyKEJ9C
 W1xCjPRz1nanCWFQY8S4lCJiGZwGQe5Kf6KIyiVPSo+Yg7TiGo2pZrtrIxgmUK0el5b3
 K6KYMGJzT7dN4q403NYTQgMd7DqkdOOWLf5RGbDaMO2LxIJ2Jh82/kEpWva+dCMnXh2U
 INlcKgLYze7cA/OZHasiBQWHv61EJD7iuNL8abzvrw16QQL9jABTakaCsrjawBeDK9R7
 7jow==
X-Gm-Message-State: AOAM531dRb8gEE/7LfzQa8Z8Cw83/J5tv5PQQsje8SEn3/myKz0QJfrv
 fe8VSBiIpUSPtZb99fw617M=
X-Google-Smtp-Source: ABdhPJxoOYWEfo7LTLI0lFSvUhJmxyq8Zruzn4eRheYR7d8/iRT5/UsqTzTKsYKF/+l5qaHa6LJIAA==
X-Received: by 2002:a05:600c:21c6:: with SMTP id
 x6mr4433778wmj.135.1641846252734; 
 Mon, 10 Jan 2022 12:24:12 -0800 (PST)
Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at.
 [85.127.52.93])
 by smtp.gmail.com with ESMTPSA id t7sm4533070wrx.48.2022.01.10.12.24.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Jan 2022 12:24:12 -0800 (PST)
Message-ID: <5d8fcfd860d68aa3f1173744031ff2a55a0adf28.camel@HIDDEN>
Subject: Re: [PATCH RFC] Turning Rust/Cargo inputs into
 =?UTF-8?Q?=E2=80=9Cregular=E2=80=9D?= inputs?
From: Liliana Marie Prikler <liliana.prikler@HIDDEN>
To: Ludovic =?ISO-8859-1?Q?Court=E8s?= <ludo@HIDDEN>
Date: Mon, 10 Jan 2022 21:24:10 +0100
In-Reply-To: <87zgo4ynk4.fsf@HIDDEN>
References: <87sfty3yb5.fsf@HIDDEN>
 <f31aa42f47fef21dd459771402601ddbe16998a9.camel@HIDDEN>
 <87zgo4ynk4.fsf@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.42.1 
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 53127
Cc: 53127 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Am Montag, dem 10.01.2022 um 09:58 +0100 schrieb Ludovic Courtès:
> Hi!
> 
> Liliana Marie Prikler <liliana.prikler@HIDDEN> skribis:
> 
> > I suppose adding (package-source rust-cargo) to inputs to preserve
> > the
> > old meaning would not make much sense?
> 
> No because you need transitivity (that is, you need sources of the
> dependencies, too).
> 
> > If so, what about having a source output and using (list `(,rust-
> > cargo
> > "source") ...)?
> 
> AFAICS it wouldn’t help solve the problems I mentioned.
Even if it held the transitive sources?

The only other idea I have is somehow adapting maven-build-system's
parent-poms, but I don't know how that'd look like implementation-wise.
Also, with most of our Rust packages not even being built, it'd all be
parent poms.

> > 
> > > Last, the change to ‘inputs’ would introduce a few cycles at the
> > > <package> level.  Those cycles vanish when we lower to bags and
> > > derivations.  However, because of these cycles, things like ‘guix
> > > refresh -l’ may not work; there might be other unexpected and
> > > undesired side effects.
> > What about making the change incrementally, so that outer layers
> > can start adopting the new style while inner layers are being
> > rebootstrapped.  I also think it'd make sense to see how we could
> > detect cycles through static analysis.
> 
> Yeah, we could change things incrementally if that helps.
> 
> However, given that ‘guix style’ can automate all the changes, I
> think we could just as well change everything at once.  The good
> thing is that it allows us that the strategy we choose actually works
> at scale, in every case.
Ahh, but what if we told ‘guix style’ to automate all the changes
incrementally?  In other words, we'd tell it to detect cycles in inputs
and only commit those changes that it can make without creating one. 
That'd be similar to the new-style inputs change, which also aborts if
even a single input can't be handled.

> > 
Cheers




Information forwarded to bug-guix@HIDDEN:
bug#53127; Package guix. Full text available.

Message received at 53127 <at> debbugs.gnu.org:


Received: (at 53127) by debbugs.gnu.org; 10 Jan 2022 08:58:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 10 03:58:49 2022
Received: from localhost ([127.0.0.1]:51805 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1n6qVt-0007mg-77
	for submit <at> debbugs.gnu.org; Mon, 10 Jan 2022 03:58:49 -0500
Received: from hera.aquilenet.fr ([185.233.100.1]:34042)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1n6qVp-0007mK-31
 for 53127 <at> debbugs.gnu.org; Mon, 10 Jan 2022 03:58:48 -0500
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 637E3F2;
 Mon, 10 Jan 2022 09:58:38 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Received: from hera.aquilenet.fr ([127.0.0.1])
 by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id fQRNBHLQ7TpZ; Mon, 10 Jan 2022 09:58:37 +0100 (CET)
Received: from ribbon (91-160-117-201.subs.proxad.net [91.160.117.201])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id B1F02AD;
 Mon, 10 Jan 2022 09:58:36 +0100 (CET)
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN>
To: Liliana Marie Prikler <liliana.prikler@HIDDEN>
Subject: Re: [PATCH RFC] Turning Rust/Cargo inputs into =?utf-8?B?4oCccmVn?=
 =?utf-8?B?dWxhcuKAnQ==?= inputs?
References: <87sfty3yb5.fsf@HIDDEN>
 <f31aa42f47fef21dd459771402601ddbe16998a9.camel@HIDDEN>
X-URL: http://www.fdn.fr/~lcourtes/
X-Revolutionary-Date: 21 =?utf-8?Q?Niv=C3=B4se?= an 230 de la =?utf-8?Q?R?=
 =?utf-8?Q?=C3=A9volution?=
X-PGP-Key-ID: 0x090B11993D9AEBB5
X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc
X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4  0CFB 090B 1199 3D9A EBB5
X-OS: x86_64-pc-linux-gnu
Date: Mon, 10 Jan 2022 09:58:35 +0100
In-Reply-To: <f31aa42f47fef21dd459771402601ddbe16998a9.camel@HIDDEN>
 (Liliana Marie Prikler's message of "Sat, 08 Jan 2022 20:47:46 +0100")
Message-ID: <87zgo4ynk4.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 637E3F2
X-Spamd-Result: default: False [0.90 / 15.00]; ARC_NA(0.00)[];
 RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[];
 TO_DN_SOME(0.00)[]; FREEMAIL_ENVRCPT(0.00)[gmail.com];
 TO_MATCH_ENVRCPT_ALL(0.00)[]; TAGGED_RCPT(0.00)[];
 MIME_GOOD(-0.10)[text/plain]; RCPT_COUNT_TWO(0.00)[2];
 FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[];
 MIME_TRACE(0.00)[0:+]; SUBJECT_ENDS_QUESTION(1.00)[];
 RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: 53127
Cc: 53127 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

Hi!

Liliana Marie Prikler <liliana.prikler@HIDDEN> skribis:

> I suppose adding (package-source rust-cargo) to inputs to preserve the
> old meaning would not make much sense?

No because you need transitivity (that is, you need sources of the
dependencies, too).

> If so, what about having a source output and using (list `(,rust-cargo
> "source") ...)?

AFAICS it wouldn=E2=80=99t help solve the problems I mentioned.

>> Last, the change to =E2=80=98inputs=E2=80=99 would introduce a few cycle=
s at the
>> <package> level.=C2=A0 Those cycles vanish when we lower to bags and
>> derivations.=C2=A0 However, because of these cycles, things like =E2=80=
=98guix
>> refresh -l=E2=80=99 may not work; there might be other unexpected and
>> undesired side effects.
> What about making the change incrementally, so that outer layers can
> start adopting the new style while inner layers are being
> rebootstrapped.  I also think it'd make sense to see how we could
> detect cycles through static analysis.

Yeah, we could change things incrementally if that helps.

However, given that =E2=80=98guix style=E2=80=99 can automate all the chang=
es, I think
we could just as well change everything at once.  The good thing is that
it allows us that the strategy we choose actually works at scale, in
every case.

>> Some of these cycles could in theory be removed.=C2=A0 For instance,
>> =E2=80=98rust-cfg-if=E2=80=99 has an optional dependency on =E2=80=98rus=
t-compiler-builtins=E2=80=99,
>> which leads to a cycle, but Cargo won=E2=80=99t let us actually remove t=
hat
>> dependency, even though it=E2=80=99s optional.
> Could we rewrite the toml file to tell Cargo it has no power over us?=20
> Could we define bootstrap mockups?

Maybe, I don=E2=80=99t know!

Thanks,
Ludo=E2=80=99.




Information forwarded to bug-guix@HIDDEN:
bug#53127; Package guix. Full text available.

Message received at 53127 <at> debbugs.gnu.org:


Received: (at 53127) by debbugs.gnu.org; 8 Jan 2022 19:47:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 08 14:47:57 2022
Received: from localhost ([127.0.0.1]:48751 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1n6Hgz-0003mf-LA
	for submit <at> debbugs.gnu.org; Sat, 08 Jan 2022 14:47:57 -0500
Received: from mail-wr1-f67.google.com ([209.85.221.67]:37511)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <liliana.prikler@HIDDEN>) id 1n6Hgv-0003le-Rx
 for 53127 <at> debbugs.gnu.org; Sat, 08 Jan 2022 14:47:56 -0500
Received: by mail-wr1-f67.google.com with SMTP id t28so11477724wrb.4
 for <53127 <at> debbugs.gnu.org>; Sat, 08 Jan 2022 11:47:53 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=message-id:subject:from:to:date:in-reply-to:references:user-agent
 :mime-version:content-transfer-encoding;
 bh=0Gh+R7NG2o6vAe58tYrtEUpc0Rk0mWPfxl6aYZJ4qKM=;
 b=orFHjQuv//Ynaw8jAScI6DbL9MTpQC7JIS3UT/OFSAE6PvQ0rhh21bEfKS1bjuIALU
 zBjGBN3FDlYZU7egjmFDc3qHG9jP1AicmW5T/MFzRxl2B9+9Vukf71BlmE9zFD1IjQiX
 2Y0v/0DQNUM1eyBGL9Kn+/YY3DjAnD8tB3C/W5tfpS1NGVOpsmpbSvJ+EALEDnjlTiXf
 oMstA3s9dl/NauzYDTuEBGvnkWBImogly1Ks0M9Z5bruHij0S+6zb97ZOXqmMAlw8Hwm
 IHSdTzB5+LboBpGBnrl7qt+1fYoklvNl9NgS04E5OjdGCTAcZuwKforYaKvZtQajIHK/
 B3Tg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:message-id:subject:from:to:date:in-reply-to
 :references:user-agent:mime-version:content-transfer-encoding;
 bh=0Gh+R7NG2o6vAe58tYrtEUpc0Rk0mWPfxl6aYZJ4qKM=;
 b=oLsH8yt9ceD5XW2nZKVFLsI15aIMdOug5Ey97rj/6oknOwd4t3YtbXf7BGID5SbGOn
 yhsFKwnY2McHmUu0e83COlov7czpVFBk8KjW0mZv/mIItPbskYiks2XrmtfFmUrsqlB1
 T3sxu6yCSEOTIa6QhChuQHhQYqVfnDKo8ClGHvI83O09+MVa7dzmGsN6jdy73maNIwda
 HachPOs2fVUqZ7oYuwuv1ftF65LRlUkfFpWt5BfCeTud9oJdTpqW7iff+gj6HycvKV6Z
 dstg/x9Ub2lT9yanfE0AKBiY6RWKM1hAv1id7oGAB1Qa0/UhiqAsHSsGYSWRLCf+ByPm
 0aiQ==
X-Gm-Message-State: AOAM530Iisr+jg5jCK206Uh2S/MljWu8XJuZzsQyr1EnNU+MsMCtvctB
 gky3c346jYZuhXnQhKdbDuU=
X-Google-Smtp-Source: ABdhPJxNDbCcQl74xRKFqzPaKRILHbVrG40yldkP++f6z4f5Pa5x7fLgYD2mpUmdcRTukdmTkRQMVg==
X-Received: by 2002:adf:fc0f:: with SMTP id i15mr369924wrr.467.1641671268163; 
 Sat, 08 Jan 2022 11:47:48 -0800 (PST)
Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at.
 [85.127.52.93])
 by smtp.gmail.com with ESMTPSA id o16sm2442559wms.4.2022.01.08.11.47.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 08 Jan 2022 11:47:47 -0800 (PST)
Message-ID: <f31aa42f47fef21dd459771402601ddbe16998a9.camel@HIDDEN>
Subject: Re: [PATCH RFC] Turning Rust/Cargo inputs into
 =?UTF-8?Q?=E2=80=9Cregular=E2=80=9D?= inputs?
From: Liliana Marie Prikler <liliana.prikler@HIDDEN>
To: Ludovic =?ISO-8859-1?Q?Court=E8s?= <ludovic.courtes@HIDDEN>, 
 53127 <at> debbugs.gnu.org
Date: Sat, 08 Jan 2022 20:47:46 +0100
In-Reply-To: <87sfty3yb5.fsf@HIDDEN>
References: <87sfty3yb5.fsf@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.42.1 
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 53127
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Am Samstag, dem 08.01.2022 um 18:57 +0100 schrieb Ludovic Courtès:
> Hello!
> 
> I’m opening this issue to discuss the possibility of changing
> #:cargo-inputs and #:cargo-development-inputs to regular inputs, as a
> followup to:
> 
>   https://issues.guix.gnu.org/51845#10
> 
> I have a preliminary patch for ‘guix style’ and (guix build-system
> cargo), but there’s a couple of stumbling blocks.
> 
> First, after the hacky patch in the discussion above, I attempted to
> turn #:cargo-inputs into ‘propagated-inputs’ (instead of ‘inputs’),
> because that seemed to be somewhat more logical.  That cannot work
> though, because then those packages would propagate to non-Rust
> packages; for example, librsvg would depend on the “build output” of
> rust-* instead of just depending on its source.  Anyway, I’m back to
> ‘inputs’.
> 
> Second, until now, these two things would have a different meaning:
> 
>   #:cargo-inputs (list rust-cargo)
> 
> vs.
> 
>   (inputs (list rust-cargo))
> 
> In the latter case, the package depends on the build result of
> ‘rust-cargo’; in the former case, the package depends on the source
> of ‘rust-cargo’.  (See ‘rav1e’ for an example where this happens.)
I suppose adding (package-source rust-cargo) to inputs to preserve the
old meaning would not make much sense?  If so, what about having a
source output and using (list `(,rust-cargo "source") ...)?

> Last, the change to ‘inputs’ would introduce a few cycles at the
> <package> level.  Those cycles vanish when we lower to bags and
> derivations.  However, because of these cycles, things like ‘guix
> refresh -l’ may not work; there might be other unexpected and
> undesired side effects.
What about making the change incrementally, so that outer layers can
start adopting the new style while inner layers are being
rebootstrapped.  I also think it'd make sense to see how we could
detect cycles through static analysis.

> Some of these cycles could in theory be removed.  For instance,
> ‘rust-cfg-if’ has an optional dependency on ‘rust-compiler-builtins’,
> which leads to a cycle, but Cargo won’t let us actually remove that
> dependency, even though it’s optional.
Could we rewrite the toml file to tell Cargo it has no power over us? 
Could we define bootstrap mockups?

> PS: I guess you already knew all this Efraim but I’m kinda
>     (re)discovering it and now experiencing frustration firsthand. 
> :-)
Let's hope at least someone in our team has overcome Rust fatigue by
the time the GCC frontend for it lands.  Rust is an incredibly good
language, all it needs is a reasonable compiler and build system.

Cheers




Information forwarded to bug-guix@HIDDEN:
bug#53127; Package guix. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 8 Jan 2022 17:57:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 08 12:57:45 2022
Received: from localhost ([127.0.0.1]:48683 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1n6FyK-0000fu-Kt
	for submit <at> debbugs.gnu.org; Sat, 08 Jan 2022 12:57:44 -0500
Received: from lists.gnu.org ([209.51.188.17]:41132)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludovic.courtes@HIDDEN>) id 1n6FyH-0000fl-TQ
 for submit <at> debbugs.gnu.org; Sat, 08 Jan 2022 12:57:42 -0500
Received: from eggs.gnu.org ([209.51.188.92]:49014)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ludovic.courtes@HIDDEN>)
 id 1n6FyG-0002xb-M5
 for bug-guix@HIDDEN; Sat, 08 Jan 2022 12:57:41 -0500
Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]:26387)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ludovic.courtes@HIDDEN>)
 id 1n6FyE-00010u-LN
 for bug-guix@HIDDEN; Sat, 08 Jan 2022 12:57:40 -0500
IronPort-Data: =?us-ascii?q?A9a23=3AZut24KsHew7eX+QK7dH5zgvzz+fnVHFcMUV32f8?=
 =?us-ascii?q?akzHdYEJGY0x3zmcXDGDXO/qCYTH0e4gkbY/i/UgGusDSmtM1SQVppS5gHilAw?=
 =?us-ascii?q?SbnLYTAfx2oZ0t+DeWaERk5t51GAjX4wXFdokb0/n9BCZC86yksvU20buCkUrS?=
 =?us-ascii?q?cY3ghHVUMpBoJ0nqPpcZo2+aEvvDpW2thifuqyyHuEAfNNwxcagr42IrfwP9bh?=
 =?us-ascii?q?8kejRtD1rAIiV+ni3eF/5UdJMp3yahctBIUSKEMdgKxb76rIL1UYgrkExkR5tO?=
 =?us-ascii?q?Nyt4Xc2UQQ7TYOg7mZnh+CvHk20Ya4HVrjeBhbKN0hUR/0l1lm/h11dlKq527D?=
 =?us-ascii?q?wwuI7fQlf81Uh9CEig4M7cuFLrveCTk4ZHNnhKun3zEhq8G4FsNFYcF9aN4HGB?=
 =?us-ascii?q?e3fMeNXYKdB/rug4c6NpXUcE934F6cpGuZdpA/ys4lHfCEPw9B4jZRLXD6Zle0?=
 =?us-ascii?q?StYuyyHJt6GD+JxVNalRE2oj8VzB2oq?=
IronPort-HdrOrdr: =?us-ascii?q?A9a23=3AYcqdWKpzOVwH0OKL8tD9r4kaV5o2eYIsimQD?=
 =?us-ascii?q?101hICG9E/bo9PxG885rsCMc5Ax+ZJhCo7C90de7MBHhHPdOiOF7V4tKOjOGhI?=
 =?us-ascii?q?LCFu1fBOXZrgEIYxeQytJg?=
X-IronPort-AV: E=Sophos;i="5.88,273,1635199200"; d="scan'208";a="14385697"
Received: from 91-160-117-201.subs.proxad.net (HELO ribbon) ([91.160.117.201])
 by mail2-relais-roc.national.inria.fr with
 ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Jan 2022 18:57:35 +0100
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludovic.courtes@HIDDEN>
To: bug-guix@HIDDEN
Subject: [PATCH RFC] Turning Rust/Cargo inputs into =?utf-8?B?4oCccmVndWxh?=
 =?utf-8?B?cuKAnQ==?= inputs?
X-Debbugs-Cc: Efraim Flashner <efraim@HIDDEN>
X-URL: http://www.fdn.fr/~lcourtes/
X-Revolutionary-Date: 19 =?utf-8?Q?Niv=C3=B4se?= an 230 de la =?utf-8?Q?R?=
 =?utf-8?Q?=C3=A9volution?=
X-PGP-Key-ID: 0x090B11993D9AEBB5
X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc
X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4  0CFB 090B 1199 3D9A EBB5
X-OS: x86_64-pc-linux-gnu
Date: Sat, 08 Jan 2022 18:57:34 +0100
Message-ID: <87sfty3yb5.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=192.134.164.83;
 envelope-from=ludovic.courtes@HIDDEN;
 helo=mail2-relais-roc.national.inria.fr
X-Spam_score_int: -41
X-Spam_score: -4.2
X-Spam_bar: ----
X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3,
 RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

Hello!

I=E2=80=99m opening this issue to discuss the possibility of changing
#:cargo-inputs and #:cargo-development-inputs to regular inputs, as a
followup to:

  https://issues.guix.gnu.org/51845#10

I have a preliminary patch for =E2=80=98guix style=E2=80=99 and (guix build=
-system
cargo), but there=E2=80=99s a couple of stumbling blocks.

First, after the hacky patch in the discussion above, I attempted to
turn #:cargo-inputs into =E2=80=98propagated-inputs=E2=80=99 (instead of =
=E2=80=98inputs=E2=80=99),
because that seemed to be somewhat more logical.  That cannot work
though, because then those packages would propagate to non-Rust
packages; for example, librsvg would depend on the =E2=80=9Cbuild output=E2=
=80=9D of
rust-* instead of just depending on its source.  Anyway, I=E2=80=99m back to
=E2=80=98inputs=E2=80=99.

Second, until now, these two things would have a different meaning:

  #:cargo-inputs (list rust-cargo)

vs.

  (inputs (list rust-cargo))

In the latter case, the package depends on the build result of
=E2=80=98rust-cargo=E2=80=99; in the former case, the package depends on th=
e source of
=E2=80=98rust-cargo=E2=80=99.  (See =E2=80=98rav1e=E2=80=99 for an example =
where this happens.)

If we turn all #:cargo-inputs into =E2=80=98inputs=E2=80=99, how can we dis=
tinguish
these two cases?  A package like =E2=80=98rust-cargo=E2=80=99 is sometimes =
depended on
for its source, sometimes for its build result; thus, we cannot just
annotate the =E2=80=98rust-cargo=E2=80=99 package itself.

Last, the change to =E2=80=98inputs=E2=80=99 would introduce a few cycles a=
t the
<package> level.  Those cycles vanish when we lower to bags and
derivations.  However, because of these cycles, things like =E2=80=98guix
refresh -l=E2=80=99 may not work; there might be other unexpected and undes=
ired
side effects.

Some of these cycles could in theory be removed.  For instance,
=E2=80=98rust-cfg-if=E2=80=99 has an optional dependency on =E2=80=98rust-c=
ompiler-builtins=E2=80=99,
which leads to a cycle, but Cargo won=E2=80=99t let us actually remove that
dependency, even though it=E2=80=99s optional.

In short: it=E2=80=99s complicated!

Thoughts?  Is status quo a lesser evil, after all?=E2=80=A6

Ludo=E2=80=99.

PS: I guess you already knew all this Efraim but I=E2=80=99m kinda
    (re)discovering it and now experiencing frustration firsthand.  :-)




Acknowledgement sent to Ludovic Courtès <ludovic.courtes@HIDDEN>:
New bug report received and forwarded. Copy sent to efraim@HIDDEN, bug-guix@HIDDEN. Full text available.
Report forwarded to efraim@HIDDEN, bug-guix@HIDDEN:
bug#53127; Package guix. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sun, 23 Jan 2022 22:45:02 UTC

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