git: 513f684dcfa8 - main - comms/syncterm: Update to v1.4

From: Stephen Hurd <shurd_at_FreeBSD.org>
Date: Tue, 21 Jan 2025 16:30:35 UTC
The branch main has been updated by shurd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=513f684dcfa8fe242cc540ddb65793eacdd14b34

commit 513f684dcfa8fe242cc540ddb65793eacdd14b34
Author:     Stephen Hurd <shurd@FreeBSD.org>
AuthorDate: 2025-01-18 18:45:16 +0000
Commit:     Stephen Hurd <shurd@FreeBSD.org>
CommitDate: 2025-01-21 16:30:32 +0000

    comms/syncterm: Update to v1.4
    
    Summary:
    Add support for JPEG XL graphics in addition to PPM
    Massively improve output performance
    Lower audio output volume by 12dB
    Add option to configure audio output
    Add support for ALT+XXX and ALT+0XXXXX key entry
    Re-order BBS list entry fields
    Support Shell connections on Windows 10+
    Windows builds now include a .com (console) and a .exe (GUI) binary
    Fix X11 mode scaling and fullscreen with minimal X servers
    Fix crashes in text modes due to rip code being called
    Better socket disconnect detection in SSH and telnets sessions
    Reimplement status bar code
    Fix various Prestel mode bugs
    Fix error handling with telnets
    
    PR:             284141
    Approved by:    jrm
    Differential Revision: https://reviews.freebsd.org/D48571
---
 comms/syncterm/Makefile                            | 34 +++++-----
 comms/syncterm/distinfo                            |  6 +-
 .../files/cl-dont-validate-va-list.patch.in        | 11 ---
 comms/syncterm/files/patch-3rdp_build_GNUmakefile  | 10 ---
 .../syncterm/files/patch-src_syncterm_GNUmakefile  | 79 ++++++++++++++++++++++
 5 files changed, 100 insertions(+), 40 deletions(-)

diff --git a/comms/syncterm/Makefile b/comms/syncterm/Makefile
index 4a0c20358576..f62fdf5c6ba2 100644
--- a/comms/syncterm/Makefile
+++ b/comms/syncterm/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	syncterm
-DISTVERSION=	1.3
+DISTVERSION=	1.4
 CATEGORIES=	comms
 MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION}
 DISTNAME=	${PORTNAME}-${PORTVERSION}-src
@@ -13,39 +13,41 @@ LICENSE=	GPLv2
 USES=		gmake perl5 tar:tgz
 USE_PERL5=	build
 MAKEFILE=	GNUmakefile
-MAKE_ARGS+=	WITHOUT_ALSA_SOUND=yes \
-		PREFIX="${PREFIX}" \
+MAKE_ARGS+=	INSTALL_EXE="${INSTALL_PROGRAM}" \
 		MANPREFIX="${PREFIX}/share" \
-		INSTALL_EXE="${INSTALL_PROGRAM}" \
-		RELEASE=1
+		PREFIX="${PREFIX}" \
+		RELEASE=1 \
+		WITHOUT_ALSA_SOUND=yes
 ALL_TARGET=	${PORTNAME}
 
 CFLAGS+=	-I../xpdev
 NO_CCACHE=	yes
 WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}
 
-OPTIONS_DEFINE=	PORTAUDIO PULSEAUDIO SDL X11
-OPTIONS_DEFAULT=	X11
+OPTIONS_DEFINE=		JXL PORTAUDIO PULSEAUDIO SDL X11
+OPTIONS_DEFAULT=	JXL X11
+
+JXL_BUILD_DEPENDS=	${LOCALBASE}/libdata/pkgconfig/libjxl.pc:graphics/libjxl
+JXL_USES=		pkgconfig
+JXL_MAKE_ARGS_OFF=	WITHOUT_JPEG_XL=1
 
 PORTAUDIO_BUILD_DEPENDS=	${LOCALBASE}/include/portaudio.h:audio/portaudio
 PORTAUDIO_MAKE_ARGS_OFF=	WITHOUT_PORTAUDIO=1
 
 PULSEAUDIO_BUILD_DEPENDS=	${LOCALBASE}/libdata/pkgconfig/libpulse-simple.pc:audio/pulseaudio
-PULSEAUDIO_USES=	pkgconfig
+PULSEAUDIO_USES=		pkgconfig
 PULSEAUDIO_MAKE_ARGS_OFF=	NO_PULSEAUDIO=1
 
 SDL_BUILD_DEPENDS=	${LOCALBASE}/bin/sdl2-config:devel/sdl20
-SDL_MAKE_ARGS=	USE_SDL=1 USE_SDL_AUDIO=1
+SDL_MAKE_ARGS=		USE_SDL=1 \
+			USE_SDL_AUDIO=1
 SDL_MAKE_ARGS_OFF=	WITHOUT_SDL=1
 
 X11_BUILD_DEPENDS=	${LOCALBASE}/libdata/pkgconfig/x11.pc:x11/libX11 \
