So Matthieu has requested a PGTK (Pure GTK) Emacs FLAVOR for some time already.
Runtime has one obvious glitch: it doesn't fall back to tty if you're not running X/wayland, like other FLAVORS do, so you'll have to explicitely use emacs -nw in that case. Worth documenting? Side notes: - editors/Makefile diff left out but I do plan to hook this up - when this is in, I'll sync the emacs-30.0.92 pretest diff ok? Index: Makefile =================================================================== RCS file: /home/cvs/ports/editors/emacs/Makefile,v diff -u -p -r1.121 Makefile --- Makefile 29 Oct 2024 09:46:25 -0000 1.121 +++ Makefile 4 Nov 2024 12:25:25 -0000 @@ -4,7 +4,7 @@ COMMENT= GNU editor: extensible, custom # Zap post-extract when updating VERSION= 29.4 DISTNAME= emacs-${VERSION} -REVISION= 1 +REVISION= 2 CATEGORIES= editors @@ -23,7 +23,7 @@ EXTRACT_SUFX= .tar.xz DEBUG_PACKAGES = ${BUILD_PACKAGES} -FLAVORS= athena gtk2 gtk3 no_x11 +FLAVORS= athena gtk2 gtk3 no_x11 pgtk FLAVOR?= gtk3 GCCARCH= ${MACHINE_ARCH}-unknown-openbsd @@ -69,7 +69,6 @@ LIB_DEPENDS+= devel/harfbuzz \ graphics/giflib \ graphics/lcms2 \ graphics/libwebp \ - misc/m17n/lib \ x11/dbus \ x11/gnome/librsvg RUN_DEPENDS+= devel/desktop-file-utils \ @@ -78,6 +77,7 @@ RUN_DEPENDS+= devel/desktop-file-utils . if ${FLAVOR} == "athena" CONFIGURE_ARGS+= --with-x-toolkit=athena LIB_DEPENDS+= x11/Xaw3d +LIB_DEPENDS+= misc/m17n/lib WANTLIB += ICE SM X11 X11-xcb Xaw3d Xcomposite Xext Xfixes Xi WANTLIB += Xinerama Xmu Xpm Xrandr Xrender Xt cairo dbus-1 fontconfig WANTLIB += freetype gdk_pixbuf-2.0 gif gio-2.0 glib-2.0 gobject-2.0 @@ -86,6 +86,7 @@ WANTLIB += rsvg-2 tiff webpdecoder webpd . elif ${FLAVOR} == "gtk2" CONFIGURE_ARGS+= --with-x-toolkit=gtk2 LIB_DEPENDS+= x11/gtk+2 +LIB_DEPENDS+= misc/m17n/lib WANTLIB += ICE SM X11 X11-xcb Xcomposite Xcursor Xdamage Xext WANTLIB += Xfixes Xi Xinerama Xpm Xrandr Xrender atk-1.0 cairo WANTLIB += dbus-1 fontconfig freetype gdk-x11-2.0 gdk_pixbuf-2.0 @@ -96,12 +97,20 @@ WANTLIB += xcb xcb-shape xcb-util . elif ${FLAVOR} == "gtk3" CONFIGURE_ARGS+= --with-x-toolkit=gtk3 LIB_DEPENDS+= x11/gtk+3 +LIB_DEPENDS+= misc/m17n/lib WANTLIB += ICE SM X11 X11-xcb Xcomposite Xext Xfixes Xi Xinerama WANTLIB += Xpm Xrandr Xrender atk-1.0 cairo cairo-gobject dbus-1 WANTLIB += fontconfig freetype gdk-3 gdk_pixbuf-2.0 gif gio-2.0 WANTLIB += glib-2.0 gobject-2.0 gtk-3 harfbuzz intl jpeg lcms2 WANTLIB += m17n-core m17n-flt otf pango-1.0 pangocairo-1.0 png WANTLIB += rsvg-2 tiff webpdecoder webpdemux xcb xcb-shape xcb-util +. elif ${FLAVOR} == "pgtk" +CONFIGURE_ARGS+= --with-pgtk +LIB_DEPENDS+= x11/gtk+3 +WANTLIB += atk-1.0 cairo cairo-gobject dbus-1 fontconfig freetype +WANTLIB += gdk-3 gdk_pixbuf-2.0 gif gio-2.0 glib-2.0 gobject-2.0 +WANTLIB += gtk-3 harfbuzz intl jpeg lcms2 otf pango-1.0 pangocairo-1.0 +WANTLIB += png rsvg-2 tiff webpdecoder webpdemux . else ERRORS+= "Fatal: Conflicting flavor: ${FLAVOR}" . endif Index: pkg/DESCR =================================================================== RCS file: /home/cvs/ports/editors/emacs/pkg/DESCR,v diff -u -p -r1.4 DESCR --- pkg/DESCR 7 May 2013 07:06:42 -0000 1.4 +++ pkg/DESCR 4 Nov 2024 12:25:55 -0000 @@ -24,3 +24,4 @@ Flavors: athena - build with athena toolkit instead of gtk3 gtk2 - build with gtk2 instead of gtk3 gtk3 - build with gtk3 (default) + pgtk - build with gtk only, useful for wayland Index: pkg/PFRAG.pgtk =================================================================== RCS file: pkg/PFRAG.pgtk diff -N pkg/PFRAG.pgtk --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ pkg/PFRAG.pgtk 4 Nov 2024 12:27:23 -0000 @@ -0,0 +1,3 @@ +share/emacs/${VERSION}/etc/org.gnu.emacs.defaults.gschema.valid +share/glib-2.0/schemas/org.gnu.emacs.defaults.gschema.xml +@tag glib-compile-schemas Index: pkg/PLIST =================================================================== RCS file: /home/cvs/ports/editors/emacs/pkg/PLIST,v diff -u -p -r1.31 PLIST --- pkg/PLIST 6 Jul 2024 02:12:36 -0000 1.31 +++ pkg/PLIST 4 Nov 2024 12:31:35 -0000 @@ -10,6 +10,7 @@ %%gtk2%% %%gtk3%% !%%no_x11%% +%%pgtk%% @bin bin/ctags @bin bin/ebrowse bin/emacs -- jca