Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 Jan 2025 20:12:53 GMT
From:      Zsolt Udvari <uzsolt@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: c8b37a8387d6 - main - www/elinks: Update to 0.18.0
Message-ID:  <202501122012.50CKCrV6026334@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by uzsolt:

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

commit c8b37a8387d6734a96e44c9ac781fa7499767456
Author:     Dustin Marquess <jailbird@fdf.net>
AuthorDate: 2025-01-12 20:10:25 +0000
Commit:     Zsolt Udvari <uzsolt@FreeBSD.org>
CommitDate: 2025-01-12 20:12:28 +0000

    www/elinks: Update to 0.18.0
    
    Drop the libCSS/libdom patch as it's not needed anymore.
    Removes options that don't require a library installed from a package
    (except for EXMODE/LOCAL_CGI/NOROOT)
    Wire in the test suite.
    Add MUJS, PYTHON, and SIXEL options.
    
    PR:             281909
    Approved by:    submitter is maintainer
---
 www/elinks/Makefile                                | 127 ++++++++++-----------
 www/elinks/distinfo                                |   8 +-
 www/elinks/files/patch-meson.build                 |  38 ++++--
 ..._renderer.cpp => patch-src_document_renderer.c} |   2 +-
 www/elinks/files/patch-src_dom_test_meson.build    |  11 ++
 .../files/patch-src_js_spidermonkey_fragment.cpp   |  11 ++
 www/elinks/files/patch-src_terminal_sixel.c        |  20 ++++
 7 files changed, 135 insertions(+), 82 deletions(-)

diff --git a/www/elinks/Makefile b/www/elinks/Makefile
index 93ff2a7915b8..701b7319dde4 100644
--- a/www/elinks/Makefile
+++ b/www/elinks/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	elinks
 DISTVERSIONPREFIX=	v
-DISTVERSION=	0.17.0
-PORTREVISION=	2
+DISTVERSION=	0.18.0
 CATEGORIES=	www
 
 MAINTAINER=	jailbird@fdf.net
@@ -12,44 +11,57 @@ LICENSE=	GPLv2
 LICENSE_FILE=	${WRKSRC}/COPYING
 
 BUILD_DEPENDS=	xmlto:textproc/xmlto
+LIB_DEPENDS=	libidn2.so:dns/libidn2
 
-USES=		bison:alias cpe gmake iconv meson perl5 pkgconfig python ssl
+USES=		bison:alias cpe gettext-runtime:build gmake iconv localbase \
+		meson perl5 pkgconfig python:build shebangfix ssl
+TEST_USES=	gettext-tools:build
 USE_GITHUB=	yes
 GH_ACCOUNT=	rkd77
 
-LDFLAGS+=	-lexecinfo
-MESON_ARGS=	-Dgpm=false -Dperl=true
-
-OPTIONS_DEFINE=		256COLORS 88COLORS TRUECOLORS BITTORRENT BROTLI CSS \
-			CURL EXMODE FASTMEM FINGER FSP FTP GOPHER GUILE \
-			HIGHLIGHT IDN LOCAL_CGI LUA LZMA MOUSE NLS NNTP NOROOT \
-			SMB SPIDERMONKEY TRE XBELMARKS ZSTD
-OPTIONS_DEFAULT=	256COLORS 88COLORS BROTLI EXMODE FASTMEM FTP \
-			HIGHLIGHT LZMA MOUSE
+LDFLAGS+=	-L${LOCALBASE}/lib -lexecinfo -lintl
+TEST_TARGET=	test
+SHEBANG_FILES=	doc/tools/help2xml doc/tools/asciidoc/asciidoc.py \
+		src/protocol/ftp/test-ftp-parser
+MESON_ARGS=	-D256-colors=true \
+		-D88-colors=true \
+		-Dapidoc=false \
+		-Dbzlib=true \
+		-Dcodepoint=false \
+		-Dfastmem=true \
+		-Dfinger=true \
+		-Dfsp2=true \
+		-Dgemini=true \
+		-Dgopher=true \
+		-Dgpm=false \
+		-Dhtmldoc=true \
+		-Didn=true \
+		-Dlzma=true \
+		-Dnntp=true \
+		-Dpdfdoc=false \
+		-Dperl=true \
+		-Dsysmouse=true \
+		-Dtest=true \
+		-Dtrue-color=true
+
+OPTIONS_DEFINE=		BROTLI CSS CURL EXMODE GUILE HIGHLIGHT LIBEVENT \
+			LOCAL_CGI LUA MUJS NLS NOROOT PYTHON SIXEL SMB \
+			SPIDERMONKEY TRE XBELMARKS ZSTD
+OPTIONS_DEFAULT=	BROTLI EXMODE HIGHLIGHT
 OPTIONS_SUB=		yes
 