-		${LOCALBASE}/libdata/pkgconfig/xinerama.pc:x11/libXinerama \
-		${LOCALBASE}/libdata/pkgconfig/xrandr.pc:x11/libXrandr \
-		${LOCALBASE}/libdata/pkgconfig/xrender.pc:x11/libXrender
-X11_USES=	pkgconfig
+			${LOCALBASE}/libdata/pkgconfig/xinerama.pc:x11/libXinerama \
+			${LOCALBASE}/libdata/pkgconfig/xrandr.pc:x11/libXrandr \
+			${LOCALBASE}/libdata/pkgconfig/xrender.pc:x11/libXrender
+X11_USES=		pkgconfig
 X11_MAKE_ARGS_OFF=	NO_X=1
 
-post-configure:
-	${CP} ${FILESDIR}/cl-dont-validate-va-list.patch.in ${WRKSRC}/3rdp/build/cl-dont-validate-va-list.patch
-
 .include <bsd.port.mk>
diff --git a/comms/syncterm/distinfo b/comms/syncterm/distinfo
index 8ed35a624273..d53118f73458 100644
--- a/comms/syncterm/distinfo
+++ b/comms/syncterm/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1732513310
-SHA256 (syncterm-1.3-src.tgz) = d039644c87c3b29afd3333ec6942d822a85d8d853f67a069132dac1bd691cd8b
-SIZE (syncterm-1.3-src.tgz) = 10470687
+TIMESTAMP = 1737224989
+SHA256 (syncterm-1.4-src.tgz) = b2398c80b9882c7ac52740a4bb5d191c39c83e8fde5201757ac7170a4670bb6f
+SIZE (syncterm-1.4-src.tgz) = 10878126
diff --git a/comms/syncterm/files/cl-dont-validate-va-list.patch.in b/comms/syncterm/files/cl-dont-validate-va-list.patch.in
deleted file mode 100644
index 64ee6321938e..000000000000
--- a/comms/syncterm/files/cl-dont-validate-va-list.patch.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- misc/int_err.c.orig	2024-12-01 18:55:35.113669000 -0500
-+++ misc/int_err.c	2024-12-01 18:55:54.976487000 -0500
-@@ -41,7 +41,7 @@
- 	ANALYSER_HINT_STRING( format );
- 	ANALYSER_HINT_FORMAT_STRING( format );
- 
--	REQUIRES_B( verifyVAList( argPtr ) );
-+	//REQUIRES_B( verifyVAList( argPtr ) );
- 
- 	/* Clear return value */
- 	clearErrorInfo( errorInfo );
diff --git a/comms/syncterm/files/patch-3rdp_build_GNUmakefile b/comms/syncterm/files/patch-3rdp_build_GNUmakefile
deleted file mode 100644
index 639ac4c8825f..000000000000
--- a/comms/syncterm/files/patch-3rdp_build_GNUmakefile
+++ /dev/null
@@ -1,10 +0,0 @@
---- 3rdp/build/GNUmakefile.orig	2024-11-25 05:31:08 UTC
-+++ 3rdp/build/GNUmakefile
-@@ -193,6 +193,7 @@ $(CRYPTLIB_BUILD): $(3RDP_ROOT)/dist/cryptlib.zip $(3R
- 	$(QUIET)patch -b -p0 -d $(CRYPT_SRC) < cl-fix-cpuid-order.patch
- 	$(QUIET)patch -b -p0 -d $(CRYPT_SRC) < cl-fix-cbli-incompatible.patch
- 	$(QUIET)patch -b -p0 -d $(CRYPT_SRC) < cl-mingw64-unicode-gibble.patch
-+	$(QUIET)patch -b -p0 -d $(CRYPT_SRC) < cl-dont-validate-va-list.patch
- 	$(QUIET)perl -pi.bak -e 's/^(#define CRYPTLIB_VERSION.*)$$/"$$1\n#define CRYPTLIB_PATCHES \"" . (chomp($$val = `cat cl-*.patch | if (which md5sum > \/dev\/null 2>&1); then md5sum; else md5; fi`), $$val) . "\""/e' $(CRYPT_SRC)/cryptlib.h
- 	$(QUIET)sed -E -iorig 's/%%MIN_MAC_OSX_VERSION%%/${MIN_MAC_OSX_VERSION}/g' $(CRYPT_SRC)/tools/ccopts.sh
- ifdef FIXED_FIXED_SEED
diff --git a/comms/syncterm/files/patch-src_syncterm_GNUmakefile b/comms/syncterm/files/patch-src_syncterm_GNUmakefile
new file mode 100644
index 000000000000..2c38be8425fb
--- /dev/null
+++ b/comms/syncterm/files/patch-src_syncterm_GNUmakefile
@@ -0,0 +1,79 @@
+--- src/syncterm/GNUmakefile.orig	2025-01-18 18:57:48 UTC
++++ src/syncterm/GNUmakefile
+@@ -39,43 +39,42 @@ else
+  CRYPT_LIBS += $(CRYPT_LIB)
+ endif
+ 
+-ifdef win
+- CFLAGS += -I${3RDP_ROOT}/win32.release/libjxl/include -DJXL_THREADS_STATIC_DEFINE -DJXL_STATIC_DEFINE -DDLLIFY
+- LDFLAGS += -L${3RDP_ROOT}/${os}.release/libjxl/lib -static-libstdc++ -static-libgcc
+- EXTRA_LIBS += -ljxl
+- EXTRA_LIBS += -ljxl_threads
+- EXTRA_LIBS += -lbrotlidec
+- EXTRA_LIBS += -lbrotlicommon
+- EXTRA_LIBS += -lhwy
+- EXTRA_LIBS += -mdll
+- CFLAGS += -DWITH_JPEG_XL -DWITH_STATIC_JXL
+- CFLAGS += -DWITH_JPEG_XL_THREADS
+- OBJS += $(MTOBJODIR)$(DIRSEP)libjxl$(OFILE)
+- OBJS += $(MTOBJODIR)$(DIRSEP)conn_conpty$(OFILE)
+-else
+- ifeq ($(shell pkg-config libjxl --exists && echo YES), YES)
+-  CFLAGS += $(shell pkg-config libjxl --cflags)
+-  EXTRA_LIBS += $(shell pkg-config libjxl --libs)
+-  CFLAGS += -DWITH_JPEG_XL
++ifndef WITHOUT_JPEG_XL
++ ifdef win
++  CFLAGS += -I${3RDP_ROOT}/win32.release/libjxl/include -DJXL_THREADS_STATIC_DEFINE -DJXL_STATIC_DEFINE -DDLLIFY
++  LDFLAGS += -L${3RDP_ROOT}/${os}.release/libjxl/lib -static-libstdc++ -static-libgcc
++  EXTRA_LIBS += -ljxl
++  EXTRA_LIBS += -ljxl_threads
++  EXTRA_LIBS += -lbrotlidec
++  EXTRA_LIBS += -lbrotlicommon
++  EXTRA_LIBS += -lhwy
++  EXTRA_LIBS += -mdll
++  CFLAGS += -DWITH_JPEG_XL -DWITH_STATIC_JXL
++  CFLAGS += -DWITH_JPEG_XL_THREADS
+   OBJS += $(MTOBJODIR)$(DIRSEP)libjxl$(OFILE)
+-  ifeq ($(shell pkg-config libjxl_threads --exists && echo YES), YES)
+-   CFLAGS += $(shell pkg-config libjxl_threads --cflags)
+-   EXTRA_LIBS += $(shell pkg-config libjxl_threads --libs)
+-   CFLAGS += -DWITH_JPEG_XL_THREADS
+-  endif
++  OBJS += $(MTOBJODIR)$(DIRSEP)conn_conpty$(OFILE)
+  else
+-  # TODO: Add x86 libs too!
+-  ifeq ($(os),darwin)
+-   CFLAGS += -I$(3RDP_ROOT)/$(os).release/libjxl/include -DJXL_THREADS_STATIC_DEFINE -DJXL_STATIC_DEFINE
+-   LDFLAGS += -L$(3RDP_ROOT)/$(os).release/libjxl/lib
+-   EXTRA_LIBS += -ljxl
+-   EXTRA_LIBS += -ljxl_threads
+-   EXTRA_LIBS += -lbrotlidec
+-   EXTRA_LIBS += -lbrotlicommon
+-   EXTRA_LIBS += -lhwy
+-   CFLAGS += -DWITH_JPEG_XL -DWITH_STATIC_JXL
+-   CFLAGS += -DWITH_JPEG_XL_THREADS
++  ifeq ($(shell pkg-config libjxl --exists && echo YES), YES)
++   CFLAGS += $(shell pkg-config libjxl --cflags)
++   CFLAGS += -DWITH_JPEG_XL
+    OBJS += $(MTOBJODIR)$(DIRSEP)libjxl$(OFILE)
++   ifeq ($(shell pkg-config libjxl_threads --exists && echo YES), YES)
++    CFLAGS += $(shell pkg-config libjxl_threads --cflags)
++    CFLAGS += -DWITH_JPEG_XL_THREADS
++   endif
++  else
++   ifeq ($(os),darwin)
++    CFLAGS += -I$(3RDP_ROOT)/$(os).release/libjxl/include -DJXL_THREADS_STATIC_DEFINE -DJXL_STATIC_DEFINE
++    LDFLAGS += -L$(3RDP_ROOT)/$(os).release/libjxl/lib
++    EXTRA_LIBS += -ljxl
++    EXTRA_LIBS += -ljxl_threads
++    EXTRA_LIBS += -lbrotlidec
++    EXTRA_LIBS += -lbrotlicommon
++    EXTRA_LIBS += -lhwy
++    CFLAGS += -DWITH_JPEG_XL -DWITH_STATIC_JXL
++    CFLAGS += -DWITH_JPEG_XL_THREADS
++    OBJS += $(MTOBJODIR)$(DIRSEP)libjxl$(OFILE)
++   endif
+   endif
+  endif
+ endif