git: d04f04b14c72 - main - editors/emacs-devel: Update to 2022-04-16 snapshot

From: Yasuhiro Kimura <yasu_at_FreeBSD.org>
Date: Wed, 20 Apr 2022 01:50:18 UTC
The branch main has been updated by yasu:

URL: https://cgit.FreeBSD.org/ports/commit/?id=d04f04b14c72c042e0efed9bd0da9e5ea24e963b

commit d04f04b14c72c042e0efed9bd0da9e5ea24e963b
Author:     Yasuhiro Kimura <yasu@FreeBSD.org>
AuthorDate: 2022-04-16 07:39:03 +0000
Commit:     Yasuhiro Kimura <yasu@FreeBSD.org>
CommitDate: 2022-04-20 01:49:24 +0000

    editors/emacs-devel: Update to 2022-04-16 snapshot
    
    * Enable NATIVECOMP option by default [1]
    * If Emacs is build with NATIVECOMP enabled, display message as
      following at installation and upgrading 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 [3]
      - 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]
    Reference:      https://lists.gnu.org/archive/html/help-gnu-emacs/2022-04/msg00129.html [3]
    Reviewed by:    ashish, jrm
    Differential Revision:  https://reviews.freebsd.org/D34935
---
 editors/emacs-devel/Makefile             | 25 +++++++----
 editors/emacs-devel/distinfo             |  6 +--
 editors/emacs-devel/files/pkg-message.in | 73 ++++++++++++++++++++++++++++++++
 editors/emacs-devel/pkg-message          | 15 -------
 editors/emacs-devel/pkg-plist            |  1 +
 5 files changed, 94 insertions(+), 26 deletions(-)

diff --git a/editors/emacs-devel/Makefile b/editors/emacs-devel/Makefile
index 63d97d9930cd..cdf7e4d5a992 100644
--- a/editors/emacs-devel/Makefile
+++ b/editors/emacs-devel/Makefile
@@ -1,8 +1,7 @@
 # Created by: Kenneth Vestergaard Schmidt <kvs@pil.dk>
 
 PORTNAME=	emacs
-DISTVERSION=	29.0.50.20220331
-PORTREVISION=	1
+DISTVERSION=	29.0.50.20220416
 PORTEPOCH=	2
 CATEGORIES=	editors
 PKGNAMESUFFIX=	-devel
@@ -26,7 +25,7 @@ USES=		autoreconf:build cpe gmake localbase:ldflags ncurses pkgconfig
 CPE_VENDOR=	gnu
 USE_GITHUB=	yes
 GH_ACCOUNT=	emacs-mirror
-GH_TAGNAME=	c5af19c
+GH_TAGNAME=	1fed6e7
 
 GNU_CONFIGURE=		yes
 CONFIGURE_ARGS=		--disable-build-details \
@@ -64,8 +63,10 @@ CONFIGURE_ENV=		ac_cv_header_sys_sysinfo_h=no
 
 CONFLICTS_INSTALL=	emacs emacs-canna emacs-nox
 
-SUB_FILES=	sources.el
-SUB_LIST=	EMACS_VER=${DISTVERSION:R}
+SUB_FILES=	pkg-message sources.el
+SUB_LIST=	EMACS_VER=${DISTVERSION:R} \
+		NATIVECOMP_COMMENT_END=${NATIVECOMP_COMMENT_END} \
+		NATIVECOMP_COMMENT_START=${NATIVECOMP_COMMENT_START}
 
 INFO=		auth autotype bovine calc ccmode cl dbus dired-x ebrowse ede \
 		ediff edt efaq eieio eintr elisp emacs emacs-gnutls emacs-mime \
@@ -85,8 +86,8 @@ OPTIONS_DEFINE=			ACL DBUS GCONF GNUTLS GSETTINGS HARFBUZZ JSON \
 				XML XWIDGETS
 OPTIONS_DEFAULT=		ACL CAIRO DBUS GIF GNUTLS GSETTINGS GTK3 \
 				HARFBUZZ JPEG JSON KQUEUE LCMS2 MAILUTILS \
-				MODULES OSS PGTK PNG SCROLLBARS SOURCES SQLITE3 \
-				SVG THREADS TIFF WEBP XML
+				MODULES NATIVECOMP OSS PGTK PNG SCROLLBARS \
+				SOURCES SQLITE3 SVG THREADS TIFF WEBP XML
 OPTIONS_GROUP=			GRAPHICS
 OPTIONS_GROUP_GRAPHICS=		CAIRO GIF JPEG MAGICK PNG SVG TIFF WEBP XPM
 OPTIONS_RADIO=			FILENOTIFY SOUND X11TOOLKIT
@@ -223,6 +224,14 @@ XWIDGETS_CONFIGURE_WITH=	xwidgets
 USE_GCC=	yes
 .endif
 