-88COLORS_DESC=		88 color support
-256COLORS_DESC=		256 color support
-TRUECOLORS_DESC=	True color support
 CSS_DESC=		Cascading Style Sheets support (via libcss & libdom)
 EXMODE_DESC=		Exmode (CLI) support
-FASTMEM_DESC=		Fast memory allocation functions
-FSP_DESC=		FSP protocol support (via fsplib)
 HIGHLIGHT_DESC=		HTML highlighting using DOM engine
+LIBEVENT_DESC=		Use libevent as event handler
 LOCAL_CGI_DESC=		Local CGI support
+MUJS_DESC=		ECMAscript support (via MuJS)
 NOROOT_DESC=		Prevention of usage by root
+SIXEL_DESC=		Show images on sixel compatible terminals
 SPIDERMONKEY_DESC=	ECMAScript support (via SpiderMonkey)
 TRE_DESC=		TRE regex search support
 XBELMARKS_DESC=		XBEL bookmarks (via expat)
 
-256COLORS_MESON_TRUE=	256-colors
-
-88COLORS_MESON_TRUE=	88-colors
-
-TRUECOLORS_MESON_TRUE=	true-color
-
-BITTORRENT_MESON_TRUE=	bittorrent
-
 BROTLI_LIB_DEPENDS=	libbrotlidec.so:archivers/brotli
 BROTLI_MESON_TRUE=	brotli
 
@@ -57,63 +69,53 @@ CSS_LIB_DEPENDS=	libcss.so:textproc/libcss \
 			libdom.so:www/libdom \
 			libwapcaplet.so:textproc/libwapcaplet
 CSS_MESON_TRUE=		libcss
-# support libcss 0.9.2, libdom 0.4.2 for elinks 0.17.0
-CSS_PATCHFILES=		2fdb04a6ab5523b94c4bd5c0062b0701686e127f.patch:-p1
-CSS_PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${PORTNAME}/commit/
+CSS_IMPLIES=		HIGHLIGHT
 
 CURL_LIB_DEPENDS=	libcurl.so:ftp/curl
 CURL_MESON_TRUE=	libcurl
 
 EXMODE_MESON_TRUE=	exmode
 
-FASTMEM_MESON_TRUE=	fastmem
-
-FINGER_MESON_TRUE=	finger
-
-FSP_RUN_DEPENDS=	${LOCALBASE}/lib/libfsplib.a:net/fsplib
-FSP_BUILD_DEPENDS=	${LOCALBASE}/lib/libfsplib.a:net/fsplib
-FSP_MESON_TRUE=		fsp
-
-FTP_MESON_TRUE=		ftp
-
-GOPHER_MESON_TRUE=	gopher
-
 GUILE_USES=		guile:3.0
 GUILE_MESON_TRUE=	guile
 
+HIGHLIGHT_LIB_DEPENDS=	libdom.so:www/libdom
 HIGHLIGHT_MESON_TRUE=	html-highlight
 
-IDN_LIB_DEPENDS=	libidn2.so:dns/libidn2
-IDN_USES=		localbase
-IDN_MESON_TRUE=		idn
+LIBEVENT_LIB_DEPENDS=	libevent.so:devel/libevent
+LIBEVENT_MESON_TRUE=	libevent
 
 LOCAL_CGI_MESON_TRUE=	cgi
 
-LUA_USES=		lua:52-53
-LUA_MESON_ON=		-Dluapkg=lua-${LUA_VER}
+LUA_USES=	lua:52-53
+LUA_MESON_ON=	-Dluapkg=lua-${LUA_VER}
 
