Index | Thread | Search

From:
Matthieu Herrb <matthieu@openbsd.org>
Subject:
[llvm22] update x11/mlterm to 3.9.4
To:
ports@openbsd.org
Date:
Sun, 7 Jun 2026 18:20:09 +0200

Download raw body.

Thread
Lightly tested on amd63. I couldn't figure out how to run mlterm-fb on
the console, may be drop it ?

comments? ok ?

Index: Makefile
===================================================================
RCS file: /local/cvs/ports/x11/mlterm/Makefile,v
diff -u -p -u -r1.69 Makefile
--- Makefile	16 Aug 2025 07:43:38 -0000	1.69
+++ Makefile	7 Jun 2026 16:18:29 -0000
@@ -1,9 +1,8 @@
 COMMENT=	color terminal emulator with unicode support
-DISTNAME=	mlterm-3.8.3
-REVISION=	7
+DISTNAME=	mlterm-3.9.4
 
-SHARED_LIBS+=	mef	0.0 # 1.0
-SHARED_LIBS+=	pobl	0.0 # 1.0
+SHARED_LIBS+=	mef	1.0 # 3.1
+SHARED_LIBS+=	pobl	1.0 # 2.1
 
 CATEGORIES=	x11
 
@@ -13,12 +12,14 @@ HOMEPAGE=	https://mlterm.sourceforge.net
 PERMIT_PACKAGE=	Yes
 
 WANTLIB += X11 Xcomposite Xcursor Xdamage Xext Xfixes Xft Xi
-WANTLIB += Xinerama Xrandr Xrender atk-1.0 c cairo expat ffi
-WANTLIB += fontconfig freetype fribidi gdk_pixbuf-2.0 gdk-x11-2.0
+WANTLIB += Xinerama Xrandr Xrender XRes atk-1.0 atk-bridge-2.0
+WANTLIB += atspi c cairo cairo-gobject dbus-1 epoll-shim epoxy expat ffi
+WANTLIB += fontconfig freetype fribidi gdk_pixbuf-2.0 gdk-3  gtk-3
 WANTLIB += gio-2.0 glib-2.0 gmodule-2.0 gobject-2.0 graphite2
-WANTLIB += gtk-x11-2.0 harfbuzz iconv intl m pango-1.0
+WANTLIB += harfbuzz iconv intl m pango-1.0
 WANTLIB += pangocairo-1.0 pangoft2-1.0 pcre2-8 pixman-1 png pthread
-WANTLIB += util xcb xcb-render xcb-shm z Xau Xdmcp jpeg
+WANTLIB += util wayland-client wayland-cursor wayland-egl xcb
+WANTLIB += xcb-render xcb-shm xkbcommon z Xau Xdmcp jpeg
 WANTLIB += ${COMPILER_LIBCXX}
 
 SITES=		${SITE_SOURCEFORGE:=mlterm/}
@@ -27,14 +28,18 @@ BUILD_DEPENDS=	devel/gettext,-tools
 
 LIB_DEPENDS=	devel/fribidi \
 		devel/gettext,-runtime \
-		x11/gtk+2
+		devel/pango \
+		graphics/gdk-pixbuf2 \
+		x11/dbus \
+		x11/gnome/at-spi2-core \
+		x11/gtk+3
 
 FAKE_FLAGS=	INSTALL_DATA="${INSTALL_DATA}" \
 		INSTALL_SCRIPT="${INSTALL_SCRIPT}" \
 		sysconfdir="${PREFIX}/share/examples"
 
-CONFIGURE_STYLE=autoconf
-AUTOCONF_VERSION=2.65
+CONFIGURE_STYLE=autoconf no-autoheader
+AUTOCONF_VERSION=2.69
 CONFIGURE_ARGS=	--disable-canna \
 		--disable-dl-ctl \
 		--disable-fcitx \
@@ -46,14 +51,20 @@ CONFIGURE_ARGS=	--disable-canna \
 		--disable-ssh2 \
 		--disable-uim \
 		--disable-wnn \
-		--with-gtk=2.0 \
+		--with-gtk=3.0 \
 		--with-gui=xlib,fb \
 		--with-imagelib=gdk-pixbuf2 \
 		--with-tools=mlclient,mlconfig,mlcc,mlterm-menu,mlimgloader,mlfc
