From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id SEmnCJob42BCngAAgWs5BA (envelope-from ) for ; Mon, 05 Jul 2021 16:47:54 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id wF5QBJob42CAXQAAB5/wlQ (envelope-from ) for ; Mon, 05 Jul 2021 14:47:54 +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 C5A4C103CE for ; Mon, 5 Jul 2021 16:47:53 +0200 (CEST) Received: from localhost ([::1]:43974 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m0Pt2-0004Rh-P9 for larch@yhetil.org; Mon, 05 Jul 2021 10:47:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36144) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m0PCW-0008R1-2G for guix-devel@gnu.org; Mon, 05 Jul 2021 10:03:56 -0400 Received: from mail-pg1-x533.google.com ([2607:f8b0:4864:20::533]:35551) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1m0PCT-0007YE-Eu for guix-devel@gnu.org; Mon, 05 Jul 2021 10:03:55 -0400 Received: by mail-pg1-x533.google.com with SMTP id v7so18418815pgl.2 for ; Mon, 05 Jul 2021 07:03:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vieiraproenca-com.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:mime-version; bh=feYp/Ex5l5xZeBpl2RuIwSSMvRjBqsreV5PImOEg5ag=; b=M7vbn96nxjLxzr+42w2dJyg+5CXJeg0pisIasPPv3nEwM8kFp0NhqZkyg2iAbaIABa s4iB9awPvsQ4n8t3Z0IJ6aue5/WS2BzUOqob2jJ86FEt8hkmTuOJpUvg1a46GShagBON JhO47qCi1mERTLJs3aOzOj/Pm6BOYFpvlY8+nrHhgziThe1i9eNwTNx7b5Xs1s8Ch5lT 4hsrpEiPw57UYqbH1AeIA1hr3Bw98RkhhDM1r3yGWTmDrDhwC+c4H+5R9GoPT5MsxQu7 toQdPfUpePrFFf66jK1sMbRJj4n+xb3cloX/rUPuqKYHePzErsosoyi3RpNaxeeNeszZ FFLQ== 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:date:message-id:mime-version; bh=feYp/Ex5l5xZeBpl2RuIwSSMvRjBqsreV5PImOEg5ag=; b=pA4xDajIRE0TpfLBrXojqBDnUeSB4r6aUQ1wMXDI9cfyqJS0fa0k9+CFV3qddGobUL IlRbPb24d7woQS/Z75AIw3F7bn2/l2TyN9c+wmiPpKfSMCfl2vbFvzsFsoY1ju71TPiM QKnGI/9c3gWr2LvJIzfqHgXMvOob5nBdP1BP3fNbpuFoZH0TGMqa/Od5oxKDBX4c8MlV SxVPA7RqRaw62EWk0jeJC4TbrYxyu4LqEuJ+car3fMjx4MT/XT9DOr26y8MptwAuQF1X QBxgwiHNAOKY6KjkobPT5qvQq7hHnIHvw1vdcSEJ64gaiXFrr1Ibr6R/AvqYBR5BCg17 538Q== X-Gm-Message-State: AOAM531htPa3XSUK+U2hz6kmXmGJeqYEPKF4HK2gJCtxeNV6rh93xphZ lc1of4eh4E505SmFvEd3ofLlmnxA7Pas6oOU X-Google-Smtp-Source: ABdhPJyhStkwqoz/3y6qQc4sXH6w9cH10i+jEPrSuq0QF7w2jUsqP5ZeWAfokFpb0rSGGijjJAHFPw== X-Received: by 2002:aa7:8e19:0:b029:315:63f2:4bd2 with SMTP id c25-20020aa78e190000b029031563f24bd2mr14945444pfr.57.1625493829986; Mon, 05 Jul 2021 07:03:49 -0700 (PDT) Received: from archlinux ([177.62.236.234]) by smtp.gmail.com with ESMTPSA id q12sm15282861pgc.25.2021.07.05.07.03.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jul 2021 07:03:49 -0700 (PDT) From: =?utf-8?Q?Nathan_Benedetto_Proen=C3=A7a?= To: guix-devel@gnu.org Subject: Use of %texlive-revision and %texlive-tag in tex.scm Date: Mon, 05 Jul 2021 11:03:46 -0300 Message-ID: <87o8bgoo1p.fsf@archlinux.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: neutral client-ip=2607:f8b0:4864:20::533; envelope-from=nathan@vieiraproenca.com; helo=mail-pg1-x533.google.com X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779 autolearn=no autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Mon, 05 Jul 2021 10:47:21 -0400 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: , 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=1625496473; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=feYp/Ex5l5xZeBpl2RuIwSSMvRjBqsreV5PImOEg5ag=; b=VbS1eP/j+lFEEgQUdXGPYJyjfeTQrs/tuhvUnze2XLjO4SQwN9ubnQY8ha7T0InWBbEdpb 2QOF8lRnFZwXX/Q73NrdaUbR92eUu9Y8hopXtw9sCTtQYRqenIYky+4lA1yJR7U4O/+hy/ ZX5POQUIzENi+EJI/o4Xu9cdBfThUsetaqNxD864XI8CxNqf2zfZbdkV4t+HBuu+ovNXhZ vwTxb2FPaC8ogk2oog5ZQ+GZugkT+Hlc02+KiACZcOXYAHjQ7CrTP7zysSSiGE1DEsQc/2 iBiVXXtjl+pPoSXONx2r1Lpn+bGSS3aQ0gQn/IWAm6VJzOS727+5QOvmgoTsKw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1625496473; a=rsa-sha256; cv=none; b=YGazpXtIEd7/J9Hl+xUXjAmAkPMocG4nd3pgaxXXe2NH3ll9WChnI5rypFtM6VtS3GYubX 0GKwEI5/iNkRY8iROyuSdiu/U1bcHtFZtoJ+wuUkPTfNbUSU58RrX9/PY6ZHmF0uoOGyic jAW0h/NdUNcuk+vvPpCtEVt61JoOeGAlMurmtILyXUpZMzYVvvR9nJEwejO6D9GEZLNZSq zALnKF1q1yKLBAQdzWlV8r1Ht5ZIvdUh86P047NJzrJ+pwyOnVcGRc5VzvPjclPaxOz+zU M7BhTYo3nOZ9brn7tXIswRtUXu2u0m1t2s+oAAxAN4w1WpTW00/5FJKw/qo0xQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=vieiraproenca-com.20150623.gappssmtp.com header.s=20150623 header.b=M7vbn96n; 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: -2.61 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=vieiraproenca-com.20150623.gappssmtp.com header.s=20150623 header.b=M7vbn96n; dmarc=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: C5A4C103CE X-Spam-Score: -2.61 X-Migadu-Scanner: scn0.migadu.com X-TUID: 3cW5EDBscIbU Hello! I am trying to upgrade the package texlive, first for me, but hopefully for a patch, and I have a question regarding Guix policies. As you can see on https://git.savannah.gnu.org/cgit/guix.git/tree/guix/build-system/texlive.scm?id=f7692617b624a01615cf412773c4dad9a2deeb68 the file guix/build-system/texlive.scm exposes two variables: (define %texlive-tag "texlive-2019.3") (define %texlive-revision 51265) These variables are used throughout gnu/packages/tex.scm, as you can see on https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/tex.scm?id=f7692617b624a01615cf412773c4dad9a2deeb68 An example is the following code: (define hyph-utf8-scripts (origin (method svn-fetch) (uri (texlive-ref "generic" "hyph-utf8")) (file-name (string-append "hyph-utf8-scripts-" (number->string %texlive-revision) "-checkout")) (sha256 (base32 "0lk7shx768sxvgr85y8bnmmnj8x4bbkgpxrz3z8jp8avi33prw83")))) Grep tells me there are 290+ occurrences of `%texlive-revision`. What is the purpose of these variables? You see, they give me the impression that Guix is really concerned about upgrading *all* of texlive at once. These variables tell me I should go to the file texlive.scm and bump the tag and revision, and then handle all the broken hashes. Hence, it seems to me that any attempt to upgrade the texlive package would have to be done in a separate branch, which would only be merged into master when all the packages are upgraded. Is this the case? And if so, why? I have the impression that if such "monolithic" upgrade is not a goal, and "partial" our "per-package" upgrades are desirable, there may be better solutions. For example, we could add keyword arguments to texlive-ref and texlive-origin, so the code above becomes something like this (define hyph-utf8-scripts (origin (method svn-fetch) (uri (texlive-ref "generic" "hyph-utf8" #:texlive-tag "texlive-2019.3" #:texlive-revision 51265)) (file-name "hyph-utf8-scripts-51625-checkout") (sha256 (base32 "0lk7shx768sxvgr85y8bnmmnj8x4bbkgpxrz3z8jp8avi33prw83")))) This would work right now, and we could eventually remove every use of %texlive-revision and %texlive-tag, so they become implementation details of the build-system texlive.scm; a fallback version. And further down the road we may even decide to remove this fallback, and make developers be explicit about their tags and revisions; this could amount to a refactor which makes the keyword arguments into required arguments, for example. I also like the second version of the code because the hash already pinpoints the tag and revision: both texlive-ref and texlive-origin use these variables to find the correct files to download. This just makes this dependency explicit. In any case, as this may be a choice between shipping stable and up-to-date packages, and as I am new to contributing to Guix, I found fitting to ask. Thanks in advance! Nathan