-LZMA_MESON_TRUE=	lzma
+MUJS_LIB_DEPENDS=	libmujs.so:lang/mujs
+MUJS_MESON_TRUE=	mujs
 
-MOUSE_MESON_TRUE=	mouse
+NLS_USES=		gettext-tools
+NLS_BUILD_DEPENDS=	xxd:sysutils/xxd
+NLS_MESON_TRUE=		gettext nls
 
-NLS_USES=		gettext-runtime:build gettext-tools
-NLS_MESON_TRUE=		nls
+NOROOT_MESON_TRUE=	no-root
 
-NNTP_MESON_TRUE=	nntp
+PYTHON_USES=		python:run
+PYTHON_MESON_TRUE=	python
 
-NOROOT_MESON_TRUE=	no-root
+SIXEL_LIB_DEPENDS=	libsixel.so:graphics/libsixel
+SIXEL_MESON_TRUE=	libsixel
 
-SMB_USES=		samba # smbclient
-SMB_MESON_TRUE=		smb
+SMB_USES=	samba # smbclient
+SMB_MESON_TRUE=	smb
 
 SPIDERMONKEY_USES=		compiler:c++17-lang sqlite
-SPIDERMONKEY_BUILD_DEPENDS=	${LOCALBASE}/lib/libmozjs-102.so:lang/spidermonkey102
-SPIDERMONKEY_LIB_DEPENDS=	libmozjs-102.so:lang/spidermonkey102
-SPIDERMONKEY_CFLAGS=		-I${LOCALBASE}/include/js-102
-SPIDERMONKEY_CXXFLAGS=		-I${LOCALBASE}/include/js-102
-SPIDERMONKEY_LDFLAGS=		-L${LOCALBASE}/lib -lpthread -lm
-SPIDERMONKEY_MESON_ON=		-Dsm-scripting=true -Dspidermonkey=true
-SPIDERMONKEY_IMPLIES=		CSS CURL
+SPIDERMONKEY_BUILD_DEPENDS=	${LOCALBASE}/lib/libmozjs-128.so:lang/spidermonkey128
+SPIDERMONKEY_LIB_DEPENDS=	libmozjs-128.so:lang/spidermonkey128
+SPIDERMONKEY_CFLAGS=		-I${LOCALBASE}/include/js-128
+SPIDERMONKEY_CXXFLAGS=		-I${LOCALBASE}/include/js-128
+SPIDERMONKEY_LDFLAGS=		-lpthread -lm
+SPIDERMONKEY_MESON_TRUE=	sm-scripting spidermonkey
+SPIDERMONKEY_IMPLIES=		CSS CURL HIGHLIGHT
 
 TRE_LIB_DEPENDS=	libtre.so:textproc/libtre
 TRE_MESON_TRUE=		tre
@@ -122,11 +124,6 @@ XBELMARKS_LIB_DEPENDS=	libexpat.so:textproc/expat2
 XBELMARKS_MESON_TRUE=	xbel
 
 ZSTD_LIB_DEPENDS=	libzstd.so:archivers/zstd
-ZSTD_USES=		localbase
 ZSTD_MESON_TRUE=	zstd
 
-post-patch:
-	@${REINPLACE_CMD} -e 's|/usr/bin/perl|${PERL}|g' ${WRKSRC}/doc/tools/help2xml
-	@${REINPLACE_CMD} -e 's|/usr/bin/env python3|${PYTHON_CMD}|g' ${WRKSRC}/doc/tools/asciidoc/asciidoc.py
-
 .include <bsd.port.mk>
