From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id bOZbBZNQrmBsfQAAgWs5BA (envelope-from ) for ; Wed, 26 May 2021 15:43:47 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id KNB1AJNQrmBjBgAAB5/wlQ (envelope-from ) for ; Wed, 26 May 2021 13:43:47 +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 aspmx1.migadu.com (Postfix) with ESMTPS id B3BD42A400 for ; Wed, 26 May 2021 15:43:46 +0200 (CEST) Received: from localhost ([::1]:41278 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lltp3-0003Ab-PP for larch@yhetil.org; Wed, 26 May 2021 09:43:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57330) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lltou-000399-Kf for guix-devel@gnu.org; Wed, 26 May 2021 09:43:36 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:34346) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lltot-00061o-AT; Wed, 26 May 2021 09:43:35 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=41668 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lltoq-0007vY-SN; Wed, 26 May 2021 09:43:35 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxime Devos Subject: Re: [PATCH RFC 0/4] Getting rid of input labels? References: <20210520145830.14108-1-ludo@gnu.org> <1dbbcac6e26ae1df767a813698e92cbe364d88fa.camel@telenet.be> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 7 Prairial an 229 de la =?utf-8?Q?R=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: Wed, 26 May 2021 15:43:31 +0200 In-Reply-To: <1dbbcac6e26ae1df767a813698e92cbe364d88fa.camel@telenet.be> (Maxime Devos's message of "Thu, 20 May 2021 21:31:34 +0200") Message-ID: <87k0nlvce4.fsf@gnu.org> 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-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=1622036626; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=y/jPW4lEP2A+tkcTPM+NO2IyQqWkvKHHg7u2TTOKHNg=; b=KaY5Aln6ktRxQmcWSGvAnbC84qIEAT9tT7/iAE5YJs20X5q5IRcf7SEIjBekNVB/zk/UNb upUkMJ2sciwP4owFT0nRWQPBevXwkpO18oh8u8E/wQEOilbjaUv4dnb5ET2AIUB2VX6dw0 u1SelYrDtdbnJeTIJxhPISClha2wIDCt9OItVuQQ4et9rklqRZ2BskTcokQP791nmfIhqv CeageoGNYNQ6TGA1YM3DrmSMdBvTNTxhtjvh9sugE587MpoWTgHfcy2PMIKuX7P60fFKoj BlDuIK6zywEK/92K9FY1LC+3jGZyL5dXo7Vqr+XSN91M5bHOIQgBCCFGD21Vcg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1622036626; a=rsa-sha256; cv=none; b=p/PDosUWzALE1ea0OnOU2jAi9gcbmB9zjrBM0XJt1gUpJc5M02PI1hxft89Fcl2xcqTF0Z 9P/X5cBdQky/tjCGBdJIochzLFfy2sl6kzKPGL3QHj33ikMhvmdJtqn3A7lPxyy5c97SCc zbYrDpJR2wXsdT+pkNJEIppn2dMNxrsVI/Q2NH275wizkfD5PrRj5UM7cSyhP6rc+Yen2J AK8lgWg8bhRDgtBMIiJzSs288Amu8hIBZNDbwW5ViNfrdwGaPnfTX1Jjb4sp8hSMP6Z+f8 uhht5UYpE9Hj5dhDrU/XywJ2w5ZYEleNTnudKi17LKdxjNbnaUKoWlvFoMkdbg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.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: -1.93 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.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: B3BD42A400 X-Spam-Score: -1.93 X-Migadu-Scanner: scn0.migadu.com X-TUID: 3d+BbJsjFiBw Hi Maxime, Maxime Devos skribis: > Ludovic Court=C3=A8s schreef op do 20-05-2021 om 16:58 [+0200]: >> Hello Guix! >>=20 >> Here=E2=80=99s a proposal for a soft revolution: getting rid of input la= bels >> in package definitions. Instead of writing: [...] >>=20=20=20=20 >> one can write: >>=20 >> (native-inputs (list autoconf automake pkg-config guile-3.0)) >> [...] > > This concept LGTM (but I haven't looked closely at the patches), but > as noted on #guix, some issues with eliminating labels completely: > > A package definition of P may require both Q@1.0 and Q@2.0 as inputs, > in which case a =E2=80=98label collision=E2=80=99 would be created if we = generate > labels package-name. More specifically, I'm thinking of packaging > go-ipfs-migrations (or what's its name ...). It would be a good idea > to add an (additional?) test to actually try to migrate from > go-ipfs@first-version to go-ipfs@another-version. Keep in mind that labels exist to make it easier to refer to a specific input from the build side=E2=80=94in a phase, configure flag, etc. In many cases, you don=E2=80=99t need the ability to refer to a specific in= put; you just need all the inputs to contribute to search path environment variables, and that=E2=80=99s enough. A =E2=80=9Clabel collision=E2=80=9D = does not matter at all in this case. In some cases, you do need to refer to a specific input, as in: #:configure-flags (list (string-append "--with-gmp-prefix=3D" (assoc-ref %build-inputs "gmp"))) In this case, there are now two options: 1. Arrange so that label is unique among your inputs, as is already the case. 2. Use a gexp instead (possible on =E2=80=98core-updates=E2=80=99) like s= o: #:configure-flags #~(list (string-append "--with-gmp-prefix=3D" #$gm= p)) or, to allow for inheritance: #:configure-flags #~(list (string-append "--with-gmp-prefix=3D" #$@(assoc-ref (package-inputs this-pa= ckage) "gmp"))) The second variant is ugly, but we could provide helpers to make it prettier. Do you think there are unaddressed issues with go-ipfs-migrations? Thanks for your feedback! Ludo=E2=80=99.