-CONFIGURE_ENV=	CPPFLAGS="-I${X11BASE}/include/freetype2"
+CONFIGURE_ENV=	CPPFLAGS="-I${X11BASE}/include/freetype2 -I${LOCALBASE}/include" \
+		LDFLAGS="-L${LOCALBASE}/lib" \
+		INSTALL_OPT="-m 4755 -o root"
 MAKE_ENV=	LIBmef_VERSION=${LIBmef_VERSION} \
 		LIBpobl_VERSION=${LIBpobl_VERSION}
 
 NO_TEST=	Yes
+
+# otherwise make update-patches gets confused by this copy
+post-configure:
+	rm  ${WRKDIST}/gui/fb/uitoolkit/fb/wskbdutil.c.orig.port
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /local/cvs/ports/x11/mlterm/distinfo,v
diff -u -p -u -r1.23 distinfo
--- distinfo	24 Sep 2017 07:30:21 -0000	1.23
+++ distinfo	7 Jun 2026 16:18:29 -0000
@@ -1,2 +1,2 @@
-SHA256 (mlterm-3.8.3.tar.gz) = zUvdsQvXhmJV3fRRkq3UhTwujEmzbfbpqdLydK8Y+e4=
-SIZE (mlterm-3.8.3.tar.gz) = 3850354
+SHA256 (mlterm-3.9.4.tar.gz) = Fx3kxPNEO8EhHMUd9cqg4IL/zdM6s84mG8Ckz+hdm14=
+SIZE (mlterm-3.9.4.tar.gz) = 4227568
Index: patches/patch-baselib_src_Makefile_in
===================================================================
RCS file: /local/cvs/ports/x11/mlterm/patches/patch-baselib_src_Makefile_in,v
diff -u -p -u -r1.2 patch-baselib_src_Makefile_in
--- patches/patch-baselib_src_Makefile_in	11 Mar 2022 20:16:46 -0000	1.2
+++ patches/patch-baselib_src_Makefile_in	7 Jun 2026 16:18:29 -0000
@@ -5,8 +5,8 @@ Index: baselib/src/Makefile.in
  
  LIBNAME=libpobl
  LIBNAME_DEB=libpobl_deb
--MAJOR = 1
--MINOR = 0
+-MAJOR = 2
+-MINOR = 1
 +MAJOR = ${LIBpobl_VERSION:R}
 +MINOR = ${LIBpobl_VERSION:E}
  
Index: patches/patch-configure_in
===================================================================
RCS file: /local/cvs/ports/x11/mlterm/patches/patch-configure_in,v
diff -u -p -u -r1.18 patch-configure_in
--- patches/patch-configure_in	11 Mar 2022 20:16:46 -0000	1.18
+++ patches/patch-configure_in	7 Jun 2026 16:18:29 -0000
@@ -1,47 +1,11 @@
-setuid root/setgid utmp are handled by PLIST
-
 Do not enable VTE support if libvte is around
 
 Index: configure.in
 --- configure.in.orig
 +++ configure.in
-@@ -652,15 +652,6 @@ else
- 				OT_LAYOUT_OBJ=hb.o
- 			fi
- 		fi
--
--		if test "$have_hb" != "yes"; then
--			AC_CHECK_PROG(libotf_config,libotf-config,yes)
--			if test "$libotf_config" = "yes" ; then
--				OT_LAYOUT_CFLAGS="`libotf-config --cflags` -DUSE_OT_LAYOUT"
--				OT_LAYOUT_LIBS="`libotf-config --libs`"
--				OT_LAYOUT_OBJ=otf.o
--			fi
--		fi
- 	fi
- 
- 	if test "$have_hb" = "yes" ; then
-@@ -807,44 +798,14 @@ AC_ARG_ENABLE(pty_helper,
- 	pty_helper=$enable_pty_helper)
- if test "$utmp" = "yes" -a "$pty_helper" != "yes" ; then
- 	UTMP_CFLAGS="-DUSE_UTMP"
--	has_utmp=`grep utmp /etc/group 2>/dev/null`
--	if test "$has_utmp" ; then
--		INSTALL_OPT="-m 2755 -g utmp"
--	else
--		INSTALL_OPT="-m 4755 -o root"
--	fi
--else
--	INSTALL_OPT="-m 755"
- fi
- 
--if test "$gui" = "fb" ; then
--	INSTALL_OPT="-m 4755 -o root"
--fi
-+INSTALL_OPT="-m 0555 -s"
- 
- AC_SUBST(UTMP_CFLAGS)
- AC_SUBST(INSTALL_OPT)
+@@ -1075,27 +1075,7 @@ AC_SUBST(MOSH_OCB_OBJ)
+ AC_SUBST(PROTOBUF_CFLAGS)
+ AC_SUBST(PROTOBUF_LIBS)
  
 -if test "${have_gtk}" = "yes" ; then
 -	if test "${gtk_version}" = "3.0" ; then
