From patchwork Mon Feb 24 22:56:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Morgan Smith X-Patchwork-Id: 39125 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 13E4B27BBEA; Mon, 24 Feb 2025 22:58:35 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-6.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,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 0E16A27BBE9 for ; Mon, 24 Feb 2025 22:58:33 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tmhOr-0004K7-M7; Mon, 24 Feb 2025 17:58:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tmhOo-0004Iz-Hx for guix-patches@gnu.org; Mon, 24 Feb 2025 17:58:07 -0500 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 1tmhOo-0005Wn-8h for guix-patches@gnu.org; Mon, 24 Feb 2025 17:58:06 -0500 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=PYN6evi6tU/+Ph+54XLXoYVf88d16eSO6TBK/1fSTFs=; b=mZA9sX8CxyyoGz4sdPtumR3NZMAoK3EDoZpjwi4zPnPIxoOw6pXsmvaYrDQgNM1eyERWv3s6qLQgjTJza5z1xFIq2He87FSQQfi99Tr/xeuHKeYRFmyhxu80+EOvn8yc6j+hZFqhpdHRwyuvEqRawRvZyRuxYjpS02OZGK4dbPJFkEiuz/p/bWDxW2MjpeIT9GTP8S1BGb/dP5HDkwisNbSti3HygJDaG4I2RsM+zfyZ0Nu2SKOfYvImIMpue1gUXvkdwxIbcQ7hRExbT1wAhrQ3a2ZD4Sgbt063JFiWpt1I77zverPvDLFZ681NhA0IqE9LSdnKLkye0R1LB25VQw==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tmhOm-0006ao-K4; Mon, 24 Feb 2025 17:58:04 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#76529] [PATCH 1/4] gnu: emacs: Update to 30.1. References: In-Reply-To: Resent-From: Morgan Smith Original-Sender: "Debbugs-submit" Resent-CC: andrew@trop.in, divya@subvertising.org, ian@retrospec.tv, cox.katherine.e+guix@gmail.com, liliana.prikler@gmail.com, guix-patches@gnu.org Resent-Date: Mon, 24 Feb 2025 22:58:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76529 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76529@debbugs.gnu.org Cc: Morgan Smith , Andrew Tropin , Divya Ranjan Pattanaik , Ian Eure , Katherine Cox-Buday , Liliana Marie Prikler X-Debbugs-Original-Xcc: Andrew Tropin , Divya Ranjan Pattanaik , Ian Eure , Katherine Cox-Buday , Liliana Marie Prikler Received: via spool by 76529-submit@debbugs.gnu.org id=B76529.174043785625256 (code B ref 76529); Mon, 24 Feb 2025 22:58:04 +0000 Received: (at 76529) by debbugs.gnu.org; 24 Feb 2025 22:57:36 +0000 Received: from localhost ([127.0.0.1]:43320 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tmhOH-0006Z7-7h for submit@debbugs.gnu.org; Mon, 24 Feb 2025 17:57:36 -0500 Received: from mail-dm6nam10olkn20813.outbound.protection.outlook.com ([2a01:111:f403:2c13::813]:23840 helo=NAM10-DM6-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 1tmhO3-0006YK-Fw for 76529@debbugs.gnu.org; Mon, 24 Feb 2025 17:57:20 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jey3BTEP0D5HqJ8Q7QE6Uj/0tQtcu0x+Iq4H459VEzGQ+WR7eNIwJ1mlJPXWvDC4Ij1Lv5aQWzsKL3wSJAeolaLfuX8TWcpz/dsJxDN6Gz9ITuqM/yZx0An+FTAUbitEk2PQnWFVLjN19DotR2NTMKJgIos9zxVa7jxqkZOx++Gw8pBwvzJS8TOcZl5+GA+sXnO9I2Z17ZEhiTEUypGEC1TXfCRzPfcFKm8IObzagp+hU3VihMKvuNh70Uvb3tWalOBbFWTzZk7IUtYUXvru4fdBFYDbWyjNQzGnol6kYOn4khJXsQghWOwXUdo+0x53cEsnrmeUnNG43Lc7E6MgSQ== 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=PYN6evi6tU/+Ph+54XLXoYVf88d16eSO6TBK/1fSTFs=; b=juV69SDmVnP3wzoKYf+auj3InPxrlBsLSvt9vDeZgqq8nFEOb9OuI+duADpNv9i5Zw5adAEVhNgUItQ51abR1EaESDwnBvANA3CNE3RU2lhzV5v8vXKgiJRMl++pavUQ1EDamK3WTgyzWF/vlsCrhrxR20UFjo/1DmaCgmEWqqdJ1gZtRjzJSG0CjZ/+/EfUk/m5kA2vYXtMjvOpH1lIoijdrAz52ssEeTX1QqDALetbr2kpkuunoKWLL/s5JTHSHFVwwkG5RJEd/MXeyz+gWLIZGUT2543sq4d8I3/ODxEqI9PWihu0zr1jqFPTE/zv3rIYsxkd5r7EAWjBqhnc5g== 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=PYN6evi6tU/+Ph+54XLXoYVf88d16eSO6TBK/1fSTFs=; b=XQgxvx8uDQdWQRQqLc+/AXc56OCYS6+4gDUgpSEs3UQxXvo3zfO5HVdmF0aTlrNkrqNqJTqrFRAN8kY6ijjQFW0dWQqZRMe6NdWJf6NS0Ib7sW+jCz2HymecL+fevRCiGU2DT+mTTRr8RzDbyIOAx0iTHv0QnqXL8Wgkvl3lxiRYnflTZQG5SkUI7htCCfCHlf4SjKPsvCIstAUL5PAPKOP7bosZl4xTkGhH3OtVfYcEeaHJfXcVTo8tG99jD0pMBZohrFlRwm1GOSuW01cNTZ9ZhDM7fR/cyV6SP2z+Iu8IeEOrSkhX0sdcf/YNWffW5G4vVeWODxxCV81zi19PYQ== Received: from CH3PR84MB3424.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:610:1c4::17) by IA1PR84MB3107.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:208:3e9::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.20; Mon, 24 Feb 2025 22:57:11 +0000 Received: from CH3PR84MB3424.NAMPRD84.PROD.OUTLOOK.COM ([fe80::5c77:7a58:48ed:9aef]) by CH3PR84MB3424.NAMPRD84.PROD.OUTLOOK.COM ([fe80::5c77:7a58:48ed:9aef%4]) with mapi id 15.20.8466.016; Mon, 24 Feb 2025 22:57:10 +0000 From: Morgan Smith Date: Mon, 24 Feb 2025 17:56:23 -0500 Message-ID: X-Mailer: git-send-email 2.48.1 X-ClientProxiedBy: YQBPR0101CA0237.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:66::32) To CH3PR84MB3424.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:610:1c4::17) X-Microsoft-Original-Message-ID: <40b8619dfc96d3e730bffd30d7f4ebb2e3610019.1740437785.git.Morgan.J.Smith@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR84MB3424:EE_|IA1PR84MB3107:EE_ X-MS-Office365-Filtering-Correlation-Id: 4193d402-19dc-4dbd-296a-08dd552691eb X-Microsoft-Antispam: BCL:0; ARA:14566002|7092599003|5072599009|461199028|15080799006|6090799003|8060799006|19110799003|1602099012|3412199025|4302099013|440099028|10035399004|12071999003|21061999003|41001999003|12091999003|1710799026; X-Microsoft-Antispam-Message-Info: tRbO6TnvIuddQWuFl+RK83O/m7/1rzFvgLp686no+wU3kIO9xvdUWZ9qN40IOBmveMYCJTJuDdFap4zLFGl8Bo6AfHSzh1KK6DexvwfQ9q2VIq4wzfVkY4VOAlO/6L71wtduA40wUxUycwCTm5TXPPf6hZfG3ht3HBWR6V6PiDqv6i9ZcOjJlUnQdRVVd8+9aB3kT/KjihQvWLWpY3x5iB0ppXSqGGYqN6zbKog16BYoAQESBGPRgAFq+eO/X4ekuK9b8kKXQ17w7xcIZ2YPwTw+WaakjMtzw+ObvA8GYPW28pRD2T3DR4p+HRCaNaXa+5g4phNb/Ukt0MQhksdQodRO8hwMYhCU//Yexa++rA7RfULe3AjOpARKTz8lD0vdKNp8Wmgx2KqZSNiQgX549bz7wkI7Dwu4sYMFw1BUerH5oDTrT8yBmrVxGWc874Fe1NAcuRH5fQIPcdsFbaEQOIPc+9unObqirdEstdBeVH0IO1bzZaCkqi0VO5OgcwOEOMTYLux8QoUhQ4+mir70/M1EHILFAEQVRWwcyUxGvRJ1gz/7mgtr2Dzb0GQb6B/pT/3lGQZX4mNuJL3M/y1WWVScwRjURorM5TxXPd+aduZ2hA2fOaFmJGoNYdN/iZQ9qW65RI8/0XC9nnE0Oz7wp+o4qK5Dc3KNFidQ/MgpYQbwHoJ2QuI0DEn9Y9TLTt3H7XoY3EoxtCIvPF2uf/k7kFfDMDV7b1U8NESKyKo86wW+0IX3WVagXOuR0e7Yw5eNZsSFpn0QFbGRt9vnqHuDMDSO9fDTrYWELXuFapyFwQ+m64ToA1fsikzjswJEjCZ8881oYJsJltwOpzuhTtKIj08kGCVIyAflbz5vbtDcrBjAtrdN95cYvZww5rWduyFPooJC55CNGb263qpPqCRMoHeWPvUCqMCVD1xYnEPMcF7F8wlu1U6g8dkGKIiOj6cF1Z9AZ0FojT0O8McIODqDstvNUB5oBIeiGHx5ATjjMZFlf6qBSOFUpYHYFT6GEzLenl2KYPY4WDSAS48jFu+Rf26pFvSgXnSXP0ScoOC1/AJxamPJxCygpdvm8sihKpjamZDE/XO13l2jZU3OhkVUwxRhFe9E2kCdaJZwLDjuBYSXSxGXxB7aAPp77NO7Ai/+JYNldYmjC8+kbLHVawwOw09yzKe7d4Dw//M2/4S8O+FFSKEttU8L0NTKK4jlx0QWropkMJ/pbDM6gKVUg+ADXnDoXA+ByXG4yBGg5j4FA3oUVz1hgj20AaNDZ3XFouF1S9un3kRLIyJaLdURgvEVE/JDdzLQN5fEndeEy533fgJhRDgq5EEeBtVkQl33cuur7L52wXagHImq53mwPK2+ARJePv/QVhdICs82v4h0e0Up5vfxgTqcS9Z4mc2eiqgq X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: UufKQrZ7+1PdnuwAbj9hYlM8Lo81/gZtihnBrtN8RnEj4gszL/AIKTFze+PWlPZFXhB4nlYfIiK5XwrAPM/svmgFsX03QZkbVHz2VHU4eWMlqZaWTKa7Nra0gSU7NhxJ8jcm8b/MNAQv9wgOlaOTP5as1giHCyk8i1EeOaUcvvoOZzFXP48pcIdoTBlnL0fP3kY91NC6HA/I8SAJpQR1Xby6SkiZHCvgbyWZ+PvoF3wAUnZhOPYZyJFYATffRN94rohKVK4rCdb3Rn3AXf9g8uT44zJ3Kexlh69fICl7WOaM8h9XNcn2VItVfTOer4AhYa/SbrYj73KsN5K7999Bj/21h8E1opFurKBnel4UGgBH3+Z2GXUQQVmn8Js0+muslAJoyVH+v+zHphgIO4g4Dd0lgb8G/M4FAggGHleSb49pbomYpMBDU+SnA6RqP1Rif9t9oay4yKXmTrLanvZVTc3guaZBR/PYFx7jGjIxNSALdYO42cCjRD9ZNftwdrJKU+iLSPJGijFvL0gvnca+BUZzJmUzJmR3BUyvbTqUJFvbw7XyBsEwYikTO/QzSEwoXPPnY94xpr2uoM0ktXIoJ3QQojoCIhDQhPEAO5a8aGbYA4LToMihBjPdYFwiuUatgzA7XxKuf62q0jTXTA0ZvT7j78122AINz87fo4MuVdw3urUHLSD6vNg+OwuqktEbzIKyq82BNkyVI1H4b0qsqtDso2ykiBMdEmyQA4KTiWbd9IIfeTR3bb4em1eff6AQZVtIvkrRvRsVSRxper3oCnkqhEVYyCKDUrX9fvR2KbZe619n4VNxgHZZp7xuNuLcnHYNwiVEEJkdH+EOSocihUYK8uBDSrOqXVizADt0ZF0tCfw6+Tbk+eTQ57IeK8au/WuE4NoTAQoXHkBzQ8KmpExEHlOxuKSdZtwQzvsthZV0IdXruZP1BJyYqm3/HaSJEt6UtgvGRsU0jQ5DMPpOleIYU0ioY5WxfVL3pQ1OYhf5ATJojk1qhzQEggj93QXYkV/a0+JR1dtyJGDmAJ4BeBvo7Xpb7TVztx80GHN+J+vkWD3QgVfLCLj4IVycMWJrBeeosTEEgoVeWPJCfq9qFw2/SSTUwnhb2+aSwdQuxDjYjmI7oDpAlfYbv57b8p+CER1rIE8nYbpiuTi2GBv9Y2eqahgMxhM6otU7bc/tQyOZtWHclA7nPNw6ja5TDtwa/uK6NpKVo9jStC1/yRlgKv86T5rMO4sqZ10FizfRwvfI+pY6tyZ0ilYaejtXCbE+ X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4193d402-19dc-4dbd-296a-08dd552691eb X-MS-Exchange-CrossTenant-AuthSource: CH3PR84MB3424.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Feb 2025 22:57:10.7599 (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: IA1PR84MB3107 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/emacs.scm (emacs-minimal): Update to 30.1. (guile-emacs): Remove now unneeded phase. * gnu/packages/aux-files/emacs/comp-integrity.el: Update with new type names. * gnu/packages/patches/emacs-exec-path.patch: Replace with 'emacs-next-...' patch. * gnu/packages/patches/emacs-native-comp-driver-options.patch: Likewise * gnu/packages/patches/emacs-native-comp-fix-filenames.patch: Likewise Change-Id: Ic144329bfe5a126a5d7e86dd0fdb726cf92de175 --- .../aux-files/emacs/comp-integrity.el | 6 +- gnu/packages/emacs.scm | 9 +- gnu/packages/patches/emacs-exec-path.patch | 26 +++--- .../emacs-native-comp-driver-options.patch | 7 +- .../emacs-native-comp-fix-filenames.patch | 93 ++++++++++--------- 5 files changed, 73 insertions(+), 68 deletions(-) base-commit: 61428ccf41f21f5ea1e4f1eec722ef9b1efc3a0e diff --git a/gnu/packages/aux-files/emacs/comp-integrity.el b/gnu/packages/aux-files/emacs/comp-integrity.el index abe7e7c0c9..4e8233a276 100644 --- a/gnu/packages/aux-files/emacs/comp-integrity.el +++ b/gnu/packages/aux-files/emacs/comp-integrity.el @@ -16,9 +16,9 @@ (let ((desc (substring-no-properties (with-output-to-string (help-fns-function-description-header ',fun))))) - (cond ((string-search "native-compiled" desc) 'native) - ((string-search "byte-compiled" desc) 'byte) - ((string-search "built-in" desc) 'built-in) + (cond ((string-search "native-comp-function" desc) 'native) + ((string-search "byte-code-function" desc) 'byte) + ((string-search "primitive-function" desc) 'built-in) (t nil)))))))) (defmacro expect-native (fun &optional feature) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index c5e671c6a9..4d14feb38b 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -100,7 +100,7 @@ (define (%emacs-modules build-system) (define-public emacs-minimal (package (name "emacs-minimal") - (version "29.4") + (version "30.1") ;; Note: When using (replacement …), ensure that comp-native-version-dir ;; stays the same across grafts. ;; Run `make check-system TESTS=emacs-native-comp' to ensure that grafts @@ -111,7 +111,7 @@ (define-public emacs-minimal version ".tar.xz")) (sha256 (base32 - "0dd2mh6maa7dc5f49qdzj7bi4hda4wfm1cvvgq560djcz537k2ds")) + "13qkdx515qv7m8b2mpd37p16frs0xgl7bw8xvv397bz6fspc3jkc")) (patches (search-patches "emacs-disable-jit-compilation.patch" "emacs-exec-path.patch" "emacs-fix-scheme-indent-function.patch" @@ -172,7 +172,6 @@ (define-public emacs-minimal "lisp/mail/feedmail.el" "lisp/obsolete/pgg-pgp.el" "lisp/obsolete/pgg-pgp5.el" - "lisp/obsolete/terminal.el" "lisp/org/ob-eval.el" "lisp/textmodes/artist.el" "lisp/progmodes/sh-script.el" @@ -721,10 +720,6 @@ (define-public guile-emacs ;; Likewise, we don't need to patch helper binaries ;; like etags, ctags or ebrowse. "^emacs(-[0-9]+(\\.[0-9]+)*)?$"))))) - (add-after 'unpack 'help-patch-progam-file-names - (lambda _ - (call-with-output-file "lisp/obsolete/terminal.el" - (lambda (port) (display port))))) (add-after 'configure 'touch-lisp/finder-inf.el (lambda _ (call-with-output-file "lisp/finder-inf.el" diff --git a/gnu/packages/patches/emacs-exec-path.patch b/gnu/packages/patches/emacs-exec-path.patch index 9a76b0237d..6e33e25258 100644 --- a/gnu/packages/patches/emacs-exec-path.patch +++ b/gnu/packages/patches/emacs-exec-path.patch @@ -2,15 +2,17 @@ Do not capture the build-time value of $PATH in the 'emacs' executable since this can noticeably increase the size of the closure of Emacs with things like GCC being referenced. ---- a/lisp/loadup.el -+++ b/lisp/loadup.el -@@ -530,7 +530,8 @@ lost after dumping"))) - ((equal dump-mode "dump") "emacs") - ((equal dump-mode "bootstrap") "emacs") - ((equal dump-mode "pbootstrap") "bootstrap-emacs.pdmp") -- (t (error "Unrecognized dump mode %s" dump-mode))))) -+ (t (error "Unrecognized dump mode %s" dump-mode)))) -+ (exec-path nil)) - (when (and (featurep 'native-compile) - (equal dump-mode "pdump")) - ;; Don't enable this before bootstrap is completed, as the +Index: emacs-next/lisp/loadup.el +=================================================================== +--- emacs-next.orig/lisp/loadup.el ++++ emacs-next/lisp/loadup.el +@@ -599,7 +599,8 @@ lost after dumping"))) + ((equal dump-mode "dump") "emacs") + ((equal dump-mode "bootstrap") "emacs") + ((equal dump-mode "pbootstrap") "bootstrap-emacs.pdmp") +- (t (error "Unrecognized dump mode %s" dump-mode))))) ++ (t (error "Unrecognized dump mode %s" dump-mode)))) ++ (exec-path nil)) + (when (and (featurep 'native-compile) + (equal dump-mode "pdump")) + ;; Don't enable this before bootstrap is completed, as the diff --git a/gnu/packages/patches/emacs-native-comp-driver-options.patch b/gnu/packages/patches/emacs-native-comp-driver-options.patch index 308c4f1212..e4ed5a48f1 100644 --- a/gnu/packages/patches/emacs-native-comp-driver-options.patch +++ b/gnu/packages/patches/emacs-native-comp-driver-options.patch @@ -2,12 +2,13 @@ We substitute this anyway, so let's make it easier to substitute. --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el -@@ -178,8 +178,7 @@ and above." +@@ -203,9 +203,7 @@ and above." :type '(repeat string) :version "28.1") --(defcustom native-comp-driver-options (when (eq system-type 'darwin) -- '("-Wl,-w")) +-(defcustom native-comp-driver-options +- (cond ((eq system-type 'darwin) '("-Wl,-w")) +- ((eq system-type 'cygwin) '("-Wl,-dynamicbase"))) +(defcustom native-comp-driver-options nil "Options passed verbatim to the native compiler's back-end driver. Note that not all options are meaningful; typically only the options diff --git a/gnu/packages/patches/emacs-native-comp-fix-filenames.patch b/gnu/packages/patches/emacs-native-comp-fix-filenames.patch index 169323f290..7897fa9b04 100644 --- a/gnu/packages/patches/emacs-native-comp-fix-filenames.patch +++ b/gnu/packages/patches/emacs-native-comp-fix-filenames.patch @@ -12,11 +12,11 @@ way into the actual variable despite attempts to remove it by calling The user-visible procedure ‘startup-redirect-eln-cache’ is kept, as packages may require it, but only pushes the new value now. -Index: emacs-29.2/src/comp.c +Index: emacs-next/src/comp.c =================================================================== ---- emacs-29.2.orig/src/comp.c -+++ emacs-29.2/src/comp.c -@@ -4396,26 +4396,17 @@ DEFUN ("comp-el-to-eln-rel-filename", Fc +--- emacs-next.orig/src/comp.c ++++ emacs-next/src/comp.c +@@ -4403,26 +4403,17 @@ DEFUN ("comp-el-to-eln-rel-filename", Fc Scomp_el_to_eln_rel_filename, 1, 1, 0, doc: /* Return the relative name of the .eln file for FILENAME. FILENAME must exist, and if it's a symlink, the target must exist. @@ -49,7 +49,7 @@ Index: emacs-29.2/src/comp.c if (NILP (Ffile_exists_p (filename))) xsignal1 (Qfile_missing, filename); -@@ -4423,64 +4414,55 @@ one for the file name and another for it +@@ -4430,64 +4421,55 @@ one for the file name and another for it filename = Fw32_long_file_name (filename); #endif @@ -157,7 +157,7 @@ Index: emacs-29.2/src/comp.c } DEFUN ("comp-el-to-eln-filename", Fcomp_el_to_eln_filename, -@@ -4494,13 +4476,7 @@ If BASE-DIR is non-nil, use it as the di +@@ -4501,13 +4483,7 @@ If BASE-DIR is non-nil, use it as the di non-absolute BASE-DIR is interpreted as relative to `invocation-directory'. If BASE-DIR is omitted or nil, look for the first writable directory in `native-comp-eln-load-path', and use as BASE-DIR its subdirectory @@ -172,7 +172,7 @@ Index: emacs-29.2/src/comp.c (Lisp_Object filename, Lisp_Object base_dir) { Lisp_Object source_filename = filename; -@@ -4548,10 +4524,11 @@ the latter is supposed to be used by the +@@ -4555,10 +4531,11 @@ the latter is supposed to be used by the Lisp_Object lisp_preloaded = Fgetenv_internal (build_string ("LISP_PRELOADED"), Qnil); base_dir = Fexpand_file_name (Vcomp_native_version_dir, base_dir); @@ -186,7 +186,7 @@ Index: emacs-29.2/src/comp.c CALL1I (split-string, lisp_preloaded)))))) base_dir = Fexpand_file_name (build_string ("preloaded"), base_dir); -@@ -5863,10 +5840,7 @@ The last directory of this list is assum +@@ -5875,10 +5852,7 @@ The last directory of this list is assum the system *.eln files, which are the files produced when building Emacs. */); @@ -198,11 +198,11 @@ Index: emacs-29.2/src/comp.c DEFVAR_LISP ("native-comp-enable-subr-trampolines", Vnative_comp_enable_subr_trampolines, -Index: emacs-29.2/lisp/startup.el +Index: emacs-next/lisp/startup.el =================================================================== ---- emacs-29.2.orig/lisp/startup.el -+++ emacs-29.2/lisp/startup.el -@@ -545,9 +545,6 @@ DIRS are relative." +--- emacs-next.orig/lisp/startup.el ++++ emacs-next/lisp/startup.el +@@ -527,9 +527,6 @@ DIRS are relative." (defvar native-comp-jit-compilation) (defvar native-comp-enable-subr-trampolines) @@ -212,7 +212,7 @@ Index: emacs-29.2/lisp/startup.el (defun startup-redirect-eln-cache (cache-directory) "Redirect the user's eln-cache directory to CACHE-DIRECTORY. CACHE-DIRECTORY must be a single directory, a string. -@@ -558,22 +555,10 @@ to `user-emacs-directory'. +@@ -540,22 +537,10 @@ to `user-emacs-directory'. For best results, call this function in your early-init file, so that the rest of initialization and package loading uses the updated value." @@ -232,10 +232,10 @@ Index: emacs-29.2/lisp/startup.el - (setq startup--original-eln-load-path - (copy-sequence native-comp-eln-load-path)))) - - (defun normal-top-level () - "Emacs calls this function when it first starts up. - It sets `command-line-processed', processes the command-line, -@@ -1362,12 +1347,6 @@ please check its value") + (defun startup--rescale-elt-match-p (font-pattern font-object) + "Test whether FONT-OBJECT matches an element of `face-font-rescale-alist'. + FONT-OBJECT is a font-object that specifies a font to test. +@@ -1383,12 +1368,6 @@ please check its value") startup-init-directory))) (setq early-init-file user-init-file) @@ -248,7 +248,7 @@ Index: emacs-29.2/lisp/startup.el ;; If any package directory exists, initialize the package system. (and user-init-file package-enable-at-startup -@@ -1502,12 +1481,6 @@ please check its value") +@@ -1523,12 +1502,6 @@ please check its value") startup-init-directory)) t) @@ -261,10 +261,10 @@ Index: emacs-29.2/lisp/startup.el (when (and deactivate-mark transient-mark-mode) (with-current-buffer (window-buffer) (deactivate-mark))) -Index: emacs-29.2/lisp/loadup.el +Index: emacs-next/lisp/loadup.el =================================================================== ---- emacs-29.2.orig/lisp/loadup.el -+++ emacs-29.2/lisp/loadup.el +--- emacs-next.orig/lisp/loadup.el ++++ emacs-next/lisp/loadup.el @@ -53,6 +53,14 @@ (setq redisplay--inhibit-bidi t) @@ -280,9 +280,16 @@ Index: emacs-29.2/lisp/loadup.el ;; Add subdirectories to the load-path for files that might get ;; autoloaded when bootstrapping or running Emacs normally. -@@ -494,22 +502,20 @@ lost after dumping"))) - (concat eln-dest-dir "native-lisp/" comp-native-version-dir "/")) +@@ -538,27 +546,25 @@ This to have it working when installed o + directory got moved. This is set to be a pair in the form of: + \(rel-filename-from-install-bin . rel-filename-from-local-bin)." + (when (and load--bin-dest-dir load--eln-dest-dir) +- (setq eln-dest-dir +- (concat load--eln-dest-dir "native-lisp/" comp-native-version-dir "/")) ++ (setq load--eln-versioned-dest-dir ++ (concat load--eln-dest-dir "native-lisp/" comp-native-version-dir "/")) (maphash (lambda (_ cu) + (when (stringp (native-comp-unit-file cu)) (let* ((file (native-comp-unit-file cu)) - (preloaded (equal (substring (file-name-directory file) - -10 -1) @@ -302,33 +309,33 @@ Index: emacs-29.2/lisp/loadup.el - (file-name-nondirectory - file) - eln-dest-dir-eff) -- bin-dest-dir) +- load--bin-dest-dir) + (file-relative-name + (expand-file-name + (save-match-data + (string-match native-lisp-needle file) + (substring file (match-end 0))) -+ eln-dest-dir) -+ bin-dest-dir) ++ load--eln-versioned-dest-dir) ++ load--bin-dest-dir) ;; Relative filename from the built uninstalled binary. - (file-relative-name file invocation-directory))))) - comp-loaded-comp-units-h))) -@@ -557,7 +563,9 @@ lost after dumping"))) - (equal dump-mode "pdump")) - ;; Don't enable this before bootstrap is completed, as the - ;; compiler infrastructure may not be usable yet. -- (setq native-comp-enable-subr-trampolines t)) -+ (setq native-comp-enable-subr-trampolines t -+ ;; We loaded everything we could. -+ comp-file-preloaded-p nil)) - (message "Dumping under the name %s" output) - (condition-case () - (delete-file output) -Index: emacs-29.2/src/Makefile.in + (file-relative-name file invocation-directory)))))) + comp-loaded-comp-units-h))) +@@ -644,7 +650,9 @@ directory got moved. This is set to be + (equal dump-mode "pdump")) + ;; Don't enable this before bootstrap is completed, as the + ;; compiler infrastructure may not be usable yet. +- (setq native-comp-enable-subr-trampolines t)) ++ (setq native-comp-enable-subr-trampolines t ++ ;; We loaded everything we could. ++ comp-file-preloaded-p nil)) + (message "Dumping under the name %s" output) + (condition-case () + (delete-file output) +Index: emacs-next/src/Makefile.in =================================================================== ---- emacs-29.2.orig/src/Makefile.in -+++ emacs-29.2/src/Makefile.in -@@ -553,6 +553,7 @@ shortlisp := $(filter-out ${shortlisp_fi +--- emacs-next.orig/src/Makefile.in ++++ emacs-next/src/Makefile.in +@@ -591,6 +591,7 @@ shortlisp := $(filter-out ${shortlisp_fi ## We don't really need to sort, but may as well use it to remove duplicates. shortlisp := loaddefs.el loadup.el $(sort ${shortlisp}) export LISP_PRELOADED = ${shortlisp}