mirror of
https://git.freebsd.org/ports.git
synced 2025-04-28 01:26:39 -04:00
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
This commit is contained in:
parent
afbfb653af
commit
c8b37a8387
7 changed files with 135 additions and 82 deletions
|
@ -1,7 +1,6 @@
|
||||||
PORTNAME= elinks
|
PORTNAME= elinks
|
||||||
DISTVERSIONPREFIX= v
|
DISTVERSIONPREFIX= v
|
||||||
DISTVERSION= 0.17.0
|
DISTVERSION= 0.18.0
|
||||||
PORTREVISION= 2
|
|
||||||
CATEGORIES= www
|
CATEGORIES= www
|
||||||
|
|
||||||
MAINTAINER= jailbird@fdf.net
|
MAINTAINER= jailbird@fdf.net
|
||||||
|
@ -12,44 +11,57 @@ LICENSE= GPLv2
|
||||||
LICENSE_FILE= ${WRKSRC}/COPYING
|
LICENSE_FILE= ${WRKSRC}/COPYING
|
||||||
|
|
||||||
BUILD_DEPENDS= xmlto:textproc/xmlto
|
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
|
USE_GITHUB= yes
|
||||||
GH_ACCOUNT= rkd77
|
GH_ACCOUNT= rkd77
|
||||||
|
|
||||||
LDFLAGS+= -lexecinfo
|
LDFLAGS+= -L${LOCALBASE}/lib -lexecinfo -lintl
|
||||||
MESON_ARGS= -Dgpm=false -Dperl=true
|
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= 256COLORS 88COLORS TRUECOLORS BITTORRENT BROTLI CSS \
|
OPTIONS_DEFINE= BROTLI CSS CURL EXMODE GUILE HIGHLIGHT LIBEVENT \
|
||||||
CURL EXMODE FASTMEM FINGER FSP FTP GOPHER GUILE \
|
LOCAL_CGI LUA MUJS NLS NOROOT PYTHON SIXEL SMB \
|
||||||
HIGHLIGHT IDN LOCAL_CGI LUA LZMA MOUSE NLS NNTP NOROOT \
|
SPIDERMONKEY TRE XBELMARKS ZSTD
|
||||||
SMB SPIDERMONKEY TRE XBELMARKS ZSTD
|
OPTIONS_DEFAULT= BROTLI EXMODE HIGHLIGHT
|
||||||
OPTIONS_DEFAULT= 256COLORS 88COLORS BROTLI EXMODE FASTMEM FTP \
|
|
||||||
HIGHLIGHT LZMA MOUSE
|
|
||||||
OPTIONS_SUB= yes
|
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)
|
CSS_DESC= Cascading Style Sheets support (via libcss & libdom)
|
||||||
EXMODE_DESC= Exmode (CLI) support
|
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
|
HIGHLIGHT_DESC= HTML highlighting using DOM engine
|
||||||
|
LIBEVENT_DESC= Use libevent as event handler
|
||||||
LOCAL_CGI_DESC= Local CGI support
|
LOCAL_CGI_DESC= Local CGI support
|
||||||
|
MUJS_DESC= ECMAscript support (via MuJS)
|
||||||
NOROOT_DESC= Prevention of usage by root
|
NOROOT_DESC= Prevention of usage by root
|
||||||
|
SIXEL_DESC= Show images on sixel compatible terminals
|
||||||
SPIDERMONKEY_DESC= ECMAScript support (via SpiderMonkey)
|
SPIDERMONKEY_DESC= ECMAScript support (via SpiderMonkey)
|
||||||
TRE_DESC= TRE regex search support
|
TRE_DESC= TRE regex search support
|
||||||
XBELMARKS_DESC= XBEL bookmarks (via expat)
|
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_LIB_DEPENDS= libbrotlidec.so:archivers/brotli
|
||||||
BROTLI_MESON_TRUE= brotli
|
BROTLI_MESON_TRUE= brotli
|
||||||
|
|
||||||
|
@ -57,63 +69,53 @@ CSS_LIB_DEPENDS= libcss.so:textproc/libcss \
|
||||||
libdom.so:www/libdom \
|
libdom.so:www/libdom \
|
||||||
libwapcaplet.so:textproc/libwapcaplet
|
libwapcaplet.so:textproc/libwapcaplet
|
||||||
CSS_MESON_TRUE= libcss
|
CSS_MESON_TRUE= libcss
|
||||||
# support libcss 0.9.2, libdom 0.4.2 for elinks 0.17.0
|
CSS_IMPLIES= HIGHLIGHT
|
||||||
CSS_PATCHFILES= 2fdb04a6ab5523b94c4bd5c0062b0701686e127f.patch:-p1
|
|
||||||
CSS_PATCH_SITES= https://github.com/${GH_ACCOUNT}/${PORTNAME}/commit/
|
|
||||||
|
|
||||||
CURL_LIB_DEPENDS= libcurl.so:ftp/curl
|
CURL_LIB_DEPENDS= libcurl.so:ftp/curl
|
||||||
CURL_MESON_TRUE= libcurl
|
CURL_MESON_TRUE= libcurl
|
||||||
|
|
||||||
EXMODE_MESON_TRUE= exmode
|
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_USES= guile:3.0
|
||||||
GUILE_MESON_TRUE= guile
|
GUILE_MESON_TRUE= guile
|
||||||
|
|
||||||
|
HIGHLIGHT_LIB_DEPENDS= libdom.so:www/libdom
|
||||||
HIGHLIGHT_MESON_TRUE= html-highlight
|
HIGHLIGHT_MESON_TRUE= html-highlight
|
||||||
|
|
||||||
IDN_LIB_DEPENDS= libidn2.so:dns/libidn2
|
LIBEVENT_LIB_DEPENDS= libevent.so:devel/libevent
|
||||||
IDN_USES= localbase
|
LIBEVENT_MESON_TRUE= libevent
|
||||||
IDN_MESON_TRUE= idn
|
|
||||||
|
|
||||||
LOCAL_CGI_MESON_TRUE= cgi
|
LOCAL_CGI_MESON_TRUE= cgi
|
||||||
|
|
||||||
LUA_USES= lua:52-53
|
LUA_USES= lua:52-53
|
||||||
LUA_MESON_ON= -Dluapkg=lua-${LUA_VER}
|
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_USES= gettext-runtime:build gettext-tools
|
NLS_MESON_TRUE= gettext nls
|
||||||
NLS_MESON_TRUE= nls
|
|
||||||
|
|
||||||
NNTP_MESON_TRUE= nntp
|
|
||||||
|
|
||||||
NOROOT_MESON_TRUE= no-root
|
NOROOT_MESON_TRUE= no-root
|
||||||
|
|
||||||
SMB_USES= samba # smbclient
|
PYTHON_USES= python:run
|
||||||
SMB_MESON_TRUE= smb
|
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_USES= compiler:c++17-lang sqlite
|
||||||
SPIDERMONKEY_BUILD_DEPENDS= ${LOCALBASE}/lib/libmozjs-102.so:lang/spidermonkey102
|
SPIDERMONKEY_BUILD_DEPENDS= ${LOCALBASE}/lib/libmozjs-128.so:lang/spidermonkey128
|
||||||
SPIDERMONKEY_LIB_DEPENDS= libmozjs-102.so:lang/spidermonkey102
|
SPIDERMONKEY_LIB_DEPENDS= libmozjs-128.so:lang/spidermonkey128
|
||||||
SPIDERMONKEY_CFLAGS= -I${LOCALBASE}/include/js-102
|
SPIDERMONKEY_CFLAGS= -I${LOCALBASE}/include/js-128
|
||||||
SPIDERMONKEY_CXXFLAGS= -I${LOCALBASE}/include/js-102
|
SPIDERMONKEY_CXXFLAGS= -I${LOCALBASE}/include/js-128
|
||||||
SPIDERMONKEY_LDFLAGS= -L${LOCALBASE}/lib -lpthread -lm
|
SPIDERMONKEY_LDFLAGS= -lpthread -lm
|
||||||
SPIDERMONKEY_MESON_ON= -Dsm-scripting=true -Dspidermonkey=true
|
SPIDERMONKEY_MESON_TRUE= sm-scripting spidermonkey
|
||||||
SPIDERMONKEY_IMPLIES= CSS CURL
|
SPIDERMONKEY_IMPLIES= CSS CURL HIGHLIGHT
|
||||||
|
|
||||||
TRE_LIB_DEPENDS= libtre.so:textproc/libtre
|
TRE_LIB_DEPENDS= libtre.so:textproc/libtre
|
||||||
TRE_MESON_TRUE= tre
|
TRE_MESON_TRUE= tre
|
||||||
|
@ -122,11 +124,6 @@ XBELMARKS_LIB_DEPENDS= libexpat.so:textproc/expat2
|
||||||
XBELMARKS_MESON_TRUE= xbel
|
XBELMARKS_MESON_TRUE= xbel
|
||||||
|
|
||||||
ZSTD_LIB_DEPENDS= libzstd.so:archivers/zstd
|
ZSTD_LIB_DEPENDS= libzstd.so:archivers/zstd
|
||||||
ZSTD_USES= localbase
|
|
||||||
ZSTD_MESON_TRUE= zstd
|
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>
|
.include <bsd.port.mk>
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
TIMESTAMP = 1725369974
|
TIMESTAMP = 1735211040
|
||||||
SHA256 (rkd77-elinks-v0.17.0_GH0.tar.gz) = 250a55198bb3e16a49a52fde85ffc54f1e654b7615369467725a3d74bc469f22
|
SHA256 (rkd77-elinks-v0.18.0_GH0.tar.gz) = b4200c17dfe5574daddeceda69a42ef8f2459fc43e92cac73dcf30c3343c95a5
|
||||||
SIZE (rkd77-elinks-v0.17.0_GH0.tar.gz) = 4006073
|
SIZE (rkd77-elinks-v0.18.0_GH0.tar.gz) = 4165154
|
||||||
SHA256 (2fdb04a6ab5523b94c4bd5c0062b0701686e127f.patch) = 9aa25bdcadf99d8c43a7cce932b24a33f0c8eda448e5f132f1010d1ba9c667d0
|
|
||||||
SIZE (2fdb04a6ab5523b94c4bd5c0062b0701686e127f.patch) = 5932
|
|
||||||
|
|
|
@ -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
|
+++ meson.build
|
||||||
@@ -211,6 +211,10 @@ endif
|
@@ -519,7 +519,7 @@ conf_data.set('CONFIG_LIBCURL', false)
|
||||||
conf_data.set('HAVE_FCNTL_H', 1)
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
+if compiler.has_header('execinfo.h')
|
conf_data.set('CONFIG_LIBCURL', false)
|
||||||
+ conf_data.set('HAVE_EXECINFO_H', 1)
|
-curldeps = false
|
||||||
+endif
|
+curldeps = []
|
||||||
+
|
if conf_data.get('CONFIG_ECMASCRIPT_SMJS') or conf_data.get('CONFIG_QUICKJS') or conf_data.get('CONFIG_MUJS')
|
||||||
if compiler.has_header('libgen.h')
|
curldeps = dependency('libcurl', static: st, version: '>=7.66.0', required: false)
|
||||||
conf_data.set('HAVE_LIBGEN_H', 1)
|
if not curldeps.found()
|
||||||
|
@@ -543,7 +543,7 @@ conf_data.set('CONFIG_LIBCSS', false)
|
||||||
endif
|
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)
|
conf_data.set('HAVE_ICONV', 1)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -20,7 +36,7 @@
|
||||||
conf_data.set('HAVE_ALLOCA', 1)
|
conf_data.set('HAVE_ALLOCA', 1)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -975,7 +980,7 @@ endif
|
@@ -1104,7 +1104,7 @@ endif
|
||||||
conf_data.set('HAVE_GNUTLS_CERTIFICATE_SET_X509_SYSTEM_TRUST', 1)
|
conf_data.set('HAVE_GNUTLS_CERTIFICATE_SET_X509_SYSTEM_TRUST', 1)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
@ -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
|
+++ src/document/renderer.c
|
||||||
@@ -415,11 +415,11 @@ struct conv_table *
|
@@ -415,11 +415,11 @@ struct conv_table *
|
||||||
}
|
}
|
11
www/elinks/files/patch-src_dom_test_meson.build
Normal file
11
www/elinks/files/patch-src_dom_test_meson.build
Normal file
|
@ -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)
|
11
www/elinks/files/patch-src_js_spidermonkey_fragment.cpp
Normal file
11
www/elinks/files/patch-src_js_spidermonkey_fragment.cpp
Normal file
|
@ -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) {
|
20
www/elinks/files/patch-src_terminal_sixel.c
Normal file
20
www/elinks/files/patch-src_terminal_sixel.c
Normal file
|
@ -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) {
|
Loading…
Add table
Reference in a new issue