Page MenuHomeFreeBSD

editors/emacs-devel: Update to 2022-04-16 snapshot
ClosedPublic

Authored by yasu on Apr 16 2022, 9:37 AM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, May 7, 3:50 AM
Unknown Object (File)
Tue, May 7, 3:50 AM
Unknown Object (File)
Tue, May 7, 3:50 AM
Unknown Object (File)
Tue, May 7, 3:50 AM
Unknown Object (File)
Tue, May 7, 3:50 AM
Unknown Object (File)
Tue, May 7, 3:30 AM
Unknown Object (File)
Sat, Apr 27, 11:45 AM
Unknown Object (File)
Sat, Apr 27, 11:45 AM
Subscribers

Details

Summary
  • Enable NATIVECOMP option by default [1]
  • If Emacs is build with NATIVECOMP enabled, display message as following at installation time [2]
    • There are some elisp applications that don't work collectly if it is native compiled
    • If user uses such applications there is workaround to disable nativecompilation by user configuration
    • Native compilation often results in high CPU
    • It is also possible to throttle it by user configuration
  • Tidy up Makefile with portfmt

Discussed with: ashish, jrm [1],[2]

Test Plan

It is confirmed that build on 13.0-RELEASE amd64 succeeds with all
combination of full/nox flavors and NATIVECOMP option enabled/disabled.

Diff Detail

Repository
R11 FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

yasu requested review of this revision.Apr 16 2022, 9:37 AM

The changes look good to me. I tried it, and the pkg-message is also displayed conditionally based on NATIVECOMP option. Very clever :)

Thank you!

This revision is now accepted and ready to land.Apr 17 2022, 1:47 PM

Sorry for the delay. I'm testing on 12 and a recent CURRENT build, but the build failed for reasons unrelated to these changes. I'll respond soon with that status of those tests after I rerun them.

Everything looks good now that glib has been fixed.

A point about the pkg-message.in. Users who have been running editors/emacs-devel with the default options who then upgrade will be in the same position than those who install the package for the first time. That is, after this change they will have native compilation for the first time. As such, should the message also be shown when upgrading? I just mention this because you both feel it's kinder to users to supply this message. I accept that I'm in the minority, but I still think general information about the software should be the responsibility of the user to research and information in pkg-message should be reserved for important installation and upgrading information that is specific to the port and/or package.

  • Correct setting to disable native compilation at run time. (*)
  • Also display messages about native compilation when package is upgraded.

Reference: https://lists.gnu.org/archive/html/help-gnu-emacs/2022-04/msg00129.html (*)

This revision now requires review to proceed.Apr 18 2022, 5:00 PM

Thanks for your attention to detail. Everything looks fine, but here are some minor and optional wording suggestions.

Emacs is now built with native compilation enabled, however it is known that
some elisp applications don't work correctly when compiled. You can work any
such issues by disabling native compilation using the following steps.

1. Add the following lines at the top of your Emacs configuration:

(setq native-comp-deferred-compilation nil
comp-enable-subr-trampolines nil)

2. Exit emacs

3. rm -rf ~/.emacs.d/eln-cache

4. Start emacs again

Whereas all elisp files included in the Emacs source archive are native compiled
at build time, 3rd party elisp files (for example, from elisp ports/packages)
are native compiled at run time. This will result in high CPU usage when they
are compiled. If this annoys you, you can throttle the number of jobs by
changing the value of the variable 'native-comp-async-jobs-number' in your emacs
configuration. See the output of `C-h v native-comp-async-jobs-number` for
details.
This revision is now accepted and ready to land.Apr 18 2022, 8:19 PM

Update message according to the review by Joseph.

This revision now requires review to proceed.Apr 19 2022, 12:03 AM
This revision is now accepted and ready to land.Apr 19 2022, 6:24 PM