From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id mEx0AVzBA2OTWQAAbAwnHQ (envelope-from ) for ; Mon, 22 Aug 2022 19:48:12 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id 2F2gAVzBA2NBmgAA9RJhRA (envelope-from ) for ; Mon, 22 Aug 2022 19:48:12 +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 8B2BE21042 for ; Mon, 22 Aug 2022 19:48:11 +0200 (CEST) Received: from localhost ([::1]:47994 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oQBX0-0002XV-Ef for larch@yhetil.org; Mon, 22 Aug 2022 13:48:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60068) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oQ9gZ-0004gF-TA for guix-devel@gnu.org; Mon, 22 Aug 2022 11:49:59 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]:36407) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oQ9gX-0004iK-Bb for guix-devel@gnu.org; Mon, 22 Aug 2022 11:49:55 -0400 Received: by mail-wm1-x334.google.com with SMTP id v7-20020a1cac07000000b003a6062a4f81so8031918wme.1 for ; Mon, 22 Aug 2022 08:49:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:from:to:cc; bh=Ch68+ttKDuP+IHgVxFTjufYu/O2IH2ZpAIA8r6wkRwg=; b=XcVmhownghzOE7yYBQRxLxWbcvXYygwqYBm0VWJ1G42mCzXBF8xFZzLi4JQnNbdxe1 3vphCkYOo8vdC3iNyIxAxZ0Jsmu4ELpmaVnzt83oSyGdt+5wuCOh1fmcI/3XRLXAUHUV dpJRCTqAS824iVRnBFhZmkYPgCbydDIhOPw53XoFShNdyAVEhqNJ1wB4v2GuKk16Wumt BY2Dsb+TScDpwC6DJX7Q3ru76qsXln34yDs/PVB90ko2e30EDU3TeMXNVnxG9XrdB2+M 3keDbGw9afebmjm13do9vaGBKMD52KaDy2JZsf23wlhAtuWPBm2rW/Nw2a4cchloCGvC g4YQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=Ch68+ttKDuP+IHgVxFTjufYu/O2IH2ZpAIA8r6wkRwg=; b=z609zoxAnHkQn4p2TOvDhFfTPXs42HsDE9YP4kkn1lAFC7IImzGEPxU2OsOCMpXZCA dKn98ugB5CBXRH/uCN8VszKSgSUK70TkvOOGL5zk8RLM61CyRYLJ/cs/WnnBCkcc+drq 9TUR7aQ4DNLgwo5+tD2Ib0agwirkgLEekvVtiMphqSOJFfRDwxNIW2jm6hHW6svKd3nl zQai/RAYzYXY/BxbP9QlOzL7JeJ6k4VVftrwd6Xivr7H2qlnPwxDv5+IE6Ndq90ctvmZ 35sobgVokoMOuyeJVQsK5cdjt+R5PeNf0V2YiI+OG0pY3yY4CTL7mBZGM9W+mDHRIdr9 Zd6Q== X-Gm-Message-State: ACgBeo3Uah5q1hM01BkpUTNlJVOemcepyilIMypuzc+jVV3X+jjwWNtg eIERn5QoWDWQN6WAdJ8jFw6BJyMEuUM= X-Google-Smtp-Source: AA6agR7s39uuFS41245Nj3NLlVVBdxW/vsrh39hGsmTDs7NFC5qHtnPE4Dls4jSQ1vDWMXN1OGALKw== X-Received: by 2002:a05:600c:4f85:b0:3a6:243d:3b7d with SMTP id n5-20020a05600c4f8500b003a6243d3b7dmr12749400wmq.84.1661183389218; Mon, 22 Aug 2022 08:49:49 -0700 (PDT) Received: from pfiuh07 ([193.48.40.241]) by smtp.gmail.com with ESMTPSA id w10-20020a05600c014a00b003a32297598csm18142651wmm.43.2022.08.22.08.49.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Aug 2022 08:49:48 -0700 (PDT) From: zimoun To: Lars-Dominik Braun Cc: Guix Devel Subject: Re: Cabal mismatch in ghc-lucid; long-term archiving Haskell? In-Reply-To: References: <86v8qnxmfh.fsf@gmail.com> Date: Mon, 22 Aug 2022 16:04:21 +0200 Message-ID: <87ilmk5q8q.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::334; envelope-from=zimon.toutoune@gmail.com; helo=mail-wm1-x334.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, 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: , 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=1661190491; 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=Ch68+ttKDuP+IHgVxFTjufYu/O2IH2ZpAIA8r6wkRwg=; b=sqP7FjWplhUPsfWDBAmrot8/oObM9Vp8OXmj0+izP0vtz344CsAIqy8c5cjvf2oZtBIquF WQf7AbmfXa6Zo91TJxxSTmOn0YAneFw7p3sIMqC3QDHO/Y33ntU/VxlUUIWxHN3Vmz5Viz ovs/floDDjocUs9FnWa54/v1YGaqIcCVFYU9HnTcd44E4O5liIsulg+7HvHD+xQyQZ9SLL stACg8ZZzz5dOq8eC98PpoGsazjJy+gysZSgFkZl2onV9p66eCSB/AolOG7d8NUOXEy0Q8 yoi243adnAF2kQv8i6EkqXQ5oLTzggkY+OyIAQ+MZnE9lLtv+bE8uI1SV/2Y7Q== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1661190491; a=rsa-sha256; cv=none; b=dRD3Z7n9Ec4NBeKRJl6Fhtf7FMSXH8bbZEfc3LRkvvMom68Vw7PUVotTqSWmVx3rdQjqFW TqIjXANHAnU1YxCqITnGYfwE4YQDwfTqCG8yJl3wK66/IX0lgKU1nO14ptnv2yFwBCfSyG KFtFGt/QXXvo9vOk7iqBhJdUBJLIwUw7/Wn19Qwrn717AU6Se5UNCtccifcfoePrkP31+I 9V6Ovf8ZaR17gkZCZWFliYT2OJE7Quflbev9EN+bl+eNEFvO+HJYc7gW1m9siTPRtKncU4 xDUAOGN7aTlDXG0hQzGNk2S0wCPOChk/xHRm1dgdhEPijJOwvMv2ikF0fvpMhQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=XcVmhown; dmarc=pass (policy=none) header.from=gmail.com; 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: -6.61 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=XcVmhown; dmarc=pass (policy=none) header.from=gmail.com; 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: 8B2BE21042 X-Spam-Score: -6.61 X-Migadu-Scanner: scn0.migadu.com X-TUID: kMQYG+fMKYmO Hi Lars, On sam., 20 ao=C3=BBt 2022 at 18:47, Lars-Dominik Braun wrot= e: >> In all cases, these revised Cabal files are not archived elsewhere than >> in Hackage, right? The question is thus, where could we archive them? > And while I updated the > version number, I did not touch #:cabal-revision, which is obviously a > mistake. Unfortunately we chose to encode this information into arguments > and not the version and so this happens (alot), because =E2=80=93 alas = =E2=80=93 > `guix refresh` touches the version only, but not #:cabal-revision. Well, it means it is not part of the =E2=80=99source=E2=80=99 and thus not = considered by any of the archiving mechanism. IIUC. Using Guix 65cabb0, 719 packages are using =E2=80=99haskell-build-system=E2= =80=99 and considering these, 108 packages have a =E2=80=99cabal-revision=E2=80=99 arg= ument. See below the snippet of =E2=80=9Cguix repl=E2=80=9D. Considering that the Haskell build-system is creating an =E2=80=99origin=E2= =80=99 under the hood, from (guix build-system haskell): --8<---------------cut here---------------start------------->8--- (define (cabal-revision->origin cabal-revision) (match cabal-revision ((revision hash) (origin (method url-fetch) (uri (source-url->revision-url (origin-uri source) revision)) (sha256 (base32 hash)) (file-name (string-append name "-" revision ".cabal")))) (#f #f))) --8<---------------cut here---------------end--------------->8--- Maybe it could be better to move the =E2=80=99cabal-revision=E2=80=99 from = the =E2=80=99arguments=E2=80=99 field to the =E2=80=99origin=E2=80=99 field. Perhaps, we could have a =E2=80=99cabal-revision=E2=80=99 procedure returni= ng a G-exp and put it under the =E2=80=99snippet=E2=80=99 field. WDYT? Having all as =E2=80=99origin=E2=80=99 would ease 1. to teach =E2=80=9Cguix= refresh=E2=80=9D about this Cabal revision and 2. to only consider =E2=80=99origin=E2=80=99 for archivi= ng. Note that =E2=80=99computed-origin-method=E2=80=99 from (guix packages) cou= ld be used too; although it seems a bad idea, IMHO. However, maybe a package using multiple upstream sources could be revisited. That=E2=80=99s said, it is a core-updates change because it requires to mod= ify the Haskell build-system and, a rough estimate about the number of impacted packages: --8<---------------cut here---------------start------------->8--- $ guix refresh ghc -l | cut -d':' -f1 Building the following 450 packages would ensure 1468 dependent packages ar= e rebuilt --8<---------------cut here---------------end--------------->8--- Cheers, simon --8<---------------cut here---------------start------------->8--- $ guix repl GNU Guile 3.0.8 Copyright (C) 1995-2021 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it under certain conditions; type `,show c' for details. Enter `,help' for help. scheme@(guix-user)> (use-modules (guix) (guix build-system haskell) (gnu) (ice-9 match)) scheme@(guix-user)> (define haskell-packages (fold-packages (lambda (package result) (if (eq? (package-build-system package) haskell-build-system) (cons package result) result)) '())) scheme@(guix-user)> (define (cabal-revision? package) (apply (lambda* (#:key cabal-revision #:allow-other-keys) (match cabal-revision ((revision hash) #t) (_ #f))) (package-arguments package))) scheme@(guix-user)> (define cabal-revision-packages (filter cabal-revision? haskell-packages)) scheme@(guix-user)> (length haskell-packages) $1 =3D 719 scheme@(guix-user)> (length cabal-revision-packages) $2 =3D 108 --8<---------------cut here---------------end--------------->8---