diff --git a/www-client/elinks/elinks-0.18.0.recipe b/www-client/elinks/elinks-0.18.0.recipe new file mode 100644 index 000000000..952a4557d --- /dev/null +++ b/www-client/elinks/elinks-0.18.0.recipe @@ -0,0 +1,151 @@ +SUMMARY="An advanced web browser" +DESCRIPTION="ELinks is an advanced and well-established feature-rich text mode \ +web (HTTP/FTP/..) browser. ELinks can render both frames and tables, is highly \ +customizable and can be extended via scripts. It is very portable and runs on a \ +variety of platforms." +HOMEPAGE="https://github.com/rkd77/elinks/" +COPYRIGHT="Petr Baudiš, Jonas Fonseca, Witold Filipczyk" +LICENSE="GNU GPL v2" +REVISION="1" +SOURCE_URI="https://github.com/rkd77/elinks/releases/download/v$portVersion/elinks-$portVersion.tar.xz" +CHECKSUM_SHA256="e56ef15996a1ca130789293ee6d49cbecf175c06266acfa676fa6edb271a1173" + +PATCHES="elinks-$portVersion.patchset" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +# This is a compile-time option. As it requires a bunch of extra dependencies, +# we make it optional here. +# +# leaving it disabled, as modern websites do not seem to detect JS support +# (at least while using mujs as the engine). +enableJSSupport=false + +commandSuffix=$secondaryArchSuffix +commandBinDir=$binDir +if [ "$targetArchitecture" = x86_gcc2 ]; then + commandSuffix= + commandBinDir=$prefix/bin +fi + +USER_SETTINGS_FILES=" + settings/elinks directory + " + +PROVIDES=" + elinks$secondaryArchSuffix = $portVersion + cmd:elinks$commandSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libbrotlicommon$secondaryArchSuffix + lib:libbz2$secondaryArchSuffix + lib:libcrypto$secondaryArchSuffix + lib:libcurl$secondaryArchSuffix + lib:libexpat$secondaryArchSuffix + lib:libintl$secondaryArchSuffix +# lib:liblzma$secondaryArchSuffix +# lib:libsmbclient$secondaryArchSuffix + lib:libssl$secondaryArchSuffix + lib:libz$secondaryArchSuffix + lib:libzstd$secondaryArchSuffix + " + +if $enableJSSupport; then + REQUIRES+=" + lib:libcss$secondaryArchSuffix + lib:libdom$secondaryArchSuffix + lib:libhubbub$secondaryArchSuffix + lib:libmujs$secondaryArchSuffix + lib:libparserutils$secondaryArchSuffix + lib:libsqlite3$secondaryArchSuffix + lib:libwapcaplet$secondaryArchSuffix + " +fi + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libbrotlicommon$secondaryArchSuffix + devel:libbz2$secondaryArchSuffix + devel:libcrypto$secondaryArchSuffix + devel:libcurl$secondaryArchSuffix + devel:libexpat$secondaryArchSuffix + devel:libintl$secondaryArchSuffix +# devel:liblzma$secondaryArchSuffix +# devel:libsmbclient$secondaryArchSuffix + devel:libssl$secondaryArchSuffix + devel:libz$secondaryArchSuffix + devel:libzstd$secondaryArchSuffix + " + +if $enableJSSupport; then + BUILD_REQUIRES+=" + devel:libcss$secondaryArchSuffix + devel:libdom$secondaryArchSuffix + devel:libhubbub$secondaryArchSuffix + devel:libmujs$secondaryArchSuffix + devel:libparserutils$secondaryArchSuffix + devel:libsqlite3$secondaryArchSuffix + devel:libwapcaplet$secondaryArchSuffix + " +fi + +BUILD_PREREQUIRES=" + cmd:aclocal + cmd:autoreconf + cmd:gcc$secondaryArchSuffix + cmd:gettext$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:pkg_config$secondaryArchSuffix + " + +defineDebugInfoPackage elinks$secondaryArchSuffix \ + "$commandBinDir"/elinks + +BUILD() +{ + if [ ! -f ./configure ]; then + ./autogen.sh + fi + + export LDFLAGS="-lnetwork -lintl" + + maybeWithJSSupport= + if $enableJSSupport; then + maybeWithJSSupport="--with-mujs --enable-sm-scripting" + fi + + runConfigure --omit-dirs binDir ./configure \ + --bindir="$commandBinDir" \ + --enable-88-colors \ + --enable-256-colors \ + --enable-true-color \ + --enable-exmode \ + --enable-fastmem \ + --enable-gettext \ + --enable-bittorrent \ + --enable-cgi \ + --enable-dgi \ + --enable-finger \ + --enable-gemini \ + --enable-gopher \ + --enable-nntp \ + --enable-html-highlight \ + --enable-reproducible \ + --enable-small \ + --with-brotli \ + --with-libcurl \ + --without-x \ + $maybeWithJSSupport + +# --enable-smb + + make $jobArgs +} + +INSTALL() +{ + make install +} diff --git a/www-client/elinks/patches/elinks-0.18.0.patchset b/www-client/elinks/patches/elinks-0.18.0.patchset new file mode 100644 index 000000000..e776d4113 --- /dev/null +++ b/www-client/elinks/patches/elinks-0.18.0.patchset @@ -0,0 +1,22 @@ +From bd5027bbf859e3bfb87143548c6392f02e58b332 Mon Sep 17 00:00:00 2001 +From: Oscar Lesta +Date: Tue, 14 Oct 2025 11:39:26 -0300 +Subject: Set show_menu_bar_always=1 as default. + + +diff --git a/src/config/options.inc b/src/config/options.inc +index 302f79d..21c1de3 100644 +--- a/src/config/options.inc ++++ b/src/config/options.inc +@@ -1513,7 +1513,7 @@ static union option_info config_options_info[] = { + "dynamically.")), + + INIT_OPT_BOOL("ui", N_("Display menu bar always"), +- "show_menu_bar_always", OPT_ZERO, 0, ++ "show_menu_bar_always", OPT_ZERO, 1, + N_("Always show menu bar on the screen.")), + + INIT_OPT_BOOL("ui", N_("Display status bar"), +-- +2.51.0 +