@@ -66,5 +30,5 @@ Index: configure.in
 -fi
 +have_vte=no
  
- tools="mlclient,mlconfig,mlcc,mlterm-menu,mlimgloader,registobmp,mlfc"
- AC_ARG_WITH(tools,
+ if test "$image" = "yes"; then
+ 	tools="mlclient,mlconfig,mlcc,mlterm-menu,mlimgloader,registobmp,mlfc"
Index: patches/patch-encodefilter_src_Makefile_in
===================================================================
RCS file: /local/cvs/ports/x11/mlterm/patches/patch-encodefilter_src_Makefile_in,v
diff -u -p -u -r1.2 patch-encodefilter_src_Makefile_in
--- patches/patch-encodefilter_src_Makefile_in	11 Mar 2022 20:16:46 -0000	1.2
+++ patches/patch-encodefilter_src_Makefile_in	7 Jun 2026 16:18:29 -0000
@@ -5,8 +5,8 @@ Index: encodefilter/src/Makefile.in
  
  LIBNAME = libmef
  LIBNAME_DEB = libmef_deb
--MAJOR = 1
--MINOR = 0
+-MAJOR = 3
+-MINOR = 1
 +MAJOR = ${LIBmef_VERSION:R}
 +MINOR = ${LIBmef_VERSION:E}
  
Index: patches/patch-uitoolkit_fb_ui_font_c
===================================================================
RCS file: patches/patch-uitoolkit_fb_ui_font_c
diff -N patches/patch-uitoolkit_fb_ui_font_c
--- patches/patch-uitoolkit_fb_ui_font_c	7 Feb 2023 21:32:29 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,21 +0,0 @@
-Index: uitoolkit/fb/ui_font.c
---- uitoolkit/fb/ui_font.c.orig
-+++ uitoolkit/fb/ui_font.c
-@@ -708,7 +708,7 @@ face_found:
-     goto error;
-   }
- 
--  face->generic.data = ((int)face->generic.data) + 1; /* ref_count */
-+  face->generic.data = (void *)(((int)face->generic.data) + 1); /* ref_count */
- 
-   xfont->width_full =
-       (face->max_advance_width * face->size->metrics.x_ppem + face->units_per_EM - 1) /
-@@ -810,7 +810,7 @@ static void unload_ft(XFontStruct *xfont) {
-   free(xfont->file);
- 
-   face = xfont->face;
--  face->generic.data = ((int)face->generic.data) - 1;
-+  face->generic.data = (void *)((int)face->generic.data - 1);
-   if (!face->generic.data) {
-     FT_Done_Face(xfont->face);
-   }
Index: patches/patch-uitoolkit_fb_ui_window_c
===================================================================
RCS file: patches/patch-uitoolkit_fb_ui_window_c
diff -N patches/patch-uitoolkit_fb_ui_window_c
--- patches/patch-uitoolkit_fb_ui_window_c	7 Feb 2023 21:32:29 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-Index: uitoolkit/fb/ui_window.c
---- uitoolkit/fb/ui_window.c.orig
-+++ uitoolkit/fb/ui_window.c
-@@ -23,8 +23,8 @@
- static ui_color_t black = {TP_COLOR, 0, 0, 0, 0};
- #endif
- 
--#define ParentRelative (1L)
--#define DummyPixmap (2L)
-+#define ParentRelative ((Pixmap)1L)
-+#define DummyPixmap ((Pixmap)2L)
- 
- /* XXX Check if win is input method window or not. */
- #define IS_IM_WINDOW(win) ((win)->disp->num_of_roots >= 2 && (win) == (win)->disp->roots[1])
Index: patches/patch-uitoolkit_fb_wskbdutil_c
===================================================================
RCS file: patches/patch-uitoolkit_fb_wskbdutil_c
diff -N patches/patch-uitoolkit_fb_wskbdutil_c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-uitoolkit_fb_wskbdutil_c	7 Jun 2026 16:18:29 -0000
@@ -0,0 +1,203 @@
+Missing wskeysyms on OpenBSD
+
+Index: uitoolkit/fb/wskbdutil.c
+--- uitoolkit/fb/wskbdutil.c.orig
++++ uitoolkit/fb/wskbdutil.c
+@@ -167,6 +167,7 @@ static struct compose_tab_s {
+ 	{ { KS_grave,			KS_u },			KS_ugrave },
+ 	{ { KS_acute,			KS_y },			KS_yacute },
+ #endif
++#ifdef KS_dead_semin
+ 	{ { KS_dead_semi,		KS_gr_A },		KS_gr_At  },
+ 	{ { KS_dead_semi,		KS_gr_E },		KS_gr_Et  },
+ 	{ { KS_dead_semi,		KS_gr_H },		KS_gr_Ht  },
+@@ -174,8 +175,12 @@ static struct compose_tab_s {
+ 	{ { KS_dead_semi,		KS_gr_O },		KS_gr_Ot  },
+ 	{ { KS_dead_semi,		KS_gr_Y },		KS_gr_Yt  },
+ 	{ { KS_dead_semi,		KS_gr_V },		KS_gr_Vt  },
++#endif
++#ifdef KS_dead_colon
+ 	{ { KS_dead_colon,		KS_gr_I },		KS_gr_Id  },
+ 	{ { KS_dead_colon,		KS_gr_Y },		KS_gr_Yd  },
++#endif
++#ifdef _KS_dead_semi
+ 	{ { KS_dead_semi,		KS_gr_a },		KS_gr_at  },
+ 	{ { KS_dead_semi,		KS_gr_e },		KS_gr_et  },
+ 	{ { KS_dead_semi,		KS_gr_h },		KS_gr_ht  },
+@@ -183,61 +188,134 @@ static struct compose_tab_s {
+ 	{ { KS_dead_semi,		KS_gr_o },		KS_gr_ot  },
+ 	{ { KS_dead_semi,		KS_gr_y },		KS_gr_yt  },
+ 	{ { KS_dead_semi,		KS_gr_v },		KS_gr_vt  },
++#endif
++#ifdef KS_dead_colon
+ 	{ { KS_dead_colon,		KS_gr_i },		KS_gr_id  },
+ 	{ { KS_dead_colon,		KS_gr_y },		KS_gr_yd  },
+-
++#endif
+ 	/* Latin 2*/
+-
++#ifdef KS_Sacute
+ 	{ { KS_dead_acute,		KS_S },			KS_Sacute },
++#endif
++#ifdef KS_Zacute
+ 	{ { KS_dead_acute,		KS_Z },			KS_Zacute },
++#endif
++#ifdef KS_sacute
+ 	{ { KS_dead_acute,		KS_s },			KS_sacute },
++#endif
++#ifdef KS_zacute
+ 	{ { KS_dead_acute,		KS_z },			KS_zacute },
++#endif
++#ifdef KS_Racute
+ 	{ { KS_dead_acute,		KS_R },			KS_Racute },
++#endif
+ 	{ { KS_dead_acute,		KS_A },			KS_Aacute },
++#ifdef KS_Lacute
+ 	{ { KS_dead_acute,		KS_L },			KS_Lacute },
++#endif
++#ifdef KS_Cacute
+ 	{ { KS_dead_acute,		KS_C },			KS_Cacute },
++#endif
+ 	{ { KS_dead_acute,		KS_E },			KS_Eacute },
+ 	{ { KS_dead_acute,		KS_I },			KS_Iacute },
++#ifdef KS_Nacute
+ 	{ { KS_dead_acute,		KS_N },			KS_Nacute },
++#endif
+ 	{ { KS_dead_acute,		KS_O },			KS_Oacute },
+ 	{ { KS_dead_acute,		KS_U },			KS_Uacute },
+ 	{ { KS_dead_acute,		KS_Y },			KS_Yacute },
++#ifdef KS_racute
+ 	{ { KS_dead_acute,		KS_r },			KS_racute },
++#endif
+ 	{ { KS_dead_acute,		KS_a },			KS_aacute },
++#ifdef KS_lacute
+ 	{ { KS_dead_acute,		KS_l },			KS_lacute },
++#endif
++#ifdef KS_cacute
+ 	{ { KS_dead_acute,		KS_c },			KS_cacute },
++#endif
+ 	{ { KS_dead_acute,		KS_e },			KS_eacute },
+ 	{ { KS_dead_acute,		KS_i },			KS_iacute },
++#ifdef KS_nacute
+ 	{ { KS_dead_acute,		KS_n },			KS_nacute },
++#endif
+ 	{ { KS_dead_acute,		KS_o },			KS_oacute },
+ 	{ { KS_dead_acute,		KS_u },			KS_uacute },
+ 	{ { KS_dead_acute,		KS_y },			KS_yacute },
++#ifdef KS_Abreve
+ 	{ { KS_dead_breve,		KS_A },			KS_Abreve },
++#endif
++#ifdef KS_abreve
+ 	{ { KS_dead_breve,		KS_a },			KS_abreve },
++#endif
++#ifdef KS_Lcaron
+ 	{ { KS_dead_caron,		KS_L },			KS_Lcaron },
++#endif
++#ifdef KS_Scaron
+ 	{ { KS_dead_caron,		KS_S },			KS_Scaron },
++#endif
++#ifdef KS_Tcaron
+ 	{ { KS_dead_caron,		KS_T },			KS_Tcaron },
++#endif
++#ifdef KS_Zcaron
+ 	{ { KS_dead_caron,		KS_Z },			KS_Zcaron },
++#endif
++#ifdef KS_lcaron
+ 	{ { KS_dead_caron,		KS_l },			KS_lcaron },
++#endif
++#ifdef KS_scaron
+ 	{ { KS_dead_caron,		KS_s },			KS_scaron },
++#endif
++#ifdef KS_tcaron
+ 	{ { KS_dead_caron,		KS_t },			KS_tcaron },
++#endif
++#ifdef KS_zcaron
+ 	{ { KS_dead_caron,		KS_z },			KS_zcaron },
++#endif
++#ifdef KS_Ccaron
+ 	{ { KS_dead_caron,		KS_C },			KS_Ccaron },
++#endif
++#ifdef KS_Ecaron
+ 	{ { KS_dead_caron,		KS_E },			KS_Ecaron },
++#endif
++#ifdef KS_Dcaron
+ 	{ { KS_dead_caron,		KS_D },			KS_Dcaron },
++#endif
++#ifdef KS_Ncaron
+ 	{ { KS_dead_caron,		KS_N },			KS_Ncaron },
++#endif
++#ifdef KS_Rcaron
+ 	{ { KS_dead_caron,		KS_R },			KS_Rcaron },
++#endif
++#ifdef KS_ccaron
+ 	{ { KS_dead_caron,		KS_c },			KS_ccaron },
++#endif
++#ifdef KS_ecaron
+ 	{ { KS_dead_caron,		KS_e },			KS_ecaron },
++#endif
++#ifdef KS_dcaron
+ 	{ { KS_dead_caron,		KS_d },			KS_dcaron },
++#endif
++#ifdef KS_ncaron
+ 	{ { KS_dead_caron,		KS_n },			KS_ncaron },
++#endif
++#ifdef KS_rcaron
+ 	{ { KS_dead_caron,		KS_r },			KS_rcaron },
++#endif
++#ifdef KS_Scedilla
+ 	{ { KS_dead_cedilla,		KS_S },			KS_Scedilla },
++#endif
++#ifdef KS_scedilla
+ 	{ { KS_dead_cedilla,		KS_s },			KS_scedilla },
++#endif
+ 	{ { KS_dead_cedilla,		KS_C },			KS_Ccedilla },
++#ifdef KS_Tcedilla
+ 	{ { KS_dead_cedilla,		KS_T },			KS_Tcedilla },
++#endif
+ 	{ { KS_dead_cedilla,		KS_c },			KS_ccedilla },
++#ifdef KS_tcedilla
+ 	{ { KS_dead_cedilla,		KS_t },			KS_tcedilla },
++#endif
+ 	{ { KS_dead_circumflex,		KS_A },			KS_Acircumflex },
+ 	{ { KS_dead_circumflex,		KS_I },			KS_Icircumflex },
+ 	{ { KS_dead_circumflex,		KS_O },			KS_Ocircumflex },
+@@ -252,23 +330,39 @@ static struct compose_tab_s {
+ 	{ { KS_dead_diaeresis,		KS_e },			KS_ediaeresis },
+ 	{ { KS_dead_diaeresis,		KS_o },			KS_odiaeresis },
+ 	{ { KS_dead_diaeresis,		KS_u },			KS_udiaeresis },
++#ifdef KS_dead_dotaccent
+ 	{ { KS_dead_dotaccent,		KS_Z },			KS_Zabovedot },
+ 	{ { KS_dead_dotaccent,		KS_z },			KS_zabovedot },
++#endif
++#ifdef KS_dead_hungarumlaut
+ 	{ { KS_dead_hungarumlaut,	KS_O },			KS_Odoubleacute },
+ 	{ { KS_dead_hungarumlaut,	KS_U },			KS_Udoubleacute },
+ 	{ { KS_dead_hungarumlaut,	KS_o },			KS_odoubleacute },
+ 	{ { KS_dead_hungarumlaut,	KS_u },			KS_udoubleacute },
++#endif
++#ifdef KS_dead_ogonek
+ 	{ { KS_dead_ogonek,		KS_A },			KS_Aogonek },
+ 	{ { KS_dead_ogonek,		KS_a },			KS_aogonek },
+ 	{ { KS_dead_ogonek,		KS_E },			KS_Eogonek },
+ 	{ { KS_dead_ogonek,		KS_e },			KS_eogonek },
++#endif
++#ifdef KS_KS_Uabovering
+ 	{ { KS_dead_abovering,		KS_U },			KS_Uabovering },
++#endif
++#ifdef KS_uabovering
+ 	{ { KS_dead_abovering,		KS_u },			KS_uabovering },
++#endif
++#ifdef KS_dead_slash
+ 	{ { KS_dead_slash,		KS_L },			KS_Lstroke },
+ 	{ { KS_dead_slash,		KS_l },			KS_lstroke }
++#endif
+ };
+ 
++#ifdef __arraycount
+ #define COMPOSE_SIZE	__arraycount(compose_tab)
++#else
++#define COMPOSE_SIZE (sizeof(compose_tab)/sizeof(struct compose_tab_s))
++#endif
+ 
+ static int compose_tab_inorder = 0;
+ 
Index: patches/patch-uitoolkit_libtype_ui_window_cairo_c
===================================================================
RCS file: patches/patch-uitoolkit_libtype_ui_window_cairo_c
diff -N patches/patch-uitoolkit_libtype_ui_window_cairo_c
--- patches/patch-uitoolkit_libtype_ui_window_cairo_c	7 Feb 2023 21:32:29 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,34 +0,0 @@
-Index: uitoolkit/libtype/ui_window_cairo.c
---- uitoolkit/libtype/ui_window_cairo.c.orig
-+++ uitoolkit/libtype/ui_window_cairo.c
-@@ -54,12 +54,12 @@ static int show_text(cairo_t *cr, cairo_scaled_font_t 
- #endif
- 
- #if CAIRO_VERSION_ENCODE(1, 4, 0) <= CAIRO_VERSION
--  if (cairo_get_user_data(cr, 1) != xfont)
-+  if (cairo_get_user_data(cr, (cairo_user_data_key_t *)1) != xfont)
- #endif
-   {
-     cairo_set_scaled_font(cr, xfont);
- #if CAIRO_VERSION_ENCODE(1, 4, 0) <= CAIRO_VERSION
--    cairo_set_user_data(cr, 1, xfont, NULL);
-+    cairo_set_user_data(cr, (cairo_user_data_key_t *)1, xfont, NULL);
- #endif
-   }
- 
-@@ -69,13 +69,13 @@ static int show_text(cairo_t *cr, cairo_scaled_font_t 
-    * default one
-    * (black == 0).
-    */
--  if ((u_long)cairo_get_user_data(cr, 2) != fg_color->pixel)
-+  if ((u_long)cairo_get_user_data(cr, (cairo_user_data_key_t *)2) != fg_color->pixel)
- #endif
-   {
-     cairo_set_source_rgba(cr, (double)fg_color->red / 255.0, (double)fg_color->green / 255.0,
-                           (double)fg_color->blue / 255.0, (double)fg_color->alpha / 255.0);
- #if CAIRO_VERSION_ENCODE(1, 4, 0) <= CAIRO_VERSION
--    cairo_set_user_data(cr, 2, fg_color->pixel, NULL);
-+    cairo_set_user_data(cr, (cairo_user_data_key_t *)2, (void *)fg_color->pixel, NULL);
- #endif
-   }
- 
Index: patches/patch-uitoolkit_ui_screen_manager_c
===================================================================
RCS file: patches/patch-uitoolkit_ui_screen_manager_c
diff -N patches/patch-uitoolkit_ui_screen_manager_c
--- patches/patch-uitoolkit_ui_screen_manager_c	7 Feb 2023 21:32:29 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-Index: uitoolkit/ui_screen_manager.c
---- uitoolkit/ui_screen_manager.c.orig
-+++ uitoolkit/ui_screen_manager.c
-@@ -593,7 +593,7 @@ static ui_screen_t *open_screen_intern(char *disp_name
-     }
- 
-     if (!ui_display_show_root(disp, root, main_config.x, main_config.y, main_config.geom_hint,
--                              main_config.app_name, main_config.parent_window)) {
-+                              main_config.app_name, (Window)main_config.parent_window)) {
- #ifdef DEBUG
-       bl_warn_printf(BL_DEBUG_TAG " ui_display_show_root() failed.\n");
- #endif
Index: pkg/PLIST
===================================================================
RCS file: /local/cvs/ports/x11/mlterm/pkg/PLIST,v
diff -u -p -u -r1.17 PLIST
--- pkg/PLIST	16 Aug 2025 07:43:38 -0000	1.17
+++ pkg/PLIST	7 Jun 2026 16:18:29 -0000
@@ -5,13 +5,12 @@
 @mode 2555
 @group utmp
 @bin bin/mlterm
-@mode
-@group
 @mode 4555
-@bin bin/mlterm-fb
-@mode
+@group
+bin/mlterm-fb
 @comment lib/libmef.a
 @comment lib/libmef.la
+@mode
 @lib lib/libmef.so.${LIBmef_VERSION}
 @comment lib/libpobl.a
 @comment lib/libpobl.la
@@ -69,10 +68,14 @@ lib/mlterm/
 @comment lib/mlterm/libtype_xft.a
 @comment lib/mlterm/libtype_xft.la
 @so lib/mlterm/libtype_xft.so
+@static-lib lib/mlterm/libzmodem.a
+lib/mlterm/libzmodem.la
+@so lib/mlterm/libzmodem.so
 libexec/mlterm/
 @bin libexec/mlterm/mlconfig
 @bin libexec/mlterm/mlimgloader
 @bin libexec/mlterm/mlterm-menu
+@man man/man1/mlcc.1
 @man man/man1/mlclient.1
 @man man/man1/mlterm.1
 share/examples/mlterm/
@@ -103,6 +106,8 @@ share/examples/mlterm/vfont
 @sample ${SYSCONFDIR}/mlterm/vfont
 share/examples/mlterm/xim
 @sample ${SYSCONFDIR}/mlterm/xim
+share/locale/ar/
+share/locale/ar/LC_MESSAGES/
 share/locale/ar/LC_MESSAGES/mlconfig.mo
 share/locale/de/LC_MESSAGES/mlconfig.mo
 share/locale/ja/LC_MESSAGES/mlconfig.mo

-- 
Matthieu Herrb