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
|
||||
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
|
||||
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= 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
|
||||
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}
|
||||
|
||||
LZMA_MESON_TRUE= lzma
|
||||
MUJS_LIB_DEPENDS= libmujs.so:lang/mujs
|
||||
MUJS_MESON_TRUE= mujs
|
||||
|
||||
MOUSE_MESON_TRUE= mouse
|
||||
|
||||
NLS_USES= gettext-runtime:build gettext-tools
|
||||
NLS_MESON_TRUE= nls
|
||||
|
||||
NNTP_MESON_TRUE= nntp
|
||||
NLS_USES= gettext-tools
|
||||
NLS_BUILD_DEPENDS= xxd:sysutils/xxd
|
||||
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_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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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 *
|
||||
}
|
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