Hello,
Please find attached patches that update x11/emwm from version 1.3 to
2.1 and x11/emwm-utils from version 1.3 to 2.0.
The upstream project page and changelogs are available at:
https://fastestcode.org/emwm-changes.txt
https://fastestcode.org/utils-changes.txt
The main change introduced with EMWM 2.0 is the restoration of the
original MWM Workspace Manager functionality, providing multiple
workspaces. The update also adds the xineramaScreenFocus option and
contains several fixes for Xinerama, icon placement and handling,
StaticGravity ICCCM compliance, and client-provided icon pixmaps.
EMWM 2.1 is a smaller follow-up release focused primarily on improving
compatibility with applications and toolkits and handling configuration
problems more gracefully.
For emwm-utils, version 2.0 adds an optional workspace switcher to
xmtoolbox, allows the xmsm logout/shutdown dialog to be requested with
SIGUSR1, moves workspace background handling to EMWM itself, and fixes
the toolboxrc parser for K&R-style opening braces.
The ports also needed some build-system adjustments. Both now invoke
the upstream OpenBSD build target explicitly and pass the compiler,
flags, installation paths, include directories, and library directories
from the ports infrastructure rather than relying on hard-coded values.
I added small patches to the upstream OpenBSD makefiles so PREFIX,
MANDIR, RCDIR, APPLRESDIR, X11BASE, and LOCALBASE can be supplied by
the port. For emwm-utils, the OpenBSD makefile is also adjusted not to
link against libcrypt separately, since crypt(3) is provided by libc on
OpenBSD.
Installation is now handled explicitly by the ports rather than through
the upstream install target, which keeps all installed paths under the
control of the ports infrastructure.
I also updated the package descriptions to reflect the current EMWM
feature set and utilities, and regenerated distinfo for both new source
archives.
No package list changes were required.
Thank you for your time and consideration.
Best regards,
David.
? patches
Index: Makefile
===================================================================
RCS file: /cvs/ports/x11/emwm/Makefile,v
diff -u -p -u -r1.3 Makefile
--- Makefile 30 Oct 2025 21:34:15 -0000 1.3
+++ Makefile 27 Aug 2026 00:20:44 -0000
@@ -1,31 +1,45 @@
-COMMENT = enhanced motif window manager (MWM fork)
+COMMENT= Enhanced Motif Window Manager
-V = 1.3
-DISTNAME = emwm-src-${V}
-PKGNAME = emwm-${V}
-REVISION = 0
+DISTNAME= emwm-src-2.1
+PKGNAME= emwm-2.1
-CATEGORIES = x11
-HOMEPAGE = https://fastestcode.org/emwm.html
+CATEGORIES= x11
+HOMEPAGE= https://fastestcode.org/emwm.html
-# LGPL v2.1
-PERMIT_PACKAGE = Yes
+SITES= https://fastestcode.org/dl/
+EXTRACT_SUFX= .tar.xz
-SITES = https://fastestcode.org/dl/
-EXTRACT_SUFX = .tar.xz
+# LGPLv2.1
+PERMIT_PACKAGE= Yes
-WANTLIB += X11 Xext Xinerama Xm Xrandr Xt c m
+WANTLIB += X11 Xext Xinerama Xrandr Xt Xm c m
-LIB_DEPENDS = x11/motif
+LIB_DEPENDS= x11/motif
-MAKE_FLAGS = RCDIR=${PREFIX}/lib/X11 \
- CFLAGS="${CFLAGS}"
+WRKDIST= ${WRKDIR}/emwm-src-2.1
-FAKE_FLAGS = PREFIX=${WRKINST}${PREFIX} \
- APPLRESDIR=${WRKINST}${PREFIX}/lib/X11/app-defaults \
- MANDIR=${WRKINST}${PREFIX}/man \
- RCDIR=${WRKINST}${PREFIX}/lib/X11
+MAKE_ENV= CC='${CC}' \
+ CFLAGS='${CFLAGS}' \
+ LDFLAGS='${LDFLAGS}'
-NO_TEST = Yes
+MAKE_FLAGS= PREFIX='${PREFIX}' \
+ MANDIR='${PREFIX}/man' \
+ RCDIR='${PREFIX}/lib/X11' \
+ APPLRESDIR='${PREFIX}/lib/X11/app-defaults' \
+ INCDIRS='-I${X11BASE}/include -I${LOCALBASE}/include' \
+ LIBDIRS='-L${X11BASE}/lib -L${LOCALBASE}/lib'
+
+do-build:
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} OpenBSD
+
+do-install:
+ cd ${WRKSRC}/src && \
+ ${INSTALL_PROGRAM} emwm ${PREFIX}/bin/emwm && \
+ ${INSTALL_DATA} emwm.1 ${PREFIX}/man/man1/emwm.1 && \
+ ${INSTALL_DATA} emwmrc.4 ${PREFIX}/man/man4/emwmrc.4 && \
+ ${INSTALL_DATA} system.emwmrc ${PREFIX}/lib/X11/system.emwmrc && \
+ ${INSTALL_DATA} Emwm.ad ${PREFIX}/lib/X11/app-defaults/Emwm
+
+NO_TEST= Yes
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/x11/emwm/distinfo,v
diff -u -p -u -r1.2 distinfo
--- distinfo 8 May 2025 14:18:13 -0000 1.2
+++ distinfo 27 Aug 2026 00:20:44 -0000
@@ -1,2 +1,2 @@
-SHA256 (emwm-src-1.3.tar.xz) = Y58/q4P/a0scnHnKRr9iBIVevoNC7gUqIUiUJVQQuM0=
-SIZE (emwm-src-1.3.tar.xz) = 337648
+SHA256 (emwm-src-2.1.tar.xz) = 1EDIKgHP92ZwxLstR6cy4k/+7fh7uM+iMMYgk34K+Es=
+SIZE (emwm-src-2.1.tar.xz) = 298340
Index: pkg/DESCR
===================================================================
RCS file: /cvs/ports/x11/emwm/pkg/DESCR,v
diff -u -p -u -r1.1.1.1 DESCR
--- pkg/DESCR 23 Aug 2024 05:58:19 -0000 1.1.1.1
+++ pkg/DESCR 27 Aug 2026 00:20:44 -0000
@@ -1,7 +1,11 @@
-EMWM is a fork of the Motif Window Manager with fixes and enhancements.
-The idea behind this is to provide compatibility with current xorg
-extensions and applications, without changing the way the window
-manager looks and behaves. This includes support for multi-monitor
-setups through Xinerama/Xrandr, UTF-8 support with Xft fonts, and
-overall better compatibility with software that requires Extended
-Window Manager Hints.
+Enhanced Motif Window Manager (EMWM) is a fork of the Motif Window Manager
+with fixes and enhancements to provide compatibility with current X
+extensions and applications, without changing the way the window manager
+looks and behaves.
+
+Features include:
+- Support for multi-monitor setups through Xinerama/Xrandr
+- UTF-8 and Xft fonts support
+- Multiple workspaces support
+- Better compatibility with EWMH (Extended Window Manager Hints)
+- Proper ICCCM compliance for StaticGravity and icon handling
--- /dev/null Thu Aug 27 02:20:44 2026
+++ /usr/ports/x11/emwm/patches/patch-mf_Makefile_OpenBSD Thu Aug 27 01:31:44 2026
@@ -0,0 +1,22 @@
+Use ports infrastructure variables for paths.
+
+--- mf/Makefile.OpenBSD.orig
++++ mf/Makefile.OpenBSD
+@@ -1,11 +1,11 @@
+ # EMWM OpenBSD Makefile
+
+-PREFIX = /usr/local
+-MANDIR = /usr/local/man
+-RCDIR = /usr/X11R6/lib/X11
+-APPLRESDIR = /usr/X11R6/lib/X11/app-defaults
++PREFIX ?= ${PREFIX}
++MANDIR ?= ${PREFIX}/man
++RCDIR ?= ${PREFIX}/lib/X11
++APPLRESDIR ?= ${PREFIX}/lib/X11/app-defaults
+
+-INCDIRS = -I/usr/X11R6/include -I/usr/local/include
+-LIBDIRS = -L/usr/X11R6/lib -L/usr/local/lib
++INCDIRS += -I${X11BASE}/include -I${LOCALBASE}/include
++LIBDIRS += -L${X11BASE}/lib -L${LOCALBASE}/lib
+
+ CFLAGS = -O2 -Wall $(INCDIRS)
? patches/patch-mf_Makefile_OpenBSD
Index: Makefile
===================================================================
RCS file: /cvs/ports/x11/emwm-utils/Makefile,v
diff -u -p -u -r1.5 Makefile
--- Makefile 30 Oct 2025 21:34:15 -0000 1.5
+++ Makefile 27 Aug 2026 00:17:53 -0000
@@ -1,32 +1,48 @@
-COMMENT = session manager and a toolchest-like application launcher
+COMMENT= utilities for Enhanced Motif Window Manager
-V = 1.3
-DISTNAME = emwm-utils-src-${V}
-PKGNAME = emwm-utils-${V}
-REVISION = 2
+DISTNAME= emwm-utils-src-2.0
+PKGNAME= emwm-utils-2.0
-CATEGORIES = x11
-HOMEPAGE = https://fastestcode.org/emwm.html
+CATEGORIES= x11
+HOMEPAGE= https://fastestcode.org/emwm.html
-# MIT
-PERMIT_PACKAGE = Yes
+SITES= https://fastestcode.org/dl/
+EXTRACT_SUFX= .tar.xz
-SITES = https://fastestcode.org/dl/
-EXTRACT_SUFX = .tar.xz
+# MIT
+PERMIT_PACKAGE= Yes
-WANTLIB += X11 Xinerama Xm Xrandr Xss Xt c
+WANTLIB += X11 Xinerama Xrandr Xss Xt Xm c
-LIB_DEPENDS = x11/motif
+LIB_DEPENDS= x11/motif
-MAKE_FLAGS = RCDIR=${PREFIX}/lib/X11 \
- CFLAGS="${CFLAGS} -DUNPRIVILEGED_SHUTDOWN \
- -I./Xm -I${X11BASE}/include -I${LOCALBASE}/include"
+WRKDIST= ${WRKDIR}/emwm-utils-src-2.0
-FAKE_FLAGS = PREFIX=${WRKINST}${PREFIX} \
- APPLRESDIR=${WRKINST}${PREFIX}/lib/X11/app-defaults \
- MANDIR=${WRKINST}${PREFIX}/man \
- RCDIR=${WRKINST}${PREFIX}/lib/X11
+MAKE_ENV= CC='${CC}' \
+ CFLAGS='${CFLAGS}' \
+ LDFLAGS='${LDFLAGS}'
+
+MAKE_FLAGS= PREFIX='${PREFIX}' \
+ MANDIR='${PREFIX}/man' \
+ RCDIR='${PREFIX}/lib/X11' \
+ APPLRESDIR='${PREFIX}/lib/X11/app-defaults' \
+ INCDIRS='-I${X11BASE}/include -I${LOCALBASE}/include' \
+ LIBDIRS='-L${X11BASE}/lib -L${LOCALBASE}/lib'
+
+do-build:
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} OpenBSD
+
+do-install:
+ ${INSTALL_SCRIPT} ${WRKSRC}/src/xmsession ${PREFIX}/bin/xmsession
+ ${INSTALL_PROGRAM} ${WRKSRC}/src/xmtoolbox ${PREFIX}/bin/xmtoolbox
+ ${INSTALL_PROGRAM} ${WRKSRC}/src/xmsm ${PREFIX}/bin/xmsm
+ ${INSTALL_MAN} ${WRKSRC}/src/xmtoolbox.1 ${PREFIX}/man/man1/xmtoolbox.1
+ ${INSTALL_MAN} ${WRKSRC}/src/xmsm.1 ${PREFIX}/man/man1/xmsm.1
+ ${INSTALL_DATA} ${WRKSRC}/src/XmSm.ad ${PREFIX}/lib/X11/app-defaults/XmSm
+ ${INSTALL_DATA} ${WRKSRC}/src/XmToolbox.ad \
+ ${PREFIX}/lib/X11/app-defaults/XmToolbox
+ ${INSTALL_DATA} ${WRKSRC}/src/toolboxrc ${PREFIX}/lib/X11/toolboxrc
-NO_TEST = Yes
+NO_TEST= Yes
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/x11/emwm-utils/distinfo,v
diff -u -p -u -r1.2 distinfo
--- distinfo 8 May 2025 14:19:24 -0000 1.2
+++ distinfo 27 Aug 2026 00:17:53 -0000
@@ -1,2 +1,2 @@
-SHA256 (emwm-utils-src-1.3.tar.xz) = 4TXV1ZZug/1h6JADiGdczeYtQiMBLMaDO8ouXjchoKo=
-SIZE (emwm-utils-src-1.3.tar.xz) = 28144
+SHA256 (emwm-utils-src-2.0.tar.xz) = FwA0yLQb9If6PgiXmIzUjzZrqOvzCJN+1Enfhbm/B14=
+SIZE (emwm-utils-src-2.0.tar.xz) = 34840
Index: pkg/DESCR
===================================================================
RCS file: /cvs/ports/x11/emwm-utils/pkg/DESCR,v
diff -u -p -u -r1.1.1.1 DESCR
--- pkg/DESCR 23 Aug 2024 06:03:38 -0000 1.1.1.1
+++ pkg/DESCR 27 Aug 2026 00:17:53 -0000
@@ -1,10 +1,9 @@
-xmsm is simple session manager that provides session configuration
-and screen locking and also launches the window manager and the
-toolbox.
+Utilities for the Enhanced Motif Window Manager (EMWM):
-xmtoolbox is an application launcher/menu configured with a simple
-text file. It also communicates with the session manager to provide
-lock, log out, and shutdown commands.
+- xmtoolbox: An application launcher/menu configured with a simple text
+ file (~/.toolboxrc). Can optionally include a workspace switcher widget.
-An example toolbox configuration file can be copied from
-${PREFIX}/lib/X11/toolboxrc.
+- xmsm: Simple session manager that provides session configuration,
+ screen locking, logout and shutdown/suspend options.
+
+- xmsession: Session script for launching EMWM with xmsm from XDM or xinit.
--- /dev/null Thu Aug 27 02:18:07 2026
+++ /usr/ports/x11/emwm-utils/patches/patch-mf_Makefile_OpenBSD Thu Aug 27 01:31:44 2026
@@ -0,0 +1,23 @@
+Use ports infrastructure variables for paths. Remove -lcrypt (part of libc on OpenBSD).
+
+--- mf/Makefile.OpenBSD.orig
++++ mf/Makefile.OpenBSD
+@@ -1,11 +1,12 @@
+ # OpenBSD Makefile
+
+-PREFIX = /usr/local
+-MANDIR = /usr/local/man
+-RCDIR = /usr/X11R6/lib/X11
+-APPLRESDIR = /usr/X11R6/lib/X11/app-defaults
++PREFIX ?= ${PREFIX}
++MANDIR ?= ${PREFIX}/man
++RCDIR ?= ${PREFIX}/lib/X11
++APPLRESDIR ?= ${PREFIX}/lib/X11/app-defaults
+
+-INCDIRS = -I./Xm -I/usr/X11R6/include -I/usr/local/include
+-LIBDIRS = -L/usr/X11R6/lib -L/usr/local/lib
++INCDIRS += -I./Xm -I${X11BASE}/include -I${LOCALBASE}/include
++LIBDIRS += -L${X11BASE}/lib -L${LOCALBASE}/lib
++SYSLIBS =
+
+ CFLAGS = -O2 -Wall $(INCDIRS)