diff --git a/www/elinks/distinfo b/www/elinks/distinfo
index de6f1b06c1fc..28141b84fae8 100644
--- a/www/elinks/distinfo
+++ b/www/elinks/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1725369974
-SHA256 (rkd77-elinks-v0.17.0_GH0.tar.gz) = 250a55198bb3e16a49a52fde85ffc54f1e654b7615369467725a3d74bc469f22
-SIZE (rkd77-elinks-v0.17.0_GH0.tar.gz) = 4006073
-SHA256 (2fdb04a6ab5523b94c4bd5c0062b0701686e127f.patch) = 9aa25bdcadf99d8c43a7cce932b24a33f0c8eda448e5f132f1010d1ba9c667d0
-SIZE (2fdb04a6ab5523b94c4bd5c0062b0701686e127f.patch) = 5932
+TIMESTAMP = 1735211040
+SHA256 (rkd77-elinks-v0.18.0_GH0.tar.gz) = b4200c17dfe5574daddeceda69a42ef8f2459fc43e92cac73dcf30c3343c95a5
+SIZE (rkd77-elinks-v0.18.0_GH0.tar.gz) = 4165154
diff --git a/www/elinks/files/patch-meson.build b/www/elinks/files/patch-meson.build
index 3785cea7bae0..6172d9a9b56a 100644
--- a/www/elinks/files/patch-meson.build
+++ b/www/elinks/files/patch-meson.build
@@ -1,17 +1,33 @@
---- meson.build.orig	2023-12-25 11:25:27 UTC
+--- meson.build.orig	2024-12-26 11:02:09 UTC
 +++ meson.build
-@@ -211,6 +211,10 @@ endif
-     conf_data.set('HAVE_FCNTL_H', 1)
+@@ -519,7 +519,7 @@ conf_data.set('CONFIG_LIBCURL', false)
  endif
  
-+if compiler.has_header('execinfo.h')
-+    conf_data.set('HAVE_EXECINFO_H', 1)
-+endif
-+
- if compiler.has_header('libgen.h')
-     conf_data.set('HAVE_LIBGEN_H', 1)
+ conf_data.set('CONFIG_LIBCURL', false)
+-curldeps = false
++curldeps = []
+ if conf_data.get('CONFIG_ECMASCRIPT_SMJS') or conf_data.get('CONFIG_QUICKJS') or conf_data.get('CONFIG_MUJS')
+     curldeps = dependency('libcurl', static: st, version: '>=7.66.0', required: false)
+     if not curldeps.found()
+@@ -543,7 +543,7 @@ conf_data.set('CONFIG_LIBCSS', false)
  endif
-@@ -959,7 +964,7 @@ endif
+ 
+ conf_data.set('CONFIG_LIBCSS', false)
+-cssdeps = false
++cssdeps = []
+ 
+ if conf_data.get('CONFIG_ECMASCRIPT_SMJS') or conf_data.get('CONFIG_QUICKJS') or conf_data.get('CONFIG_MUJS')
+     cssdeps = dependency('libcss', static: st, version: '>=0.9.2', required: false)
+@@ -555,7 +555,7 @@ conf_data.set('CONFIG_LIBDOM', false)
+ endif
+ 
+ conf_data.set('CONFIG_LIBDOM', false)
+-libdomdeps = false
++libdomdeps = []
+ 
+ if conf_data.get('CONFIG_ECMASCRIPT_SMJS') or conf_data.get('CONFIG_QUICKJS') or conf_data.get('CONFIG_MUJS')
+     libdomdeps = dependency('libdom', static: st, version: '>=0.4.2', required: false)
+@@ -1088,7 +1088,7 @@ endif
      conf_data.set('HAVE_ICONV', 1)
  endif
  
@@ -20,7 +36,7 @@
      conf_data.set('HAVE_ALLOCA', 1)
  endif
  
-@@ -975,7 +980,7 @@ endif
+@@ -1104,7 +1104,7 @@ endif
      conf_data.set('HAVE_GNUTLS_CERTIFICATE_SET_X509_SYSTEM_TRUST', 1)
  endif
  
diff --git a/www/elinks/files/patch-src_document_renderer.cpp b/www/elinks/files/patch-src_document_renderer.c
similarity index 86%
rename from www/elinks/files/patch-src_document_renderer.cpp
rename to www/elinks/files/patch-src_document_renderer.c
index 4cedc6de6da2..8ee0a3414d0c 100644
--- a/www/elinks/files/patch-src_document_renderer.cpp
+++ b/www/elinks/files/patch-src_document_renderer.c
@@ -1,4 +1,4 @@
---- src/document/renderer.c.orig	2023-12-27 03:03:28 UTC
+--- src/document/renderer.c.orig	2024-12-26 11:02:09 UTC
 +++ src/document/renderer.c
 @@ -415,11 +415,11 @@ struct conv_table *
  }
