From unknown Mon Aug 18 14:20:32 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#60629 <60629@debbugs.gnu.org> To: bug#60629 <60629@debbugs.gnu.org> Subject: Status: [PATCH 0/3] Add '--with-version' package transformation Reply-To: bug#60629 <60629@debbugs.gnu.org> Date: Mon, 18 Aug 2025 21:20:32 +0000 retitle 60629 [PATCH 0/3] Add '--with-version' package transformation reassign 60629 guix-patches submitter 60629 Ludovic Court=C3=A8s severity 60629 normal tag 60629 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 07 10:05:09 2023 Received: (at submit) by debbugs.gnu.org; 7 Jan 2023 15:05:09 +0000 Received: from localhost ([127.0.0.1]:58671 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEAkv-0004y9-6U for submit@debbugs.gnu.org; Sat, 07 Jan 2023 10:05:09 -0500 Received: from lists.gnu.org ([209.51.188.17]:57666) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEAkt-0004y1-42 for submit@debbugs.gnu.org; Sat, 07 Jan 2023 10:05:07 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pEAks-0003JI-RN for guix-patches@gnu.org; Sat, 07 Jan 2023 10:05:06 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pEAkr-0000vY-T5; Sat, 07 Jan 2023 10:05:06 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=LPtVkHFgcbYv6pGe6M/HT3tt0yY+xcProBXze+Xr5q4=; b=A9mXWoCxUgRFDk eCEW47yF5AfbrbUxA+TGI521JyfWEu8hNyT7pfyrz3o2LdJlxSW7z1W0qWKVF9BZhc1hOkoxKTs1l mTYgJ/C9vmTMeY1sfYbzoYN8aNv9WMyivSzCUURIoIqifI4rbxhIj+58mLWURrNXdCXCxAhdDV6Dz te9zZQG1w3ydtJc5+YARMY/p0TsKCJvdtL2Tk7/51FAbc5NsLabaX/+P+9vE44FAtFvrZrndnX4NM ABqgMH8ZAy/MXRf9JITVG11RT3plDj4NdLGlJUH3zsrtRLMLtsPM5IyrHvhCq7yCKxBSY8X5rmUaA TDz4pctkAcoB4Bqlgl5Q==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201] helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pEAkr-00033P-1H; Sat, 07 Jan 2023 10:05:05 -0500 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: guix-patches@gnu.org Subject: [PATCH 0/3] Add '--with-version' package transformation Date: Sat, 7 Jan 2023 16:04:57 +0100 Message-Id: <20230107150457.4446-1-ludo@gnu.org> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Debbugs-Cc: zimon.toutoune@gmail.com X-Debbugs-Cc: dev@jpoiret.xyz X-Debbugs-Cc: mail@cbaines.net X-Debbugs-Cc: rekado@elephly.net X-Debbugs-Cc: othacehe@gnu.org X-Debbugs-Cc: me@tobias.gr X-Debbugs-Cc: ludo@gnu.org X-Debbugs-Cc: h.goebel@crazy-compilers.com Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit Cc: =?UTF-8?q?Ludovic=20Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hello Guix! Now that updaters can (to some extent) import any upstream version, we can provide a ‘--with-version’ package transformation option that picks the given upstream version. The nice thing is that it’s just a dozen new lines of code in (guix transformations)! Feedback welcome! Ludo’. Ludovic Courtès (3): transformations: Add '--with-version'. transformations: Let users know when '--with-latest' has no effect. DRAFT news: Add entry for '--with-version'. doc/guix.texi | 19 +++++++-- etc/news.scm | 36 ++++++++++++++++- guix/transformations.scm | 81 ++++++++++++++++++++++++++++----------- tests/transformations.scm | 19 ++++++++- 4 files changed, 127 insertions(+), 28 deletions(-) base-commit: cce9ff2d5ada3d1e26e1c70205f21271a0065482 -- 2.38.1 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 07 10:07:09 2023 Received: (at 60629) by debbugs.gnu.org; 7 Jan 2023 15:07:09 +0000 Received: from localhost ([127.0.0.1]:58686 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEAmq-000528-WA for submit@debbugs.gnu.org; Sat, 07 Jan 2023 10:07:09 -0500 Received: from eggs.gnu.org ([209.51.188.92]:54988) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEAmp-00051S-Al for 60629@debbugs.gnu.org; Sat, 07 Jan 2023 10:07:07 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pEAmk-0001IH-3x; Sat, 07 Jan 2023 10:07:02 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=yWrO1FNXjEuc2qiPkPE6qMCkvmsKfkHTYNCkMuIvsas=; b=r+34PlXScFZpB2lqSL4S /0ksZL/A/044Fk8jD2kGbhZti5XYdf9/7JamAVpZdG02/xtUePlXq1LnxWvzGMq9oLkgWVHLxPgD8 ctSHC97Si4m15YyJmsQG3vTn+4rwE1zlI9tfdYjLlgluQaBblFKtwOcyeFkLPEv1hwuaLI4+G/nIH nD5aK0tuFKu4gdWvJA+YINEC/IJGy2NSgQT56POVwOZz5E/OJryxdCb1qsDJKdUsY16sPJ1j1Nfai RZu5nZNSB0nt1td381p68grkzaoRSyLme9HMXYhMtyjhFvRuCwchZe/SoJkcQ06mTW0T64ImDLyJm SnXeIfnRWid5Pw==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201] helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pEAmj-0003Kn-OI; Sat, 07 Jan 2023 10:07:01 -0500 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: 60629@debbugs.gnu.org Subject: [PATCH 2/3] transformations: Let users know when '--with-latest' has no effect. Date: Sat, 7 Jan 2023 16:06:48 +0100 Message-Id: <20230107150649.4488-2-ludo@gnu.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230107150649.4488-1-ludo@gnu.org> References: <20230107150649.4488-1-ludo@gnu.org> MIME-Version: 1.0 X-Debbugs-Cc: zimon.toutoune@gmail.com X-Debbugs-Cc: dev@jpoiret.xyz X-Debbugs-Cc: mail@cbaines.net X-Debbugs-Cc: rekado@elephly.net X-Debbugs-Cc: othacehe@gnu.org X-Debbugs-Cc: me@tobias.gr X-Debbugs-Cc: ludo@gnu.org Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 60629 Cc: =?UTF-8?q?Ludovic=20Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) * guix/transformations.scm (package-with-upstream-version): Print a message when VERSION is false and SOURCE has the same version as P. --- guix/transformations.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/guix/transformations.scm b/guix/transformations.scm index d6a2ef0708..b8e2b3d52a 100644 --- a/guix/transformations.scm +++ b/guix/transformations.scm @@ -772,6 +772,9 @@ (define* (package-with-upstream-version p #:optional version) p) ((string=? (upstream-source-version source) (package-version p)) + (unless version + (info (G_ "~a is already the latest version of '~a'~%") + (package-version p) (package-name p))) p) (else (unless (pair? (upstream-source-signature-urls source)) -- 2.38.1 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 07 10:07:10 2023 Received: (at 60629) by debbugs.gnu.org; 7 Jan 2023 15:07:10 +0000 Received: from localhost ([127.0.0.1]:58688 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEAmr-00052F-Gf for submit@debbugs.gnu.org; Sat, 07 Jan 2023 10:07:10 -0500 Received: from eggs.gnu.org ([209.51.188.92]:54982) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEAmo-00051G-RA for 60629@debbugs.gnu.org; Sat, 07 Jan 2023 10:07:07 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pEAmj-0001IA-HN; Sat, 07 Jan 2023 10:07:01 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=oVdMqzi0nLU+t5sZMKecTXZB6xN3pGVesSAI4am0Pe0=; b=P1h0AJvrBeQiHf KM0FhJGID4DjFr6HjKu8dzmRD91MKFng3XixANp/zC97dZrHkEEEugavQkK3bOpcymxlRu5G8/nDM For3HTXc1Ni+cj3oAvUXJMSCnvbBLo3FjqNOazqU7gj1wUy0xWTRHoS8oWVtC6rgY6XO9j5JOOt2/ rffYAnFDUk1V5Dkz0HxNgXJSiPmaa/teKCIJ5SMBiWOAtQWtGN1gVsEDaZisiKiuBqjA67Q8JUXwT lVzjXiW+1ReHsOhkGmKwobEhS9l7aXimCXZ3uen4o56Sa7JcItUmRP6IAOj2iyhthkMz/dlsAyyMn hlERa4wjSJEFWcgWy/0A==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201] helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pEAmj-0003Kn-53; Sat, 07 Jan 2023 10:07:01 -0500 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: 60629@debbugs.gnu.org Subject: [PATCH 1/3] transformations: Add '--with-version'. Date: Sat, 7 Jan 2023 16:06:47 +0100 Message-Id: <20230107150649.4488-1-ludo@gnu.org> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 X-Debbugs-Cc: zimon.toutoune@gmail.com X-Debbugs-Cc: dev@jpoiret.xyz X-Debbugs-Cc: mail@cbaines.net X-Debbugs-Cc: rekado@elephly.net X-Debbugs-Cc: othacehe@gnu.org X-Debbugs-Cc: me@tobias.gr X-Debbugs-Cc: ludo@gnu.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 60629 Cc: =?UTF-8?q?Ludovic=20Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) This is a followup to 8aeccc6240ec45f0bc7bed655e0c8149ae4253eb. * guix/transformations.scm (package-with-upstream-version): New procedure. (transform-package-latest)[package-with-latest-upstream]: Remove. Use 'package-with-upstream-version' instead. (transform-package-version): New procedure. (%transformations, %transformation-options) (show-transformation-options-help/detailed): Add '-with-version'. * tests/transformations.scm ("options->transformation, with-version"): New test. * doc/guix.texi (Package Transformation Options): Document '--with-version'. (Defining Package Variants): Mention it. --- doc/guix.texi | 19 ++++++++-- guix/transformations.scm | 78 +++++++++++++++++++++++++++------------ tests/transformations.scm | 19 +++++++++- 3 files changed, 89 insertions(+), 27 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 293c3016aa..d3af813b5a 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -8072,8 +8072,9 @@ vintage!): "0lappv4slgb5spyqbh6yl5r013zv72yqg2pcl30mginf3wdqd8k9")))))) @end lisp -The example above corresponds to what the @option{--with-source} package -transformation option does. Essentially @code{hello-2.2} preserves all +The example above corresponds to what the @option{--with-version} +or @option{--with-source} package transformations option do. +Essentially @code{hello-2.2} preserves all the fields of @code{hello}, except @code{version} and @code{source}, which it overrides. Note that the original @code{hello} variable is still there, in the @code{(gnu packages base)} module, unchanged. When @@ -12735,7 +12736,9 @@ Coreutils in the dependency graph is rebuilt. @cindex upstream, latest version @item --with-latest=@var{package} -So you like living on the bleeding edge? This option is for you! It +@itemx --with-version=@var{package}=@var{version} +So you like living on the bleeding edge? The @option{--with-latest} +option is for you! It replaces occurrences of @var{package} in the dependency graph with its latest upstream version, as reported by @command{guix refresh} (@pxref{Invoking guix refresh}). @@ -12751,6 +12754,16 @@ of Guile-JSON: guix build guix --with-latest=guile-json @end example +The @option{--with-version} works similarly except that it lets you +specify that you want precisely @var{version}, assuming that version +exists upstream. For example, to spawn a development environment with +SciPy built against version 1.22.4 of NumPy (skipping its test suite +because hey, we're not gonna wait this long), you would run: + +@example +guix shell python python-scipy --with-version=python-numpy=1.22.4 +@end example + There are limitations. First, in cases where the tool cannot or does not know how to authenticate source code, you are at risk of running malicious code; a warning is emitted in this case. Second, this option diff --git a/guix/transformations.scm b/guix/transformations.scm index bf9639020b..d6a2ef0708 100644 --- a/guix/transformations.scm +++ b/guix/transformations.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016-2022 Ludovic Courtès +;;; Copyright © 2016-2023 Ludovic Courtès ;;; Copyright © 2021 Marius Bakke ;;; ;;; This file is part of GNU Guix. @@ -757,35 +757,61 @@ (define rewrite (rewrite obj) obj))) +(define* (package-with-upstream-version p #:optional version) + "Return package P changed to use the given upstream VERSION or, if VERSION +is #f, the latest known upstream version." + (let ((source (package-latest-release p #:version version))) + (cond ((not source) + (if version + (warning + (G_ "could not find version ~a of '~a' upstream~%") + version (package-name p)) + (warning + (G_ "could not determine latest upstream release of '~a'~%") + (package-name p))) + p) + ((string=? (upstream-source-version source) + (package-version p)) + p) + (else + (unless (pair? (upstream-source-signature-urls source)) + (warning (G_ "cannot authenticate source of '~a', version ~a~%") + (package-name p) + (upstream-source-version source))) + + ;; TODO: Take 'upstream-source-input-changes' into account. + (package + (inherit p) + (version (upstream-source-version source)) + (source source)))))) + (define (transform-package-latest specs) "Return a procedure that rewrites package graphs such that those in SPECS are replaced by their latest upstream version." - (define (package-with-latest-upstream p) - (let ((source (package-latest-release p))) - (cond ((not source) - (warning - (G_ "could not determine latest upstream release of '~a'~%") - (package-name p)) - p) - ((string=? (upstream-source-version source) - (package-version p)) - p) - (else - (unless (pair? (upstream-source-signature-urls source)) - (warning (G_ "cannot authenticate source of '~a', version ~a~%") - (package-name p) - (upstream-source-version source))) + (define rewrite + (package-input-rewriting/spec + (map (lambda (spec) + (cons spec package-with-upstream-version)) + specs))) - ;; TODO: Take 'upstream-source-input-changes' into account. - (package - (inherit p) - (version (upstream-source-version source)) - (source source)))))) + (lambda (obj) + (if (package? obj) + (rewrite obj) + obj))) +(define (transform-package-version specs) + "Return a procedure that rewrites package graphs such that those in SPECS +are replaced by the specified upstream version." (define rewrite (package-input-rewriting/spec (map (lambda (spec) - (cons spec package-with-latest-upstream)) + (match (string-tokenize spec %not-equal) + ((spec version) + (cons spec (cut package-with-upstream-version <> version))) + (_ + (raise (formatted-message + (G_ "~a: invalid upstream version specification") + spec))))) specs))) (lambda (obj) @@ -809,7 +835,8 @@ (define %transformations (with-debug-info . ,transform-package-with-debug-info) (without-tests . ,transform-package-tests) (with-patch . ,transform-package-patches) - (with-latest . ,transform-package-latest))) + (with-latest . ,transform-package-latest) + (with-version . ,transform-package-version))) (define (transformation-procedure key) "Return the transformation procedure associated with KEY, a symbol such as @@ -881,6 +908,8 @@ (define micro-architecture (parser 'with-patch)) (option '("with-latest") #t #f (parser 'with-latest)) + (option '("with-version") #t #f + (parser 'with-version)) (option '("help-transform") #f #f (lambda _ @@ -915,6 +944,9 @@ (define (show-transformation-options-help/detailed) (display (G_ " --with-latest=PACKAGE use the latest upstream release of PACKAGE")) + (display (G_ " + --with-version=PACKAGE=VERSION + use the given upstream VERSION of PACKAGE")) (display (G_ " --with-c-toolchain=PACKAGE=TOOLCHAIN build PACKAGE and its dependents with TOOLCHAIN")) diff --git a/tests/transformations.scm b/tests/transformations.scm index 5c136e1d48..1fa2c0bba8 100644 --- a/tests/transformations.scm +++ b/tests/transformations.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016-2017, 2019-2022 Ludovic Courtès +;;; Copyright © 2016-2017, 2019-2023 Ludovic Courtès ;;; Copyright © 2021 Marius Bakke ;;; ;;; This file is part of GNU Guix. @@ -497,6 +497,23 @@ (define (package-name* obj) `((with-latest . "foo"))))) (package-version (t p))))) +(test-equal "options->transformation, with-version" + "1.0" + (mock ((guix upstream) %updaters + (delay (list (upstream-updater + (name 'dummy) + (pred (const #t)) + (description "") + (import (const (upstream-source + (package "foo") + (version "1.0") + (urls '("http://example.org"))))))))) + (let* ((p0 (dummy-package "foo" (version "7.7"))) + (p1 (dummy-package "bar" (inputs (list p0)))) + (t (options->transformation + `((with-version . "foo=1.0"))))) + (package-version (lookup-package-input (t p1) "foo"))))) + (test-equal "options->transformation, tune" '(cpu-tuning . "superfast") (let* ((p0 (dummy-package "p0")) -- 2.38.1 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 07 10:07:10 2023 Received: (at 60629) by debbugs.gnu.org; 7 Jan 2023 15:07:10 +0000 Received: from localhost ([127.0.0.1]:58690 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEAms-00052N-5E for submit@debbugs.gnu.org; Sat, 07 Jan 2023 10:07:10 -0500 Received: from eggs.gnu.org ([209.51.188.92]:54998) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEAmp-00051e-TM for 60629@debbugs.gnu.org; Sat, 07 Jan 2023 10:07:08 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pEAmk-0001IO-NL; Sat, 07 Jan 2023 10:07:02 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=CXhxT4E5x8TDKKAs5FMkqE5tMmScDx/w0Pe3FD/iq7U=; b=QGGjCtitp/uT4Cpq7FE7 fgvVEhS9njLaBgr/lFP6cxhTbHE7jvUOve3D4wkM8jEBqYtD36381/4GWFPBNUCNvO09hIVZfYZ7t 8ObYRxSmchm9uYhTy+r6MCyDoN6AqBCboDa8FTQDjXMLxP2Ae8uGIT3SYG0RAda4AX6yeyQnzGZgp gE4hgh5jrFOrd0+ltg5D7AlGcFhIsG0MLaK7IkY8GwfpkotjHqKXcrRhd++gt2fNrgPD5tEmKZ2qL g7XR+Yo7R0Gq6WWZJlUFD2ooRdZvMsv3VRNKLazr/3ReRR8yszYhUtJXFp18Ya1Zx7bbPFbXQTjxc BroS1Pgiv4I3hw==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201] helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pEAmk-0003Kn-BJ; Sat, 07 Jan 2023 10:07:02 -0500 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: 60629@debbugs.gnu.org Subject: [PATCH 3/3] DRAFT news: Add entry for '--with-version'. Date: Sat, 7 Jan 2023 16:06:49 +0100 Message-Id: <20230107150649.4488-3-ludo@gnu.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230107150649.4488-1-ludo@gnu.org> References: <20230107150649.4488-1-ludo@gnu.org> MIME-Version: 1.0 X-Debbugs-Cc: zimon.toutoune@gmail.com X-Debbugs-Cc: dev@jpoiret.xyz X-Debbugs-Cc: mail@cbaines.net X-Debbugs-Cc: rekado@elephly.net X-Debbugs-Cc: othacehe@gnu.org X-Debbugs-Cc: me@tobias.gr X-Debbugs-Cc: ludo@gnu.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 60629 Cc: =?UTF-8?q?Ludovic=20Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) DRAFT: Update commit. * etc/news.scm: Add entry. --- etc/news.scm | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/etc/news.scm b/etc/news.scm index 86451495fd..aa205ceffe 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -1,6 +1,6 @@ ;; GNU Guix news, for use by 'guix pull'. ;; -;; Copyright © 2019-2022 Ludovic Courtès +;; Copyright © 2019-2023 Ludovic Courtès ;; Copyright © 2019–2021 Tobias Geerinckx-Rice ;; Copyright © 2019, 2020 Miguel Ángel Arruga Vivas ;; Copyright © 2019, 2020 Konrad Hinsen @@ -26,6 +26,40 @@ (channel-news (version 0) + (entry (commit "XXX") + (title + (en "New @option{--with-version} package transformation option") + (fr "Nouvelle option de transformation @option{--with-version}")) + (body + (en "The new @option{--with-version} package transformation option +generalizes @option{--with-latest}: it gets the specified upstream release of +a package and uses it instead of the currently-packaged version. + +For example, the command below would spawn GNOME Clocks built against GTK +4.7.0, skipping its test suite: + +@example +guix shell gnome-clocks --with-version=gtk=4.7.0 \ + --without-tests=gtk -- gnome-clocks +@end example + +Run @command{info \"(guix) Package Transformation Options\"} for more info.") + (fr "La nouvelle option de transformation de paquets +@option{--with-version} généralise @option{--with-latest} : elle permet de +spécifier quelle version amont d'un logiciel utiliser à la place de celle +actuellement fournie. + +Par exemple, la commande ci-dessous démarre GNOME Clocks construit avec GTK +4.7.0, sans lancer sa suite de tests : + +@example +guix shell gnome-clocks --with-version=gtk=4.7.0 \ + --without-tests=gtk -- gnome-clocks +@end example + +Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour +plus de détails."))) + (entry (commit "dfc6957a5af7d179d4618eb19d4f555c519bc6f2") (title (en "New @code{customize-linux} procedure") -- 2.38.1 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 07 11:05:45 2023 Received: (at 60629) by debbugs.gnu.org; 7 Jan 2023 16:05:45 +0000 Received: from localhost ([127.0.0.1]:58765 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEBhZ-0006ZG-Cy for submit@debbugs.gnu.org; Sat, 07 Jan 2023 11:05:45 -0500 Received: from mout.kundenserver.de ([217.72.192.73]:50479) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEBhW-0006Yy-84 for 60629@debbugs.gnu.org; Sat, 07 Jan 2023 11:05:43 -0500 Received: from hermia.goebel-consult.de ([91.57.75.229]) by mrelayeu.kundenserver.de (mreue109 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MFbeC-1p0SC93Mb8-00H68b; Sat, 07 Jan 2023 17:05:35 +0100 Received: from [192.168.110.2] (lenashee.goebel-consult.de [192.168.110.2]) by hermia.goebel-consult.de (Postfix) with ESMTP id E70555F79D; Sat, 7 Jan 2023 17:05:42 +0100 (CET) Message-ID: Date: Sat, 7 Jan 2023 17:05:33 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: [bug#60629] [PATCH 0/3] Add '--with-version' package transformation Content-Language: de-DE, en-US To: =?UTF-8?Q?Ludovic_Court=c3=a8s?= , 60629@debbugs.gnu.org References: <20230107150457.4446-1-ludo@gnu.org> From: Hartmut Goebel Organization: crazy-compilers.com In-Reply-To: <20230107150457.4446-1-ludo@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Provags-ID: V03:K1:Dwaoz3GjjpDUT4sG/slotfPBjdai18ifdjFhTmiCBq1aU0I/XsZ u9nmxoYGUDynOECFDT26oJ2Nt+7H+IhqTrlxtMLA7OPhk+glMHMepn3/1PkWf76KChbtkrX HCK/0wUIpdEpQ0IjUC3b7umJkZ/cyookeYW/JtqKt5bEwpegeWDevu5N8GlyvykOGdkf/p+ Y9GPM/tMxuoD66tHOr4kQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:HKslKc8sZ4s=;kQGkZ/cpWEo9UDuWfCMaDFCHe0Y jSb9c9UiNzJOFYU4f2io2Qh/gAMM5S5AkOZOLmqwEeQ3y2LTWEd1+p+2rYl0GOf8e10dkk6Uc jE9g1pP1kOz6TwjO1lZlNyYDqMDepWg7EkbtTSg2G2vZQJwBaIe+v5e56O4cR3v1DfUj2vKOH oJ5GI03qCfgD8Xzb3QDFKBRMhVhXw94xD3+qNwtoft/7v3IvJkey8kqA9opdLl3NNjuf+1UUK YKgiPdbsBET9Qh7KGKwlE7qqeb7FJG4P7IFZeYxigN5kurxeC79vxNDTEesaGcZ7nkBn7QKZU kClxAy6se9NYr7oDcKtLOck1R4NHwoGnqdXW0q2LU58JrXp95p8whlwDFPldzfTEEsnIknF+4 P7toDWEuBvEgrPakRVl3dDEGEiLbM6kTyeWZWwUCINy0z4b9XXBw7BBlG/hLVKrNO3QDmLOmW X/LZQXYKgAXed64JFq/R4762UJrDixv5TAe3H1nw/JNpPCrkltINMGNA9E4J/LryNsiFAcfIH qTxDsLBoIJkdSpDhzElMOiLC1rvVm0M5GhI4JJ1PR5dc/uPovkDSQ02dR5IJD849aTmvm+/51 fOLl/7oMdfkVZojnXaP4FEr6DA9/dq99CNN2nClbBhhV3ZlfgRY3yRI4RVyO2LxRRXA+zDJdC uwW5vN8Lnw3K+uYwDACOyrsGf+7AA+tzi23X6nRljQ== X-Spam-Score: -1.1 (-) X-Debbugs-Envelope-To: 60629 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.1 (--) Am 07.01.23 um 16:04 schrieb Ludovic Courtès: > Now that updaters can (to some extent) import any upstream version, we > can provide a ‘--with-version’ package transformation option that picks > the given upstream version. Cool! (Can't judge on the code, though) -- Regards Hartmut Goebel | Hartmut Goebel | h.goebel@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible | From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 09 13:13:14 2023 Received: (at 60629) by debbugs.gnu.org; 9 Jan 2023 18:13:14 +0000 Received: from localhost ([127.0.0.1]:38132 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEwe1-0005C0-Pf for submit@debbugs.gnu.org; Mon, 09 Jan 2023 13:13:14 -0500 Received: from relay.yourmailgateway.de ([188.68.61.103]:55661) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEwdz-0005Bq-38 for 60629@debbugs.gnu.org; Mon, 09 Jan 2023 13:13:11 -0500 Received: from mors-relay-8403.netcup.net (localhost [127.0.0.1]) by mors-relay-8403.netcup.net (Postfix) with ESMTPS id 4NrMW94Xtsz7ygg; Mon, 9 Jan 2023 19:13:09 +0100 (CET) Authentication-Results: mors-relay-8403.netcup.net; dkim=permerror (bad message/signature format) Received: from policy01-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-8403.netcup.net (Postfix) with ESMTPS id 4NrMW948xKz7ygb; Mon, 9 Jan 2023 19:13:09 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at policy01-mors.netcup.net X-Spam-Flag: NO X-Spam-Score: -2.899 X-Spam-Level: X-Spam-Status: No, score=-2.899 required=6.31 tests=[ALL_TRUSTED=-1, BAYES_00=-1.9, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Received: from mxe217.netcup.net (unknown [10.243.12.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by policy01-mors.netcup.net (Postfix) with ESMTPS id 4NrMW864Fhz8sZq; Mon, 9 Jan 2023 19:13:08 +0100 (CET) Received: from florianrock64 (ip5b40a50f.dynamic.kabel-deutschland.de [91.64.165.15]) by mxe217.netcup.net (Postfix) with ESMTPSA id 4B2997FD3E; Mon, 9 Jan 2023 19:13:03 +0100 (CET) From: "pelzflorian (Florian Pelz)" To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#60629] [PATCH 3/3] DRAFT news: Add entry for '--with-version'. References: <20230107150649.4488-1-ludo@gnu.org> <20230107150649.4488-3-ludo@gnu.org> Date: Mon, 09 Jan 2023 19:13:02 +0100 In-Reply-To: <20230107150649.4488-3-ludo@gnu.org> ("Ludovic =?utf-8?Q?Cour?= =?utf-8?Q?t=C3=A8s=22's?= message of "Sat, 7 Jan 2023 16:06:49 +0100") Message-ID: <87a62rmv9t.fsf@pelzflorian.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4B2997FD3E X-Spamd-Result: default: False [-5.60 / 15.00]; BAYES_HAM(-5.50)[99.99%]; MIME_GOOD(-0.10)[text/plain]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:3209, ipnet:91.64.0.0/14, country:DE]; RCVD_COUNT_ZERO(0.00)[0]; RCPT_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; ARC_NA(0.00)[] X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: bvGI94JkMUJ028D52B+5YSgnjxoJh/pKlDwOftDKmBOLbGRRS9T5tZJA X-Spam-Score: 1.3 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hello Ludo, excuse the delay. Could you add this German translation? Ludovic Courtès writes: > + (entry (commit "XXX") > + (title > + (en "New @option{--with-version} package transformation > option") Content analysis details: (1.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.3 RCVD_IN_VALIDITY_RPBL RBL: Relay in Validity RPBL, https://senderscore.org/blocklistlookup/ [188.68.61.103 listed in bl.score.senderscore.com] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [188.68.61.103 listed in list.dnswl.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 0.0 SPF_NONE SPF: sender does not publish an SPF Record X-Debbugs-Envelope-To: 60629 Cc: 60629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) Hello Ludo, excuse the delay. Could you add this German translation? Ludovic Court=C3=A8s writes: > + (entry (commit "XXX") > + (title > + (en "New @option{--with-version} package transformation > option") (de "Neue Paketumwandlungsoption @option{--with-version}") > + (body > + (en "The new @option{--with-version} package transformation opt= ion > +generalizes @option{--with-latest}: it gets the specified upstream relea= se of > +a package and uses it instead of the currently-packaged version. > + > +For example, the command below would spawn GNOME Clocks built against GTK > +4.7.0, skipping its test suite: > + > +@example > +guix shell gnome-clocks --with-version=3Dgtk=3D4.7.0 \ > + --without-tests=3Dgtk -- gnome-clocks > +@end example > + > +Run @command{info \"(guix) Package Transformation Options\"} for more in= fo.") (de "Die neue Paketumwandlungsoption @option{--with-version} verallgemeinert @option{--with-latest}: Mit ihr kann man angeben, welche vom Anbieter ver=C3=B6ffentlichte Version man anstelle der derzeit im Paket vorgegebenen haben m=C3=B6chte. Zum Beispiel kann mit folgendem Befehl ein f=C3=BCr die GTK-Version 4.7.0 erstelltes GNOME Clocks aufgerufen werden, wobei der Testkatalog daf=C3=BCr =C3=BCbersprungen wird. @example guix shell gnome-clocks --with-version=3Dgtk=3D4.7.0 \ --without-tests=3Dgtk -- gnome-clocks @end example F=C3=BChren Sie f=C3=BCr mehr Informationen @command{info \"(guix.de) Paketumwandlungsoptionen\"} aus.") Regards, Florian From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 12 12:47:13 2023 Received: (at 60629) by debbugs.gnu.org; 12 Jan 2023 17:47:13 +0000 Received: from localhost ([127.0.0.1]:48532 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pG1fV-0002mi-8i for submit@debbugs.gnu.org; Thu, 12 Jan 2023 12:47:13 -0500 Received: from mail-wr1-f42.google.com ([209.85.221.42]:41964) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pG1fK-0002lA-AZ for 60629@debbugs.gnu.org; Thu, 12 Jan 2023 12:47:03 -0500 Received: by mail-wr1-f42.google.com with SMTP id w1so18855353wrt.8 for <60629@debbugs.gnu.org>; Thu, 12 Jan 2023 09:47:02 -0800 (PST) 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:subject:date:message-id :reply-to; bh=7d6G1ue1PwFUs2Y30d2/PbxceLZgxpl2lZab/6ikld0=; b=D3SI90qTzT2yICEftxJhkZ+38+GKLeOfdp9AhoRqjJB6ZUL+GJL2ZZnycccbTkWUiF FYfoOBTdr2pTaGx4PWNveXMTI5V54u4hvjkCWv3/OzL/Hlqp7lJoah9e29F0TXTACXqX iwjbmkg3zwqj0mfaPRoMHHScxKJUaEI0zJEPrsePcqoKtXFuXLnZpPau48P0Y7ls1gsD rDFgV/IL3kfHhzEA815/dVKvW/xg27OQ9+ZUakL8dgoSRxh9FexBzX1EgunkHodDmgsB yUkkSdkh+/eiZyHNpFgCjcIpzL73EsjsvwoMCicFoI1V3RczrAfdILv9FaoyP330ygGd PQYQ== 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 :subject:date:message-id:reply-to; bh=7d6G1ue1PwFUs2Y30d2/PbxceLZgxpl2lZab/6ikld0=; b=5WDS0d1hckJ7o+YgR2o0zX1xMuu3GdWdlnSo7ltHxv2YRvFdDXhwHsDr8ai1hJWhFl UMOuk05Zl7Mong/476hL834Hq6H75t5xcn3sSp0jMMmc2ohKiY6GZA6wDkag3IoUuDuC bgRSgCS57Hg8b4ElVFegr/R/3IztriDQBOGg2h7BFJlVwG3rX4lSiOB8a4PbMONZmiuz gtYJASkxEtdpJsaI3vmImd6Nq2O9WFptIvYWFbdq9X4/OhDAnRHzel2ek+PH+lOlZWrq ukLaN1+/ZDu3ar22dIY+m2u5ox22FaOZIm5G3AGJEwmrm7WewWP/c2tlKZDNNxoFQczH rEaw== X-Gm-Message-State: AFqh2kpilg8woz2a4gIclqUIPMKM7YNC33RiF1x9IQlA8q6/fRd0I0D2 bYcBsfVm3W6e6hs1M+DrjZQ= X-Google-Smtp-Source: AMrXdXvNHCcJDERxjsz1EpPWUEzdHTLr5uvyW5wCJZbn2t0GU5aCCiE34Z1OYG7jpCqR8yR+UeyXPg== X-Received: by 2002:a5d:5e87:0:b0:269:2b69:e9b3 with SMTP id ck7-20020a5d5e87000000b002692b69e9b3mr11582241wrb.0.1673545616772; Thu, 12 Jan 2023 09:46:56 -0800 (PST) Received: from pfiuh07 ([193.48.40.241]) by smtp.gmail.com with ESMTPSA id i15-20020a05600011cf00b00294176c2c01sm16875952wrx.86.2023.01.12.09.46.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jan 2023 09:46:56 -0800 (PST) From: Simon Tournier To: Ludovic =?utf-8?Q?Court=C3=A8s?= , 60629@debbugs.gnu.org Subject: Re: [bug#60629] [PATCH 0/3] Add '--with-version' package transformation In-Reply-To: <20230107150457.4446-1-ludo@gnu.org> References: <20230107150457.4446-1-ludo@gnu.org> Date: Thu, 12 Jan 2023 16:49:58 +0100 Message-ID: <87o7r3wy55.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 60629 Cc: h.goebel@crazy-compilers.com, Ludovic =?utf-8?Q?Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, The code LGTM. Minor the comment below. :-) On sam., 07 janv. 2023 at 16:04, Ludovic Court=C3=A8s wrote: > Now that updaters can (to some extent) import any upstream version, we > can provide a =E2=80=98--with-version=E2=80=99 package transformation opt= ion that picks > the given upstream version. Well, transformation bypasses the checksum control and so it is not really a fixed-output, right? Therefore, the result depends on the state of the world and thus it is not necessary reproducible. While --with-latest (or other transformation) makes this potential unreproducibility clear, that=E2=80=99s not the case with --with-version. For instance, Alice runs guix shell python python-scipy --with-version=3Dpython-numpy=3D1.22.4 and the result depends on what upstream provides for Numpy@1.22.4. Even if Alice provide a channels.scm file pinning Guix, then Bob does not get necessary the same as Alice with: guix time-machine -C channels.scm \ -- shell python python-scipy --with-version=3Dpython-numpy=3D1.22.4 Moreover, with my hat dealing with scientific folk, I already see their confusion. For instance, they will write some manifest such that, --8<---------------cut here---------------start------------->8--- (use-modules (guix transformations)) (define transform1 (options->transformation '((with-version . "python-numpy=3D1.22.4")))) (packages->manifest (list (transform1 (specification->package "python")) (transform1 (specification->package "python-scipy")))) --8<---------------cut here---------------end--------------->8--- which looks very similar to some requirements.txt or other YAML variants consumed by well-known other package managers. ;-) It is confusing because the common motto is =C2=ABGuix is reproducible by design=C2=BB but then here it is not. And what happens if the upstream content pointed by --with-version=3Dpython-numpy=3D1.22.4 is not available? It is not possible to fallback. All fall downss. Well, my concerns are also valid for other transformations but their names are clear enough to ring some bell for reproducing. The name =E2=80=99with-version=E2=80=99 appears to me a trap because it eases incorr= ect description of the computational environment while thinking doing it right because using Guix. The issue is the connotation of the term =E2=80=9Cversion=E2=80=9D (*). (*) term =E2=80=9Cversion=E2=80=9D: people are often confused with the = difference between source code version and produced binary version containing compilation options and dependencies; or also confused with the difference between extrinsic reference as label or tag and intrinsic reference as checksum. All that said, this option is cool to have. :-) It is missing some guards, IMHO. Maybe: 1. Wording some warning for the manual 2. Add comments about reproducibility when exporting manifest with transformations; for example, (define transform1 ;; WARNING: some transformation might lead to non-reproducible profil= e. ;; For more details, please see the Package Transformation Options se= ction. (options->transformation '((with-version . "python-numpy=3D1.22.4") (with-c-toolchain . "python-scipy=3Dgcc-toolchain@7")))) 3. Add a warning. Similarly, to this: warning: cannot authenticate source of 'python-numpy', version 1.22.4 For instance, warning: transformation for 'python-numpy' with version 1.22.4 might be = non-reproducible Cheers, simon From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 13 06:12:44 2023 Received: (at 60629) by debbugs.gnu.org; 13 Jan 2023 11:12:45 +0000 Received: from localhost ([127.0.0.1]:49727 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pGHzI-0007yE-IG for submit@debbugs.gnu.org; Fri, 13 Jan 2023 06:12:44 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44484) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pGHzE-0007xz-F6 for 60629@debbugs.gnu.org; Fri, 13 Jan 2023 06:12:43 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGHz7-0006II-Pr; Fri, 13 Jan 2023 06:12:33 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=e8LkjbloKWVAiiLYpLhV2Nqj8d3ciHZXgMJ63bn4r5c=; b=m8SwcKL6gK3hyRhHTD00 QB6hsijkdWQGXwmrg50LRc52p1ATmz+moU+mIJGAgh39i+VNa5kEc9rPz2td9c9XglDtTGA0RZWRI aF81uOc73gdH71qsvEQQPDXk9xRewRkGlh2wdE5ZPglWB9sZdwgd6Liv6antyWpFNGhdA4UKBizZA mlAOU1fgXAbh62mK0xwD/z+mUzY8C+Ua6rs2k/9U/huXU51UqBxflOog9cfZdnOUDdvdmWlvc0Aja ZuTopeAAP2GxFKHHVVBCLO1uON+ewc90+70F1Es4vJCuk9PXcg2o/Nsbe8c/75LlSO7dI7evCh0KN pvTwDi1Xu/Rutg==; Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGHyu-0006vi-Jr; Fri, 13 Jan 2023 06:12:33 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Simon Tournier Subject: Re: [bug#60629] [PATCH 0/3] Add '--with-version' package transformation References: <20230107150457.4446-1-ludo@gnu.org> <87o7r3wy55.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Quartidi 24 =?utf-8?Q?Niv=C3=B4se?= an 231 de la =?utf-8?Q?R=C3=A9volution=2C?= jour du Cuivre X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 13 Jan 2023 12:12:17 +0100 In-Reply-To: <87o7r3wy55.fsf@gmail.com> (Simon Tournier's message of "Thu, 12 Jan 2023 16:49:58 +0100") Message-ID: <87mt6melim.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 60629 Cc: 60629@debbugs.gnu.org, h.goebel@crazy-compilers.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hello! Simon Tournier skribis: > On sam., 07 janv. 2023 at 16:04, Ludovic Court=C3=A8s wrot= e: > >> Now that updaters can (to some extent) import any upstream version, we >> can provide a =E2=80=98--with-version=E2=80=99 package transformation op= tion that picks >> the given upstream version. > > Well, transformation bypasses the checksum control and so it is not > really a fixed-output, right? It=E2=80=99s not fixed-output at all because we don=E2=80=99t know in advan= ce what we=E2=80=99ll get from that download. > Therefore, the result depends on the state of the world and thus it is > not necessary reproducible. Absolutely. [...] > All that said, this option is cool to have. :-) It is missing some > guards, IMHO. Maybe: > > 1. Wording some warning for the manual Will do, that makes a lot of sense to me, I share your concerns. > 2. Add comments about reproducibility when exporting manifest with > transformations; for example, > > (define transform1 > ;; WARNING: some transformation might lead to non-reproducible prof= ile. > ;; For more details, please see the Package Transformation Options = section. > (options->transformation > '((with-version . "python-numpy=3D1.22.4") > (with-c-toolchain . "python-scipy=3Dgcc-toolchain@7")))) This one=E2=80=99s a bit more involved technically because we don=E2=80=99t= use (guix read-print) yet here, so I prefer to do that separately. > 3. Add a warning. Similarly, to this: > > warning: cannot authenticate source of 'python-numpy', version 1.22.4 > > For instance, > > warning: transformation for 'python-numpy' with version 1.22.4 might b= e non-reproducible I wonder about this one because it would be displayed unconditionally, there=E2=80=99s no =E2=80=9CI understand the risks=E2=80=9D button one can = click to make it disappear. I=E2=80=99d lean towards making a prominent warning in the manu= al and not have a warning message every time here, dunno. Thoughts? Thanks for your feedback! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 13 12:16:57 2023 Received: (at 60629) by debbugs.gnu.org; 13 Jan 2023 17:16:57 +0000 Received: from localhost ([127.0.0.1]:52284 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pGNfl-0002BK-CT for submit@debbugs.gnu.org; Fri, 13 Jan 2023 12:16:57 -0500 Received: from mail-wm1-f45.google.com ([209.85.128.45]:44790) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pGNfj-0002B3-Cj for 60629@debbugs.gnu.org; Fri, 13 Jan 2023 12:16:55 -0500 Received: by mail-wm1-f45.google.com with SMTP id g19-20020a05600c4ed300b003d9eb1dbc0aso14889565wmq.3 for <60629@debbugs.gnu.org>; Fri, 13 Jan 2023 09:16:55 -0800 (PST) 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:subject:date:message-id :reply-to; bh=0laHvXt5Z1FKeAtoFmGdgUi58JhglTGsi6qLMM3EN0g=; b=cbCl3a4Q/HHle+FblMmf17Okr0BPFlXmWdHWj872pgvDMmoJiaAnvgL1cG+ELYrJnk DrQUq/7Gy/K78gNnGZXRA1t0STlIDewZbroJdAV3zkIZSB5U7OGW5ltziWWRNQbZnLhg zQEsPwsN8Ess4eNPCeiurSImzKZJnNBu0XGYt0p9gyjGrfD9LrU+9TQZXlaO8KFko0RX nowJXad065Vy/2wp9gVRQ1qoie1/subbm8+EiCCXkSxcMVnsLQ1WK8jdn0lgfhPb00Yb EGFJhYkd+O0wND0Ac+JWiVbEX2yQw/AZa64M7n4UqvEcUDaQ8/nJhTQs3G2ifoN9PxwZ kyQg== 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 :subject:date:message-id:reply-to; bh=0laHvXt5Z1FKeAtoFmGdgUi58JhglTGsi6qLMM3EN0g=; b=ftd5sH81BAj/gVMzzOEjkvEHsixE4K6uBQ0qxdfTsUMJo6IRcMgod9jWn0FQWNruTb NrWsBzBA95sw62A4VF7kCcslnAa34EAzzrd6O80UgSmgNUi2y3cEFK0x9UW6vv3JhbSo qMIzp+l3gNPpcX69SPApnCrykIypsN3M+ObDCAKFhiZ+k5wlUknZjD1M7Lqx7dEWINc0 3j8rF813nGbGaZefijYiynyYBi+NfRDy1kZiQsCFwGvvPcZpt6Uw7fHgMX6EumXEaa9S dQsIG9ai+0HJ2q5dYd2b3EW5RJmbZzZ2r1fPzyhbzrVp9vamcvmdVh1z9tYjYtFnZM5M iiOg== X-Gm-Message-State: AFqh2koWorNN+wrc3u87zChsv1gOsZzHsRJhhSFE8+j+cwp9jle21JEc GjNrxyTiwiqJTBLU/RfEhrk= X-Google-Smtp-Source: AMrXdXs0atO4qkaGmxjuYUq82ycbCyw8YWIilEAvLLWRuACHLEIVnqAOxc2VcO/2a5s1wu96yg4alQ== X-Received: by 2002:a05:600c:4fc6:b0:3d3:446a:b493 with SMTP id o6-20020a05600c4fc600b003d3446ab493mr14843326wmq.4.1673630209167; Fri, 13 Jan 2023 09:16:49 -0800 (PST) Received: from pfiuh07 ([193.48.40.241]) by smtp.gmail.com with ESMTPSA id w4-20020adfee44000000b0029100e8dedasm19344887wro.28.2023.01.13.09.16.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jan 2023 09:16:48 -0800 (PST) From: Simon Tournier To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#60629] [PATCH 0/3] Add '--with-version' package transformation In-Reply-To: <87mt6melim.fsf@gnu.org> References: <20230107150457.4446-1-ludo@gnu.org> <87o7r3wy55.fsf@gmail.com> <87mt6melim.fsf@gnu.org> Date: Fri, 13 Jan 2023 18:00:41 +0100 Message-ID: <871qnywerq.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 60629 Cc: 60629@debbugs.gnu.org, h.goebel@crazy-compilers.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Ludo, On ven., 13 janv. 2023 at 12:12, Ludovic Court=C3=A8s wrote: > I wonder about this one because it would be displayed unconditionally, > there=E2=80=99s no =E2=80=9CI understand the risks=E2=80=9D button one ca= n click to make it > disappear. I=E2=80=99d lean towards making a prominent warning in the ma= nual > and not have a warning message every time here, dunno. Yeah, I agree it will be visually polluting. :-) Well, this patch set exposes the concern about reproducibility and some package transformation. Therefore, it could be addressed and discussed separately since it is unique to this --with-version. A first idea. :-) Maybe, this warning could appears the first time the transformation is called; similarly as =E2=80=9Cguix shell --check=E2=80=9D. Or if we want to be really stringent, the first time of transformation calling, we simply raise ad message explaining it will not be reproducible, ask an Yes/No =E2=80=9CI understand the risk=E2=80=9D, store = the result in a cache. This makes sure the information is spread. However, it could be annoying when launching in some non-interactive mode. The trick would be to set this cache but that=E2=80=99s not super ha= ndy. Bah, it needs more thoughts. :-) Cheers, simon From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 16 07:45:21 2023 Received: (at 60629-done) by debbugs.gnu.org; 16 Jan 2023 12:45:21 +0000 Received: from localhost ([127.0.0.1]:60759 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pHOrZ-0000xH-BT for submit@debbugs.gnu.org; Mon, 16 Jan 2023 07:45:21 -0500 Received: from eggs.gnu.org ([209.51.188.92]:46440) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pHOrY-0000x1-5n for 60629-done@debbugs.gnu.org; Mon, 16 Jan 2023 07:45:20 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pHOrQ-0006PG-QT; Mon, 16 Jan 2023 07:45:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=CvgneyLn8LQc3UXl0L54in/pfBUnXfmVH180eYfc/Wk=; b=YnmKPQVQee8JAs0wbfgd ahI3FSFeP/2cTIZCD0uKxN8xXgPR9JBKu4t0CE6XfyvgVQe6nvN7oP39rVxBXwA4C/bINxT/s7KWN RqihwX532YETYSBqe8JdSEPer6NC6st2nRZXGzYWvlQcc/KR18OhqUtQGOAyZ1c5fm73c5c/JiN87 orNXTlYgEncGJL76U09TSCZDg3Anrz3aLy0tKM+Gdy/CBmMsjXhBuYrFRqN+TjdEg8bGxeU6CpbAA wXJc5Gbco+sc96GFNsXJCys6/pA1VqHHh0fanTQb3wyJY0K56FbAMOXuXVSvDtHWkV6AtPyOUdaLx mOQ4S1Mqrs1YSg==; Received: from [193.50.110.246] (helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pHOrQ-00034Y-6V; Mon, 16 Jan 2023 07:45:12 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Simon Tournier Subject: Re: bug#60629: [PATCH 0/3] Add '--with-version' package transformation References: <20230107150457.4446-1-ludo@gnu.org> <87o7r3wy55.fsf@gmail.com> <87mt6melim.fsf@gnu.org> <871qnywerq.fsf@gmail.com> Date: Mon, 16 Jan 2023 13:45:09 +0100 In-Reply-To: <871qnywerq.fsf@gmail.com> (Simon Tournier's message of "Fri, 13 Jan 2023 18:00:41 +0100") Message-ID: <87zgailkbu.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 60629-done Cc: 60629-done@debbugs.gnu.org, h.goebel@crazy-compilers.com, "pelzflorian \(Florian Pelz\)" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hello, Pushed! 2e652e687e master origin/master news: Add entry for '--with-version'. 20c923c40d transformations: Let users know when '--with-latest' has no ef= fect. 137b91f03b transformations: Add '--with-version'. I added a warning in the manual as you suggested, Simon; I also added a warning in =E2=80=98package-with-upstream-version=E2=80=99 about downgrades= . I included Florian=E2=80=99s translation of the news entry too. Thanks everyone! Ludo=E2=80=99. From unknown Mon Aug 18 14:20:32 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 14 Feb 2023 12:24:06 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator