GNU bug report logs - #71730
Manual section 2.6.5 on Emacs Packages needs updating regarding native-compilation

Previous Next

Package: guix;

Reported by: Adam Porter <adam <at> alphapapa.net>

Date: Sun, 23 Jun 2024 01:01:02 UTC

Severity: normal

Done: Liliana Marie Prikler <liliana.prikler <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 71730 in the body.
You can then email your comments to 71730 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#71730; Package guix. (Sun, 23 Jun 2024 01:01:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Adam Porter <adam <at> alphapapa.net>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sun, 23 Jun 2024 01:01:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Adam Porter <adam <at> alphapapa.net>
To: bug-guix <at> gnu.org
Subject: Manual section 2.6.5 on Emacs Packages needs updating regarding
 native-compilation
Date: Sat, 22 Jun 2024 20:00:43 -0500
Hello,

I just noticed that the Guix manual at
<https://guix.gnu.org/manual/en/guix.html>, in section 2.6.5, says:

> Note: Emacs can now compile packages natively. Under the default
> configuration, this means that Emacs packages will now be
> just-in-time (JIT) compiled as you use them, and the results stored
> in a subdirectory of your user-emacs-directory.
> 
> Furthermore, the build system for Emacs packages transparently
> supports native compilation, but note, that emacs-minimal—the default
> Emacs for building packages—has been configured without native
> compilation. To natively compile your emacs packages ahead of time,
> use a transformation like --with-input=emacs-minimal=emacs.

Given the patch that disables such JIT compilation, discussed in 
bug#71725, seems to disable that, it would seem that this section in the 
manual should be updated accordingly.  (Or, ideally, that behavior would 
be restored for packages installed outside of Guix, but that's what 
bug#71725 is about.)

Thanks,
Adam




Information forwarded to andrew <at> trop.in, cox.katherine.e+guix <at> gmail.com, liliana.prikler <at> gmail.com, bug-guix <at> gnu.org:
bug#71730; Package guix. (Sun, 23 Jun 2024 13:39:02 GMT) Full text and rfc822 format available.

Message #8 received at 71730 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 71730 <at> debbugs.gnu.org
Cc: Adam Porter <adam <at> alphapapa.net>
Subject: [PATCH] doc: Update note on Emacs packages.
Date: Sun, 23 Jun 2024 15:17:07 +0200
* doc/guix.texi ("Emacs packages"): Expand note to talk about differences
between native compilation upstream and as used in Guix.
---
 doc/guix.texi | 31 ++++++++++++++++++++++---------
 1 file changed, 22 insertions(+), 9 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 9bbf85e32b..67c5cef757 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -1878,15 +1878,28 @@ Application Setup
 File,,, emacs, The GNU Emacs Manual}).
 
 @quotation Note
-Emacs can now compile packages natively.  Under the default
-configuration, this means that Emacs packages will now be
-just-in-time (JIT) compiled as you use them, and the results
-stored in a subdirectory of your @code{user-emacs-directory}.
-
-Furthermore, the build system for Emacs packages transparently
-supports native compilation, but note, that
-@code{emacs-minimal}---the default Emacs for building
-packages---has been configured without native compilation.
+Most Emacs variants are now capable of doing native compilation.
+The approach taken by Guix Emacs however differs greatly
+from the approach taken upstream.
+
+Upstream Emacs compiles packages just-in-time and typically places
+shared object files  in a special folder within your
+@code{user-emacs-directory}.
+These shared objects within said folder are organized in a
+flat hierarchy, and their file names contain two hashes to
+verify the original file name and contents of the source code.
+
+Guix Emacs on the other hand prefers to compile packages ahead-of-time.
+Shared objects retain much of the original file name and no hashes
+are added to verify the original file name or the contents of the file.
+Crucially, this allows Guix Emacs and packages built against it
+to be grafted (@pxref{Security Updates, grafts}), but at the same time,
+Guix Emacs lacks the hash-based verification of source code baked
+into upstream Emacs.  As this naming schema is trivial to exploit,
+we disable just-in-time compilation.
+
+Further note, that @code{emacs-minimal}---the default Emacs
+for building packages---has been configured without native compilation.
 To natively compile your emacs packages ahead of time, use a
 transformation like @option{--with-input=emacs-minimal=emacs}.
 @end quotation

base-commit: 11c403ec0554be0e1c888ec6f8147a232e09adbd
-- 
2.45.1





Information forwarded to bug-guix <at> gnu.org:
bug#71730; Package guix. (Thu, 27 Jun 2024 14:01:02 GMT) Full text and rfc822 format available.

Message #11 received at 71730 <at> debbugs.gnu.org (full text, mbox):

From: Adam Porter <adam <at> alphapapa.net>
To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>, 71730 <at> debbugs.gnu.org
Subject: Re: [PATCH] doc: Update note on Emacs packages.
Date: Thu, 27 Jun 2024 09:00:03 -0500
Hi Liliana,

On 6/23/24 08:17, Liliana Marie Prikler wrote:
> * doc/guix.texi ("Emacs packages"): Expand note to talk about differences
> between native compilation upstream and as used in Guix.
> ---
>   doc/guix.texi | 31 ++++++++++++++++++++++---------
>   1 file changed, 22 insertions(+), 9 deletions(-)

Thanks, I think that is a great addition to the manual.

--Adam




Reply sent to Liliana Marie Prikler <liliana.prikler <at> gmail.com>:
You have taken responsibility. (Sun, 07 Jul 2024 06:21:02 GMT) Full text and rfc822 format available.

Notification sent to Adam Porter <adam <at> alphapapa.net>:
bug acknowledged by developer. (Sun, 07 Jul 2024 06:21:02 GMT) Full text and rfc822 format available.

Message #16 received at 71730-done <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Adam Porter <adam <at> alphapapa.net>, 71730-done <at> debbugs.gnu.org
Subject: Re: [PATCH] doc: Update note on Emacs packages.
Date: Sun, 07 Jul 2024 08:19:43 +0200
Am Donnerstag, dem 27.06.2024 um 09:00 -0500 schrieb Adam Porter:
> Hi Liliana,
> 
> On 6/23/24 08:17, Liliana Marie Prikler wrote:
> > * doc/guix.texi ("Emacs packages"): Expand note to talk about
> > differences
> > between native compilation upstream and as used in Guix.
> > ---
> >   doc/guix.texi | 31 ++++++++++++++++++++++---------
> >   1 file changed, 22 insertions(+), 9 deletions(-)
> 
> Thanks, I think that is a great addition to the manual.
Pushed now.

Cheers




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 04 Aug 2024 11:24:10 GMT) Full text and rfc822 format available.

This bug report was last modified 218 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.