From patchwork Sun Apr 13 17:39:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Morgan Smith X-Patchwork-Id: 41640 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 3E37027BC4B; Sun, 13 Apr 2025 18:41:41 +0100 (BST) 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,URIBL_BLOCKED autolearn=ham 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 96F5927BC49 for ; Sun, 13 Apr 2025 18:41:39 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u41KO-0002pv-Io; Sun, 13 Apr 2025 13:41:08 -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 1u41KI-0002oW-Ig for guix-patches@gnu.org; Sun, 13 Apr 2025 13:41:05 -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 1u41KI-000369-1u for guix-patches@gnu.org; Sun, 13 Apr 2025 13:41:02 -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:Date:From:To:In-Reply-To:References:Subject; bh=/dJNxmuL6tnpr5DoY/grGgWLGJxRFqkeGXqcUuNrLYo=; b=IYIBIsdNa64GfHPeCt6VbIZ+mGIwjuI+pzLPexBckQgC4nlp/86RLuNHrkmeK5EiqKUZPRXXmQA7ahLuco7vT+al/IB0hozKblK3sVRKDuRgdCxdgs/FJ3GC4G7LF2n//nHiA3FM88tE9MCsBQTqKm5uV6ffiXcqdpDERf9dUxbPlpeRaG2Q7YMiHWRaWTCVMa0DAFG+UqzkBiL65ReIoyBabN0rWzGFY4c8u5HKuD3T4Zw0AwDxBDj5A3u8cwPWnuX36M8r8PoziYjlsgFqyBeyzEnsJRaTMwrczIOQxNQikvabtvu9+eJHXA2S5Q7kFAQxss066QXq4EQ/N/uwBg==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1u41KH-0000aG-Mu for guix-patches@gnu.org; Sun, 13 Apr 2025 13:41:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#76594] [PATCH v3 1/4] gnu: quilt: Use gexps. References: In-Reply-To: Resent-From: Morgan Smith Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 13 Apr 2025 17:41:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76594 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76594@debbugs.gnu.org Cc: Morgan Smith , liliana.prikler@gmail.com, maxim.cournoyer@gmail.com Received: via spool by 76594-submit@debbugs.gnu.org id=B76594.17445660132143 (code B ref 76594); Sun, 13 Apr 2025 17:41:01 +0000 Received: (at 76594) by debbugs.gnu.org; 13 Apr 2025 17:40:13 +0000 Received: from localhost ([127.0.0.1]:43714 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u41JT-0000YK-K7 for submit@debbugs.gnu.org; Sun, 13 Apr 2025 13:40:12 -0400 Received: from mail-mw2nam12olkn2033.outbound.protection.outlook.com ([40.92.23.33]:22465 helo=NAM12-MW2-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u41JQ-0000SH-1s for 76594@debbugs.gnu.org; Sun, 13 Apr 2025 13:40:09 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EqWdfTSHuQFMpACd1IhhljKwJunbdn7achLFuzT/YjQ0XJ6AtFKGkJeKKlQjuEKyQy0J9fyD+IIc9pCcJn2zWqE3p/Qg8H+x1WSoq7zlFdF7ePdaphb7clQLPnFW1jp3arGn4AsRCWtM4mKsQvJVuhjC7VKu+IEM/hVm1g7MU9tdxn8UlJOoRrEjt9FRwcA0ZYxYTUzMDSFA6rs/yxDWFPJrZxLGrY9RdKMBpk75ZHmr+Zp36FLaUg0iyAiRqB2G0vYjztnumk904wQgL0RDIVN6Hw1TMPo+TsJo3c9zgp6C6dYAqze76NJT1YJHTO29ztJzKLfdfxlnpo5bebXRLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/dJNxmuL6tnpr5DoY/grGgWLGJxRFqkeGXqcUuNrLYo=; b=db7V1XvbrvHbYm4LTwHd0SShazycvKKkTf/Bs/xwrHSMzjwGF8StH2neszebCoNn9htVBQM9H1Z7VxU2eHvgBKY7QwFMv2hlNhF/HZ7u3RQheCG68+c0w1ddUxOxtqSghh7/7vX2Edkxc0ZNMAM+wMC8/73ZQ0NsIyRl5iSZwckEBfdZon9DIa6vnLWMl7XCBLVBwvoTZGEzjiDF7q3WnVl2ZmR8pa8yOHL2WUqa5vjUg3ouB3xnwLOoMAeNCffZ6NDBFDRnDyU9haPSauGHVmIZ7zb6fIwlYhWn4hjDh6ChtJipY9QBntpDFzsAusJPxf6dfOrARKBA/KFw8vd6+Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/dJNxmuL6tnpr5DoY/grGgWLGJxRFqkeGXqcUuNrLYo=; b=RDs2hNnA0XKJzb97e8YPkGr5CpPMCAL9F4XHO2tx8uOy71+FQRlLDsfBsxS6XKXM2IK4pzvVcTNnRUkYhM0Cpbyou0Iv1321Mt7RLZlFN0ab9G37pK33aMHgFtQaOVBjJwaDy9EqYJQqdGPbS5mZLnPYhU62MfPxIatYjoJBoy8snHp12h42xjYqvfikZXPPm8kQcS/L/Nbk/vBR97LnEpiQkmaZBv6cX7zjFhzPneb60HSm3JIDZjmfwNd/yH6LvnFSEAcaedlMApfA7zn0w1s5efA0BrXR+N9z1ixJaMbykIDyUKjr7i9uRLpOLVGgwtrat05NxWj7V6jUcqOUew== Received: from CH3PR84MB3424.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:610:1c4::17) by PH8PR84MB3137.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:510:1c0::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.28; Sun, 13 Apr 2025 17:39:59 +0000 Received: from CH3PR84MB3424.NAMPRD84.PROD.OUTLOOK.COM ([fe80::5c77:7a58:48ed:9aef]) by CH3PR84MB3424.NAMPRD84.PROD.OUTLOOK.COM ([fe80::5c77:7a58:48ed:9aef%5]) with mapi id 15.20.8632.030; Sun, 13 Apr 2025 17:39:57 +0000 From: Morgan Smith Date: Sun, 13 Apr 2025 13:39:41 -0400 Message-ID: X-Mailer: git-send-email 2.49.0 X-ClientProxiedBy: YQBPR0101CA0349.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:6b::14) To CH3PR84MB3424.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:610:1c4::17) X-Microsoft-Original-Message-ID: <0648f3d588246ffeda82901201099620a1c32bd0.1744565984.git.Morgan.J.Smith@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR84MB3424:EE_|PH8PR84MB3137:EE_ X-MS-Office365-Filtering-Correlation-Id: 32986a28-500d-4c96-1b06-08dd7ab23529 X-Microsoft-Antispam: BCL:0; ARA:14566002|461199028|8060799006|19110799003|5072599009|15080799006|7092599003|10035399004|3412199025|440099028|1710799026; X-Microsoft-Antispam-Message-Info: 8HTbd0IXEW6bv+3owmfFII+7rItR1QMygSUh8B7tjtnHUAGLn6/thovNAaqgIQeNSFZ1EF4F0acKKwj+8i8WwVOowZUi5a/5VIlKZsYJPCM4ys8o46UvdT2QP2JhdqvQuq6m1MFKe74bGnEB4463ppJYfvkTSerA2mofjM00tSduyC/WEMbW+mXf/OjmVNR3P+3fPM8c+CQCgx0fXNDbDJ4FV12E4qFzRij/9FFX3pV7cFp0T/jW6ea6J9dyoByv9VW9Z2rGv1O/oXV83w8FBR0thKjCHmJ5tTeke+ITg++SVh+m7wpwmB4aJ4ipZ6S8Lz2ZIhpat7shnGYwZQfsgkmrO3TzE5ACMImB4L7K/uSfnIVO+kUAAgTvSOf7Gd1zb1dYi8zFRjNyePEFi9Eq8D6jodiZGXPfbKTGVZhkCgsdPJgq2avAiPIv3+pPCFtesq13yIscUa3wGNZWNBpB1G0aWd7ztTRRjLJbZTMYRIv8KFnXpYGVz5u6DAls/Sp7MrSwR00TUl1Rb4k/OuhAKcQyyK/TaoCC2Net/5OzSbr9+xm8Kii4ZTyLCzFV8Aj0uu9SuJfYh0xG6dcEX+/KKQYDXN7NHbBh4drxiMq3YbXjUikEV4oPNLQmUrpSPYs7iRxUUpnnEMX8XO70b6/En0RwSbFcWcXK4NeR7ylD/xGqlvMf5iPcsZJGkoQiJ4R+itLp5QizkloKQPPrhgGLyAGYl9C7BQNlBRQykr+Qx28z+vGagCfP5lg1fcjeAorhygo0E7LFR693w4pWt/pckums/8bU/EX2ekUEMl6v+V1dWIlOSq0I7LQ8TOfhF9ryKt4TW/sRVRELyy+IwS+jW+xv2mJupBLBb/z1ADj4Ilie6nsWMDJf/U8B8w1IgP7nnEKeAaj/gfe/PXEgzdBZKkCqO9Y/yRJ9n+B6L/xp5nqYlOStdBklc88m/oV2M6fjny4ACGNWfid/7nIwF2mNHru0GngCOEKrgAIVUAVdYnJ49tH7kmSBmhkyy6yzO8mkARKP2jKpJChZJW2zfxK5FVwaWPnP4Jzpeco+6QXohyljC+Y3iyhiGGj5krZK2i7WO86RnV99l8SDQTvH7gijfl4w8ReVLzgs4PmDnIb9Xw0t9RiDhxBOF43CcaQ7Nmr7pLm0o+BNAykDIz9hORy4Zimib8ZjVWun8G4v3ykCN19vExkhZZbVK2IdeFBpWJLBQfoXdw4OU20F/sPMCnY4LzrA4cNzRD3QfnY6eetByDEWQb6eu1zQXDHG72vu7dQq X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 6ABAitQTWli6nA8YAIgoypSmuDC+TeaxzIY/FvM1bgmGJv91bxmbg1yPcGEy7kuj9IiKh1CcgZ8Frn9rpXu+A9N1ujT6FR6wcsULi8fBGQKkA6BpNRhv9qnXN+QKQwh7LWkdHp8pgXL+/y0WAKgZkoQlqsMfQlHhO8L8AyjdIY10M9qAQl22z5L5nwU3DQJX0s8ggtY1bKPv6UFW+3NO65nNphrtYSrDqkJgpHOflOTD2rgVqgsGkrCgJNPj29yrdP18Ql8NoeQu1bMNdZrxaQoQRlc513+rRL/V48tmTyJEeo8nDEAcRJC40ckqIwnICrwT3YccwRRp9nGAT55bhClFMwoS9y+JhjozI4awaLmv7KTphNl+ZwjzBxQs0TlxytIFqcj5H358MtjYCqzFrv8IeDw+wN7IYC85QrC5WDE5/zozMF/x2UxShffUEOyjfav5pk0fFASPjJKuqMPd+q4i83KLWQdC8OXVTgcKbgI60HLLsPiVieT2t1kbnHsuXxyCkpsHT0PGbHUwpous9o8ANXlrfAQAFA74WwoaA1+zttPsC18jN316vcwdjBbo5QstS7Biebihzrj0lwwwPRiOhFUH7ZKrOOsaIUXCeDpziNxcX0RVcbTyfqi1IbBv6sdwQTysfFDQfC5Scc+cJ+MoFv0cZnw66EShoR+gk3cAbSld9K2cjlecCs21erSyJEM3PUVNbnTKBpu9MDPc1CD45gcUzTYbhIYsT9ZvZxwfxJ5Du1TWTNJpYtwHEOp0fgXgWGtN2mj5eIq+TEmPn1K0FP9ofro6/8ZRvsQaqACkd0rHBvBQIExYVOF5lEvUPVeVbXN0NNf9X2Tx0igbuerx4vt4DS526XZgzZd5mEP4gmd48kdo+szkDm8Vmim0yEBuDLh3q6YImOqO07zFzWYvSfJh8SEd9pyLyX75yVmI79eypoMiTeBMWD5pZmv0RrouTpx9BtmDRg9VztWIpWY7zrkQY8UqutoJRaz2gU0P21Wd+KFrd/MwrYm9BSmj11DNhwBEum30Nrl9pdgQ/6g6dGZOqNebqMeNDfqAKmbihrIXKgijbVSAsdn0O+uyYdSErjFSwGRegyg4gw+pUEx+EhYKVfZyXdmSecc12Tpo1zRZAUUg+rz6n9/aYuZxm29bMnDrQFg/saulUoLQWGCUXO18O3BgVTxgvN2NWHrIgZP8BbSCJT7bm72H/PSze1Ch2HJAS9MPAlyD8xrIyOUsrhWzomtxgeMwvGi2UUHOuKHXUSJZEzt+tGBiJ6eK X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 32986a28-500d-4c96-1b06-08dd7ab23529 X-MS-Exchange-CrossTenant-AuthSource: CH3PR84MB3424.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Apr 2025 17:39:57.4205 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR84MB3137 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: , 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 * gnu/packages/patchutils.scm (quilt): Use gexps. Change-Id: I81373365d0729b90b3e31e122eaede2daa7ae5cb --- gnu/packages/patchutils.scm | 111 ++++++++++++++++++------------------ 1 file changed, 57 insertions(+), 54 deletions(-) base-commit: 03edfea126a88110b520469e96eae73ce86d4b7d diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm index 3cd3507b07..b929ed9a5a 100644 --- a/gnu/packages/patchutils.scm +++ b/gnu/packages/patchutils.scm @@ -52,6 +52,7 @@ (define-module (gnu packages patchutils) #:use-module (gnu packages gnome) #:use-module (gnu packages groff) #:use-module (gnu packages gtk) + #:use-module (gnu packages guile) #:use-module (gnu packages less) #:use-module (gnu packages mail) #:use-module (gnu packages text-editors) @@ -182,61 +183,63 @@ (define-public quilt (list gettext-minimal)) (inputs (list bash-minimal perl less file gzip ed - diffutils diffstat findutils tar)) + diffutils diffstat findutils tar + ;; for wrap-script + guile-3.0)) (arguments - '(#:parallel-tests? #f - #:phases - (modify-phases %standard-phases - (delete 'check) - (add-after 'install 'wrap-program - ;; quilt's configure checks for the absolute path to the utilities it - ;; needs, but uses only the name when invoking them, so we need to - ;; make sure the quilt script can find those utilities when run. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((cmd-path (lambda (cmd) (dirname (which cmd)))) - (out (assoc-ref outputs "out"))) - (wrap-program (string-append out "/bin/quilt") - `("PATH" ":" prefix - ,(map cmd-path - (list "bash" "diff" "diffstat" "ed" "file" "find" "grep" - "gzip" "less" "patch" "perl" "rm" "sed" "tar")))) - (wrap-program (string-append out "/share/quilt/scripts/backup-files") - `("PATH" ":" prefix - ,(map cmd-path - (list "find" "grep" "mkdir"))))))) - (add-after 'compress-documentation 'check - (lambda _ - (substitute* '("test/run" "test/edit.test") - (("/bin/sh") (which "sh")) - (("rm -rf") (string-append (which "rm") " -rf"))) - (substitute* "Makefile" - (("^(PATH|QUILT_DIR).*" &) - (string-append "#" &)) ; Test the installed 'quilt' - (("export QUILT_DIR") "export") - (("\\| sort") (string-append "| " (which "sort"))) - (("\\| sed") (string-append "| " (which "sed"))) - (("(chmod|touch)" &) (which &))) - ;; Tests are scripts interpreted by `test/run` and may specify - ;; the execution of several tools. But PATH will be empty, so - ;; rewrite with the full file name: - (setenv "PATH" (string-append %output "/bin" ":" (getenv "PATH"))) - (substitute* (find-files "test" "\\.test$") - (("([\\$\\|] )([[:graph:]]+)([[:blank:]\n]+)" - & > cmd <) - (if (string=? cmd "zcat") - ;; The `zcat` program is a script, and it will not be able - ;; to invoke its `gzip` with PATH unset. It's a simple - ;; script though, so just translate here: - (string-append > (which "gzip") " -cd " <) - (or (and=> (which cmd) - (lambda (p) (string-append > p <))) - &)))) - (let ((make (which "make"))) - ;; Assert the installed 'quilt' can find utilities it needs. - (unsetenv "PATH") - ;; Used by some tests for access to internal "scripts" - (setenv "QUILT_DIR" (string-append %output "/share/quilt")) - (invoke make "check"))))))) + (list + #:parallel-tests? #f + #:phases + #~(modify-phases %standard-phases + (delete 'check) + (add-after 'install 'wrap-script + ;; quilt's configure checks for the absolute path to the utilities it + ;; needs, but uses only the name when invoking them, so we need to + ;; make sure the quilt script can find those utilities when run. + (lambda* (#:key inputs #:allow-other-keys) + (let ((cmd-path (lambda (cmd) (dirname (which cmd))))) + (wrap-script (string-append #$output "/bin/quilt") + `("PATH" ":" prefix + ,(map cmd-path + (list "bash" "diff" "diffstat" "ed" "file" "find" "grep" + "gzip" "less" "patch" "perl" "rm" "sed" "tar")))) + (wrap-script (string-append #$output "/share/quilt/scripts/backup-files") + `("PATH" ":" prefix + ,(map cmd-path + (list "find" "grep" "mkdir"))))))) + (add-after 'compress-documentation 'check + (lambda _ + (substitute* '("test/run" "test/edit.test") + (("/bin/sh") (which "sh")) + (("rm -rf") (string-append (which "rm") " -rf"))) + (substitute* "Makefile" + (("^(PATH|QUILT_DIR).*" &) + (string-append "#" &)) ; Test the installed 'quilt' + (("export QUILT_DIR") "export") + (("\\| sort") (string-append "| " (which "sort"))) + (("\\| sed") (string-append "| " (which "sed"))) + (("(chmod|touch)" &) (which &))) + ;; Tests are scripts interpreted by `test/run` and may specify + ;; the execution of several tools. But PATH will be empty, so + ;; rewrite with the full file name: + (setenv "PATH" (string-append #$output "/bin" ":" (getenv "PATH"))) + (substitute* (find-files "test" "\\.test$") + (("([\\$\\|] )([[:graph:]]+)([[:blank:]\n]+)" + & > cmd <) + (if (string=? cmd "zcat") + ;; The `zcat` program is a script, and it will not be able + ;; to invoke its `gzip` with PATH unset. It's a simple + ;; script though, so just translate here: + (string-append > (which "gzip") " -cd " <) + (or (and=> (which cmd) + (lambda (p) (string-append > p <))) + &)))) + (let ((make (which "make"))) + ;; Assert the installed 'quilt' can find utilities it needs. + (unsetenv "PATH") + ;; Used by some tests for access to internal "scripts" + (setenv "QUILT_DIR" (string-append #$output "/share/quilt")) + (invoke make "check"))))))) (home-page "https://savannah.nongnu.org/projects/quilt/") (synopsis "Script for managing patches to software") (description