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/D56001bc45b7ec88
Port details
devel/gettext-po-mode 1.0_1
GNU gettext po-mode for emacs
Port info
- Maintainer
- tijl@FreeBSD.org
- Packages
- latest: 1.0_1
- Upstream
- up to date
- Last update
- to 1.0_1 · bc45b7ec88
- Quarterly
- 2026Q4: 1.0_1
- WWW
- https://www.gnu.org/software/gettext/
- Links
- cgit · VuXML
Install
- Package
# pkg install gettext-po-modeinstalls 1.0_1 fromlatest; fromquarterly(2026Q4) 1.0_1- Port
# cd /usr/ports/devel/gettext-po-mode && make install clean- Size
- 41 KiB download · 173 KiB installed
- Depends on
- devel/libtextstyle 1.0
- License
- GPLv3+
Packages by version and architecture
latest
| FreeBSD version | amd64 | aarch64 | i386 |
|---|---|---|---|
| FreeBSD 16 | 1.0_1 | 1.0_1 | – |
| FreeBSD 15 | 1.0_1 | 1.0_1 | – |
| FreeBSD 14 | 1.0_1 | 1.0_1 | 1.0_1 |
quarterly (2026Q4)
| FreeBSD version | amd64 | aarch64 | i386 |
|---|---|---|---|
| FreeBSD 15 | 1.0_1 | 1.0_1 | – |
| FreeBSD 14 | 1.0_1 | 1.0_1 | 1.0_1 |
version as in the ports tree (latest) or the most common one (quarterly) · different version · ✗ not built · – no packages for this platform. Package sets that have not been rebuilt for 60 days are left out.
Unaddressed and VuXML only (0)
No unaddressed CVE and nothing reported by
pkg audit for the packaged version 1.0_1.Fixed (0)
No VuXML entries for this package.
Problem reports (0) · open in Bugzilla, most recently changed first
None.
Commits (17)
devel/libtextstyle, devel/gettext*: Update to 0.26 Recent versions of gettext no longer install m4 files in PREFIX/share/aclocal. They have to be installed in the work directory by autopoint for aclocal to find them. Patch devel/autoconf so autoreconf runs autopoint when gettext related macros are used in configure.ac (e.g. AM_ICONV). Previously it only ran autopoint when AM_GNU_GETTEXT_(REQUIRE_)VERSION was used. The following ports now require autopoint (i.e. USES=gettext-tools): benchmarks/sysbench, devel/libhtp, editors/fxite, filesystems/rar2fs, graphics/gd, net/ucarp, news/fidogate, sysutils/cdrdao Other fixes: emulators/mednafen, misc/lifelines: Use older version of gettext macros. ftp/axel: Patch Makefile.am and configure.ac to get gettext working and add NLS option. ftp/wzdftpd: Use autoreconf 2.72. mail/sympa: Remove hack from configure.ac. multimedia/dvdauthor: Use ports autoreconf. net/asterisk-chan_sccp: Drop autoreconf and gettext-tools dependencies. security/pam_pkcs11: Patch configure.ac so autoreconf can find the custom directory with m4 files. sysutils/grub2-efi, sysutils/grub2-pcbsd: Add patch to run autoreconf with -f flag so it updates all files. www/wget2: Patch configure.ac to what autopoint expects. PR: 287167 Exp-run by: antoine974099d0bd
editors/emacs: Update to 30.2 * Replace '30.1' in Mk/Uses/emacs.mk with '30.2'. * Bump PORTREVISION of dependent ports. ChangLog: https://cgit.git.savannah.gnu.org/cgit/emacs.git/tree/etc/NEWS?h=emacs-30.2 Reviewed by: jrm Differential Revision: https://reviews.freebsd.org/D5190641e3c046e7
*/*: Chase editors/emacs update Sponsored by: The FreeBSD Foundation12940d868a
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 Foundationb946d410cc
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/D457053213a3f54a
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/D4449226421ac37c
*/*: 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/D43615ab463bdca9
editors/emacs: Update to 29.1
* Update Canna patch to the one for Emacs 29.
* Add new options PGTK, SQLITE3, TREESITTER and WEBP. SQLITE3 and
TREESITTER are ON by default. PGTK and WEBP options are excluded
from nox flavor.
* CARGO option doesn't imply XFT but prevents it. It is caused as a
result of adding pure GTK support (PGTK option).
* OTK options doesn't imply XTF any more. It is also caused as a
result of adding pure GTK support.
* Update NATIVECOMP option so it specifies ahead-of-time compilation
via the configure argument.
* Remove "experimental" from NATIVECOMP_DESC.
* Add print/freetype2 and x11-fonts/fontconfig to CAIRO_LIB_DEPENDS
and GTK3_LIB_DEPENDS. Necessary to link emacs binary with shared
libraries.
* When PGTK option is ON and SCROLLBARS is OFF, configure fails as
following
----------------------------------------------------------------------
checking for gnutls >= 2.12.2... yes
checking for jansson >= 2.7... yes
checking for tree-sitter >= 0.20.2... yes
checking for libkqueue... no
checking for library containing kqueue... none required
configure: error: Non-toolkit scroll bars are not implemented for your system
----------------------------------------------------------------------
So add SCROLLBARS to PGTK_IMPLIES to avoid such options setting.
* When MODULES option is OFF and TREESITTER is ON, link error happens
as following.
----------------------------------------------------------------------
cc -o temacs.tmp \
-Demacs -I. -I. -I../lib -I../lib -I/usr/local/include -I/usr/local/include/librsvg-2.0 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/local/include/gdk-pixbuf-2.0 -pthread -I/usr/local/include/cairo -I/usr/local/include/pixman-1 -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -D_THREAD_SAFE -I/usr/local/include/libpng16 -I/usr/local/include/libxml2 -I/usr/local/include/dbus-1.0 -I/usr/local/lib/dbus-1.0/include -I/usr/local/include -D_THREAD_SAFE -I/usr/local/include -D_THREAD_SAFE -I/usr/local/include -D_THREAD_SAFE -I/usr/local/include -D_THREAD_SAFE -I/usr/local/include -I/usr/local/include/webp -I/usr/local/include -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -pthread -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -I/usr/local/include -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -I/usr/local/include/harfbuzz -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -MMD -MF deps/.d -MP -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/local/include/p11-kit-1 -I/usr/local/include/cairo -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/pixman-1 -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -D_THREAD_SAFE -Wno-switch -Wno-pointer-sign -Wno-string-plus-int -Wno-unknown-attributes -Wno-unknown-pragmas -Wno-initializer-overrides -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -fstack-protector-strong -L/usr/local/lib -L/usr/local/lib \
dispnew.o frame.o scroll.o xdisp.o menu.o xmenu.o window.o charset.o coding.o category.o ccl.o character.o chartab.o bidi.o cm.o term.o terminal.o xfaces.o xterm.o xfns.o xselect.o xrdb.o xsmfns.o xsettings.o dbusbind.o emacs.o keyboard.o macros.o keymap.o sysdep.o bignum.o buffer.o filelock.o insdel.o marker.o minibuf.o fileio.o dired.o cmds.o casetab.o casefiddle.o indent.o search.o regex-emacs.o undo.o alloc.o pdumper.o data.o doc.o editfns.o callint.o eval.o floatfns.o fns.o sort.o font.o print.o lread.o syntax.o bytecode.o comp.o process.o gnutls.o callproc.o region-cache.o sound.o timefns.o atimer.o doprnt.o intervals.o textprop.o composite.o xml.o lcms.o kqueue.o profiler.o decompress.o thread.o systhread.o sqlite.o treesit.o itree.o xfont.o ftfont.o ftcrfont.o hbfont.o fontset.o fringe.o image.o xgselect.o json.o terminfo.o lastfile.o ../lib/libgnu.a ../oldXMenu/libXMenu11.a -ltiff -ljpeg -L/usr/local/lib -lpng16 -lgif -L/usr/local/lib -lwebpdemux -lwebpdecoder -lSM -lICE -lX11 -lXrender -L/usr/local/lib -lrsvg-2 -lm -lgio-2.0 -lgdk_pixbuf-2.0 -lgobject-2.0 -lglib-2.0 -lintl -lcairo -lrt -L/usr/local/lib -ldbus-1 -lexecinfo -L/usr/local/lib -lXrandr -L/usr/local/lib -lXinerama -L/usr/local/lib -lXfixes -lXext -lXext -L/usr/local/lib -lxml2 -lutil -L/usr/local/lib -lcairo -lncurses -L/usr/local/lib -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl -L/usr/local/lib -lgobject-2.0 -lglib-2.0 -lintl -L/usr/local/lib -lfreetype -L/usr/local/lib -lfontconfig -lfreetype -L/usr/local/lib -lharfbuzz -L/usr/local/lib -lgnutls -lpthread -L/usr/local/lib -llcms2 -llcms2_fast_float -llcms2_threaded -lm -lz -L/usr/local/lib -ljansson -lgmp -L/usr/local/lib -lXi -L/usr/local/lib -ltree-sitter -lsqlite3 -lXcomposite -lXext
ld: error: undefined symbol: dynlib_error
>>> referenced by treesit.c
>>> treesit.o:(treesit_load_language)
>>> referenced by treesit.c
>>> treesit.o:(treesit_load_language)
>>> referenced by treesit.c
>>> treesit.o:(treesit_load_language)
>>> referenced 1 more times
ld: error: undefined symbol: dynlib_sym
>>> referenced by treesit.c
>>> treesit.o:(treesit_load_language)
ld: error: undefined symbol: dynlib_open
>>> referenced by treesit.c
>>> treesit.o:(treesit_load_language)
cc: error: linker command failed with exit code 1 (use -v to see invocation)
----------------------------------------------------------------------
So add MODULES to TREESITTER_IMPLIES to avoid such options setting.
* Bump PORTREVISION of ports that use "USES=emacs".
ChangeLog: https://git.savannah.gnu.org/cgit/emacs.git/tree/etc/NEWS?h=emacs-29.1
Reviewed by: ashish, jrm
Differential Revision: https://reviews.freebsd.org/D41444ba4eb3a50eeditors/emacs-devel: Update to 2022-11-28 snapshot Bump PORTREVISION of consumers as EMACS_VER is changed to 30.0.50. Changes: https://github.com/emacs-mirror/emacs/compare/51589f81...7939184fea66012756
editors/emacs: Update to 28.2 * Remove FCITXPATCH option as extra-patch-src_xfns.c can't be applied since 28.1. * Tidy up Makefile with portfmt. * Bump PORTREVISION of consumers. ChangeLog: https://www.gnu.org/software/emacs/news/NEWS.28.2 PR: 266454 Exp-run by: antoine Reviewed by: ashish, jrm Differential Revision: https://reviews.freebsd.org/D36613164249e867
Remove WWW entries moved into port Makefiles Commit b7f05445c00f has added WWW entries to port Makefiles based on WWW: lines in pkg-descr files. This commit removes the WWW: lines of moved-over URLs from these pkg-descr files. Approved by: portmgr (tcberner)fb16dfecae
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)b7f05445c0
One more small cleanup, forgotten yesterday. Reported by: lwhsucf118ccf87
Remove # $FreeBSD$ from Makefiles.305f148f48
editors/emacs: Update to 27.2 This is a bug-fix release with no new features. https://www.gnu.org/software/emacs/news/NEWS.27.2 Reviewed by: ashish Differential Revision: https://reviews.freebsd.org/D277004c42925142
devel/gettext-po-mode: New port to install po-mode files for emacs -BEGIN pkg-descr--------------------------- GNU gettext is a framework of libraries and tools for internationalisation and localisation of software. This package contains the po-mode for the emacs editor. WWW: https://www.gnu.org/software/gettext/ -END pkg-descr----------------------------- This cannot be part of gettext-tools because it would create a dependency loop through emacs (which we use to byte-compile). In order to override the MAINTAINER, modify gettext/Makefile.common to use MAINTAINER?= to accomodate overrides. Next step: we should modularize up the emacs site-start.el. Initial email sent to emacs@.e42ae0646c