From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id gMmENt/lVmIRngAAgWs5BA (envelope-from ) for ; Wed, 13 Apr 2022 17:01:51 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id yI8PL9/lVmI2DQAAG6o9tA (envelope-from ) for ; Wed, 13 Apr 2022 17:01:51 +0200 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 8F9C915635 for ; Wed, 13 Apr 2022 17:01:51 +0200 (CEST) Received: from localhost ([::1]:51906 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1neeVC-0004H9-6F for larch@yhetil.org; Wed, 13 Apr 2022 11:01:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58938) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1neeUx-0004H1-Rm for guix-devel@gnu.org; Wed, 13 Apr 2022 11:01:35 -0400 Received: from mail-4022.proton.ch ([185.70.40.22]:37936) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1neeUv-0002zJ-ON for guix-devel@gnu.org; Wed, 13 Apr 2022 11:01:35 -0400 Date: Wed, 13 Apr 2022 15:01:17 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lendvai.name; s=protonmail3; t=1649862081; bh=YfQGy4jjMIG8e+Q0GadtQnwI9MbzhVNhFg2thWNsBOk=; h=Date:To:From:Cc:Reply-To:Subject:Message-ID:In-Reply-To: References:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID; b=nXJJGnHE9wM3NWewf7rKlpbb7gh903a6zHcuWgSpBeSstnyP7saa/cTasdw3qnn7V 9gk7rqFLPJbv8FKewkR1m3ucm4DVY6QZtibzB/pQNGX3Cv9GqvclbT6RipxURVvFWO IzXjj4+lPFRFltpgdYODzuwh2AD6kEUcVC5WqZ0x4y/qGTLFA4X3OMBvYMUDOaiA7o xaqcfV6ZFK6smouh+CmYwXaVQCern+3jtQuta3yw0pSFKUxGo/JQwBSx5tKCwClQmR B+J4qyVCjxoq2eViS3HU0xWk7BJ6F2CRlj4P593nXeo8TkAxIDzTbfKQgrXbGoOpB5 JgotbG/aUFaJQ== To: Maxime Devos From: Attila Lendvai Subject: Re: Guix wiki Message-ID: In-Reply-To: <2d93cd88e2ff348cf2c47460c29ff62024c135f9.camel@telenet.be> References: <17e40b111ce.bc05a4a071499.1598136714226569120@excalamus.com> <17e49565b21.1285153a6259042.8278566905195778367@excalamus.com> <87zgo16ebc.fsf@elephly.net> <17e4c5403ca.e72c7b19372548.5993925318643575057@excalamus.com> <87ee55glj6.fsf@gnu.org> <2d93cd88e2ff348cf2c47460c29ff62024c135f9.camel@telenet.be> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.70.40.22; envelope-from=attila@lendvai.name; helo=mail-4022.proton.ch 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, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Attila Lendvai Cc: guix-devel Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1649862111; h=from:from:sender:sender:reply-to: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=YfQGy4jjMIG8e+Q0GadtQnwI9MbzhVNhFg2thWNsBOk=; b=BquOTJ7SkNKqXS7GqlXoRrmRi7KsXjgRGkiE4959Svf03kg83YM9SaeHNrM5Mw5T/5JycD LcUSqtoceHLJRy/PtLsTGrm3waBtqHlvfBj7w7UL10EztUHK8b+8H94x1zsvMCsHE8wimH Ggv09r3mqEQXLsfRGQdgA6wBKBeyKHiAeO5ZHirlsJDhp4SD6wMNC3Jy3TTixMvrKmBjSm 0E7S4IDoICFyolR//EEZmcIb12+DtcbnRHTvwUGuptMh+GBNylR4VQJV+fNjppNGxtsn+x UJN3jDNUVvgHGoNoJAv55NxVeTKxmvYdKcY/BdFJDInml8ZJVLQuUc+nNOBB+Q== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1649862111; a=rsa-sha256; cv=none; b=fiT6SLjUOF6z2vE5ucx90VqNxqV/sD+h+UPrLD9FmCkcMfpel8aWG6NLrUcRX5P4/Hm7uE s4gL/0GpfyxsTuj5XxzWXAmehk/GzynHyInLkW8OHd8L5/Eq0ej2JFrr5UN/5nRpAMkrWv Em4dFmCFw6NFGl7Jo7o+wbnNlaiOy3zxpS9KB5G9mb8d0hKwRev4krnYjdPTy7ddffeLWE bPciVRq1o/XjUncd2sEgDBfHuXfUkAYS4sX80IAQAt+Rp9nBrFoOuTPoii/tIlrrnAYTYf rEzGirOL/YhnKmFc33ulNTA93YpDoqVjNyzZUjSiNGNm3eUPCVLdj5NFyLHPgw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=lendvai.name header.s=protonmail3 header.b=nXJJGnHE; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 1.15 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=lendvai.name header.s=protonmail3 header.b=nXJJGnHE; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 8F9C915635 X-Spam-Score: 1.15 X-Migadu-Scanner: scn1.migadu.com X-TUID: AOl4R3TG8AvN > Suggestion:=C2=A0clashing names is not a problem, as long as the final > package to build actually has an unambigious name. Also, it is not > necessary to actually give these intermediate packages a variable name, > maybe do something like > > (define-module (gnu packages ...)) > (define-public foo [... a conventional guix package definition ...]) > > (define-module (my-reproducibility-test) > #:use-module (gnu packages ...)) > > (define %version-pins ; <-- TODO: teach "guix import go --pin-versions" t= o produce this kind of structure? > ;; package name / version / hash > '(("go-github-com-operatorfoundation-shapeshifter-transports" "0.1.2" "0f= 1hzhk3q2fgqdg14zlg3z0s0ib1y9xwj89qnjk95b37zbgqjgsb") > [...])) > > (define pin-input > (match-lambda > ((label package . rest) > (cons* label (pin package) rest)))) > > (define pin > (mlambda (package) > If the package name does not occur in %version-pins --> return package un= changed. > > Otherwise, return > (package > (inherit package) > (version the new version) > (source (origin (inherit (package-source package)) > an appropriately adjusted commit > the new hash)) > ;; TODO: other versions of dependencies might need extra dependencies > (inputs (map pin-input package)) > (native-inputs (map pin-input package)) > (propagated-inputs (map pin-input package)))) > > (define-public my-reproducibility-test-foo > (package > (inherit (pin foo)) > (name "foo-as-found-elsewhere"))) > > Does that suit your purposes? i'm afraid i can't answer that without further experiments. an immediate co= ncern of mine is that i've seen wild fluctuations in the dependencies of di= fferent versions of the same go modules. this is a great idea, though. thanks, noted! -- =E2=80=A2 attila lendvai =E2=80=A2 PGP: 963F 5D5F 45C7 DFCD 0A39 -- =E2=80=9CWhen, among a hundred men one man dominates ninety-nine, it is ini= quity and despotism. When ten dominate ninety, it is injustice and oligarch= y. When fifty-one dominate forty-nine (and this only theoretically, for, in= reality, among these fifty-one there are ten or twelve masters), then it i= s justice and liberty. Could anyone imagine anything more ridiculous and ab= surd than this reasoning?=E2=80=9D =09=E2=80=94 Leo Tolstoy (1828=E2=80=931910), 'The Law of Love and the Law = of Violence' (1908)