diff --git a/www/elinks/files/patch-src_dom_test_meson.build b/www/elinks/files/patch-src_dom_test_meson.build
new file mode 100644
index 000000000000..66ea2ccd1fbc
--- /dev/null
+++ b/www/elinks/files/patch-src_dom_test_meson.build
@@ -0,0 +1,11 @@
+--- src/dom/test/meson.build.orig	2024-10-05 06:29:15 UTC
++++ src/dom/test/meson.build
+@@ -45,6 +45,6 @@ test('sgml-parser-incomplete', t5, depends:[exe2], env
+ test('sgml-parser-basic', t3, depends:[exe2], env:test_lib, workdir:meson.current_build_dir(), is_parallel:false)
+ test('sgml-parser-error', t4, depends:[exe2], env:test_lib, workdir:meson.current_build_dir(), is_parallel:false)
+ test('sgml-parser-incomplete', t5, depends:[exe2], env:test_lib, workdir:meson.current_build_dir(), is_parallel:false)
+-test('sgml-parser-incremental', t6, depends:[exe2], env:test_lib, workdir:meson.current_build_dir(), is_parallel:false, should_fail:true)
++test('sgml-parser-incremental', t6, depends:[exe2], env:test_lib, workdir:meson.current_build_dir(), is_parallel:false)
+ test('sgml-parser-lines', t7, depends:[exe2], env:test_lib, workdir:meson.current_build_dir(), is_parallel:false)
+-test('sgml-parser-random', t8, depends:[exe1], env:test_lib, workdir:meson.current_build_dir(), is_parallel:false, should_fail:true)
++test('sgml-parser-random', t8, depends:[exe1], env:test_lib, workdir:meson.current_build_dir(), is_parallel:false)
diff --git a/www/elinks/files/patch-src_js_spidermonkey_fragment.cpp b/www/elinks/files/patch-src_js_spidermonkey_fragment.cpp
new file mode 100644
index 000000000000..65d8fa237cff
--- /dev/null
+++ b/www/elinks/files/patch-src_js_spidermonkey_fragment.cpp
@@ -0,0 +1,11 @@
+--- src/js/spidermonkey/fragment.cpp.orig	2024-12-26 11:02:09 UTC
++++ src/js/spidermonkey/fragment.cpp
+@@ -2290,7 +2290,7 @@ DocumentFragment_constructor(JSContext *ctx, unsigned 
+ 	}
+ 	JS::Realm *comp = js::GetContextRealm(ctx);
+ 	struct ecmascript_interpreter *interpreter = (struct ecmascript_interpreter *)JS::GetRealmPrivate(comp);
+-	JS::RootedObject r_doc(ctx, interpreter->document_obj);
++	JS::RootedObject r_doc(ctx, (JSObject *)interpreter->document_obj);
+ 	dom_document *doc = JS::GetMaybePtrFromReservedSlot<dom_document>(r_doc, 0);
+ 
+ 	if (!doc) {
diff --git a/www/elinks/files/patch-src_terminal_sixel.c b/www/elinks/files/patch-src_terminal_sixel.c
new file mode 100644
index 000000000000..98cc88529b19
--- /dev/null
+++ b/www/elinks/files/patch-src_terminal_sixel.c
@@ -0,0 +1,20 @@
+--- src/terminal/sixel.c.orig	2024-10-05 06:29:15 UTC
++++ src/terminal/sixel.c
+@@ -83,7 +83,7 @@ struct sixel_encoder {
+     int macro_number;
+     int penetrate_multiplexer;
+     int encode_policy;
+-    int ormode;
++//    int ormode;
+     int pipe_mode;
+     int verbose;
+     int has_gri_arg_limit;
+@@ -733,7 +733,7 @@ sixel_encoder_encode_frame(
+     sixel_output_set_penetrate_multiplexer(
+         output, encoder->penetrate_multiplexer);
+     sixel_output_set_encode_policy(output, encoder->encode_policy);
+-    sixel_output_set_ormode(output, encoder->ormode);
++//    sixel_output_set_ormode(output, encoder->ormode);
+ 
+ #if 0
+     if (sixel_frame_get_multiframe(frame) && !encoder->fstatic) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202501122012.50CKCrV6026334>