Subject: [bug#70632] [PATCH 1/2] aux-files: comp-integrity: Adjust for newer emacs.

From: Morgan Smith <[email-masked]>
Date: Wed, 08 May 2024 14:48:55 -0400

Liliana Marie Prikler <[email-masked]> writes:

> Am Mittwoch, dem 01.05.2024 um 16:06 -0400 schrieb Morgan Smith:
> TL;DR: If we do a new file or a phase, we only rebuild emacs-next.  If
> we modify the file in-place, we rebuild emacs, because it uses it. 
> Between a phase and a new file, a new file is preferable, because we
> can then 'mv' it over the old one.

I apologize.  In my mind we where talking about two different changes at
the same time.  A change to emacs-next right now, and a change that
would rebuild all of emacs but live on a branch for now.

I still think that's the optimal route.  Apply the phase patch right now
to main, and then the file modification to some branch.

On a related note, I do have two changes I'd like to make when we
rebuild all of emacs.  I've attached the changes to this mail despite it
not being quite the right place to send them.  Also I didn't actually
test them because I don't really want to rebuild all of that myself.

>> In guix/build/emacs-utils.scm:emacs-generate-autoloads, there is a
>> condition to support emacs 28.  I don't think we ever use that path
>> anymore but it is nice to have a robust function that "just works".
>> Espiaclly back when we did have emacs 28 and 29 packages in guix.
> This is somewhat legacy code that has grown that way back when Emacs 29
> was emacs-next.  There was no good reason to drop it with the switch,
> but come Emacs 30, 31, and maintainability might be one.

My issue isn't that you're wrong, but rather I would argue "it's not a
big deal".  To maintain clean minimal code we should remove that
condition and so I see your point.  But also, it is such a small
addition of code that adds significant backwards compatibility to the
function.

>From bfb0492b28dddd69bc894de278b5ccbd0d12bd33 Mon Sep 17 00:00:00 2001
Message-ID: <bfb049[email-masked]>
From: Morgan Smith <[email-masked]>
Date: Wed, 8 May 2024 14:37:46 -0400
Subject: [PATCH 1/2] build-system/emacs: Allow usage of
 #:{allowed/disallowed}-references key

* guix/build-system/emacs.scm (emacs-build): Pass #:allowed-references and

Change-Id: Ib9a35a7b2115365b96675fb7ca3914b0ae7e67c7
#:disallowed-references keys to builder.
---
 guix/build-system/emacs.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/guix/build-system/emacs.scm b/guix/build-system/emacs.scm
index ebf97a5344..35910e1b6d 100644
--- a/guix/build-system/emacs.scm
+++ b/guix/build-system/emacs.scm
@@ -95,7 +95,9 @@ (define* (emacs-build name inputs
                       (imported-modules %emacs-build-system-modules)
                       (modules '((guix build emacs-build-system)
                                  (guix build utils)
-                                 (guix build emacs-utils))))
+                                 (guix build emacs-utils)))
+                      allowed-references
+                      disallowed-references)
   "Build SOURCE using EMACS, and with INPUTS."
   (define builder
     (with-imported-modules imported-modules

base-commit: 7b7f299bb493e485c5534b8c554e51d4f3a8c026
prerequisite-patch-id: 228487164337ccc7df5633c5c6a91fcca993b88a
prerequisite-patch-id: 15497860d4d342179c53c716ebc7039f9c34d785
prerequisite-patch-id: de0d348f5e8f8548bafba10339481a08bd63bcb8
prerequisite-patch-id: 1c516a9ffd4f230d1a0c8a0d32081a6861bfe1de
prerequisite-patch-id: dbf0d15c2b5f4155a322232b2433782721fb6c3d
prerequisite-patch-id: 1034b52682613afdb7b6e71bb33b2a1f99e2051f
prerequisite-patch-id: b3f97a6754c429c6968a861e59c5855e9a0e4984
prerequisite-patch-id: 00a8699a27f340aa6a6e97c4fb45d9ce429cb9d5
prerequisite-patch-id: df520101f3206f576f42f59d7eed65970f7c7775
prerequisite-patch-id: 5123f0e53dedcef03247a9f2eb18479f51808ef2
prerequisite-patch-id: 63c4a90f4de15b5691cff8dbfd570e11725f2a8d
prerequisite-patch-id: 620d07a109a9a819b12bd25b61e36e30a505bc1e
prerequisite-patch-id: cce126a37582a0dd422cb6901c2f36779d53bfbf
prerequisite-patch-id: 4447b1e254600ae044ea29df1a783f41330386b6
prerequisite-patch-id: 44393351676575acadd16c4149722ba56c988c39
prerequisite-patch-id: d9d591e4b630a837ac018d805a0cdd064be5aa65
prerequisite-patch-id: 6f2fa68451c4831841049b9b165a12b98225323c
prerequisite-patch-id: 6a28c36a2bffb2a3fa99cbc7519bc7be2c2e827e
prerequisite-patch-id: f43ed73b1dc78274f954fe053efdd0b424b002ae
prerequisite-patch-id: 4f5110050cc3c6cd44f35e8bdebf413049f362c7
prerequisite-patch-id: 06a0dab6f112fc8bb4859f13f3c943591bc86ca6
prerequisite-patch-id: ac371cc420806e0184e7320260f3aecc795507ad
prerequisite-patch-id: 5218f162fa865cfe23712a8afb9a97c6e00d9a5b
prerequisite-patch-id: 3421e0a088add352ff230c1471bc7d4097fc33f6
prerequisite-patch-id: 59dfcf7314edd1ced95cfa18ad97da01190abd37
prerequisite-patch-id: 088ad347566bb575087253465ff649417de83031
prerequisite-patch-id: 47a3a11659aef5d170e3dd9c8fb174e301087627
prerequisite-patch-id: 45614401deda5bdcd1527f6d7ebb1a916a31d0ff
prerequisite-patch-id: 1cb26e4ca3aec0777e82c362f85102058914eec9
prerequisite-patch-id: be89334a48e8fc0aa033760be7b6bc2a497fcdf5
prerequisite-patch-id: 1fee8851c9fc5ed4f8acf135db668bbeb04d807b
prerequisite-patch-id: 337bc190dcef601af64b7f226acf560d2aff7c4f
prerequisite-patch-id: a6302f36dd276abd7e732cea41a5e94f67e8b87a
prerequisite-patch-id: c5c17c43c0cb139d0bcb28a115fd7d66eb59ee0f
prerequisite-patch-id: faef782b5cd6da66afcbdfaffa5d581d8836f1e3
prerequisite-patch-id: 9fd04d5512c103a3c8ef4992532623351a2e4086
prerequisite-patch-id: d0c9c90f1945b7fa46097290f4e6b30814b8d3c2
prerequisite-patch-id: 9c1eb832e0192fcaf56d2c230bda51a8f72e6c3b
prerequisite-patch-id: b99154be37a07d694e347f158694c366acd71717
prerequisite-patch-id: fe1b89029f914c8de80bf84dedb53f6ae55af562
prerequisite-patch-id: 9e7035825b1a294f8bfccc4714439909ce0e784a
prerequisite-patch-id: 339a1f2719cb4ca7b706070dd2a4632881de9629
prerequisite-patch-id: e721b9f14d8941d07e1eed5071746aa89bf95a37
prerequisite-patch-id: d926e4b96a404967a7bb24e88492444e70ec9c2c
prerequisite-patch-id: 10e91de6d462fbddad8e89980cd628fdd2073b9d
prerequisite-patch-id: 8979df3aeb9fa4996f1d4d8c34bbed0dcdfcc8d6
prerequisite-patch-id: 06831e794460e54dad3ef7991f21800e224530da
prerequisite-patch-id: 85ba9aa78b62a407797db3a27c0d66eb2b92aa2d
prerequisite-patch-id: cb22185b66d1456076d0c6c6e59b2137a102997b
prerequisite-patch-id: 89da8c9f2a3b60756e28b3918543e29b32ea7c03
prerequisite-patch-id: 9e803b98dd169a0902db29b216cb7e284c16b943
prerequisite-patch-id: e4ec309b8a417ffba697c237da4dbe85ccac4e7e
prerequisite-patch-id: 6e46d6b7fc279117848c0e3a0247c1d84ce58505
prerequisite-patch-id: cef5c8dde54b1d3790e6f84fdeafde5a9d8e619b
prerequisite-patch-id: 24f395af4ad8c74bf144c9e2ac0c92c10c77892f
prerequisite-patch-id: cfb34c2a0bbebd6aedb495953cd65a3111b5125f
prerequisite-patch-id: 9084b91d673b95025583ba97f4f33c83c9591f53
prerequisite-patch-id: 4fee8738e04e83ab9952e0a05be51dca05314653
-- 
2.41.0

>From 32ba147bbccaa21524487f2fa216cf1f4a18d884 Mon Sep 17 00:00:00 2001
Message-ID: <32ba14[email-masked]>
In-Reply-To: <bfb049[email-masked]>
References: <bfb049[email-masked]>
From: Morgan Smith <[email-masked]>
Date: Wed, 8 May 2024 14:40:00 -0400
Subject: [PATCH 2/2] guix: emacs-utils: Be more verbose in build phase.

* guix/build/emacs-utils.scm (emacs-compile-directory): Display the filename
of each file before compiling.

Change-Id: I275a086ed92f7cfb2907aea9b4feb59012cc8dd5
---
 guix/build/emacs-utils.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/guix/build/emacs-utils.scm b/guix/build/emacs-utils.scm
index aeb364133a..f35d9e690f 100644
--- a/guix/build/emacs-utils.scm
+++ b/guix/build/emacs-utils.scm
@@ -146,6 +146,7 @@ (define* (emacs-compile-directory dir)
                       'comp--write-bytecode-file)))))
        (mapc
         (lambda (file)
+          (message "Compiling `%s'")
           (let (byte-to-native-output-buffer-file
                 ;; First entry is the eln-cache of the homeless shelter,
                 ;; second entry is the install directory.
-- 
2.41.0