X-Loop: help-debbugs@HIDDEN Subject: bug#71941: Broken `map-derivation' procedure Resent-From: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-guix@HIDDEN Resent-Date: Thu, 04 Jul 2024 15:06:02 +0000 Resent-Message-ID: <handler.71941.B.172010552015887 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 71941 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 71941 <at> debbugs.gnu.org X-Debbugs-Original-To: bug-guix@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.172010552015887 (code B ref -1); Thu, 04 Jul 2024 15:06:02 +0000 Received: (at submit) by debbugs.gnu.org; 4 Jul 2024 15:05:20 +0000 Received: from localhost ([127.0.0.1]:42702 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sPO1Q-00048A-1X for submit <at> debbugs.gnu.org; Thu, 04 Jul 2024 11:05:20 -0400 Received: from lists.gnu.org ([209.51.188.17]:56888) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <sergio.pastorperez@HIDDEN>) id 1sPO1N-000483-UX for submit <at> debbugs.gnu.org; Thu, 04 Jul 2024 11:05:18 -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 <sergio.pastorperez@HIDDEN>) id 1sPO1L-0002xs-3h for bug-guix@HIDDEN; Thu, 04 Jul 2024 11:05:15 -0400 Received: from mail-db5eur02olkn20801.outbound.protection.outlook.com ([2a01:111:f403:2e08::801] helo=EUR02-DB5-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <sergio.pastorperez@HIDDEN>) id 1sPO18-0004e2-UU for bug-guix@HIDDEN; Thu, 04 Jul 2024 11:05:14 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OOZmGvZioi54LvvweWUeYidFecir6v+b3ijSkAdjmuTyHhTgbedhkmmoxkIIClAoa2cm9E2NXUFP+lkFt4lbNZGTdfrjChIgLKioIHP4zkofidKJEiXmhkRaQRWxgobHLUZWg5pXjd94ewQ8cYEbGrXvg7Po3Lftt3ugEyM5f6hGmrsudPYwrlp+wOPLoJnFV5QRSBWUOtS9jGwvl5qPABE6+SxTssQVNfuNZp3VNB+wCKrfPVlMw2Mh6LHK+QH8tzlB9i/BvRKvIufmaqUp5r24PPobW0tUiWu3dPIX00k9HrklsqSJ5yBMbmxm/W39rNvsi1Y5cSsGVoxDNYoNYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=yMZSYIFhLp6+520fb90YeA9bNOSqz3doFTvoR74lbEU=; b=fCuO6NQy9f0IWLBJTS+Q1m1Nr9qRthwjjz1pDhF+j0TR+GQnDteIEO0aINqfrImRQJ0T9ZU+dybFVdxrSf4fodUAnKMaDgdvDBsUw2Ul9xFWjKhaKfc50cIOZXy//Y2+ebqUIospF5bT+0LNLBD5RiRDfA8650P8sWjUqaP3Fsyhu3gqV91pDifpcKGGwF+AAoohhqQZ6ntOimOOyvm+AFNXkyh3ptZwTO/9VaO1dKY1Qe9y60522Gb8CnasdQEMzUZICBt/97qDF9E2lX48kMVqCzMxL1IVmXQ386dTn8L9RBylGWKWy+k49SmAUt2uJNvG/tVDzhbdOqk1HBlA0Q== 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.ES; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yMZSYIFhLp6+520fb90YeA9bNOSqz3doFTvoR74lbEU=; b=VguSAXHrALixoykcCEVEzAlg1sH1XRjTqyBGNwZNKrx9zEdQlJFlD70slQ6pHXT1cEdq3XWEL/7XkOEPbZ0scdVmXIxts1yAueFmQHy7MvUZmjk0amFXUgv3T16TEg407OKFuhjKkvDuuKXRAOs0OJZ8cUS9p+QEMCWNWmgtc60cp7zXjmJkFd70q9EUdDIoGqUQeoGik2wzyO0gbysjt5v3eJm3V0mSlKzKxsA4F4uxmNjDbpbI3tqr8+0zImfAFsvpdaYk6hW2omzYRpC5gxWxErRBrblnakkQa46JbLp7RaOapL82JT4ronlwNX04QHiB5OH847ig8OZGV5YoiA== Received: from PAXP251MB0348.EURP251.PROD.OUTLOOK.COM (2603:10a6:102:20b::10) by AS1P251MB0583.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:48e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.25; Thu, 4 Jul 2024 14:59:58 +0000 Received: from PAXP251MB0348.EURP251.PROD.OUTLOOK.COM ([fe80::1f4f:1f6b:1817:f03f]) by PAXP251MB0348.EURP251.PROD.OUTLOOK.COM ([fe80::1f4f:1f6b:1817:f03f%5]) with mapi id 15.20.7741.017; Thu, 4 Jul 2024 14:59:57 +0000 From: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Date: Thu, 04 Jul 2024 16:59:55 +0200 Message-ID: <PAXP251MB03489F8E853184BD49C9D310F3DE2@HIDDEN> Content-Type: text/plain X-TMN: [5Ml35NG1SADJKq5oB/xu3KMJZpkrkFIH] X-ClientProxiedBy: MA3P292CA0006.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250:2c::14) To PAXP251MB0348.EURP251.PROD.OUTLOOK.COM (2603:10a6:102:20b::10) X-Microsoft-Original-Message-ID: <84tth5i4no.fsf@HIDDEN> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXP251MB0348:EE_|AS1P251MB0583:EE_ X-MS-Office365-Filtering-Correlation-Id: 37c422bd-929c-4d7e-1a10-08dc9c39f804 X-Microsoft-Antispam: BCL:0; ARA:14566002|8060799006|461199028|440099028|3412199025; X-Microsoft-Antispam-Message-Info: V9fhZ6qVq76CeVlbdw/6XjNIqdM985jD5N8XyO4do1Rq3ZavvVTuVVEZFw6VnS9ucBiGIIn6ptvCDDp77N/jy2t0dyL1HabxEB2PtIT11BdMm4mfs5TJ4PuTPuL0nfLnIBxM0p3i3cG59V5I9Osr6iukdPZ5uCdIpRaCAn/dX8LcY/JHxfB4ZAu85Rno6MTKSKnura2nm5+ieFtwtgUmQcsV1WCOfHKQJm0AiWs+d3ZaUUgMh+QGG5bMcvN204P2CJ71IvbY8+90JyeYbLdcuIN7k5hYzqRiSxChH8l6SCvqNbYJ688QO8kObJRyRrLpURPoNqu6BhNBP5IykAXwlN4Qz/If1OJth0pNvIUr2GWLanDvTLErundemwXESZTDwL4+BZrCyQFQCUrAvFiXu+yp8Z4qlYJmjHjNNNtxf1+qiP9VwK1yZqPJcU/z8aFVZAG4oidhODV2k3VVTNQV49G2POrsNuhlLvMWbFMTiW+cH/ZAijTY6BBUQc3tzYR3g9Z9XPn97VhczKTOXPDUOVp02MF8HKQuyMAU7+oDBo5+tR4pszWt9Nhj+vStUKT979k6ZPrL+j5A38MbLZoxpi3V2hR2/R6Ld4PT/RtxthIEhDNBM+8cUX4JPcFH4EvP X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: cFH/du7eHVnEWqN3dsMoCUw7qLS7+vKR/8nd8lUDbcZnh3ySfpExlYhgf7ps/zto8F6+yOqCQtSAlO3CrlfWIhnbIBra7SnvUgCgzaCa5cqGylqR/cFUGP4DC4ScNSc5Y78G025Iprp4kM0pMBRwbwrXbHWx8wW9J+Lq4OvtXEi8HY58MxwUUM1Z7gpjeGiZdWEps2hhats15FQxYdHHA4paJNZg+WVPdILnr44wh5UpTORoZ7gJ96GjU1nbmSYdKo/IE0kQWEG8dk5hRfIFjf9kn/73bYsCtT1z0Jd2PBWaC8rT5ufS/7hxvVuMiVl9/fc68FjLg4q8RlGrY0mWdETR6aGTOG2GfZfYHUnC4Oa+7/BthJfX00DYMSv+4qScSwm3PLH8Y0+PEJh3wPiObF88QkF1fn+PhoEBIkJKYg8wa348D3vcqgRWvGKn+e2+f+DfucDA9nlaDkoABy81qMRqa4dRxp+ZmNcK0O9MS+UfvdX7TXFxgbvfmRVma9fCVJ3LAGx5tZjNBkFGov5cGLACM9UrS1tmPt31IkX4jXA20jIeRL3jjxE/oFpwDVLDyuzMVHWUS063Kb4qBIRwgUJ3tLVN2VFi92/JiH6XNEVARw0RvMUxRN6FCf3LVw0uyDGryB4OwOCegz3F/9lvWw2URU/Nbrtr7V3a/O6sM4yumRO3huQHfbtdozWaWtvL7rka0Ki0wiZktqenQothWtHmvRPDXwDdM/NGUruzxrb0PsnX440MiMr50azieldlBT4mSe47H7+KCpeXIC+mCUTBn3kKbAIufp45i5XPqm8nxh5OKtxTq2dg181mXPzLzCC07QMjknud5I0hdpcF1aYN166mjxqwwJbP7wF5qOy3HpX2ALw+t22yVzN8RoGqhjyX4Gt8xplJK/tYKt6/tsqb3rx9PzzXCPbqIf7ium+6yQQDfBDR/bVV19Pvzl3198bBFJQwsxgYgOR82rKhUbVaHJ5jCFddZJA/JpWWeHEPlFP/bnU5/c923m+E8QffO15pe5ZZuEeeT6X7LTG/XsA7/7abnpOdJpnGGG8GGD6Wg65mXAfrHQPcMDL36gT1hdoAtcJCxU7vn4GHDFSRkM8Y5zO+PnkyphXYj4ecQmb1+NgvIULEJj0ktJWi1uIg8jLZVrxmUG9lRDcCRHOG1c/fdtMu4N/Ui+gPmqgEY0pxzRFTvAsfsmDd91YqCi/3s4IzOX7Imt8uBZa/lwv3o41JPCi1Sue0U8Rfwqt9ELOMuTtGeL1omb4W5tvIvcPu X-OriginatorOrg: sct-15-20-7741-18-msonline-outlook-53ebb.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 37c422bd-929c-4d7e-1a10-08dc9c39f804 X-MS-Exchange-CrossTenant-AuthSource: PAXP251MB0348.EURP251.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jul 2024 14:59:57.1905 (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: AS1P251MB0583 Received-SPF: pass client-ip=2a01:111:f403:2e08::801; envelope-from=sergio.pastorperez@HIDDEN; helo=EUR02-DB5-obe.outbound.protection.outlook.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, SPF_PASS=-0.001, T_SPF_HELO_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) Hello. The procedure `map-derivation` from `(guix derivations)` seems broken. Evaluating this yields an error, it probably shouldn't: --8<---------------cut here---------------start------------->8--- scheme@(guix-user)> (use-modules (guix) (guix derivations) (gnu packages) (gnu packages perl) (gnu packages games)) scheme@(guix-user)> (with-store store (let ((cowsay-drv (package-derivation store cowsay)) (perl-drv (package-derivation store perl)) (perl-5.6-drv (package-derivation store perl-5.6))) (map-derivation store cowsay-drv `((,perl-drv . ,perl-5.6-drv))))) ice-9/boot-9.scm:1685:16: In procedure raise-exception: In procedure fport_read: Is a directory Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue. scheme@(guix-user) [1]> --8<---------------cut here---------------end--------------->8--- If you inspect the `cowsay` derivation, you will see that the mapping should be possible since it contains the `perl` derivation. Does anyone have an idea on what could be the issue or how to investigate further? Thanks, Sergio.
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Subject: bug#71941: Acknowledgement (Broken `map-derivation' procedure) Message-ID: <handler.71941.B.172010552015887.ack <at> debbugs.gnu.org> References: <PAXP251MB03489F8E853184BD49C9D310F3DE2@HIDDEN> X-Gnu-PR-Message: ack 71941 X-Gnu-PR-Package: guix Reply-To: 71941 <at> debbugs.gnu.org Date: Thu, 04 Jul 2024 15:06:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-guix@HIDDEN If you wish to submit further information on this problem, please send it to 71941 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 71941: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D71941 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: bug#71941: [PATCH] guix: fix map-derivation not handling directories References: <PAXP251MB03489F8E853184BD49C9D310F3DE2@HIDDEN> In-Reply-To: <PAXP251MB03489F8E853184BD49C9D310F3DE2@HIDDEN> Resent-From: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: sergio.pastorperez@HIDDEN, guix@HIDDEN, dev@HIDDEN, ludo@HIDDEN, othacehe@HIDDEN, zimon.toutoune@HIDDEN, me@HIDDEN, bug-guix@HIDDEN Resent-Date: Sun, 01 Sep 2024 16:17:02 +0000 Resent-Message-ID: <handler.71941.B71941.172520740920421 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 71941 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 71941 <at> debbugs.gnu.org Cc: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Christopher Baines <guix@HIDDEN>, Josselin Poiret <dev@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN> X-Debbugs-Original-Xcc: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Christopher Baines <guix@HIDDEN>, Josselin Poiret <dev@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN> Received: via spool by 71941-submit <at> debbugs.gnu.org id=B71941.172520740920421 (code B ref 71941); Sun, 01 Sep 2024 16:17:02 +0000 Received: (at 71941) by debbugs.gnu.org; 1 Sep 2024 16:16:49 +0000 Received: from localhost ([127.0.0.1]:37900 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sknFx-0005JJ-1z for submit <at> debbugs.gnu.org; Sun, 01 Sep 2024 12:16:49 -0400 Received: from mail-am0eur02olkn2051.outbound.protection.outlook.com ([40.92.49.51]:25184 helo=EUR02-AM0-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <sergio.pastorperez@HIDDEN>) id 1sknFu-0005J4-LS for 71941 <at> debbugs.gnu.org; Sun, 01 Sep 2024 12:16:47 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WDIYdWV1OtO45RNzMA4CJ/IVbHzx0w0NnpJHgJ5gQKuyE4DH5MvsIYVuZRlrGSn8kkd8uAglvof7movq69miDZVlRzucU0VHnldETUcQFdsx4jCXiz/RFiq0R+trxbgFjfAfujVLiwCVOuhPKRaa0O1X+UHWsRqMq3bjqlBpQacfaxxLTpZAnocOhxTgZN/IOLzQBXyY9odcR/TdVzg3Sz5HFpCerDcEi56ewz42z1TPwVJ4UulX27mLgrKP4polMB+AneAD7bAPiTZHgYTaqLZPRNC86E732Ly21hs5J6ymgeQzSIXkrsk/FnbCMz+zHXaBUqf0dayPutyNuPaKcA== 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=V0SYrh/qTmFhWJV1FEPcPHEuqZgozxq3d9lo+zDeM/s=; b=TfcXgayAI5VDyPc8dBx+gN6c6dSCUjW7ak6CArJ19ba+xq0xqtUwbMCelrW1a7n4w4KL0ImoLwcQlfRH8gs+uEIJaKoGxZ/y02D1yfKpx5vnGRPmDCT5F5mGPvKIyy/NT+j7SJzV+yUD4MYX9Pb5m+Q0I8XWAy2IEniYIGFH63ZIsp7FRHL7EGWz0X9Y+bD0YRvO6vaeD1OHLcXNAzrWS94lFucf2Sc8exZEWlcQB5GtTzMF08U7puIKFEZ+mh2154w1IIuXE5sih8JLenANkn8roGvXwL1qBA2TkSVfZZTYH+1Tk3TrZ98GLzgTh3l30JW8iVz5aF/VCVipdtUnog== 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.ES; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=V0SYrh/qTmFhWJV1FEPcPHEuqZgozxq3d9lo+zDeM/s=; b=WCA+u6SYYUSkZCg1UCfJgsG5byQrGbXCQfv8B0xwZtGBguLR3UXP4bbCwkc0/M2ADJ2qIDx+isMnITEHC7CLTqt2cHRYdeWAxVh59OqQ/rv3LB/P4s5jBMPRAQnoW5Xko0zPSY/emT1299kdIEFPeQygdr/pficurEfArV1qLSakQiNcwEXGugDjvILL99VAeAbrP+a/itJMlEU5VP78GY4Nbx+M74QY6bfbe/SQgB1mE37WR8KN4Dib3I1sjJSPjTKLeXLE7RW6Vm2H1n5789QAMUYOQdVup04WZEeBqXLYA7FB8iZ9iMUV3baDJVVsA6JhGanIM6k5tLGPKCqOfw== Received: from PAXP251MB0348.EURP251.PROD.OUTLOOK.COM (2603:10a6:102:20b::10) by AS8P251MB0017.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:344::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.23; Sun, 1 Sep 2024 16:15:39 +0000 Received: from PAXP251MB0348.EURP251.PROD.OUTLOOK.COM ([fe80::1f4f:1f6b:1817:f03f]) by PAXP251MB0348.EURP251.PROD.OUTLOOK.COM ([fe80::1f4f:1f6b:1817:f03f%7]) with mapi id 15.20.7918.019; Sun, 1 Sep 2024 16:15:39 +0000 From: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Date: Sun, 1 Sep 2024 18:15:05 +0200 Message-ID: <PAXP251MB0348632A500D4E1B1A078B75F3912@HIDDEN> X-Mailer: git-send-email 2.45.2 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-TMN: [biiLYjWv16eoPHWSqw+Cj3oRtqhG+VIA] X-ClientProxiedBy: MA2P292CA0001.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250:1::17) To PAXP251MB0348.EURP251.PROD.OUTLOOK.COM (2603:10a6:102:20b::10) X-Microsoft-Original-Message-ID: <b54d762854d1b07e386d8c530a22680308cc8c41.1725207305.git.sergio.pastorperez@HIDDEN> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXP251MB0348:EE_|AS8P251MB0017:EE_ X-MS-Office365-Filtering-Correlation-Id: a6f74ecf-0915-4d62-f357-08dccaa15187 X-Microsoft-Antispam: BCL:0; ARA:14566002|5072599009|461199028|15080799006|19110799003|8060799006|1602099012|3412199025|4302099013|440099028|1710799026; X-Microsoft-Antispam-Message-Info: H/n95uhNbNYkDvoGw41XmKiK1PPT92to8HzPm4RHpFJYskBCCLyFOPzadSat2vnJ/6/cQG5wxfv199XkYJZDb5OaIUFbh1IcygTAP4RuU/kzpMbg+xz38ybWoJ/hPDkuVOoLtmFvh4i5KM+GauJEgGxGi/XwWcpMwdL9uStUkzGBeID2utFVSzKXX2/BpEZy6ULSLjO/NQLmiaEudGr4e2ucnByKG3mzyjVp3iDQBBAViRpPfgvZiVDMo9Z940zKBemLGUTJSp2/qYQx2NUm2GL5fIt8YPKLasJzNH32Xppad2x5IZ9QyaUbe7FpHviTzu+X51d47hrb8GokiPUCNoVvXEK/nzbg5QYwxHCQNQ+Cjn6IkXDMh0lrVGQ0rA/dfXP13ap3i4dHRW/NhX7jZych62vm4c9MNy4VnS7gYdmI/JbHWW0wRxjBCzZCFGUgSCDMx17Ao0xMWmmRTbvp/HOI+wwF9T7MryihfOK9k89pEfokm32QICATHMQ7La+L3ba05R4da4LjxuItDFUOh2mvZpws3bUgXTrQDTam1hQjaLtL4jaFy8p2KYik2q3dXyyXmo3wDOsRg/+W3N0j0XZlOm7BxlfSSERFqoO3oIiP0qcfmJ71fYZDD+lrdD7VqTIlAvQTNlBSVi76V/J6m17S6DUeUwwfIsq/AVIGlq7r2fUnEEJOIZP8oL7Dhn3MVLO2hu8ZoA/OeyOuvF3vd02btGBhMhTFrYtfYWmxyubND/Nk28j4XfGZjM0Th9PDjnwaS4OtGADcFKyFZZQESbOb/7Hk7ewUM8PeuOd5SsNQGiTCLDUtkBJOcFDyCYpV6WKQtoK/fCbqQ79SIi3yKKof/GCmYVlOlc5EoAjYgFRfDlJlMdi3GohIy3Nk4MP6KhgsmxuXyNGQoFcYB8bnsQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: s73v1wE6xIfj17wM6H6KPVXG1Abo3wFrf28tbDVhU1m4b8+oIrnfedgupAL0dx58962Fvv1ogoY/w7OD/fMjzjcnChHYrvEJy3aH5ylITGzntf6SlvQmx6r6ptzpps/neUhpe327jvPZFAsjgToZr9rTyC7o7N10zmhN0xoc+dMkE5+wR4jNmmmQO5oB1q391X/qWdMtzTG13BIEkaLAq+rZ17m1WGhY/VWrtlBYyRifJ9akZ9FtCxIy12EZNZc/542jxx9E0PdSqxFflqPEKglxaM1YP//MKnp0DRAVnbxPQYkEMoYQcYub9SGRWFkejXoIpioOz0JDHhrWi1s375dmzGyRZSDVYkQnfRVMDKfFiK50Hj96oHNIqs+zUsigHu9Bgibi2dnR7I1hph9l3CACWg2+Mha8OI1dTCx/vXFH8Zty1koehKr2ZJ1uiXNpz/73DA4xiuJ8jhXkrxRVWh/7W+bnY1E/TkV6wlpb0I0xaQNo1sbdfPyJqqnS/fPvj5In8w/XpdvV9bKi9TRg3OmqKpErfxHg7VdGJUdj4dxixZw13MUZChuTbmt79jd3gNyy3ZGSt6ZHx0zLWlNU6Xm3uZYnxF+z1LGLOXwNbllTSDSpI38OymH2N0dUfdd5eBvxKZBmR3WY81tTzuTtHsEY2EMCsjhodhrKQOZEs+xSn3/9nqj7bpWHhT9iaiJLuBMWoNLzh0d62pYIbexl8BBN2CrOE1B7gx0X1wNCntLG2S15ms63vqqsDfIgVk6qgUYJlO2VNXIt5GJQVgBRM4uWsG2+qEl1gu6zfiB6Jn/ifjByGZNwyxJ3qZJMxtMAJN0tuWTlinSDqwHd7X9QhZ1F+8atZUiWYnHkd4Ut0DCQ6PuOYuRFTVkrTjjEZh99grKSTyg5Up7I0vxTg6LfoUvdOUZEgFRSsoTC/yRsKKr5SxqPpuUQlRH4D92wc6Xam1QxorJjysLRn5gicXALs3qNlvvG9FDGt5wpQUdC/RXfBDF9f1hI14BkDJ6+UZJnuVTiROlLzUXuBVg1lLWXZxLNRtYZTpPvw2GHmKPQBU25rHn2aFDsTBLPxIIwO7ly+giZCVOpBaYOpXGsZtFgNn+iJclAYf2P+VP+mpV7l1pR7EOPl84BABgL+uR/uoogfeSWk07ccRYFzHyVlGz8uQoaVx6fTswAwVLu+iEdNyvXUWlaOHzDFgXXhfB3fWHt/OYJJVJwp62n+6YkdR2q/IIXkg/49nPU/5u7kHGk/j9gPqOhyBvr8HabXc+7BPWp X-OriginatorOrg: sct-15-20-7741-18-msonline-outlook-53ebb.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: a6f74ecf-0915-4d62-f357-08dccaa15187 X-MS-Exchange-CrossTenant-AuthSource: PAXP251MB0348.EURP251.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Sep 2024 16:15:38.8953 (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: AS8P251MB0017 X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) The `map-derivation` procedure was trying to process directories as files. When a derivation had a 'module import' directory as input, it threw an exception since it tried to open it as a file. Change-Id: I9b766f9aaa03ea9307f73e8abb36bc347af4b5e6 --- Hi, as far as I know 'module import' directories don't contain derivation references, so it should not be needed to apply `substitute-file` on the files of those directories. This fix just returns the 'module import' directories untouched. Thoughts? Note that `map-derivation` is very slow. I could only test it with tiny derivations, such as the ones provided in the '(gnu packages commencement)' module. You can test it with: --8<---------------cut here---------------start------------->8--- scheme@(guix-user)> (use-modules (guix store) (guix packages) (guix derivations) (gnu packages games) (gnu packages bootstrap)) scheme@(guix-user)> (with-store store (let ((bootar-drv (package-derivation store (@@ (gnu packages commencement) bootar))) (guile-bootstrap-drv (package-derivation store %bootstrap-guile)) (cowsay-drv (package-derivation store cowsay))) (map-derivation store bootar-drv `((,guile-bootstrap-drv . ,cowsay-drv))))) $1 = #<derivation /gnu/store/qwn18yxc1ccdxq1mgg863lfxsfwng3wk-bootar-1b.drv => /gnu/store/852xy3bhck2sd1hq1rmzai0px7fplxfq-bootar-1b 7fcfc3f05b90> scheme@(guix-user)> (derivation-inputs $1) $2 = (#<<derivation-input> drv: #<derivation /gnu/store/5rx5dn2xnkjs3q0rzpm66q79ndwrafp7-module-import-compiled.drv => /gnu/store/472plnlfm8yrb3axwy16fydq01idbkv1-module-import-compiled 7fcfc3f05d70> sub-derivations: ("out")> #<<derivation-input> drv: #<derivation /gnu/store/fhqh9f3lmf8wd9mh0bzavpkjnmsb0bg0-cowsay-3.7.0.drv => /gnu/store/vwa9vh21l68ivnwxj18s2gxd1v71w43r-cowsay-3.7.0 7fcfb73a50f0> sub-derivations: ("out")> #<<derivation-input> drv: #<derivation /gnu/store/k6852ja7cvdvbbdxh24ph711gm74m3qq-bootar-1b.ses.drv => /gnu/store/xmw3h03svpw6rwfg03f0m608zkm24qx8-bootar-1b.ses 7fcfc3f05f00> sub-derivations: ("out")>) --8<---------------cut here---------------end--------------->8--- As you can see, with this fix, the new derivation has the `cowsay` package a an input. I would like to encourage people to discuss ways to improve the performance of this procedure. It would be very useful for system wide package rewriting as discussed in this thread[1]. [1]: https://lists.gnu.org/archive/html/guix-devel/2024-06/msg00275.html Regards, Sergio. guix/derivations.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/guix/derivations.scm b/guix/derivations.scm index a91c1ae984..c16e1c2be3 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -1062,8 +1062,10 @@ (define* (map-derivation store drv mapping ((_ . replacement) replacement) (#f - (substitute-file source - initial replacements)))) + (if (file-is-directory? source) + source + (substitute-file source + initial replacements))))) (derivation-sources drv))) ;; Now augment the lists of initials and replacements. base-commit: e1c92c98f7afff13fb7060199ba0dd4d9c5c2c53 -- 2.45.2
X-Loop: help-debbugs@HIDDEN Subject: bug#71941: [PATCH v2 1/2] guix: fix map-derivation not handling directories References: <PAXP251MB03489F8E853184BD49C9D310F3DE2@HIDDEN> In-Reply-To: <PAXP251MB03489F8E853184BD49C9D310F3DE2@HIDDEN> Resent-From: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: sergio.pastorperez@HIDDEN, guix@HIDDEN, dev@HIDDEN, ludo@HIDDEN, othacehe@HIDDEN, zimon.toutoune@HIDDEN, me@HIDDEN, bug-guix@HIDDEN Resent-Date: Wed, 05 Feb 2025 14:47:03 +0000 Resent-Message-ID: <handler.71941.B71941.173876677423572 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 71941 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 71941 <at> debbugs.gnu.org Cc: ludo@HIDDEN, Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Christopher Baines <guix@HIDDEN>, Josselin Poiret <dev@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN> X-Debbugs-Original-Xcc: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Christopher Baines <guix@HIDDEN>, Josselin Poiret <dev@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN> Received: via spool by 71941-submit <at> debbugs.gnu.org id=B71941.173876677423572 (code B ref 71941); Wed, 05 Feb 2025 14:47:03 +0000 Received: (at 71941) by debbugs.gnu.org; 5 Feb 2025 14:46:14 +0000 Received: from localhost ([127.0.0.1]:49263 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tfgfN-000680-Nh for submit <at> debbugs.gnu.org; Wed, 05 Feb 2025 09:46:14 -0500 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]:49634) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <sergio.pastorperez@HIDDEN>) id 1tfeYl-0007P9-Vg for 71941 <at> debbugs.gnu.org; Wed, 05 Feb 2025 07:31:17 -0500 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-4361e89b6daso45980415e9.3 for <71941 <at> debbugs.gnu.org>; Wed, 05 Feb 2025 04:31:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738758669; x=1739363469; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=AM4leZxYkRFATt9qT5izvbXKBOqZ6ZPxg/GHfa0LvXA=; b=G9wLYl0+CEN1GrLAK+5BDiQ/Ikve3G0OwYaHCSX7fLUSxe617IHN1R+nthVaP2xfah ADUiefcLfYP0xFveWsHlJ+guc/ALuRGhfTmC9PigfXGK5bHcQMw5dJROgPC5YF0QFXjh XcNknhnDP9mVW3lVRujTzYgkMsjxLz2opmVq0gBDS0vbjTgIr9YoRYzYTs8l0cIufCvN zhpqGzU3jvk4EFjh0ZbJI0EL4dWWRUssdbRnGPbIqYSYWRibG7b6mPVGVYUT4/vqmwYi iYyx7AVgAvk4CfvSAwOtjY3TnO+H4W5bfwuQjFVBZYa4RPJ/RIzepTcw3PusrMOkMZTY aBUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738758669; x=1739363469; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=AM4leZxYkRFATt9qT5izvbXKBOqZ6ZPxg/GHfa0LvXA=; b=Er3o33ppkDWl+J16qPFsL2jjeRT3yPKNPvn2eQ7fx+7z73Wrhd1L88gmYj6sRidCAb aAbHQZWn7/Z9ICFLXW2JIAALinEi8E2TMPQRrqzZb72oVQF1BmZDXFqk7hI3YMN/JLoi IUlg6fRVlhc3zJcom4kEyc+Qqz3Dt4L3/z7D+l9CWPXcaIhmhfcgDx1LMlEKotRLQZ7Y 9EEQ1lPYTja5BTjUaLQUWB16QbZa/gDFoWXp7CYGzDl4ZOg8MSbWmuErZwrmGnra5Osr Q1x/v3PMouMVlRvEWxpAD4WsQDDlDnlp+FuHFLONRHA8W5d3Z3zys+tmp/gVaceNO0JD D9lA== X-Gm-Message-State: AOJu0YwvblxlDtJYNozORzWxvIXZNznzyW2EqlJXe9drlSptOby7Nena JFmdzBLse07HEnt/fqsixaN31WuUxop6diuhwF0cBHdztH7i2GuMZp+He+i9 X-Gm-Gg: ASbGncvwY3dkb0+qUPMf1mOPB0sw5TIpo2Kp9/r0+O71ZuJVbJ0yO67DgAuTTSPprEh l8i8cTDMXYLAwzrI+FMHsxjnnlpFYAJOtxUUvP6SAFWAGqmE4vMyPdQrsqV+H+XJiCxTh/ygvar mO5//5XPDCKgpeG9hfbJIZpzPDhHjlAryb8FGd2CCfPN8SGxoFeXSEEeHSuMjYG0l2FbPJXO0xe Hhqyee8PLyWPCbBCobWM7LnimfiLxn6Y38SxDv4pblSSiFd6k6rDOV+wSUkxpDl8t2XnSm2beXT Ob4onD7gZud2C6bjwOVNXLckaq+u X-Google-Smtp-Source: AGHT+IFlUynQrJJW0E4+IO29Zz3my241w56+4rIM/9zRuPd/gNhQlSaJxZbAmMmCKXNLpmHKug+y6g== X-Received: by 2002:a05:600c:1c14:b0:436:51bb:7a43 with SMTP id 5b1f17b1804b1-4390d4306f9mr20575425e9.5.1738758669115; Wed, 05 Feb 2025 04:31:09 -0800 (PST) Received: from localhost ([2a0c:5a85:d30b:5b00:e0fa:f916:8548:a2b8]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4390daa0cbcsm19553385e9.40.2025.02.05.04.31.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Feb 2025 04:31:08 -0800 (PST) From: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Date: Wed, 5 Feb 2025 13:29:33 +0100 Message-ID: <bd6d0cd65d321f03aad528391cc782564a405130.1738758574.git.sergio.pastorperez@HIDDEN> X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Mailman-Approved-At: Wed, 05 Feb 2025 09:46:11 -0500 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) The `map-derivation` procedure was trying to process directories as files. When a derivation had a 'module import' directory as input, it threw an exception since it tried to open it as a file. Change-Id: I9b766f9aaa03ea9307f73e8abb36bc347af4b5e6 --- guix/derivations.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/guix/derivations.scm b/guix/derivations.scm index bef98cd26a..9c019a35bb 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -1074,8 +1074,10 @@ (define* (map-derivation store drv mapping ((_ . replacement) replacement) (#f - (substitute-file source - initial replacements)))) + (if (file-is-directory? source) + source + (substitute-file source + initial replacements))))) (derivation-sources drv))) ;; Now augment the lists of initials and replacements. base-commit: d0dbba3053123ee623d8a5889f1a0946859a205e -- 2.48.1
X-Loop: help-debbugs@HIDDEN Subject: bug#71941: [PATCH v2 2/2] guix: fix: slow `map-derivation' procedure Resent-From: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: sergio.pastorperez@HIDDEN, guix@HIDDEN, dev@HIDDEN, ludo@HIDDEN, othacehe@HIDDEN, zimon.toutoune@HIDDEN, me@HIDDEN, bug-guix@HIDDEN Resent-Date: Wed, 05 Feb 2025 14:47:03 +0000 Resent-Message-ID: <handler.71941.B71941.173876677723580 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 71941 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 71941 <at> debbugs.gnu.org Cc: ludo@HIDDEN, Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Christopher Baines <guix@HIDDEN>, Josselin Poiret <dev@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN> X-Debbugs-Original-Xcc: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Christopher Baines <guix@HIDDEN>, Josselin Poiret <dev@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN> Received: via spool by 71941-submit <at> debbugs.gnu.org id=B71941.173876677723580 (code B ref 71941); Wed, 05 Feb 2025 14:47:03 +0000 Received: (at 71941) by debbugs.gnu.org; 5 Feb 2025 14:46:17 +0000 Received: from localhost ([127.0.0.1]:49265 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tfgfO-00068A-F6 for submit <at> debbugs.gnu.org; Wed, 05 Feb 2025 09:46:16 -0500 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]:61731) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <sergio.pastorperez@HIDDEN>) id 1tfeYt-0007bk-3u for 71941 <at> debbugs.gnu.org; Wed, 05 Feb 2025 07:31:23 -0500 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-4368a293339so76657725e9.3 for <71941 <at> debbugs.gnu.org>; Wed, 05 Feb 2025 04:31:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738758676; x=1739363476; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vnck0S5q82AJuydNhH32oqm9w0uaN6PG+VX4JvinVR4=; b=DbzaGzwLN/V8Y1Q/jgxAbajn8C5WIXlKSL6e/XbXWKnESrV1SwTBhkYxhwS6uu9MsM n63VSlEC3sNuImTWv6WEBZD40nZGKsSx6Cf46cHlW3PAvVu2nz8i/UhOit8HzIJNKR4W G6QVGZW8abVOI15xDIcpMuXWZRpYYG8HoFw7HDfTI6ySbM8VJWlthES9jFonb5fvg7tM WZNkhRzQ1WbahGfo0FDkjxMCtXZqKFzseG5a3kYBLjpWGIc65QNinOx4IBoQX6g6dnzu Rb19nlVXWk+80NdXmehVP+/5Um04Tdo7BzNGziar0S2AOZOqo1xYfpTp08Cljlq/HSeq 5rmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738758676; x=1739363476; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vnck0S5q82AJuydNhH32oqm9w0uaN6PG+VX4JvinVR4=; b=BIXwmyszz0mHFveMwzYk1rOoTJ2lstWNhJdJLELpu5sdGywZZUKb6229mOatU6HI8T a3c3YTE5FAxclc2HtTJcsktmYNwKIA70uaztYpVKSWNCFE4OSYq7fmCokpTbj9iNdahC XjQo1KErS3HvBg4Ll0xopV5aIHqFl77v8Cyc1ArLsAPsGP3P8sytBTnumu11NQh7vSbM bVVIQnp3wD4DScjUzY2Xcze6c/zDU3v6bIU9oBbcisbnnN6CWCedGA5fOtk4iDxP4Knv UDGvu3QNahVOJRpAmzmpRTwCPfSfJQGFLCpmJ6Shh3yNl7FAFtJDKcowFM1UDb/OuKw9 wBVA== X-Gm-Message-State: AOJu0Yy47GezNb9/8eNWJiX7W+dE46MClxES2Rg0nPJPxJEtXrxNI5fS W2+TFYeA+NjHzFUz15etMkyq0Ki5YG5GRMU3WTFfL1OmAgBpDwhz6e7WktND X-Gm-Gg: ASbGncuoKuZKKs8st3JKSfDMCQM/fXhbTYT/abQyY+BbVdMvv0WECP6LwedTOZkXDFz VNrlOIzmxKUlUIfF/aASHTfQLRVnAoTf6WwpWuhuBjnIEdbQjpXKFIdCmSp8+kGms3eewhAVJ2R MOhXQ0gFw477Ag00YRXa2ke4RXBYv8LFPQG9wFC+3IqFTS0BIRwZumFxqdK+ADXQqJWXPMHJtfS +YKeTVxbFav3sHzO5GLptjR/ICW79eddhbmKEVJHwvjbI96e8MonLo/UCFR+Q8a3jZdUy8EcWyx RIQprKcvM1SpUF06gCEZm7u07hli X-Google-Smtp-Source: AGHT+IHosPfjBzMv/Cpj0l9fVFB7YiT6elvWe/G7UeL60/imrCvWq1qb/FhjQ5ixRCFctMNtzsMAqg== X-Received: by 2002:a05:6000:186b:b0:38c:3fd1:6164 with SMTP id ffacd0b85a97d-38db48d5cdemr1859558f8f.42.1738758674625; Wed, 05 Feb 2025 04:31:14 -0800 (PST) Received: from localhost ([2a0c:5a85:d30b:5b00:e0fa:f916:8548:a2b8]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38c5c1cf571sm18377775f8f.82.2025.02.05.04.31.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Feb 2025 04:31:14 -0800 (PST) From: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Date: Wed, 5 Feb 2025 13:29:34 +0100 Message-ID: <00a6dd1e400f182156e8fa5a1de062944aa6a37e.1738758574.git.sergio.pastorperez@HIDDEN> X-Mailer: git-send-email 2.48.1 In-Reply-To: <bd6d0cd65d321f03aad528391cc782564a405130.1738758574.git.sergio.pastorperez@HIDDEN> References: <bd6d0cd65d321f03aad528391cc782564a405130.1738758574.git.sergio.pastorperez@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Mailman-Approved-At: Wed, 05 Feb 2025 09:46:11 -0500 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Implement caching to speed up computation. Change-Id: I186e2a62f6655e3b0738dd6e0f628faccd8b855e --- guix/derivations.scm | 108 +++++++++++++++++++++++-------------------- 1 file changed, 58 insertions(+), 50 deletions(-) diff --git a/guix/derivations.scm b/guix/derivations.scm index 9c019a35bb..aa7f55ee92 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -1044,7 +1044,8 @@ (define* (map-derivation store drv mapping ((file . replacement) (vhash-cons file replacement result)))) vlist-null - mapping))) + mapping)) + (computed-drvs (make-hash-table 100))) (define rewritten-input ;; Rewrite the given input according to MAPPING, and return an input ;; in the format used in 'derivation' calls. @@ -1060,55 +1061,62 @@ (define* (map-derivation store drv mapping (derivation-input (loop drv) sub-drvs))))))) (let loop ((drv drv)) - (let* ((inputs (map (cut rewritten-input <> loop) - (derivation-inputs drv))) - (initial (append-map derivation-input-output-paths - (derivation-inputs drv))) - (replacements (append-map input->output-paths inputs)) - - ;; Sources typically refer to the output directories of the - ;; original inputs, INITIAL. Rewrite them by substituting - ;; REPLACEMENTS. - (sources (map (lambda (source) - (match (vhash-assoc source mapping) - ((_ . replacement) - replacement) - (#f - (if (file-is-directory? source) - source - (substitute-file source - initial replacements))))) - (derivation-sources drv))) - - ;; Now augment the lists of initials and replacements. - (initial (append (derivation-sources drv) initial)) - (replacements (append sources replacements)) - (name (store-path-package-name - (string-drop-right (derivation-file-name drv) - 4)))) - (derivation store name - (substitute (derivation-builder drv) - initial replacements) - (map (cut substitute <> initial replacements) - (derivation-builder-arguments drv)) - #:system system - #:env-vars (map (match-lambda - ((var . value) - `(,var - . ,(substitute value initial - replacements)))) - (derivation-builder-environment-vars drv)) - #:inputs (filter derivation-input? inputs) - #:sources (append sources (filter string? inputs)) - #:outputs (derivation-output-names drv) - #:hash (match (derivation-outputs drv) - ((($ <derivation-output> _ algo hash)) - hash) - (_ #f)) - #:hash-algo (match (derivation-outputs drv) - ((($ <derivation-output> _ algo hash)) - algo) - (_ #f))))))) + (let ((cached-drv (hash-ref computed-drvs drv))) + (if cached-drv + cached-drv + (let* ((inputs (map (cut rewritten-input <> loop) + (derivation-inputs drv))) + (initial (append-map derivation-input-output-paths + (derivation-inputs drv))) + (replacements (append-map input->output-paths inputs)) + + ;; Sources typically refer to the output directories of the + ;; original inputs, INITIAL. Rewrite them by substituting + ;; REPLACEMENTS. + (sources (map (lambda (source) + (match (vhash-assoc source mapping) + ((_ . replacement) + replacement) + (#f + (if (file-is-directory? source) + source + (substitute-file source + initial replacements))))) + (derivation-sources drv))) + + ;; Now augment the lists of initials and replacements. + (initial (append (derivation-sources drv) initial)) + (replacements (append sources replacements)) + (name (store-path-package-name + (string-drop-right (derivation-file-name drv) + 4)))) + + (hash-set! + computed-drvs + drv + (derivation store name + (substitute (derivation-builder drv) + initial replacements) + (map (cut substitute <> initial replacements) + (derivation-builder-arguments drv)) + #:system system + #:env-vars (map (match-lambda + ((var . value) + `(,var + . ,(substitute value initial + replacements)))) + (derivation-builder-environment-vars drv)) + #:inputs (filter derivation-input? inputs) + #:sources (append sources (filter string? inputs)) + #:outputs (derivation-output-names drv) + #:hash (match (derivation-outputs drv) + ((($ <derivation-output> _ algo hash)) + hash) + (_ #f)) + #:hash-algo (match (derivation-outputs drv) + ((($ <derivation-output> _ algo hash)) + algo) + (_ #f)))))))))) ;;; -- 2.48.1
X-Loop: help-debbugs@HIDDEN Subject: bug#71941: [PATCH v3 1/2] guix: fix: map-derivation not handling directories References: <PAXP251MB03489F8E853184BD49C9D310F3DE2@HIDDEN> In-Reply-To: <PAXP251MB03489F8E853184BD49C9D310F3DE2@HIDDEN> Resent-From: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: sergio.pastorperez@HIDDEN, sergio.pastorperez@HIDDEN, guix@HIDDEN, dev@HIDDEN, ludo@HIDDEN, othacehe@HIDDEN, zimon.toutoune@HIDDEN, me@HIDDEN, bug-guix@HIDDEN Resent-Date: Sun, 23 Feb 2025 21:19:02 +0000 Resent-Message-ID: <handler.71941.B71941.174034549229466 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 71941 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 71941 <at> debbugs.gnu.org Cc: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Christopher Baines <guix@HIDDEN>, Josselin Poiret <dev@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN> X-Debbugs-Original-Xcc: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Christopher Baines <guix@HIDDEN>, Josselin Poiret <dev@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN> Received: via spool by 71941-submit <at> debbugs.gnu.org id=B71941.174034549229466 (code B ref 71941); Sun, 23 Feb 2025 21:19:02 +0000 Received: (at 71941) by debbugs.gnu.org; 23 Feb 2025 21:18:12 +0000 Received: from localhost ([127.0.0.1]:36981 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tmJMZ-0007f9-FT for submit <at> debbugs.gnu.org; Sun, 23 Feb 2025 16:18:11 -0500 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]:53672) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <sergio.pastorperez@HIDDEN>) id 1tmFo7-0004sM-TZ for 71941 <at> debbugs.gnu.org; Sun, 23 Feb 2025 12:30:24 -0500 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-439a4fc2d65so34356335e9.3 for <71941 <at> debbugs.gnu.org>; Sun, 23 Feb 2025 09:30:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740331817; x=1740936617; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=l0wgA80VfOdtMvuE8FSRbR1o9yNmrG9pTnfvknqQw7g=; b=IweQV6RHLjh7NTMgEzEvDP24XPIKxz8R20rwOS8fU5EM2WWJQFSJH6JHUF9B0+iRXQ 8V2dhpTxS65DO/VHx5m+QXCMIyU1hNzaD6s45wbu/LWjg+LlJYfkZCh7DP3S9+Lv5QyO jYp8MMb2Wvx5Ijix34uPRFq9A75pptuGGXRGGrT3I17SHgCArNvbel2q6R4dJhOJNZIJ FWR+fzy+S/UuMar22iLPSGt6CKqWUuu01JrMZmHXDCmVl83M0fjdho+omaSe++bFdjXD BiNWQQUQhVDNzTDR3J6m+elvy+L1xRjX6+7pXZueF2McHBvdhRCtxTsBov1pzUUCHAHq dxvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740331817; x=1740936617; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=l0wgA80VfOdtMvuE8FSRbR1o9yNmrG9pTnfvknqQw7g=; b=Shf/qyV/CcX4vXXfD0BKCKU++6W291HsR1tOxCCynFT1psBL7m613I9oUdBSWRkn36 uHti7CXv+v8xVDruzsCPmplVC4F41SSoiEjuNq8FoJ6Q+tIBOgurqnJ8MXeRxhVapxhk OjWSHH96kjppWZtY2rW3QFcZrB1Rq4SLKXINxmwHtyXRgvfxQzB3JhnG6j7D4h/gpAIU 0RnnA/DgOWWFEZPLezDIX+BVgm7dQYxUhnehedhYP6GPvAvRrZUCv+ogq7Ja4wFhPCUY evnMuqfqLsjpQDq1jveQLqG1kG8vflVZVhSQRN/CZ3LcT9zff/LNsVuqBlxCNm60SN1q W/mA== X-Gm-Message-State: AOJu0YyCLaMKCmIopPNEFKFhJF9jc9/2OhdXHfeHy0Wmghv9xNbfFbzq uByxR7x7luzbU5dDJdWP2lYlMYVq/VG7LAKlvFMnydxVFOKM2lPAyeH7dQ== X-Gm-Gg: ASbGncu9qoMiqZUCu3rlcOlItU7gAweFEq+S32rIkxaMw6mP9Y2uSPUMyQmBGSJtZva hfWSXSbtHZIM+kO+fGuysDgWoHhenK9hQKraruVYjeKU0u3m+EDBZdze6ShqzO8JIk+0Qaa3KRR keF1RjfWmNCadj9RcgjY9kimK9kpqpTCyRwKz31DeNs3RtsjjbRd1g2+2LEJsjrc7IFYwQjp8dE RcyN+wdgxt6unbJuEjFpkFqtZWuyvtFTmZStaDDHOpce61qxZQ1qq9lOhM9pzm+cvJVUDFrTu2d 2+u+IU+JZhTBhNaCPrk1Bmwv27vkhpJIHAcJN7o= X-Google-Smtp-Source: AGHT+IHyPRzwrop/4MJDeXzUrn6JHXGrBgOCWoeJDkA9A4POV9vYJJWaq1ML7iq3hGI1fkumWK9zkg== X-Received: by 2002:a05:600c:45ca:b0:439:9a40:aa0b with SMTP id 5b1f17b1804b1-439ae21e36emr81462195e9.25.1740331817124; Sun, 23 Feb 2025 09:30:17 -0800 (PST) Received: from localhost ([2a0c:5a85:d30b:5b00:e0fa:f916:8548:a2b8]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-439b02d5147sm82449855e9.10.2025.02.23.09.30.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Feb 2025 09:30:15 -0800 (PST) From: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Date: Sun, 23 Feb 2025 18:29:07 +0100 Message-ID: <c803f54d538ce37f043422f86fe8938316a73b15.1740331748.git.sergio.pastorperez@HIDDEN> X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Mailman-Approved-At: Sun, 23 Feb 2025 16:18:09 -0500 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) The `map-derivation` procedure was trying to process directories as files. When a derivation had a 'module import' directory as input, it threw an exception since it tried to open it as a file. Change-Id: I9b766f9aaa03ea9307f73e8abb36bc347af4b5e6 --- guix/derivations.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/guix/derivations.scm b/guix/derivations.scm index bef98cd26a..9c019a35bb 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -1074,8 +1074,10 @@ (define* (map-derivation store drv mapping ((_ . replacement) replacement) (#f - (substitute-file source - initial replacements)))) + (if (file-is-directory? source) + source + (substitute-file source + initial replacements))))) (derivation-sources drv))) ;; Now augment the lists of initials and replacements. base-commit: 00787cd61611d74d3e54b160e94176905d36ef39 -- 2.48.1
X-Loop: help-debbugs@HIDDEN Subject: bug#71941: [PATCH v3 2/2] guix: fix: slow map-derivation procedure Resent-From: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: sergio.pastorperez@HIDDEN, sergio.pastorperez@HIDDEN, guix@HIDDEN, dev@HIDDEN, ludo@HIDDEN, othacehe@HIDDEN, zimon.toutoune@HIDDEN, me@HIDDEN, bug-guix@HIDDEN Resent-Date: Sun, 23 Feb 2025 21:19:03 +0000 Resent-Message-ID: <handler.71941.B71941.174034549229479 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 71941 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 71941 <at> debbugs.gnu.org Cc: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Christopher Baines <guix@HIDDEN>, Josselin Poiret <dev@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN> X-Debbugs-Original-Xcc: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Christopher Baines <guix@HIDDEN>, Josselin Poiret <dev@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN> Received: via spool by 71941-submit <at> debbugs.gnu.org id=B71941.174034549229479 (code B ref 71941); Sun, 23 Feb 2025 21:19:03 +0000 Received: (at 71941) by debbugs.gnu.org; 23 Feb 2025 21:18:12 +0000 Received: from localhost ([127.0.0.1]:36983 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tmJMa-0007fD-1n for submit <at> debbugs.gnu.org; Sun, 23 Feb 2025 16:18:12 -0500 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]:60457) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <sergio.pastorperez@HIDDEN>) id 1tmFoA-0004sQ-Ji for 71941 <at> debbugs.gnu.org; Sun, 23 Feb 2025 12:30:27 -0500 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-4398e3dfc66so32412465e9.0 for <71941 <at> debbugs.gnu.org>; Sun, 23 Feb 2025 09:30:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740331820; x=1740936620; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=bxKGy+k6t31ngI98Wf7MjMIOqXRKR8ULf55xxuwAkIM=; b=eRf6ZD5YKHPcgVCOIt7wUMJoXGQhkGxInhzRs/h4iuAzzm8zoT8fKUOl6jqqHHyxaO VLnq/HSgqxMPg16n/vGGClmjiHh3HnLQ0SxeWu3JKLplBrGV26i/JSB7Yk7mSzU6s6SH zT4qJobPb4OGRVp9Rp6jBYUd05/8et9THE8KgRwdLdrpdQ84+fn6YmAIyXTKtNpgv5yO 4g2X9U8zBtXR5fSP/roKGjQ/BpVpaP1UT0ipW6h5mQR/JV6A0G97XaL2t6QIPazCgerl IDeYQOIA/C62YojIc3zy8HpdiTbvQU6yz42uHTbx8lIN728Zb4Cnmh0Z0ALF5cCK4337 Of7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740331820; x=1740936620; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bxKGy+k6t31ngI98Wf7MjMIOqXRKR8ULf55xxuwAkIM=; b=JX5Ykf6XqgI9FOle0glvuOiQ0TfmDYsaD861vVoY1UDcnjiCePQFb6ulb/zdxCoLTK agtVubFomwt4ghbKO3/4WWmBj+s1IqSWzKIsFefYaWGz0zXLdHv/l7tRn2RM0CBsmPPe tLsAai9BgnXCZdW4E3htwKj7t57RemOexPF94u2YLECMIlMFVroJZNkyIszfJwSCjcK0 pIgzw/7lPg/QR+sqAlrerY+HtwHJ6WPyT+lDKlmO9nz5XL7cGKRCXxl5ck1TxlIz57Y6 MIfM3q+acfPoCTtcJEwwy1GraTWh0wKKnQdQdjMyImQU3elyFGKekXcvsyfc+xV9xG0y nFSg== X-Gm-Message-State: AOJu0Yxk0bYu4+tP0u3+1tPXPfrCLUbHajIiWeRKTZrzHXH7np/uOnK6 Cz6ZGd5BDfwoMer6lIOv6Uvov2icOUJXQQRtDrkIvHMG3zD5pFEL57Hu4Q== X-Gm-Gg: ASbGncvTj6rQEE3HBlum6XxXwte2CKjxKcLL7dLtRDfEaAqniNqFrJ5xIT1JlJGr8NU RUJKqvc3QbXmzEMeKbS6uL+5CNGIZ4aEqQH/7fPypYXl4NETYa1lQ4nT4uif45jzsXEZkUNfFI7 lf4XBjEhNHNhTAubLoC4ipcOTt7ruju2DzFN2mfvWprS4dAh0HKmp1Z2zWdRJHArQEd6SDYBELw CAiTyT/HIeggtK+oVCBB3FNHaQ2rAMtW86hXJDUYtkuKk1/V6PHusNRV6SCANFwwUVGqdD7YtGW F0/TCDkktMSQVJ9srVnfvRHGI34LdfwIfJlSBXs= X-Google-Smtp-Source: AGHT+IGYmbIWn7tSmBYQFEUg6tqTXNh6hhlRB4kZbOAWz/CfI8o5im1suse6XabgyyBA2A/3lWiv+A== X-Received: by 2002:a05:600c:4e8d:b0:439:643a:c8d5 with SMTP id 5b1f17b1804b1-439ae189b90mr96143055e9.0.1740331819778; Sun, 23 Feb 2025 09:30:19 -0800 (PST) Received: from localhost ([2a0c:5a85:d30b:5b00:e0fa:f916:8548:a2b8]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-439b02ce4e9sm84166945e9.4.2025.02.23.09.30.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Feb 2025 09:30:19 -0800 (PST) From: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Date: Sun, 23 Feb 2025 18:29:08 +0100 Message-ID: <6f67d2c9b2e14a6c1fd77689d959ddf5ca0a256d.1740331748.git.sergio.pastorperez@HIDDEN> X-Mailer: git-send-email 2.48.1 In-Reply-To: <c803f54d538ce37f043422f86fe8938316a73b15.1740331748.git.sergio.pastorperez@HIDDEN> References: <c803f54d538ce37f043422f86fe8938316a73b15.1740331748.git.sergio.pastorperez@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Mailman-Approved-At: Sun, 23 Feb 2025 16:18:09 -0500 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Implement caching to speed up computation. Change-Id: I186e2a62f6655e3b0738dd6e0f628faccd8b855e --- guix/derivations.scm | 109 +++++++++++++++++++++++-------------------- 1 file changed, 59 insertions(+), 50 deletions(-) diff --git a/guix/derivations.scm b/guix/derivations.scm index 9c019a35bb..8ec36b0fe3 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012-2021, 2023-2024 Ludovic Courtès <ludo@HIDDEN> ;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@HIDDEN> +;;; Copyright © 2025 Sergio Pastor Pérez <sergio.pastorperez@HIDDEN> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1044,7 +1045,8 @@ (define* (map-derivation store drv mapping ((file . replacement) (vhash-cons file replacement result)))) vlist-null - mapping))) + mapping)) + (computed-drvs (make-hash-table 100))) (define rewritten-input ;; Rewrite the given input according to MAPPING, and return an input ;; in the format used in 'derivation' calls. @@ -1060,55 +1062,62 @@ (define* (map-derivation store drv mapping (derivation-input (loop drv) sub-drvs))))))) (let loop ((drv drv)) - (let* ((inputs (map (cut rewritten-input <> loop) - (derivation-inputs drv))) - (initial (append-map derivation-input-output-paths - (derivation-inputs drv))) - (replacements (append-map input->output-paths inputs)) - - ;; Sources typically refer to the output directories of the - ;; original inputs, INITIAL. Rewrite them by substituting - ;; REPLACEMENTS. - (sources (map (lambda (source) - (match (vhash-assoc source mapping) - ((_ . replacement) - replacement) - (#f - (if (file-is-directory? source) - source - (substitute-file source - initial replacements))))) - (derivation-sources drv))) - - ;; Now augment the lists of initials and replacements. - (initial (append (derivation-sources drv) initial)) - (replacements (append sources replacements)) - (name (store-path-package-name - (string-drop-right (derivation-file-name drv) - 4)))) - (derivation store name - (substitute (derivation-builder drv) - initial replacements) - (map (cut substitute <> initial replacements) - (derivation-builder-arguments drv)) - #:system system - #:env-vars (map (match-lambda - ((var . value) - `(,var - . ,(substitute value initial - replacements)))) - (derivation-builder-environment-vars drv)) - #:inputs (filter derivation-input? inputs) - #:sources (append sources (filter string? inputs)) - #:outputs (derivation-output-names drv) - #:hash (match (derivation-outputs drv) - ((($ <derivation-output> _ algo hash)) - hash) - (_ #f)) - #:hash-algo (match (derivation-outputs drv) - ((($ <derivation-output> _ algo hash)) - algo) - (_ #f))))))) + (let ((cached-drv (hash-ref computed-drvs drv))) + (if cached-drv + cached-drv + (let* ((inputs (map (cut rewritten-input <> loop) + (derivation-inputs drv))) + (initial (append-map derivation-input-output-paths + (derivation-inputs drv))) + (replacements (append-map input->output-paths inputs)) + + ;; Sources typically refer to the output directories of the + ;; original inputs, INITIAL. Rewrite them by substituting + ;; REPLACEMENTS. + (sources (map (lambda (source) + (match (vhash-assoc source mapping) + ((_ . replacement) + replacement) + (#f + (if (file-is-directory? source) + source + (substitute-file source + initial replacements))))) + (derivation-sources drv))) + + ;; Now augment the lists of initials and replacements. + (initial (append (derivation-sources drv) initial)) + (replacements (append sources replacements)) + (name (store-path-package-name + (string-drop-right (derivation-file-name drv) + 4)))) + + (hash-set! + computed-drvs + drv + (derivation store name + (substitute (derivation-builder drv) + initial replacements) + (map (cut substitute <> initial replacements) + (derivation-builder-arguments drv)) + #:system system + #:env-vars (map (match-lambda + ((var . value) + `(,var + . ,(substitute value initial + replacements)))) + (derivation-builder-environment-vars drv)) + #:inputs (filter derivation-input? inputs) + #:sources (append sources (filter string? inputs)) + #:outputs (derivation-output-names drv) + #:hash (match (derivation-outputs drv) + ((($ <derivation-output> _ algo hash)) + hash) + (_ #f)) + #:hash-algo (match (derivation-outputs drv) + ((($ <derivation-output> _ algo hash)) + algo) + (_ #f)))))))))) ;;; -- 2.48.1
X-Loop: help-debbugs@HIDDEN Subject: bug#71941: Broken `map-derivation' procedure Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-guix@HIDDEN Resent-Date: Tue, 25 Feb 2025 17:24:02 +0000 Resent-Message-ID: <handler.71941.B71941.174050421520969 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 71941 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Cc: Josselin Poiret <dev@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN>, 71941 <at> debbugs.gnu.org, Christopher Baines <guix@HIDDEN>, Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Received: via spool by 71941-submit <at> debbugs.gnu.org id=B71941.174050421520969 (code B ref 71941); Tue, 25 Feb 2025 17:24:02 +0000 Received: (at 71941) by debbugs.gnu.org; 25 Feb 2025 17:23:35 +0000 Received: from localhost ([127.0.0.1]:48258 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tmyec-0005S8-OQ for submit <at> debbugs.gnu.org; Tue, 25 Feb 2025 12:23:35 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:37648) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1tmyeb-0005Rt-0E for 71941 <at> debbugs.gnu.org; Tue, 25 Feb 2025 12:23:33 -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 <ludo@HIDDEN>) id 1tmyeT-00055Z-Tz; Tue, 25 Feb 2025 12:23:25 -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:References:In-Reply-To:Subject:To: From; bh=qI1LfjD8zhF+UsAKevjW8X/iRlLLzhFnAbzraizoW6A=; b=IZoOGizj363Dk5miN75d n0EJgAUjC0gNT3gMPNmNcZM4ZplKEJXi2HR0RR50rdQDSM97RjouGI/v1f+77gxCcbdXLiSNk94lc 5SgcB+KX5TVjJEGSBFftC2ZjUgoj3KB7OWtBTJSW1mTL+fQpJameZxz6QLXathI1gXXaKxVIEmb0m mQYadhgaOBrJYt3xvI9/vF0L8SMbEqyPRtGW+ppsqElhixHMV3uSOXV5S2euTW5ONqPTC0p03x1jo xMZBOEAGWVtURzKsE/hPR0O+lDOck2SCFIsYqkeRfMgMVnQQlJjvDCCcU7VU2RK+1WsKoh/AWArBt EtoB2S6M46dS2A==; From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> In-Reply-To: <c803f54d538ce37f043422f86fe8938316a73b15.1740331748.git.sergio.pastorperez@HIDDEN> ("Sergio Pastor =?UTF-8?Q?P=C3=A9rez?="'s message of "Sun, 23 Feb 2025 18:29:07 +0100") References: <PAXP251MB03489F8E853184BD49C9D310F3DE2@HIDDEN> <c803f54d538ce37f043422f86fe8938316a73b15.1740331748.git.sergio.pastorperez@HIDDEN> Date: Tue, 25 Feb 2025 18:23:12 +0100 Message-ID: <87v7sylz0f.fsf_-_@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Hi Sergio, Sergio Pastor P=C3=A9rez <sergio.pastorperez@HIDDEN> skribis: > The `map-derivation` procedure was trying to process directories as files. > When a derivation had a 'module import' directory as input, it threw an > exception since it tried to open it as a file. > > Change-Id: I9b766f9aaa03ea9307f73e8abb36bc347af4b5e6 > --- > guix/derivations.scm | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/guix/derivations.scm b/guix/derivations.scm > index bef98cd26a..9c019a35bb 100644 > --- a/guix/derivations.scm > +++ b/guix/derivations.scm > @@ -1074,8 +1074,10 @@ (define* (map-derivation store drv mapping > ((_ . replacement) > replacement) > (#f > - (substitute-file source > - initial replacemen= ts)))) > + (if (file-is-directory? source) > + source > + (substitute-file source > + initial replac= ements))))) Could you add a unit test for this specific case? Bonus points if you come up with a commit log that follows our conventions. :-) (I can do it on your behalf if you=E2=80=99re not sure.) Thanks, Ludo=E2=80=99.
X-Loop: help-debbugs@HIDDEN Subject: bug#71941: Broken `map-derivation' procedure Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-guix@HIDDEN Resent-Date: Tue, 25 Feb 2025 17:29:02 +0000 Resent-Message-ID: <handler.71941.B71941.174050448721856 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 71941 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Cc: Josselin Poiret <dev@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN>, 71941 <at> debbugs.gnu.org, Christopher Baines <guix@HIDDEN>, Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Received: via spool by 71941-submit <at> debbugs.gnu.org id=B71941.174050448721856 (code B ref 71941); Tue, 25 Feb 2025 17:29:02 +0000 Received: (at 71941) by debbugs.gnu.org; 25 Feb 2025 17:28:07 +0000 Received: from localhost ([127.0.0.1]:48276 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tmyj0-0005gS-FE for submit <at> debbugs.gnu.org; Tue, 25 Feb 2025 12:28:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:34038) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1tmyiy-0005fm-1T for 71941 <at> debbugs.gnu.org; Tue, 25 Feb 2025 12:28:04 -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 <ludo@HIDDEN>) id 1tmyir-0005bS-4k; Tue, 25 Feb 2025 12:27:57 -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:References:In-Reply-To:Subject:To: From; bh=Ah+1xT+yzrcq2wzDX3C9ytuhL10Fph6W8W3HIPSngkI=; b=Lruwc5AJSCW4U041/KNI UJ/Zuq44aMdWQS5R7IY9b/4WV7BhCrzI/yN0L3IlqVSzROzuaIeEm7uhrk1lQhJvE7QduqB6bNYfs OYK+KAFBe68sdWC3/yVP9hB1xEma5rc1K/X3/AL3n6dwCZJC0n7XnZ8iptOt4/CehLyaY473nPASu Gls2RGNKjEdVg0zM5MYGXcduLPfWMV8MTOT+D+R1CdkT9MMWSI9joyJ7i8uUz9pKyADo0wkHqlq2u LvXc/D7CdwzS4WaEEjE3O0q94eLUs6XbQX7zVinPjoiuU13sNbvoNF77Vw7QDpKNsZRA+ARKnivWC fydCNzKL1nqGBA==; From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> In-Reply-To: <6f67d2c9b2e14a6c1fd77689d959ddf5ca0a256d.1740331748.git.sergio.pastorperez@HIDDEN> ("Sergio Pastor =?UTF-8?Q?P=C3=A9rez?="'s message of "Sun, 23 Feb 2025 18:29:08 +0100") References: <c803f54d538ce37f043422f86fe8938316a73b15.1740331748.git.sergio.pastorperez@HIDDEN> <6f67d2c9b2e14a6c1fd77689d959ddf5ca0a256d.1740331748.git.sergio.pastorperez@HIDDEN> Date: Tue, 25 Feb 2025 18:27:53 +0100 Message-ID: <87msealysm.fsf_-_@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Sergio Pastor P=C3=A9rez <sergio.pastorperez@HIDDEN> skribis: > Implement caching to speed up computation. > > Change-Id: I186e2a62f6655e3b0738dd6e0f628faccd8b855e Nice! > + (let ((cached-drv (hash-ref computed-drvs drv))) > + (if cached-drv > + cached-drv > + (let* ((inputs (map (cut rewritten-input <> loop) Two things: 1. Preferably use =E2=80=98hashq-set!=E2=80=99 and =E2=80=98hashq-ref=E2= =80=99 for the cache, to compare derivations according to =E2=80=98eq?=E2=80=99; 2. Instead of rolling your own, perhaps you can use =E2=80=98mlambdaq=E2= =80=99, which also has the advantage of maintaining statistics; you can see them by setting GUIX_PROFILING=3Dmemoization. For #2, essentially you would write: (define loop (mlambdaq (drv) contents of the loop=E2=80=A6)) (loop drv) I *think* that would do the job. We you able to test this on meaningful cases? Thanks for your work, and apologies for the delay! Ludo=E2=80=99.
X-Loop: help-debbugs@HIDDEN Subject: bug#71941: [PATCH v4 1/3] guix: fix: 'map-derivation' not handling directories References: <PAXP251MB03489F8E853184BD49C9D310F3DE2@HIDDEN> In-Reply-To: <PAXP251MB03489F8E853184BD49C9D310F3DE2@HIDDEN> Resent-From: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: sergio.pastorperez@HIDDEN, sergio.pastorperez@HIDDEN, ludo@HIDDEN, guix@HIDDEN, dev@HIDDEN, othacehe@HIDDEN, zimon.toutoune@HIDDEN, me@HIDDEN, bug-guix@HIDDEN Resent-Date: Sat, 01 Mar 2025 18:09:01 +0000 Resent-Message-ID: <handler.71941.B71941.174085252223726 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 71941 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 71941 <at> debbugs.gnu.org Cc: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Christopher Baines <guix@HIDDEN>, Josselin Poiret <dev@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN> X-Debbugs-Original-Xcc: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Christopher Baines <guix@HIDDEN>, Josselin Poiret <dev@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN> Received: via spool by 71941-submit <at> debbugs.gnu.org id=B71941.174085252223726 (code B ref 71941); Sat, 01 Mar 2025 18:09:01 +0000 Received: (at 71941) by debbugs.gnu.org; 1 Mar 2025 18:08:42 +0000 Received: from localhost ([127.0.0.1]:43273 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1toRGT-0006Ab-Pt for submit <at> debbugs.gnu.org; Sat, 01 Mar 2025 13:08:42 -0500 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]:53420) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <sergio.pastorperez@HIDDEN>) id 1toRGR-00069a-7z for 71941 <at> debbugs.gnu.org; Sat, 01 Mar 2025 13:08:40 -0500 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-4398c8c8b2cso33482755e9.2 for <71941 <at> debbugs.gnu.org>; Sat, 01 Mar 2025 10:08:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740852512; x=1741457312; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=iNEmM3NlY6dtMi8m6rS5AmSb6rqtj4sBG74k/ZU7V9Q=; b=JDuEIm5UroGP6OIr98r8fagBRNOcejeYDOk0Gh/U6CUU/b0L5XhDViZzGC7eP6magB qD+A2nYHg9keFRMc9KnjHaJ/Zgqxn+FY9LpY5fV/suReYZzfKulRnSBXZECFMQLr5igM 79TXBL4JJpVcPmpyvuwT/QNhfpf9yKcndDoexL3UmW8ThGQYpFwb7ZsWaqBMHA1Vs8t1 tPCqdlUm4nQ37Uenq8n2Bw13NvROZJEvmGQTDB3ynf2PAdrpVs4K/mCLOMDbJShsjozI FYOh3gqJLRtmVoUGPGvNZW6ZmE3XkZNp0RH9geRp/UeGecy71ct7XwlUJfhae5MpLv26 qgxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740852512; x=1741457312; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=iNEmM3NlY6dtMi8m6rS5AmSb6rqtj4sBG74k/ZU7V9Q=; b=ry34vOCs73Sdu1fQjLaQ58DCOhD/otw2DBYyGzQlYn7C5iIIBL9KJPb/PWyTFJ6Y3X mEUNRRcWYvq9+o/gfsSD8Lvks8qmasDVWSJZwLHnYyVL3clpZrNFUOg4mVHD9TDBXvvY U+D3ICvRFp8uJ9VBEh7HfpMNde2N/aB2oH4ZXhPWuWHQxIjKLrsLB7NS//N/+IQ6KxoU tPpAxkY6BKWHor6IpmTbDFGxWw2hGg2hP2ZI2vuLJ/hk2Kk6EX5tTP3upGKxJfwU+knb xgCphsqgyZDGEbQvEjbUavzgPyblLe5x0xMs7j2iptHXaSy1JlTFL5bPDajypZePf547 /w6g== X-Gm-Message-State: AOJu0Yw0lYlKUFX1n5oN+W7VsrTaOYJdN05kkn5QhE7TxbU/CsRpXyKc LKIgBrdb1g9Iyz+gnzjuWgGsrNgT7IyIst2U5wvgLQTBBCUOh5bj1C+6pw== X-Gm-Gg: ASbGncuPX582/28C+DIilRhkHw4sgJTA1utkjja4lR2ijcg2/Xa4+25mCKRNwdLz03z b8s4tyk0NxehEB0/KY/k9nFtPWjXenEfxUpLeaCO3v5I/Ptsx97+cNH9dOwv0ym5sIIoePprEq2 PEtz0iS/DvXPUPbqJ7EiMvFPHnXMHTzVujlRFs6OyvaZ87A0nNHdG1830V5P4tvK3v4SKLRDuGp M42FPJ+5pDPO49SWdNBY9C9e4GyfG+NKc2lsWaR/B+L4tUml5wUSbdCrcTOTZRs56dgBqzArwDe 0FuGCRD26yjgrfZ02xOYnE3GuVEyP9Sxq2McBJzhPfYXd8LwqsS2AhiXLw== X-Google-Smtp-Source: AGHT+IFd/SXFZT+yemOo1ClBmAt2EIB+FwuiwapgABhdQB6kSLHTvIsOqOth5mH2q5iATorHAa95dg== X-Received: by 2002:a05:600c:1381:b0:439:9e13:2df4 with SMTP id 5b1f17b1804b1-43ba674c8fbmr74989685e9.21.1740852512023; Sat, 01 Mar 2025 10:08:32 -0800 (PST) Received: from localhost ([2a0c:5a85:d30b:5b00:e0fa:f916:8548:a2b8]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43b73703caesm97868995e9.12.2025.03.01.10.08.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 10:08:31 -0800 (PST) From: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Date: Sat, 1 Mar 2025 19:06:08 +0100 Message-ID: <7090bd5fec7bfd51bad65aa6eebd7aea7c9a7b7f.1740852370.git.sergio.pastorperez@HIDDEN> X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) The 'map-derivation' procedure was trying to process directories as files. When a derivation had a 'module import' directory as input, it threw an exception since it tried to open it as a file. Change-Id: I9b766f9aaa03ea9307f73e8abb36bc347af4b5e6 --- guix/derivations.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/guix/derivations.scm b/guix/derivations.scm index ffa69e924c..d84d1a391c 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012-2021, 2023-2024 Ludovic Courtès <ludo@HIDDEN> ;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@HIDDEN> +;;; Copyright © 2025 Sergio Pastor Pérez <sergio.pastorperez@HIDDEN> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1074,8 +1075,10 @@ (define* (map-derivation store drv mapping ((_ . replacement) replacement) (#f - (substitute-file source - initial replacements)))) + (if (file-is-directory? source) + source + (substitute-file source + initial replacements))))) (derivation-sources drv))) ;; Now augment the lists of initials and replacements. base-commit: 256bee7d0b72df2d471e1db071500e7635462ad7 -- 2.48.1
X-Loop: help-debbugs@HIDDEN Subject: bug#71941: [PATCH v4 2/3] guix: fix: Slow 'map-derivation' procedure Resent-From: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: sergio.pastorperez@HIDDEN, sergio.pastorperez@HIDDEN, ludo@HIDDEN, guix@HIDDEN, dev@HIDDEN, othacehe@HIDDEN, zimon.toutoune@HIDDEN, me@HIDDEN, bug-guix@HIDDEN Resent-Date: Sat, 01 Mar 2025 18:09:03 +0000 Resent-Message-ID: <handler.71941.B71941.174085252723784 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 71941 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 71941 <at> debbugs.gnu.org Cc: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Christopher Baines <guix@HIDDEN>, Josselin Poiret <dev@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN> X-Debbugs-Original-Xcc: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Christopher Baines <guix@HIDDEN>, Josselin Poiret <dev@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN> Received: via spool by 71941-submit <at> debbugs.gnu.org id=B71941.174085252723784 (code B ref 71941); Sat, 01 Mar 2025 18:09:03 +0000 Received: (at 71941) by debbugs.gnu.org; 1 Mar 2025 18:08:47 +0000 Received: from localhost ([127.0.0.1]:43278 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1toRGX-0006B8-Eb for submit <at> debbugs.gnu.org; Sat, 01 Mar 2025 13:08:47 -0500 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]:43416) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <sergio.pastorperez@HIDDEN>) id 1toRGU-00069w-7t for 71941 <at> debbugs.gnu.org; Sat, 01 Mar 2025 13:08:42 -0500 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-390dd35c78dso2209108f8f.1 for <71941 <at> debbugs.gnu.org>; Sat, 01 Mar 2025 10:08:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740852516; x=1741457316; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hxuF3c3lZwO5rc+J/f3VzS3kOkH7274n54UIBCAMm1Q=; b=drKjfxQfk8xCMvab06/ucXIVTArD2qAlXWXTOkaUJzhZoThQTB41V2ZIKJj/f99QhX GLeYRpKlbMML/X94BeHGfGiGTrAOcs14QSRPlw5qgKLpPYUhJz65DuYrXglUoNn/tYmv L52wUhqbmtnUxnE+Jayg609MfpDzXYP1XMX09vYC/9R6CkXL+W4YLarMeGV3oRXYRPL5 4qrOy/O/wQZVWCLTn7CqUHMJZRwpm3SlElKFEms+H67BwoCCsScjW7MWSzxWm4K5wo/+ ue9It2TqLThQpDcp80QjjNVQKtPM3kTu+zPCYoxKf+X9WojkAgZSBdvwa98tsNnvVAG4 tkVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740852516; x=1741457316; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hxuF3c3lZwO5rc+J/f3VzS3kOkH7274n54UIBCAMm1Q=; b=QW4UDtEUSyZeFNd3B4AfpiqI0Y+g8jGqq14pzwGMYQhfix0KV646rQx3mzxol6TDWz YC8eS354DQdBMKqwvHb8lZS5VpsCtSL3SzSVRBRi8CeQlhiKEttWkcFZFV62fvC51jA0 yjKGoHSDLNPl4RFIdBtEDDyI+oetcWxX6GqyXowccQCn9p5DYzVIjN+5LbRrPsEJA+Lj ze/vV16k5nSq+kHInN/CHvoA7XTp0INE5FZcDEanp+iLjJrQtDjfb8mlFiwqi6K7nYnQ jEA+Loo/x4kI5XHj384kCIFkCZ9AIaYW3M4yVhK9pUi5ndqQOLv66boNji3tEceLvPLQ n2GQ== X-Gm-Message-State: AOJu0YxfzSa05j8hSk98aKwTiG9QDybq3ch7hZeYxGr1KPdrzfAmxhTl ggWMKgUR9VqXDdiPd3ZQRIjeICvdf6MwIX/qOJIr8ahUlorI7Cr71wBctA== X-Gm-Gg: ASbGncvGunrbiGaa3LW/03JYxILWn65SmicQ/v5PotprrPc9toDr2y4aeEqf3sNCInJ B4K2N3BVl94kbM0PWPlWeM4yBUnrLQAc3XMzBn/KUKCpn+RIVfI8thYALNKsqgJ8PodUkboUYAS GcFZvV8tlgFULc7xH+Vy0+jigygbqMXu9VWe8824TVWW7sdsHFLsxmaZiZWwTcqt1SFksPk3h/1 HFVLG5pONGOJYknIxTnLqqQUF2un/w95OXlx36FFu43hs/VPm9yrUn0Fex9PqrNcjdRQyZpXMyM cQ49ECIqkda32Sk/ImBU49lCfdnZs2miLW2+DpcXI+NuuKQtkl0LDWKsdQ== X-Google-Smtp-Source: AGHT+IEIU8oSGHZPkhl+r+U6MMsrC+/vptTJ8facD4zHeqd6XLa1JzARs5qBZOfA4Bpnzv6ok7LxcQ== X-Received: by 2002:a05:6000:1fa4:b0:38d:c73d:e52c with SMTP id ffacd0b85a97d-390ec147c67mr6952472f8f.14.1740852515596; Sat, 01 Mar 2025 10:08:35 -0800 (PST) Received: from localhost ([2a0c:5a85:d30b:5b00:e0fa:f916:8548:a2b8]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-390e485db77sm8822874f8f.86.2025.03.01.10.08.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 10:08:34 -0800 (PST) From: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Date: Sat, 1 Mar 2025 19:06:09 +0100 Message-ID: <193c3a8ea0ce9ef0b8ecba5232129b950fba6bb8.1740852370.git.sergio.pastorperez@HIDDEN> X-Mailer: git-send-email 2.48.1 In-Reply-To: <7090bd5fec7bfd51bad65aa6eebd7aea7c9a7b7f.1740852370.git.sergio.pastorperez@HIDDEN> References: <7090bd5fec7bfd51bad65aa6eebd7aea7c9a7b7f.1740852370.git.sergio.pastorperez@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Implement caching to speed up computation through memoization. Change-Id: I186e2a62f6655e3b0738dd6e0f628faccd8b855e --- guix/derivations.scm | 103 ++++++++++++++++++++++--------------------- 1 file changed, 53 insertions(+), 50 deletions(-) diff --git a/guix/derivations.scm b/guix/derivations.scm index d84d1a391c..9b44febdb8 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -1060,56 +1060,59 @@ (define* (map-derivation store drv mapping (#f (derivation-input (loop drv) sub-drvs))))))) - (let loop ((drv drv)) - (let* ((inputs (map (cut rewritten-input <> loop) - (derivation-inputs drv))) - (initial (append-map derivation-input-output-paths - (derivation-inputs drv))) - (replacements (append-map input->output-paths inputs)) - - ;; Sources typically refer to the output directories of the - ;; original inputs, INITIAL. Rewrite them by substituting - ;; REPLACEMENTS. - (sources (map (lambda (source) - (match (vhash-assoc source mapping) - ((_ . replacement) - replacement) - (#f - (if (file-is-directory? source) - source - (substitute-file source - initial replacements))))) - (derivation-sources drv))) - - ;; Now augment the lists of initials and replacements. - (initial (append (derivation-sources drv) initial)) - (replacements (append sources replacements)) - (name (store-path-package-name - (string-drop-right (derivation-file-name drv) - 4)))) - (derivation store name - (substitute (derivation-builder drv) - initial replacements) - (map (cut substitute <> initial replacements) - (derivation-builder-arguments drv)) - #:system system - #:env-vars (map (match-lambda - ((var . value) - `(,var - . ,(substitute value initial - replacements)))) - (derivation-builder-environment-vars drv)) - #:inputs (filter derivation-input? inputs) - #:sources (append sources (filter string? inputs)) - #:outputs (derivation-output-names drv) - #:hash (match (derivation-outputs drv) - ((($ <derivation-output> _ algo hash)) - hash) - (_ #f)) - #:hash-algo (match (derivation-outputs drv) - ((($ <derivation-output> _ algo hash)) - algo) - (_ #f))))))) + (define loop + (mlambdaq (drv) + (let* ((inputs (map (cut rewritten-input <> loop) + (derivation-inputs drv))) + (initial (append-map derivation-input-output-paths + (derivation-inputs drv))) + (replacements (append-map input->output-paths inputs)) + + ;; Sources typically refer to the output directories of the + ;; original inputs, INITIAL. Rewrite them by substituting + ;; REPLACEMENTS. + (sources (map (lambda (source) + (match (vhash-assoc source mapping) + ((_ . replacement) + replacement) + (#f + (if (file-is-directory? source) + source + (substitute-file source + initial replacements))))) + (derivation-sources drv))) + + ;; Now augment the lists of initials and replacements. + (initial (append (derivation-sources drv) initial)) + (replacements (append sources replacements)) + (name (store-path-package-name + (string-drop-right (derivation-file-name drv) + 4)))) + (derivation store name + (substitute (derivation-builder drv) + initial replacements) + (map (cut substitute <> initial replacements) + (derivation-builder-arguments drv)) + #:system system + #:env-vars (map (match-lambda + ((var . value) + `(,var + . ,(substitute value initial + replacements)))) + (derivation-builder-environment-vars drv)) + #:inputs (filter derivation-input? inputs) + #:sources (append sources (filter string? inputs)) + #:outputs (derivation-output-names drv) + #:hash (match (derivation-outputs drv) + ((($ <derivation-output> _ algo hash)) + hash) + (_ #f)) + #:hash-algo (match (derivation-outputs drv) + ((($ <derivation-output> _ algo hash)) + algo) + (_ #f)))))) + + (loop drv))) ;;; -- 2.48.1
X-Loop: help-debbugs@HIDDEN Subject: bug#71941: [PATCH v4 3/3] tests: Add unit test for 'map-derivation' that tests import modules as inputs Resent-From: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: sergio.pastorperez@HIDDEN, sergio.pastorperez@HIDDEN, ludo@HIDDEN, bug-guix@HIDDEN Resent-Date: Sat, 01 Mar 2025 18:09:04 +0000 Resent-Message-ID: <handler.71941.B71941.174085252923795 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 71941 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 71941 <at> debbugs.gnu.org Cc: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> X-Debbugs-Original-Xcc: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Received: via spool by 71941-submit <at> debbugs.gnu.org id=B71941.174085252923795 (code B ref 71941); Sat, 01 Mar 2025 18:09:04 +0000 Received: (at 71941) by debbugs.gnu.org; 1 Mar 2025 18:08:49 +0000 Received: from localhost ([127.0.0.1]:43280 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1toRGb-0006Bi-Df for submit <at> debbugs.gnu.org; Sat, 01 Mar 2025 13:08:49 -0500 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]:46289) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <sergio.pastorperez@HIDDEN>) id 1toRGW-0006AG-NH for 71941 <at> debbugs.gnu.org; Sat, 01 Mar 2025 13:08:46 -0500 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-390f69f8083so873439f8f.0 for <71941 <at> debbugs.gnu.org>; Sat, 01 Mar 2025 10:08:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740852518; x=1741457318; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=w9FPBbEhDvC+atKlK0nDdvYJyyiqEU3hB5hphvLXCDs=; b=k8gcgRRcvLz1BlG9TTCbMUtHHc9Mm57WGB+rhM4DMByMXhdT7uDVhPNrTVZXG866qR 5hdMwmhwUxJA6CYAqM9/Ir51bGH7TFCnJKSS0ELlVu+wAqNsGcBCguq32AguDKxIoj/g h9NIIthcaW+gp5J/m+rfl1LMHGpc39Iv13hWZ0hHZrRnlS3TOXivQ7TLzWmpVi9w8sBW 5bmlbZzuMb5aY6X8epLbjjr8FERBl/Mbcm7zczh6RbsZwOgNBBDXSVRj5++Us8g8d6Di Rq3zXuFLPrN4CXdU4tS01R9paSyhbv96EsNYSIcYqNVr6FhumICZ/nmtPbBpGr7mg/Jr uw7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740852518; x=1741457318; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=w9FPBbEhDvC+atKlK0nDdvYJyyiqEU3hB5hphvLXCDs=; b=hlHsOJZUTSFRjFWzi/I3SRrSwSr8ygXJNjqB2nhRXjBMkw8BigVp5cyIdWg8dTGCct nf3YfnLJ3/JA67Eav906P/OmJyLsDLNot8uMQ9Y/uRv0m4ds5fmLNDYKPjwjarahD8TI mN01SDwAiwTsXq2cDH5TGo3bznuYkygoJ15kyeYqQVNvBLQg9635vtPQjow52ufjkeii cMGGQ8PWppC1tTmO/+wxf7rPRu+Kgpi9v3T4INKTt8lqP2FRwVl+XTbaKHjV4S6l+lUS 5swTGR6n59BFb1i9jIjbY5czRlmuYiJzAMOgTCxsLUhYqYAtYDbnMjhe8NB3mBtqx+Op l8wA== X-Gm-Message-State: AOJu0Yy7gIthzmSSevqd+BSCL55ExJKAYoLqa+PP6YaxUQaBk2sjUW7p Ts2iCdu5n0kLT4zD82ZZ2MKbs51rhthw7BwevQeJkSt/nnXWEMZEF1GUOw== X-Gm-Gg: ASbGnctKmoKqcWb9lZXs8yi3l+fTDwSJ/FsRr60VlR4mS3MxySB7KSx1s/z9pwxR1Zo YHByOw3Cl7v1tsUOxD6orh8j8qZwL/fLtSRb2SWpMNS2IYn8o5sMDcm72CFdWH2q1qcm3RhnYvu xtanrDrC2vqLHP5J73DMlW8j9lUf1DQJyTsoOhSnphrlf8QDnFxhLnyoXvn1CvRZm6ai32F0lvS yk679kRYcnkBrLROKlvzTBjiRPCC+RTSNwYzFn2jrai14ParNEKmnd5wBUdsJUxd7Ph/NZLngNd LduIJhOL8Ew6G2Zvwfd5fR6kdle3q64xGIG/Y3sUkEH9XVsBzYqnSkIjig== X-Google-Smtp-Source: AGHT+IFNgPkUsJIoysoiHGuJ4nmjlV0gWfwDpM3FQW4Sk6iq5zW4wdFLnDNOs/62hKOmijpFOH0GYA== X-Received: by 2002:a05:6000:1868:b0:390:de58:d7fe with SMTP id ffacd0b85a97d-390eca40e2bmr7212701f8f.51.1740852518199; Sat, 01 Mar 2025 10:08:38 -0800 (PST) Received: from localhost ([2a0c:5a85:d30b:5b00:e0fa:f916:8548:a2b8]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-390e47b7c43sm8821139f8f.49.2025.03.01.10.08.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 10:08:37 -0800 (PST) From: Sergio Pastor =?UTF-8?Q?P=C3=A9rez?= <sergio.pastorperez@HIDDEN> Date: Sat, 1 Mar 2025 19:06:10 +0100 Message-ID: <c6dfb889c586387960d040d474d8c0c838fdfad6.1740852370.git.sergio.pastorperez@HIDDEN> X-Mailer: git-send-email 2.48.1 In-Reply-To: <7090bd5fec7bfd51bad65aa6eebd7aea7c9a7b7f.1740852370.git.sergio.pastorperez@HIDDEN> References: <7090bd5fec7bfd51bad65aa6eebd7aea7c9a7b7f.1740852370.git.sergio.pastorperez@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * tests/derivations.scm ("map-derivation, modules"): New test. Change-Id: I4cc18a643a9b64caeea0ae16456bdbdb56ea8c4e --- tests/derivations.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/derivations.scm b/tests/derivations.scm index 72ea9aa9cc..ffe921b284 100644 --- a/tests/derivations.scm +++ b/tests/derivations.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012-2024 Ludovic Courtès <ludo@HIDDEN> +;;; Copyright © 2025 Sergio Pastor Pérez <sergio.pastorperez@HIDDEN> ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,6 +21,7 @@ (define-module (test-derivations) #:use-module (guix derivations) + #:use-module (guix gexp) #:use-module (guix store) #:use-module (guix utils) #:use-module ((gcrypt hash) #:prefix gcrypt:) @@ -1483,6 +1485,29 @@ (define %coreutils (and (build-derivations %store (list (pk 'remapped* drv2))) (call-with-input-file out get-string-all)))) +(test-assert "map-derivation, modules" + (let* ((bash-drv (package-derivation %store (@ (gnu packages bash) bash))) + (bash-input (car (derivation-inputs bash-drv))) + (bash-input-drv (derivation-input-derivation bash-input)) + (drv-with-modules (run-with-store %store + (gexp->derivation "derivation-with-modules" + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (mkdir-p (string-append #$output + "/bin"))))))) + (bash-mapped-1 (map-derivation %store bash-drv + `((,bash-input-drv . ,drv-with-modules)))) + (bash-mapped-2 (map-derivation %store bash-mapped-1 + `((,drv-with-modules . ,bash-input-drv)))) + (is-input? (lambda (in drv) + (not (null? (filter (lambda (input) + (eq? in (derivation-input-derivation input))) + (derivation-inputs drv))))))) + (and + (not (is-input? bash-input-drv bash-mapped-1)) + (is-input? bash-input-drv bash-mapped-2)))) + (test-end) ;; Local Variables: -- 2.48.1
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.