From patchwork Mon Mar 17 15:19:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakob Kirsch X-Patchwork-Id: 40281 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 1285927BBE2; Mon, 17 Mar 2025 15:20:32 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id DF56D27BBE9 for ; Mon, 17 Mar 2025 15:20:30 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tuCG5-0008VG-5O; Mon, 17 Mar 2025 11:20:05 -0400 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 1tuCG3-0008Uz-RO for guix-patches@gnu.org; Mon, 17 Mar 2025 11:20:03 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tuCG3-0002DO-GQ for guix-patches@gnu.org; Mon, 17 Mar 2025 11:20:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:From:Date:To:Subject; bh=oL1M/dWAFribA6FpqHJBjP7OdDZpfWyfIVeQr0VpoJw=; b=P+sd0aToIxVPH0mT5yHl5gvEBqQuazmT5hF5k4KV2edAh1tB4vpxGroMKlaVA/FabzT8dOu/Zwhm5gFMVHEV/8I1XnYUNxWzf8XLpx7plYszt3S1jyvEbEGwkeZMMXOGptJp1raeT8oUM8sPmtAlDkqptCqwpq5WHmPsA3gxAnPILSh7Ufb1X4vxlSiFaW3vYbXi7ViapSpUq+2q0Gb/ChXSIBe9pb5wExxdhrGqKx5C9n7oZZ0R6ruYcUdsRuf4nbYPVWTBcCm6ErNjBXa4aKfS2nNJxAn8I51VydQgzTi2L35lGWeHcwQK2PVl1V/Vl1gYlmAsMNVydzXi/qF4bQ==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tuCG3-00049C-0M for guix-patches@gnu.org; Mon, 17 Mar 2025 11:20:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#77072] [PATCH v1] channels: add transformer field Resent-From: Jakob Kirsch Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 17 Mar 2025 15:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 77072 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 77072@debbugs.gnu.org Cc: guix-devel@gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.174222478915823 (code B ref -1); Mon, 17 Mar 2025 15:20:02 +0000 Received: (at submit) by debbugs.gnu.org; 17 Mar 2025 15:19:49 +0000 Received: from localhost ([127.0.0.1]:60004 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tuCFp-000479-GY for submit@debbugs.gnu.org; Mon, 17 Mar 2025 11:19:49 -0400 Received: from lists.gnu.org ([2001:470:142::17]:56476) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tuCFn-00046I-61 for submit@debbugs.gnu.org; Mon, 17 Mar 2025 11:19:47 -0400 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 1tuCFh-0008Jo-7X; Mon, 17 Mar 2025 11:19:41 -0400 Received: from mout.web.de ([212.227.15.4]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tuCFf-00027I-8H; Mon, 17 Mar 2025 11:19:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1742224776; x=1742829576; i=jakob.kirsch@web.de; bh=oL1M/dWAFribA6FpqHJBjP7OdDZpfWyfIVeQr0VpoJw=; h=X-UI-Sender-Class:Date:From:To:Cc:Subject:Message-ID: MIME-Version:Content-Type:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=H8Jk787kxVEUN/OwHpARL4+uyD+9grU4Cv4UIbdzNtgXTz7tmKuoW/vSFlmLJ9iU XIosl6iT92Xip6E88Treisf8ql0OCvRh2k+RebwlVWn0IIFh8KbxXCyjUXDEGpz3g dyEfkEwj87ub9E/8h+kcH1vWndTJloc+vJN75wk7OpPdVFLCcLAnfC+x58BkBVASY Pzs0/aUI1wz92XjpLa3R9MnbOT+seqKPy8lLSqoJudzC/8auw7usMbHehbdFzUSJS kpou1UbEy73V8eNVmGjzt66R9beDrfNV7qnVNraXPYLWPgqeD/KvU36lZmx+qhJVF j0GPLk/nCzL8DqAfWg== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from kernelpanicroom ([134.19.28.36]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1N7gXO-1t8VSc00rS-017uOL; Mon, 17 Mar 2025 16:19:36 +0100 Date: Mon, 17 Mar 2025 16:19:35 +0100 Message-ID: MIME-Version: 1.0 Content-Disposition: inline X-Provags-ID: V03:K1:3MCcd0RXC85GFWWW4pQ9WMuauxn/hs+V0EVrh3H9h0VlP8EjP6J MM08i/wxvBYpuIgJFVwkWTL8T/M2rg+1pZg9rAZYl97EfR4DkoogioTZNcpiaDay1CL6RxK U599acWCqcJU3lJ4ykD9A9gnamSj7V8HBUu3ckgiHvtCh4K44cy3oocnj9MGRIKinKgtgow s+QBfdsajYq3ZatnnUaLg== UI-OutboundReport: notjunk:1;M01:P0:bWMz/NJ7LAM=;H0CnvMIVBcViQT4jVfmTCztBeLR iGR9o7gIpDm6M6chUZQOdhBb40JbcCWGjmtWWuDJa9H+mgZwbETRnNr67iqj0Cv0/h7qSFjbu FYvt0AxfV6BsRx3b8AxoBZaM5Q8NgyyCKAcbN/ViO3kS/GVGiPs2fDCJcKjHNP2eRz1nl62cl BsV9nNYeqjJ5WkHm3c/1FNwymw05i2+flcDeqeUDIDx7Fg3bMFY91efkQ8V+OLh2Fvx2y39MN Pgw/qFJ9BkYelUIH7YpG0D0ngSjQkumozOA5ZYlZCU6eH9tnybqcpx2MCid03rxa3BgGju9/8 BkqLcmYXqtZ3ph2z7V4do8KKxSkvunHD2dHs+UQGNh//60q2qbBly5s/NRKuRMoBNE7Vb41KZ O1WAewgl6Hr6Grjlc3Rhf3y3rlJagMSZeY0ISgDmcmAnjl2LQkdjmX/8XzkGPt3YMCX3sI5/+ d6N6Jjrz6+KkYGEDoXRNPWWCcRI0IqP8vLDFMkC/xD27FSEayFAt7GRsRijJUQJDQvovw5g12 4ZGaZ+4fmi/eoJGh1bvgTBkBlPKQSihrfouRnV3g2kAp3C6sxllBXLg0h4RGCOSeLpC3HslRE xpWVO1asBOx+Ze1SgbaoMADWJcNvMuHiGubLz8dUmjILGO4grlwBIwIC0HyxcHUtufzfdgBze 3er8VeKsa/0P969+OL5FJ1M5pwbQ7Aze2uLLxuzkNhooM2JTpWeFFcZJ4gHzq+v5NwAce9DVf 3QlF24jZo1DVKaD54qJ/rYL62Z7wGZQiqeysGtVnQNJ7iWJlrqatqzj6V9p47NhH1UVHWyoRC UAidZUci5RNrNyKJ9sQkZMWLpHoJwr6l669zGKqkhSuGO519KUNir7GZ5Z2cufKS/Gc4yQ3Dl fbuAij0gO6pvW68asVGFWjA8fwmVD26WgZveU8M+yWnqhwSMf/DZYDeb+QP+4+FVUhBzMW72T JG2OW2PtKaPGphDk/G7EKWfIMUDFIKMAGCcWbJpAEvx+BvdB+FiSYZbHAeY3LtaFv0fJMMbMC AQIhFECm25dGDIrowBVpembHqftNaMOjESTmzQUs7u3hT8fm84IWYkkOrpTKNq1VrqVb7VuWV XlhVpwCPM6h/JKeYUrimocxl1/WAepqRmbnEiPfx12l7Xn2XsR+eAHwF2pYkRsO7RldDpwijW //93FazMwtNMt96MdSOY3j6Q5GEdvSZoVveyIQZTZtRYo3+SGD2CgMgCyKuDM3jQt9pvGz5tC Ecbp7wU/O6D4JGOEpyXvWIJYcCG8OtHj2lfArtOByAT9KNM/XGwrAbIQTI8RPKAAYlzGbSVzH Kc9Harq47OeuSniyx4V6qSuSdWNBm8kmNZb6Mutg9GDal/PbNuc6XS0Y6cmy8shR2fIpuPb/E 5gEG5LLyeY6k5nj0dxwDgeLo+QYWWOH5J+p7aUu1TOtt1VAOrRpnyFN+og1C7CnB7Te/BoLAM 0sgOkEhkt0V8bnzmOCV793e6fsN8= Received-SPF: pass client-ip=212.227.15.4; envelope-from=jakob.kirsch@web.de; helo=mout.web.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Jakob Kirsch X-ACL-Warn: , Jakob Kirsch via Guix-patches X-Patchwork-Original-From: Jakob Kirsch via Guix-patches via From: Jakob Kirsch Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches Hey everyone, I've recently tried to declaratively apply my own patches to the upstream guix channel or channels in general but I found it very hard (aka impossible) to do that cleanly so I made this simple patch. This patch adds a new "transformer" field to the channel record. That "transformer" is a lambda that is called right before applying the quirk patches with the checkout path being its only argument. What do you think about my proposal? From 36462095039632348ed5fbd5763426f74f48049f Mon Sep 17 00:00:00 2001 Message-ID: <36462095039632348ed5fbd5763426f74f48049f.1742224546.git.jakob.kirsch@web.de> From: Jakob Kirsch Date: Mon, 17 Mar 2025 14:53:07 +0100 Subject: [PATCH v1] channels: add transformer field Change-Id: I46c065eb096d9fccefde7a791e4373a614deac33 --- guix/channels.scm | 3 +++ 1 file changed, 3 insertions(+) base-commit: 98be320183579b3d09cf4059e86a9781485628b4 -- 2.48.1 diff --git a/guix/channels.scm b/guix/channels.scm index 4700f7a45d..091a5c2f16 100644 --- a/guix/channels.scm +++ b/guix/channels.scm @@ -135,6 +135,7 @@ (define-record-type* channel make-channel (branch channel-branch (default "master")) (commit channel-commit (default #f)) (introduction channel-introduction (default #f)) + (transformer channel-transformer (default (lambda checkout #t))) (location channel-location (default (current-source-location)) (innate))) @@ -456,6 +457,8 @@ (define* (latest-channel-instance store channel thus potentially malicious code."))))))))) (warning (G_ "channel authentication disabled~%"))) + (apply (channel-transformer channel) (list checkout)) + (when (guix-channel? channel) ;; Apply the relevant subset of PATCHES directly in CHECKOUT. This is ;; safe to do because 'switch-to-ref' eventually does a hard reset.