From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id CJheH2GsAGBRbAAA0tVLHw (envelope-from ) for ; Thu, 14 Jan 2021 20:41:05 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id sO9OG2GsAGAxKwAAB5/wlQ (envelope-from ) for ; Thu, 14 Jan 2021 20:41:05 +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 072379401C0 for ; Thu, 14 Jan 2021 20:41:04 +0000 (UTC) Received: from localhost ([::1]:60292 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l09QV-0002aS-Th for larch@yhetil.org; Thu, 14 Jan 2021 15:41:03 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:32964) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l09QA-0002ZT-1C for help-guix@gnu.org; Thu, 14 Jan 2021 15:40:42 -0500 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:41195) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l09Q7-00040Z-RV for help-guix@gnu.org; Thu, 14 Jan 2021 15:40:41 -0500 Received: by mail-wr1-x431.google.com with SMTP id a12so7135631wrv.8 for ; Thu, 14 Jan 2021 12:40:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:in-reply-to:references:date:message-id:mime-version :content-transfer-encoding; bh=9l9LAYRTX5plrbDj06Foc75pFb0tID3b7bju01HdOME=; b=KGChDPZkbx6s2T/znWqjBYG1755H8ew6y97ZRZCsO9Jwlovh35MNCVOUTiQ2K/tT6P FbKOzuPXuX42vQr+IvZ0MhunWmNZGGYf2YAehcmN6osH1O17/w/gn2prbN8BEtPaIaP7 aJpR2CgdiF04+bs/6L8zYzl6b6nFjqJZKPgmopwvAg27cNJvchsBnBg3Z2Z3r+69kSry RKVeoMMiiu1jT/NKpOVTyMjEyDUfpnU05OpX/EgLM2blk9zsnQPx7P2qflgV0CHgNLU0 fDO7+RlFtUHLYeKqHZnsNAzeOi2NpWMlCFtOmTsktwziuAm2LOIxj7Ru/7Wbf5rLc8bW z4nA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:in-reply-to:references:date :message-id:mime-version:content-transfer-encoding; bh=9l9LAYRTX5plrbDj06Foc75pFb0tID3b7bju01HdOME=; b=TV9mP7mfvjMHnZVK0oZpKMhgjGyX3oXQsndRUFOkIynXaO5CKsG89An6NSUu3daagw 5qXLnA7200ia+UUnsiKtE8lKFV2JT7j1drfnSZzVwjq95BXhulazfDQ90S+9/apO38Vl BWU+E3/mqeRxwG8JmTduZbgqimj/sdcktmej0iiraZxyGTtrzF89PqnD+eSpd+bF9Ht+ oqGWZscE1bcsv4reWJpzTLJEkAI8BIhFsGgsqwNQe9ThU175V0jo8hsTCTTwwcnw7nsN 0XgvTQopPbMPKNW0IMa4+7btpg6cUcSwNeafPDhuqoVKgnghOXLqY6ibzs8gCsWTHq3M /Zlw== X-Gm-Message-State: AOAM531o4Oo7uKeKwDnkBGBpgEQS/6j299IThQYdGSSb7S990sm2XXKh qk/vu5IkDCGiJUe8KWaBV2lfUqGUTOk= X-Google-Smtp-Source: ABdhPJwHdjg6X5PCOMElwRZsB+FUWyfoLs64TUsS58sEuWraJqhAzMNhnRnQNrlCTNnZ3Jazz6uenQ== X-Received: by 2002:a5d:6983:: with SMTP id g3mr9808234wru.168.1610656834831; Thu, 14 Jan 2021 12:40:34 -0800 (PST) Received: from lili ([2a01:e0a:59b:9120:65d2:2476:f637:db1e]) by smtp.gmail.com with ESMTPSA id i18sm12219096wrp.74.2021.01.14.12.38.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Jan 2021 12:40:04 -0800 (PST) From: zimoun To: Wiktor =?utf-8?Q?=C5=BBelazny?= , help-guix@gnu.org Subject: Re: guix time-machine, broken hash in an old package definition, a workaround? In-Reply-To: <20210114190030.suymnghk5mhteseu@wzguix> References: <20210113132223.x4wgnwwph2jwtfb5@wzguix> <20210113193730.efv5qknqcbwit4jk@wzguix> <20210114083000.ak4de227ipfi37pg@wzguix> <86eeinsvbg.fsf@gmail.com> <20210114190030.suymnghk5mhteseu@wzguix> Date: Thu, 14 Jan 2021 21:29:48 +0100 Message-ID: <86r1mnl0sj.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=zimon.toutoune@gmail.com; helo=mail-wr1-x431.google.com 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: "Help-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -2.06 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=KGChDPZk; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of help-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=help-guix-bounces@gnu.org X-Migadu-Queue-Id: 072379401C0 X-Spam-Score: -2.06 X-Migadu-Scanner: scn0.migadu.com X-TUID: u9dDSHJR/tjV Hi, On Thu, 14 Jan 2021 at 20:00, Wiktor =C5=BBelazny wrote: >> About the hash mismatch, game over with time-machine. > > Are you sure? I remember a situation where a package was defined in my > private channel. Then, someone committed a definition for the same > package to guix, but the definition in the private channel was still > given a priority while performing `guix package` operations. It depends on what you want at the end: only the package r-foreign or some packages depending on r-foreign. For only the package r-foreign, it is trivial: --8<---------------cut here---------------start------------->8--- $ cat pkgs/fix.scm=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 (define-module (fix)=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 #:use-module (guix packages)=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20 #:use-module (guix download)=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20 #:use-module (guix build-system r)=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20 #:use-module (gnu packages statistics))=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20 =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20 (define-public r-foreign-fixed=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20 (package=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 (inherit r-foreign)=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 (name "r-foreign")=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20 (version "0.8-75")=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 (source=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 (origin=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 (method url-fetch)=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20 (uri (cran-uri "foreign" version))=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20 (sha256=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 (base32=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 "1c888wrn9xf94lp7w9kjw5l8fnarrkv5pi1px5rfnybm1qlysdx5")))))) $ guix time-machine --commit=3Dd81fb2a -- build -L pkgs r-foreign- guix build: avertissement : sp=C3=A9cification du paquet =C2=AB r-foreign = =C2=BB ambigu=C3=AB=20=20=20=20=20=20=20 guix build: avertissement : choix de r-foreign@0.8-75 =C3=A0 l'emplacement = pkgs/fix.\ scm:8:2 [=E2=80=A6] /gnu/store/d1vfvx9y6cada0fcl8adx0gslk8iz4sc-r-foreign-0.8-75 --8<---------------cut here---------------end--------------->8--- And you can put this package in a manifest file as you did and simply run: guix time-machine -C channels.scm \ -- environment -C -L pkgs -m manifest.scm But I am doubtful that is what you really want. Instead, I guess you want packages that depends on r-foreign, as r for instance. Let take r-hmisc and r-rio for simplicity. As you see, there is an ambiguity. If the symbol =E2=80=98r-foreign=E2=80= =98 is defined in the module (fix), then the module (gnu packages statistics) cannot be used so you need to declare all the recipe. And if =E2=80=99inherit=E2=80= =98 is used then the symbol =E2=80=98r-foreign=E2=80=98 cannot be defined twice. Moreover, the symbol you really want is the one in (fix). But the package r-hmisc refers to the one in (gnu packages statistics). And the package r-rio also refers to the one in (gnu packages statistics) because on the top of the file, as you can see, there is #:use-module (gnu packages statistics). Game over? :-) No wait=E2=80=A6 > If I don=E2=80=99t manage to make the different channels =E2=80=9Ccommuni= cate with each > other=E2=80=9D, I can try substituting the input r-foreign definition fro= m the > guix channel with one with another version, which is even closer to the > theme of the cited thread. I don=E2=80=99t care much about the r-foreign > version, but I care about the version (and the binary) of r and the R > package stack that I use in that environment, and r happens to depend on > r-foreign as an input. =E2=80=A6this trick works: --8<---------------cut here---------------start------------->8--- $ guix time-machine --commit=3Dd81fb2a \ -- build -L pkgs r-hmisc r-rio --with-input=3Dr-foreign=3Dr-foreign= =20 [=E2=80=A6] guix build: avertissement : sp=C3=A9cification du paquet =C2=AB r-foreign = =C2=BB ambigu=C3=AB=20=20=20=20=20=20=20 guix build: avertissement : choix de r-foreign@0.8-75 =C3=A0 l'emplacement = pkgs/fix.\ scm:8:2 [=E2=80=A6] /gnu/store/b64i6d3vsyss7154j1dgvc8rr7k4wzqs-r-rio-0.5.16 /gnu/store/w0lpix3yjlzsb9kh32hsg0lp1igrk1y9-r-hmisc-4.3-0 --8<---------------cut here---------------end--------------->8--- If you want you avoid the ambiguity, you can instead rename the package as you want, for instance r-foreign-new and just type: --with-input=3Dr-foreign=3Dr-foreign-new > For testing a solution to the hash mismatch problem, it suffices to > build r, which uses r-foreign as an input. I will decide later about > what to do next. Well, first be careful because you will rebuild a lot of R packages because r-foreign is almost a root package. Second, you will not get the exact R packages as they were at the time of d81fb2a; which is for me Game Over! :-) Hope that helps, simon