Emacs Lisp ports framework: Overhaul
This overhaul introduces four key changes to the elisp ports framework:
1. Remove support for packaged byte-compiled elisp.
The primary motivation is to remove a large number of flavor-specific
packages and to simplify the ports tree. As an example, supporting
byte-compiled elisp for devel/tablist required six packages, one for
each flavor of editors/emacs and editors/emacs-devel. With over 100
elisp ports and requests for new Emacs flavors, this was
unmanageable.
2. Install configuration to integrate with Emacs's native compilation
machinery, allowing elisp from ports to be compiled into the standard
cache under the user's home directory.
This matches the behavior of GNU ELPA packages and generally results
in a faster experience. Speedups vary depending on the
characteristics of the elisp code, but are often reported to be 2.5
to 5 times faster than byte-compiled code.
3. Perform byte compilation on the target host, but only when native
compilation is unavailable. Compilation is initiated when Emacs
starts, and the resulting .elc files are cached under the user's
home directory.
4. Load all autoload files installed by FreeBSD elisp ports. This
mirrors what package.el does for ELPA packages, ensuring that
autoloaded functions are available without requiring users to
explicitly load each package.
Users with elisp packages (*-emacs_*) installed should consult the
2026-04-11 UPDATING entry for instructions on handling the transition.
Reviewed by: ashish, Benjamin Jacobs <freebsd@dev.thsi.be>, dinoex,
mandree, mce, nobutaka, Pat Maddox <pat@patmaddox.com>,
rhurlin
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56001
Chase major version update of editors/emacs-devel
Bump PORTREVISION of most USES=emacs ports after editors/emacs-devel
major version increased from 30 to 31.
Sponsored by: The FreeBSD Foundation
Chase editors/emacs update to 29.4
- Bump Emacs version in Mk/Uses/emacs.mk to update version-specific
paths
- Bump PORTREVISION of ports with USES=emacs. This is required for two
reasons. Emacs lisp files need to be byte compiled for the new Emacs
version, and files installed under, e.g., EMACS_VERSION_SITE_LISPDIR
need to be relocated.
Reviewed by: ashish, yasu
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D45705
Chase editors/emacs update
- Bump Emacs version in Mk/Uses/emacs.mk to update version-specific
paths
- Bump PORTREVISION of ports with USES=emacs. This is required for two
reasons. Emacs lisp files need to be byte compiled for the new Emacs
version, and files installed under, e.g., EMACS_VERSION_SITE_LISPDIR
need to be relocated.
Reviewed by: ashish
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D44492
*/*: Chase editors/emacs update
- Bump Emacs version in Mk/Uses/emacs.mk to update version-specific
paths
- Bump PORTREVISION of ports with USES=emacs. This is required for two
reasons. Emacs lisp files need to be byte compiled for the new Emacs
version, and files installed under, e.g., EMACS_VERSION_SITE_LISPDIR
need to be relocated.
Reviewed by: ashish
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D43615
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.
There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.
The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.
Approved by: portmgr (tcberner)
editors/emacs: Update to version 27.1
Please refer to the 20200811 UPDATING entry when upgrading
dependent (*-emacs26-*) ports.
Port changes:
- depend on math/gmp
- match upstream by turning CAIRO, HARFBUZZ, and JSON options and on and
turning MAGICK off by default
- remove OPENMP check for graphics/ImageMagick as the openmp is now
included in base
- update EMACS_VER in Mk/Uses/emacs.mk
- bump USES=emacs ports or remove BROKEN for net-im/jabber.el and
deskutils/howm, which now build
Submitted by: HIROSE Yuuji <yuuji@gentei.org> (canna patch)
Reviewed by: ashish
Differential Revision: https://reviews.freebsd.org/D23966
editors/emacs-devel: Update to latest master branch commit, 4f2b415
This update includes an Emacs major version change from 27.0.50 to 28.0.50.
Ports that may depend on editors/emacs-devel must chase this update
with a PORTREVISION bump.
Submitted by: ashish (maintainer)
Differential Revision: https://reviews.freebsd.org/D23012
Bump PORTREVISION for ports using EMACS_VERSION_SITE_LISPDIR
This is required after editors/emacs was updated to version 26.3 in
r510281.
Reported by: ashish
Bump PORTREVISION for ports using EMACS_VERSION_SITE_LISPDIR
This should have been done with r499179 when editors/emacs was updated
to version 26.2.
Reported by: nobutaka
Install texinfo files (GNU info) into ${PREFIX}/share/info
After a discussion on the mailing list on moving manpages to
${PREFIX}/share/man for consistency with base where it is
installed in usr/share/man, it appeared the same should happen
to GNU info files which were installed under share in base and
not in ports.
Now texinfo is not in base on any of the supported version of FreeBSD
it is possible to proceed to this move and it is easier to do than
the manpage change.
Other benefit than consistency are less patching: all build tools but
cmake are expecting info files to be under share/info and cmake (patched here)
was having an exception for BSD so the patch makes FreeBSD case less
specific for them
Bump revision of all impacted ports
PR: 232907
exp-run by: antoine
Differential Revision: https://reviews.freebsd.org/D17816
- Change lisp directory from EMACS_SITE_LISPDIR to EMACS_VERSION_SITE_LISPDIR.
- Remove EMACS_FLAVORS_EXCLUDE because configure error of www/emacs-w3m
has been fixed.
- Bump PORTREVISION.
Flavorize and modernize Emacs ports
- Convert USE_EMACS to USES=emacs
- Remove editors/emacs-nox11 (refer to nox flavors of editors/emacs and
editors/emacs-devel)
- Permit default Emacs flavor to be specified in make.conf
- Rename japanese/migemo-emacs23 to japanese/migemo-emacs
- Update and simplify audio/emms and fix build on FreeBSD 10 [1]
- Update databases/bbdd and fix build on FreeBSD 10 [1]
- Update editors/emacs-devel
- Ensure Makefile shell commands that change directory are executed in a
subshell
- Silence some portlint warnings
[1] By not depending on base texinfo
PR: 225404
Reviewed by: antoine
Approved by: portmgr (mat) ashish (maintainer)
Differential Revision: https://reviews.freebsd.org/D13506
Mark BROKEN: fails to configure
cannot open /usr/ports/mail/wanderlust/files/wanderlust-startup.emacs25.el.tmpl:
No such file or directory
Reported by: pkg-fallout
MFH: 2016Q4
Rename all files containing a : in their filename.
While there, run make makepatch on affected ports, and rename patches
accordingly.
Sponsored by: Absolight
- Remove deprecated @dirrm's from pkg-plist
- Add NO_ARCH
- DOCS is default, no need to set it
- Use options helper
PR: 205847
Submitted by: myself
Approved by: maintainer
GNU Emacs updates
editors/emacs:
- Update to 24.3
- Update CANNA patchset[1]
- Unbreak ARM support by using the patch from emacs-devel port
- Add missing INSTALLS_ICONS[2]
- Remove a patch which is already integrated upstream
- Fix Makefile header
editors/emacs-devel:
- Update to bzr revision 112178
- Fix Makefile header
- Add missing INSTALLS_ICONS[2]
editors/emacs23:
- Remove ABI versions from LIB_DEPENDS
- Fix Makefile header
- Add missing INSTALLS_ICONS[2]
Mk/bsd.emacs.mk:
- Update major version for editors/emacs port
*:
- Bump PORTREVISION to chase Emacs updates
PR: ports/177428[2]
Submitted by: Yuji TAKANO[1] (via private email), bdrewery[2]
Changes to editors/emacs and Mk/bsd.emacs.mk were taken from
PR/137956 by Ashish SHUKLA (thanks!). [1]
Those ports which define EMACS_PORT_NAME to be "emacs21" were
not touched (this time). They may be converted to the new
world order by removing the above mentioned assignment.
Four ports were marked as BROKEN with EMACS_PORT_NAME=emacs23
(they do not compile):
. lang/bigloo;
. mail/wanderlust;
. mail/wanderlust-devel;
. www/emacs-w3m.
Three ports were marked as IGNORE with EMACS_PORT_NAME=emacs23:
. japanese/egg-canna (the port version is dated as of 2001,
does not compile with Emacs 23 and seems it cannot be fixed);
. deskutils/remember.el (was incorporated into Emacs 23);
. editors/nxml (was incorporated into Emacs 23).
Changes that were made after (and as a result of) exp run. For
those ports:
. japanese/migemo-emacs21;
. japanese/migemo-emacs22
EMACS_PORT_NAME?= was changed to EMACS_PORT_NAME= to the apropriate
emacs port name.
PR: ports/137956 [1], ports/141369 [2]
Submitted by: Ashish SHUKLA <wahjava at gmail.com> [1],
bsam (me) [2]
Exp-run by: miwi
Bump portrevision due to upgrade of devel/gettext.
The affected ports are the ones with gettext as a run-dependency
according to ports/INDEX-7 (5007 of them) and the ones with USE_GETTEXT
in Makefile (29 of them).
PR: ports/124340
Submitted by: edwin@
Approved by: portmgr (pav)
- Fix possibility of "infinite make fork" when "Registering install for ..."
EMACS ports. [1]
- Allow building a port as root using an NFS-mounted /usr/ports if the
server maps root to a UID other than root. [2]
- Make 'BROKEN' and 'IGNORED' ports exit their "make install" with a fail
status rather than success. [3]
- Improve behavior when dealing with versioned dependencies. [4]
- Fix false positives in check-conflicts target. [5]
- Remove obsolete bzip2 code. [6]
- Add physical category net-p2p. [7]
- Don't fetch INDEXFILE if not necessary; respect FETCH_ENV. [8], [11]
- INDEX can now be moved outside of ports tree. [9]
- Add ghostscript-gpl. [10]
- Remove obsolete USE_MESA. [12]
- Force pkg_install tools from ports on FreeBSD 4.10 and older. [13]
- Document ALWAYS_KEEP_DISTFILES. [14]
- Remove USE_REINPLACE from bsd.port.mk USE_DOS2UNIX patch. [15]
PR: ports/37596 [1], ports/57259 [2], ports/63216 [3],
ports/89448 [4], ports/89710 [5], ports/88996 [6],
ports/89260 [7], ports/89363 [8], ports/89809 [9],
ports/89853 [10], ports/91086 [11], ports/91710 [12],
ports/91727 [13], ports/92111 [14], ports/92124 [15]
Submitted by: Jay Sachs <jay at eziba dot com> [1], sem [1, 3, 8, 12],
Andrew Heybey <ath at niksun dot com> [2], Jamie Jones
<jamie at thompson dot bishopston dot net>, tobez [4], Mark
Andrews <Mark_Andrews at isc dot org> [5], edwin [6, 11, 15],
pav [7, 13], Peter Jeremy <PeterJeremy at optushome dot com
dot au> [9], Ulrich Spoerlein <q at galgenberg dot net> [10],
netchild [11], erwin [14]
Reviewed by: kris, clement (partially)
- Fix build of wanderlust-xemacs21-mule with apel in xemacs-packages.
- Fix build of wanderlust-xemacs21-mule with WRKDIRPREFIX. [*]
Reported by: kris [*]
Update to 2.6.1. Move master port from mail/wanderlust-emacs to
mail/wanderlust. mail/wanderlust supports emacs21. Remove
mail/wanderlust-emacs and mail/wanderlust-mule.
Number of commits found: 101 (showing only 100 on this page)