From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id GFSMAro3OWHISAAAgWs5BA (envelope-from ) for ; Thu, 09 Sep 2021 00:22:50 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id KMBvObk3OWH8IwAA1q6Kng (envelope-from ) for ; Wed, 08 Sep 2021 22:22:49 +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 40B411FE6 for ; Thu, 9 Sep 2021 00:22:49 +0200 (CEST) Received: from localhost ([::1]:33070 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mO5xw-0002Af-C4 for larch@yhetil.org; Wed, 08 Sep 2021 18:22:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56808) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mO5xI-0001gS-HG for guix-devel@gnu.org; Wed, 08 Sep 2021 18:22:08 -0400 Received: from libre.brussels ([2a01:4f8:201:1044::1]:58464) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mO5xE-000685-2N; Wed, 08 Sep 2021 18:22:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=libre.brussels; s=mail; t=1631139716; h=from:from: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; bh=faFcSkVh1iipnWlspfQbPujl/Yfz+goNEfDx9zGSMu4=; b=aq94r1QFPEeSS+cMBX3tDeZiVFnclaeMFu8rUJMvCtrHUWwSXGY/rf+qNIk9+uANUXY8xz FZ2fvygdcyksAWv62DMhLKzTv2kwO2whzDEcaxhnB9CMs8eVFGPvpdmZt6Ee+onepV3S1u 17kcCA8KGVmLmixOGQCJ46s8MjvXFek= MIME-Version: 1.0 Date: Wed, 08 Sep 2021 22:21:56 +0000 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable From: "Jonathan McHugh" Message-ID: Subject: Re: Can we find a better idiom for unversioned packages? To: "=?utf-8?B?THVkb3ZpYyBDb3VydMOocw==?=" , "Sarah Morgensen" In-Reply-To: <8735qezrhl.fsf@gnu.org> References: <8735qezrhl.fsf@gnu.org> <8635qp1j6k.fsf@mgsn.dev> Received-SPF: pass client-ip=2a01:4f8:201:1044::1; envelope-from=indieterminacy@libre.brussels; helo=libre.brussels 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, SPF_HELO_PASS=-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=1631139769; 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:dkim-signature; bh=faFcSkVh1iipnWlspfQbPujl/Yfz+goNEfDx9zGSMu4=; b=UUoqgjS7NSarwlre1tjFC77ySEXcTBeD3+f+/V6pUnaHhxqtZ7yDTzFJXscQSBUyyqv6Ew H8+oF3W+KmOXibfq/fZfr6TM+Xi8wPDiDa1CDCx5TTYjDDUOW32TVmXu8ZVt0M2kDhplUR vif4boHSGGeNFkf5AFYeUslcvFguO2UmdmVivb7XeZ10hsL5qOeQjErU6dBYE8PqCB2iLS Jb8AMGChFq+6OZKzfOzL4tOUvLIgZaBg9UK27SuFhB2929HFNM/8cXIpPxRs/5J2CFtC79 kSk1FGYDrp6Azi1uc+sZVpKevFe4EGtyWVVLp2Fr8cJq1Rvk2JoaPv1cRZP+4w== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1631139769; a=rsa-sha256; cv=none; b=eHXnhLef+1xtXI5hD7czzDUDILNd5EJy1J6DBMWIRPdVBkLBwwyoelspQWN/uM7eBzYUrk iH5ieEaYcD4x6UqpfH9wJdbLN/9N6cs9a7nQXATElCXZxuTMKx4IOs3EsgIVAXnEuZLaYg +LYQkh9doyfnw+d6kUfjervxzIB4GEWT68lOMXvohbufcVbxcN0bm+jC87NGhyfVaRZcmL C0qTguX0+TkLdsFctPXlwkzILjOu7kyTMK5p/cNAiNvWntWGzJtqhSSjd3La8BoXsUp5Dm M/BmxDj9cmcluTOjOysjoUtlNgAkNXqyQ7ZxYSHxW1kuZ5nIoCVEWyMsEQphDA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=libre.brussels header.s=mail header.b=aq94r1QF; 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: -0.31 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=libre.brussels header.s=mail header.b=aq94r1QF; dmarc=fail reason="SPF not aligned (relaxed)" header.from=libre.brussels (policy=none); 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: 40B411FE6 X-Spam-Score: -0.31 X-Migadu-Scanner: scn1.migadu.com X-TUID: I/xBOCxbWjye Hi Ludo, Just checking: Is Diffstatic a real tool? It wasnt quite clear to me (and I fancy findin= g a new diff tool). =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Jonathan McHugh indieterminacy@libre.brussels September 8, 2021 11:31 PM, "Ludovic Court=C3=A8s" wrote: > Hello! >=20 >=20Sarah Morgensen skribis: >=20 >>=20Currently, there are about 1500 packages defined like this: >>=20 >>=20(define-public sbcl-feeder >> (let ((commit "b05f517d7729564575cc809e086c262646a94d34") >> (revision "1")) >> (package >> [...]))) >>=20 >>=20I feel like there are some issues with this idiom (in no particular >> order): >=20 >=20I=E2=80=99m late to the party but I=E2=80=99ll complement previous an= swers. :-) >=20 >>=201. When converting between this idiom and regularly versioned packag= es, >> the git diff shows the whole package changing because of the indentati= on >> change. >=20 >=20One can use =E2=80=98git diff -w=E2=80=99 to work around that (or the= newfangled > Diffstatic tool.) >=20 >>=203. Packages inheriting from it lose the definitions. For actual fiel= ds, >> we have e.g. `(package-version this-package)`, but we have no equivale= nt >> for these. >=20 >=20Right, these pieces of information are not =E2=80=9Cfirst-class=E2=80= =9D, except in the > =E2=80=98git-reference=E2=80=99 record (or similar) for the commit ID. = Do you have > examples in mind where it=E2=80=99s insufficient? >=20 >=20[...] >=20 >>=205. The closest thing we have to a standardized way of generating >> versions for these packages is `(version (git-version "0.0.0" revision >> commit))`. We can do better than that boilerplate. >=20 >=20I can sympathize with the feeling, but I=E2=80=99m not sure what to d= o. A > =E2=80=98vcs-version=E2=80=99 record as Maxime proposes seems a bit ove= rkill to me (and > it would probably have an impact on performance, build times, and > whatnot.) >=20 >>=206. Not a direct complaint, but I feel like the overall package inter= face >> was designed before straight-from-vcs unversioned packages were so >> common, and so this idiom developed organically to work around that. >=20 >=20Sure, though =E2=80=9Cstraight-from-vcs=E2=80=9D and =E2=80=9Cunversi= oned=E2=80=9D are two different > things: I=E2=80=99m fine with the former, but the latter equates to ups= tream > telling its users =E2=80=9Cgo find a revision that works for you=E2=80= =9D. I think > releases still make sense for any non-trivial piece of software. >=20 >=20As noted in the manual (info "(guix) Version Numbers"), packages buil= t > from arbitrary commits were supposed to be exceptional. Perhaps the > reason we=E2=80=99re having this conversation now is that development p= ractices > are evolving towards what looks like chaos. :-) >=20 >=20Thanks, > Ludo=E2=80=99.