diff --git a/www/elinks/Makefile b/www/elinks/Makefile index 701b7319dde4..76b36221d76a 100644 --- a/www/elinks/Makefile +++ b/www/elinks/Makefile @@ -1,129 +1,130 @@ PORTNAME= elinks DISTVERSIONPREFIX= v -DISTVERSION= 0.18.0 +DISTVERSION= 0.19.0 CATEGORIES= www MAINTAINER= jailbird@fdf.net COMMENT= Links text WWW browser with enhancements WWW= https://github.com/rkd77/elinks/ LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING BUILD_DEPENDS= xmlto:textproc/xmlto LIB_DEPENDS= libidn2.so:dns/libidn2 -USES= bison:alias cpe gettext-runtime:build gmake iconv localbase \ +USES= bison:alias cpe gettext-runtime gmake iconv localbase:ldflags \ meson perl5 pkgconfig python:build shebangfix ssl -TEST_USES= gettext-tools:build USE_GITHUB= yes GH_ACCOUNT= rkd77 -LDFLAGS+= -L${LOCALBASE}/lib -lexecinfo -lintl -TEST_TARGET= test -SHEBANG_FILES= doc/tools/help2xml doc/tools/asciidoc/asciidoc.py \ +SHEBANG_FILES= doc/tools/asciidoc/asciidoc.py doc/tools/help2xml \ 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 +TEST_TARGET= test + +LDFLAGS+= -lexecinfo -lintl + 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 CSS_DESC= Cascading Style Sheets support (via libcss & libdom) EXMODE_DESC= Exmode (CLI) support 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) BROTLI_LIB_DEPENDS= libbrotlidec.so:archivers/brotli BROTLI_MESON_TRUE= brotli +CSS_IMPLIES= HIGHLIGHT CSS_LIB_DEPENDS= libcss.so:textproc/libcss \ libdom.so:www/libdom \ libwapcaplet.so:textproc/libwapcaplet CSS_MESON_TRUE= libcss -CSS_IMPLIES= HIGHLIGHT CURL_LIB_DEPENDS= libcurl.so:ftp/curl CURL_MESON_TRUE= libcurl EXMODE_MESON_TRUE= exmode GUILE_USES= guile:3.0 GUILE_MESON_TRUE= guile HIGHLIGHT_LIB_DEPENDS= libdom.so:www/libdom HIGHLIGHT_MESON_TRUE= html-highlight 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} MUJS_LIB_DEPENDS= libmujs.so:lang/mujs MUJS_MESON_TRUE= mujs -NLS_USES= gettext-tools NLS_BUILD_DEPENDS= xxd:sysutils/xxd +NLS_USES= gettext NLS_MESON_TRUE= gettext nls NOROOT_MESON_TRUE= no-root PYTHON_USES= python:run PYTHON_MESON_TRUE= python SIXEL_LIB_DEPENDS= libsixel.so:graphics/libsixel SIXEL_MESON_TRUE= libsixel SMB_USES= samba # smbclient SMB_MESON_TRUE= smb -SPIDERMONKEY_USES= compiler:c++17-lang sqlite +SPIDERMONKEY_IMPLIES= CSS CURL HIGHLIGHT SPIDERMONKEY_BUILD_DEPENDS= ${LOCALBASE}/lib/libmozjs-128.so:lang/spidermonkey128 SPIDERMONKEY_LIB_DEPENDS= libmozjs-128.so:lang/spidermonkey128 +SPIDERMONKEY_USES= compiler:c++17-lang sqlite +SPIDERMONKEY_MESON_TRUE= sm-scripting spidermonkey 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 +SPIDERMONKEY_LDFLAGS= -lm -lpthread TRE_LIB_DEPENDS= libtre.so:textproc/libtre TRE_MESON_TRUE= tre XBELMARKS_LIB_DEPENDS= libexpat.so:textproc/expat2 XBELMARKS_MESON_TRUE= xbel ZSTD_LIB_DEPENDS= libzstd.so:archivers/zstd ZSTD_MESON_TRUE= zstd .include diff --git a/www/elinks/distinfo b/www/elinks/distinfo index 28141b84fae8..3774a0024f1f 100644 --- a/www/elinks/distinfo +++ b/www/elinks/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1735211040 -SHA256 (rkd77-elinks-v0.18.0_GH0.tar.gz) = b4200c17dfe5574daddeceda69a42ef8f2459fc43e92cac73dcf30c3343c95a5 -SIZE (rkd77-elinks-v0.18.0_GH0.tar.gz) = 4165154 +TIMESTAMP = 1766660760 +SHA256 (rkd77-elinks-v0.19.0_GH0.tar.gz) = 8f0ea97764c9bc8edf2dcdfc15d0bb0e2225b82b0fd473871a2cb4ad2d61c7d5 +SIZE (rkd77-elinks-v0.19.0_GH0.tar.gz) = 4358433 diff --git a/www/elinks/files/patch-meson.build b/www/elinks/files/patch-meson.build index 6172d9a9b56a..97a4eca20dc1 100644 --- a/www/elinks/files/patch-meson.build +++ b/www/elinks/files/patch-meson.build @@ -1,47 +1,29 @@ ---- meson.build.orig 2024-12-26 11:02:09 UTC +--- meson.build.orig 2025-12-25 11:06:07 UTC +++ meson.build -@@ -519,7 +519,7 @@ conf_data.set('CONFIG_LIBCURL', false) - endif - - 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) +@@ -563,7 +563,7 @@ conf_data.set('CONFIG_LIBCSS', false) 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') + if conf_data.get('CONFIG_ECMASCRIPT') 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 +@@ -1158,7 +1158,7 @@ endif conf_data.set('HAVE_ICONV', 1) endif -if conf_data.get('CONFIG_OS_DOS') or compiler.has_function('alloca', prefix: '#include ') +if conf_data.get('CONFIG_OS_DOS') or compiler.has_function('alloca', prefix: '#include ') conf_data.set('HAVE_ALLOCA', 1) endif -@@ -1104,7 +1104,7 @@ endif +@@ -1174,7 +1174,7 @@ endif conf_data.set('HAVE_GNUTLS_CERTIFICATE_SET_X509_SYSTEM_TRUST', 1) endif -if compiler.has_function('mkstemps', prefix: '#include ', args: '-D_GNU_SOURCE') +if compiler.has_function('mkstemps', prefix: '#include ') conf_data.set('HAVE_MKSTEMPS', 1) endif diff --git a/www/elinks/files/patch-src_document_renderer.c b/www/elinks/files/patch-src_document_renderer.c index 8ee0a3414d0c..5d2eae2c45d0 100644 --- a/www/elinks/files/patch-src_document_renderer.c +++ b/www/elinks/files/patch-src_document_renderer.c @@ -1,16 +1,17 @@ ---- src/document/renderer.c.orig 2024-12-26 11:02:09 UTC +--- src/document/renderer.c.orig 2025-12-25 11:06:07 UTC +++ src/document/renderer.c -@@ -415,11 +415,11 @@ struct conv_table * +@@ -657,12 +657,12 @@ struct conv_table * } struct conv_table * -get_convert_table(char *head, int to_cp, +get_convert_table(const char *head, int to_cp, int default_cp, int *from_cp, enum cp_status *cp_status, int ignore_server_cp) { + ELOG - char *part = head; + const char *part = head; int cp_index = -1; assert(head); diff --git a/www/elinks/files/patch-src_document_renderer.h b/www/elinks/files/patch-src_document_renderer.h index 3f5795e6d245..d06809f64262 100644 --- a/www/elinks/files/patch-src_document_renderer.h +++ b/www/elinks/files/patch-src_document_renderer.h @@ -1,11 +1,11 @@ ---- src/document/renderer.h.orig 2022-12-25 18:17:02 UTC +--- src/document/renderer.h.orig 2025-12-25 11:06:07 UTC +++ src/document/renderer.h @@ -16,7 +16,7 @@ void render_document_frames(struct session *ses, int n void render_document(struct view_state *, struct document_view *, struct document_options *); void render_document_frames(struct session *ses, int no_cache); -struct conv_table *get_convert_table(char *head, int to_cp, int default_cp, int *from_cp, enum cp_status *cp_status, int ignore_server_cp); +struct conv_table *get_convert_table(const char *head, int to_cp, int default_cp, int *from_cp, enum cp_status *cp_status, int ignore_server_cp); + void compress_empty_lines(struct document *document); void sort_links(struct document *document); - #ifdef __cplusplus diff --git a/www/elinks/files/patch-src_js_spidermonkey_fragment.cpp b/www/elinks/files/patch-src_js_spidermonkey_fragment.cpp index 65d8fa237cff..f263a1cf18e6 100644 --- a/www/elinks/files/patch-src_js_spidermonkey_fragment.cpp +++ b/www/elinks/files/patch-src_js_spidermonkey_fragment.cpp @@ -1,11 +1,11 @@ ---- src/js/spidermonkey/fragment.cpp.orig 2024-12-26 11:02:09 UTC +--- src/js/spidermonkey/fragment.cpp.orig 2025-12-25 11:06:07 UTC +++ src/js/spidermonkey/fragment.cpp -@@ -2290,7 +2290,7 @@ DocumentFragment_constructor(JSContext *ctx, unsigned +@@ -2333,7 +2333,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(r_doc, 0); if (!doc) { diff --git a/www/elinks/files/patch-src_network_ssl_ssl.c b/www/elinks/files/patch-src_network_ssl_ssl.c index 88ef5625a3ac..de11a8056160 100644 --- a/www/elinks/files/patch-src_network_ssl_ssl.c +++ b/www/elinks/files/patch-src_network_ssl_ssl.c @@ -1,18 +1,18 @@ ---- src/network/ssl/ssl.c.orig 2024-03-15 07:07:07 UTC +--- src/network/ssl/ssl.c.orig 2025-12-25 11:06:07 UTC +++ src/network/ssl/ssl.c @@ -61,9 +61,15 @@ int socket_SSL_ex_data_idx = -1; /** Prevent SSL_dup() if the SSL is associated with struct socket. * We cannot copy struct socket and it doesn't have a reference count * either. */ +#ifdef LIBRESSL_VERSION_NUMBER static int +socket_SSL_ex_data_dup(CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, + WSK from_d, int idx, long argl, void *argp) +#else +static int socket_SSL_ex_data_dup(CRYPTO_EX_DATA *to, const CRYPTO_EX_DATA *from, WSK from_d, int idx, long argl, void *argp) +#endif { + ELOG /* The documentation of from_d in RSA_get_ex_new_index(3) - * is a bit unclear. The caller does something like: diff --git a/www/elinks/files/patch-src_protocol_header.c b/www/elinks/files/patch-src_protocol_header.c index b0c1c7fcf96d..932f8f526f74 100644 --- a/www/elinks/files/patch-src_protocol_header.c +++ b/www/elinks/files/patch-src_protocol_header.c @@ -1,14 +1,15 @@ ---- src/protocol/header.c.orig 2022-12-25 18:17:02 UTC +--- src/protocol/header.c.orig 2025-12-25 11:06:07 UTC +++ src/protocol/header.c -@@ -141,9 +141,9 @@ char * +@@ -141,10 +141,10 @@ char * * The terms message-header, field-name, start-line, and field-content * are defined in RFC 2616 sections 4.1 and 4.2. */ char * -parse_header(char *head, const char *item, char **ptr) +parse_header(const char *head, const char *item, const char **ptr) { + ELOG - char *pos = head; + const char *pos = head; if (!pos) return NULL; diff --git a/www/elinks/files/patch-src_terminal_sixel.c b/www/elinks/files/patch-src_terminal_sixel.c index 98cc88529b19..f41fd1a1cfe8 100644 --- a/www/elinks/files/patch-src_terminal_sixel.c +++ b/www/elinks/files/patch-src_terminal_sixel.c @@ -1,20 +1,12 @@ ---- src/terminal/sixel.c.orig 2024-10-05 06:29:15 UTC +--- src/terminal/sixel.c.orig 2025-12-25 11:06:07 UTC +++ src/terminal/sixel.c -@@ -83,7 +83,7 @@ struct sixel_encoder { +@@ -86,7 +86,9 @@ struct sixel_encoder { int macro_number; int penetrate_multiplexer; int encode_policy; -- int ormode; -+// int ormode; ++#ifdef SIXEL_OPTFLAG_ORMODE + int ormode; ++#endif 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) {