--- Begin Message ---
Subject: |
Emacs 29.4 emergency bugfix release |
Date: |
Sat, 22 Jun 2024 19:52:16 -0500 |
User-agent: |
Mozilla Thunderbird |
Hello,
Today an emergency bugfix release was made of Emacs v29.4. It fixes an
important security vulnerability.
FWIW, I had hoped that I could install it by running:
guix install --with-version=emacs=29.4 emacs
But that fails the validate-comp-integrity phase, showing that all of
its tests fail, with every function being loaded in byte-compiled form
instead of native-compiled.
And despite my best efforts at comparing the emacs.git tags for 29.3 and
29.4 to look for any relevant changes, and digging through the relevant
source code, and scanning through the build logs, I can't find a cause
for this problem.
Is this failure expected? If so, is it something unique to the Emacs
packaging, and could it be fixed? (Before Emacs 28 was released, I was
able to use a similar "--with-commit" option to build and install what
was then the emacs-next package to get native-compilation support,
keeping it updated with Emacs's master branch at the time. It would be
helpful if that could still be used by users rather than having to wait
for an update to the package definition, especially in a case like this.)
Thanks for your work on Emacs in Guix.
--Adam
--- End Message ---
--- Begin Message ---
Subject: |
Re: Emacs 29.4 emergency bugfix release |
Date: |
Sun, 23 Jun 2024 10:39:18 +0200 |
User-agent: |
Evolution 3.48.4 |
Am Samstag, dem 22.06.2024 um 19:52 -0500 schrieb Adam Porter:
> Hello,
>
> Today an emergency bugfix release was made of Emacs v29.4. It fixes
> an important security vulnerability.
Note: Security bugs should go to guix-security instead. But thanks for
pointing out the new Emacs release, I've pushed an update. (Thus
marking this done)
> FWIW, I had hoped that I could install it by running:
>
> guix install --with-version=emacs=29.4 emacs
>
> But that fails the validate-comp-integrity phase, showing that all of
> its tests fail, with every function being loaded in byte-compiled
> form instead of native-compiled.
Ah, yes, that is not something you can do with --with-version, as it
disregards our patches and everything.
> And despite my best efforts at comparing the emacs.git tags for 29.3
> and 29.4 to look for any relevant changes, and digging through the
> relevant source code, and scanning through the build logs, I can't
> find a cause for this problem.
>
> Is this failure expected? If so, is it something unique to the Emacs
> packaging, and could it be fixed? (Before Emacs 28 was released, I
> was able to use a similar "--with-commit" option to build and install
> what was then the emacs-next package to get native-compilation
> support, keeping it updated with Emacs's master branch at the time.
> It would be helpful if that could still be used by users rather than
> having to wait for an update to the package definition, especially in
> a case like this.)
I understand your pain, but I doubt there is a reasonable fix to this.
Perhaps the check should honour tests?, but then you'd disable all the
other tests as well as part of the build. Maybe a --without-phase
option to the Guix CLI would be better?
As for how to work around this, you can do a more elaborate package
definition:
(package
(inherit emacs)
(version NEW_VERSION)
(source (origin (inherit (package-source emacs))
(uri NEW_URI))))
This should automatically apply our patches. Or, you can locally run
`guix refresh -u emacs'.
Cheers
--- End Message ---