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