+.if ${PORT_OPTIONS:MNATIVECOMP}
+NATIVECOMP_COMMENT_END=
+NATIVECOMP_COMMENT_START=
+.else
+NATIVECOMP_COMMENT_END=		'*/'
+NATIVECOMP_COMMENT_START=	'/*'
+.endif
+
 .if ${PORT_OPTIONS:MNATIVECOMP} && !defined(_GCC_PORT_CHOSEN)
 _GCC_PORT!=	${BSDMAKE} -V_GCC_PORT USE_GCC=11+ _GCC_PORT_CHOSEN=yes
 .endif
@@ -243,7 +252,7 @@ CONFIGURE_ARGS+=	--with-x-toolkit=no
 # Schema generation is dependent on both PGTK, and GSETTINGS options
 # as per https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=183936ee8e5
 .if ${PORT_OPTIONS:MGSETTINGS} && ${PORT_OPTIONS:MPGTK}
-GLIB_SCHEMAS+=		org.gnu.emacs.defaults.gschema.xml
+GLIB_SCHEMAS+=	org.gnu.emacs.defaults.gschema.xml
 .endif
 
 .if ${FLAVOR} == nox
diff --git a/editors/emacs-devel/distinfo b/editors/emacs-devel/distinfo
index 175afeb50790..8c4b1cd648a9 100644
--- a/editors/emacs-devel/distinfo
+++ b/editors/emacs-devel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1648744019
-SHA256 (emacs-mirror-emacs-29.0.50.20220331-c5af19c_GH0.tar.gz) = 6caccc85ea3c4446f4ae0878d8ae2c70209e37064fc6ee02b7294698a12de1a7
-SIZE (emacs-mirror-emacs-29.0.50.20220331-c5af19c_GH0.tar.gz) = 45440509
+TIMESTAMP = 1650071980
+SHA256 (emacs-mirror-emacs-29.0.50.20220416-1fed6e7_GH0.tar.gz) = a44463477213111797b8b0a090334c3f3b3801d2f3b4162038ffb181f142a079
+SIZE (emacs-mirror-emacs-29.0.50.20220416-1fed6e7_GH0.tar.gz) = 45503871
diff --git a/editors/emacs-devel/files/pkg-message.in b/editors/emacs-devel/files/pkg-message.in
new file mode 100644
index 000000000000..24db8aefacdf
--- /dev/null
+++ b/editors/emacs-devel/files/pkg-message.in
@@ -0,0 +1,73 @@
+[
+%%NATIVECOMP_COMMENT_START%%
+{ type: install
+  message: <<EOM
+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.
+EOM
+}
+{ type: upgrade
+  message: <<EOM
+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.
+EOM
+}
+%%NATIVECOMP_COMMENT_END%%
+{ type: upgrade
+  maximum_version: "28.0.50.20210302,2"
+  message: <<EOM
+If you get the error
+
+    Symbol's value as variable is void: minor-modes
+
+rebuild the offending Emacs packages.
+
+See https://lists.gnu.org/archive/html/emacs-devel/2021-02/msg01164.html
+for details.
+EOM
+}
+]
diff --git a/editors/emacs-devel/pkg-message b/editors/emacs-devel/pkg-message
deleted file mode 100644
index 01b132152ae6..000000000000
--- a/editors/emacs-devel/pkg-message
+++ /dev/null
@@ -1,15 +0,0 @@
-[
-{ type: upgrade
-  maximum_version: "28.0.50.20210302,2"
-  message: <<EOM
-If you get the error
-
-    Symbol's value as variable is void: minor-modes
-
-rebuild the offending Emacs packages.
-
-See https://lists.gnu.org/archive/html/emacs-devel/2021-02/msg01164.html
-for details.
-EOM
-}
-]
diff --git a/editors/emacs-devel/pkg-plist b/editors/emacs-devel/pkg-plist
index 676839a642ec..5aff0aacb2f3 100644
--- a/editors/emacs-devel/pkg-plist
+++ b/editors/emacs-devel/pkg-plist
@@ -4199,6 +4199,7 @@ share/applications/emacsclient-mail.desktop
 %%SOURCES%%%%DATADIR%%/%%EMACS_VER%%/src/search.c
 %%SOURCES%%%%DATADIR%%/%%EMACS_VER%%/src/sheap.c
 %%SOURCES%%%%DATADIR%%/%%EMACS_VER%%/src/sheap.h
+%%SOURCES%%%%DATADIR%%/%%EMACS_VER%%/src/sort.c
 %%SOURCES%%%%DATADIR%%/%%EMACS_VER%%/src/sound.c
 %%SOURCES%%%%DATADIR%%/%%EMACS_VER%%/src/sqlite.c
 %%SOURCES%%%%DATADIR%%/%%EMACS_VER%%/src/syntax.c