elinks: Update to version 0.15.1

Message ID 20221125173730.3342457-1-adolf.belka@ipfire.org
State Accepted
Commit bcef2fe0f613bb4e3201f11c2403a54d99a4aed8
Headers
Series elinks: Update to version 0.15.1 |

Commit Message

Adolf Belka Nov. 25, 2022, 5:37 p.m. UTC
  - Update from version 0.12pre6 (2012) to 0.15.1 (July 2022)
- Update of rootfile
- Original elinks was last updated in 2012. In Jan 2020 a fork was made of the package
   and has been maintained since then on an ongoing basis. This new fork is used by Arch
   Linux
- elinks has not been an addon since CU141 but the lfs file was still in the addon format
   This has been adjusted to make it in line with a core program
- The previous patches related to ssl have been removed as the fixes are now part of the
   source tarball.
- Changelog
    ELinks 0.15.1 Released on 2022-07-31
	* about:config
	* option --always-load-config #137
	* compilation fixes on Windows #140
	* added ui.background_char #142
	* sample build scripts and docker files
	* experimental DGI support
	* DOS port based on links code
	* configurable Accept-Header #143
	* minor compilation fixes
    ELinks 0.15.0 Released on 2021-12-24
	* Serbian translation update
    ELinks 0.15.0rc2 Released on 2021-12-19
	* Serbian translation update
	* HOME_ETC
    ELinks 0.15.0rc1 Released on 2021-12-04
	* removed -Wno-pointer-sign from CFLAGS
	* close stdin before calling a background program (sgerwk)
	  and options related to it #108, #109, #110, #113
	* gemini protocol and text/gemini mime type
	* changed rendering of blockquote element
	* avoid tmpfile in lua (sgerwk) #115, #118
	* console.log in js (mtatton) #93
	* localstorage (mtatton) #98
	* options document.browse.search.beginning_only
	  document.browse.search.ignore_history
	  ui.double_esc
	* ui.temperature.* to show temperature of CPU
	* document.plain.fixup_tables
	* enhanced ecmascript code. Added QuickJS
	* Notes on ECMAScript:
	  requires C++ compiler, sqlite3, libxml++5 >= 5.0.1.GIT
	  and either mozjs78-dev or QuickJS-2021-03-27
	  Most sites don't work, some crash. Some workarounds were implemented:
	  a) ECMAScript is disabled by default
	  b) ~/.elinks/allow.txt and ~/.elinks/disallow.txt with url prefixes
	  c) Added toggle-ecmascript action. You can bind it to some key
	* other small fixes
    ELinks 0.14.3 Released on 2021-09-26
	* Fix issue with negative value of cells #126
    ELinks 0.14.2 Released on 2021-08-29
	* crash in nttp #114
	* XSS in gopher #125
    ELinks 0.14.1 Released on 2021-05-30
	* Disable spidermonkey by default #85
	* Show error message about libgcrypt-config. #86
	* off by two. #88
	* Check NULL. #99
	* fix error message when no previous search was performed #100
	* alert when moving to the next match of a failed search #101
	* include unistd.h and errno.h to define safe_read() #107
    ELinks 0.14.0 Released on 2020-12-27
	No changes since 0.14.0rc2.
    ELinks 0.14.0rc2 Released on 2020-12-13
	* ~/.elinks/allow.txt - list of allowed url prefixes for js
    ELinks 0.14.0rc1 Released on 2020-12-06
	* dblatex for pdf. PR #64
	* fixes CTRL-Z. #65
	* changes in mime handlers. PR #66
	* fixes in data protocol. #67, #68, #71, #72, #73
	* allow to wrap text in PRE. #69
	* pass #fragment to external command. #75
	* introduced "document.browse.search.reset". #76
	* added meson as alternative build system
	* in #77 I'm going to attach static binaries for released versions
	* mozjs dependency updated to 52.*
		Note that, to compile with javascript support you must compile by g++ with -fpermissive option.
		There is a lot of warnings. Unfortunately JS often crashes. Without help from someone familiar
		with SpiderMonkey, we won't go far.
		As you might notice, I renamed repo to elinks.
		Thanks to all involved in this release.
    ELinks 0.13.5 Released on 2020-08-30
	* added clipboard selection using keyboard. #59
	* fixed drawing menus over emoji characters. #60
	* encoding to utf-8 and decoding back in python's pre_format_html_hook
		This is likely the last release of 0.13.x series.
    ELinks 0.13.4: Released on 2020-07-31.
	* fixed segfault with gnutls. introduced in 0.13.3
	* updated smart and dumb prefixes to https. Thanks Guido Cella. PR #54
	* added the st terminal to config options. PR #55
	* doc updates PR #57
	* also pass the uri as %u to external handler. Thanks sgerwk. PR #58
	* added the ui.clipboard_file config option
    ELinks 0.13.3: Released on 2020-06-29.
	* configure option --with-luapkg=name
	  You can choose lua version at compilation time. For example: --with-luapkg=luajit
	* config option connection.ssl.https_by_default (Thanks Guido Cella)
	  not enabled by default
	* docs updates (Guido Cella)
	* fixes related to ui.mouse_disable and xterm-like terminals (Thanks sgerwk)
	* show an alert when the search string is not found (sgerwk)
    ELinks 0.13.2: Released on 2020-05-31.
	* command line option -remote search(...) (thanks sgerwk)
	* command line option -bind-address
	* config option ui.mouse_disable (sgerwk)
	* config option ui.tostop
	* config option ui.sessions.fork_on_start
	* compatibility (compilability) with lua-5.2 and 5.3
	* modified cookies code (not well tested)
    ELinks 0.13.1: Released on 2020-01-31.
	* Fixed issue with uploading files to local cgi.
	* Python scripts in contrib converted to python3.
    ELinks 0.13.0: Released on 2019-12-27.
	Incompatibilities:
		* The protocol.fsp.sort option has been removed.  ELinks always sorts.
		* bug 1024: Verify the host name or IP address in the server certificate
		  if connection.ssl.cert_verify is not 0.
	Miscellaneous:
		* The configure script is no longer part of tarball, you must generate it.
		  For example running ./autogen.sh
		* major bug 181: Slave ELinks processes can now run an external editor.
		  This used to work in the master process only.
		* major bug 722: Filter CSS according to media types.  New option
		  document.css.media.
		* bug 638: Propagate the existence of $DISPLAY from slave terminals to
		  mailcap test commands.
		* bugs 762, 1082: Small memory leak in goto_current_link/goto_imgmap
		* bug 963: New option document.css.ignore_display_none.
		* bug 977: Fixed crash when opening in new tab a non link with onclick
		  attribute.
		* bug 1008: File upload fields in HTML forms now stream the files to
		  the server, instead of reading them to memory in advance.  This lets
		  you upload larger files.  The downsides are that ELinks may use a
		  cached response even if you have modified a file between requests,
		  and that ELinks can send inconsistent data if you modify a file
		  while it is being uploaded.
		* bug 1054: Don't abort downloads when closing the terminal from which
		  they were started.  When such a download ends, display the message
		  in the most recently used terminal.  If the user chooses
		  ``Background and Notify'' via the download manager in some terminal,
		  reassociate the download with that terminal.  These changes do not
		  apply to downloads to external handlers.
		* Really retry forever when connection.retries = 0.
		* enhancement: Session-specific options.  Any options changed with
		  toggle-* actions no longer affect other tabs or other terminals.
		* Do not crash when document.browse.minimum_refresh_time = 0 and
		  a document has a meta refresh with a delay of 0.
		* Properly update link highlighting and status bar information when the
		  repeat prefix is changed.
		* Handle SSL rehandshakes
		* Fix compatibility with Ruby >= 1.9
		* enhancement 15: Domain-specific options.  Use set_domain in
		  elinks.conf to e.g. disable cookies for google.com.  The option
		  manager window does not yet support this.
		* enhancement 867: Use bracketed paste mode on xterm.  This requires
		  xterm patch #228 or later configured with --enable-readline-mouse.
		* enhancement 824: Experimental support for combining characters.
		  See features.conf for details.
		* enhancement: Add a new entry Link Info under Link main menu.
		* enhancement: Indicate backgrounded downloads using an unused led.
		* enhancement: Display the number of ECMAScript interpreters that have
		  been allocated for documents in the Resources dialog.
		* Fedora enhancement 346861: Add support for nss_compat_ossl library
		  (OpenSSL replacement).
		* enhancement: ``elinks --dump'' uses box-drawing characters if supported
		  by the charset.
		* enhancement 1070: Support 256 colors on fbterm-1.4.
		* enhancement 1075: Scrolling the entire contents of dialog boxes.
		  Especially useful for multi-file BitTorrent downloads.
		* Report if the Lua function edit_bookmark_dialog receives the wrong
		  number or types of arguments instead of silently failing.
		* enhancement: Add ``Invalidate'' button to the cache manager.
		* enhancement: Add ``Search contents'' button to the cache manager with
		  which one can search through the cache items' data rather than their
		  metadata.
		* enhancement: Add rudimentary support for the HTML5 media elements,
		  <video> and <audio>.
		* enhancement: Add move-half-page-up and move-half-page-down actions.
		* enhancement: Add option to change overlap for vertical scrolling.
		* enhancement: HTML meta refresh allows semicolons in URLs, and the
		  syntax is more like in Firefox.
		* link against lua51 not lua50
		* SpiderMonkey must be mozjs-17.0. This version is latest with C API.
		  Find it with pkg-config.
		* using iconv for some multibyte charsets. It works if the terminal codepage
		  is UTF-8. More charsets will be added on demand.
		* enhancement: support SSL client certificate
		* python scripting is Python3 only
		* brotli and zstd encodings
		* possibility to make use of libevent instead of select for event loop
		* terminfo queries for output (not input) as compilation option

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/common/elinks              |  3 +
 lfs/elinks                                  | 19 ++----
 src/patches/elinks-0.11.0-ssl-noegd.patch   | 21 ------
 src/patches/elinks-0.12pre6-openssl11.patch | 73 ---------------------
 4 files changed, 7 insertions(+), 109 deletions(-)
 delete mode 100644 src/patches/elinks-0.11.0-ssl-noegd.patch
 delete mode 100644 src/patches/elinks-0.12pre6-openssl11.patch
  

Comments

Michael Tremer Nov. 27, 2022, 11:56 a.m. UTC | #1
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>

> On 25 Nov 2022, at 17:37, Adolf Belka <adolf.belka@ipfire.org> wrote:
> 
> - Update from version 0.12pre6 (2012) to 0.15.1 (July 2022)
> - Update of rootfile
> - Original elinks was last updated in 2012. In Jan 2020 a fork was made of the package
>   and has been maintained since then on an ongoing basis. This new fork is used by Arch
>   Linux
> - elinks has not been an addon since CU141 but the lfs file was still in the addon format
>   This has been adjusted to make it in line with a core program
> - The previous patches related to ssl have been removed as the fixes are now part of the
>   source tarball.
> - Changelog
>    ELinks 0.15.1 Released on 2022-07-31
> * about:config
> * option --always-load-config #137
> * compilation fixes on Windows #140
> * added ui.background_char #142
> * sample build scripts and docker files
> * experimental DGI support
> * DOS port based on links code
> * configurable Accept-Header #143
> * minor compilation fixes
>    ELinks 0.15.0 Released on 2021-12-24
> * Serbian translation update
>    ELinks 0.15.0rc2 Released on 2021-12-19
> * Serbian translation update
> * HOME_ETC
>    ELinks 0.15.0rc1 Released on 2021-12-04
> * removed -Wno-pointer-sign from CFLAGS
> * close stdin before calling a background program (sgerwk)
>  and options related to it #108, #109, #110, #113
> * gemini protocol and text/gemini mime type
> * changed rendering of blockquote element
> * avoid tmpfile in lua (sgerwk) #115, #118
> * console.log in js (mtatton) #93
> * localstorage (mtatton) #98
> * options document.browse.search.beginning_only
>  document.browse.search.ignore_history
>  ui.double_esc
> * ui.temperature.* to show temperature of CPU
> * document.plain.fixup_tables
> * enhanced ecmascript code. Added QuickJS
> * Notes on ECMAScript:
>  requires C++ compiler, sqlite3, libxml++5 >= 5.0.1.GIT
>  and either mozjs78-dev or QuickJS-2021-03-27
>  Most sites don't work, some crash. Some workarounds were implemented:
>  a) ECMAScript is disabled by default
>  b) ~/.elinks/allow.txt and ~/.elinks/disallow.txt with url prefixes
>  c) Added toggle-ecmascript action. You can bind it to some key
> * other small fixes
>    ELinks 0.14.3 Released on 2021-09-26
> * Fix issue with negative value of cells #126
>    ELinks 0.14.2 Released on 2021-08-29
> * crash in nttp #114
> * XSS in gopher #125
>    ELinks 0.14.1 Released on 2021-05-30
> * Disable spidermonkey by default #85
> * Show error message about libgcrypt-config. #86
> * off by two. #88
> * Check NULL. #99
> * fix error message when no previous search was performed #100
> * alert when moving to the next match of a failed search #101
> * include unistd.h and errno.h to define safe_read() #107
>    ELinks 0.14.0 Released on 2020-12-27
> No changes since 0.14.0rc2.
>    ELinks 0.14.0rc2 Released on 2020-12-13
> * ~/.elinks/allow.txt - list of allowed url prefixes for js
>    ELinks 0.14.0rc1 Released on 2020-12-06
> * dblatex for pdf. PR #64
> * fixes CTRL-Z. #65
> * changes in mime handlers. PR #66
> * fixes in data protocol. #67, #68, #71, #72, #73
> * allow to wrap text in PRE. #69
> * pass #fragment to external command. #75
> * introduced "document.browse.search.reset". #76
> * added meson as alternative build system
> * in #77 I'm going to attach static binaries for released versions
> * mozjs dependency updated to 52.*
> Note that, to compile with javascript support you must compile by g++ with -fpermissive option.
> There is a lot of warnings. Unfortunately JS often crashes. Without help from someone familiar
> with SpiderMonkey, we won't go far.
> As you might notice, I renamed repo to elinks.
> Thanks to all involved in this release.
>    ELinks 0.13.5 Released on 2020-08-30
> * added clipboard selection using keyboard. #59
> * fixed drawing menus over emoji characters. #60
> * encoding to utf-8 and decoding back in python's pre_format_html_hook
> This is likely the last release of 0.13.x series.
>    ELinks 0.13.4: Released on 2020-07-31.
> * fixed segfault with gnutls. introduced in 0.13.3
> * updated smart and dumb prefixes to https. Thanks Guido Cella. PR #54
> * added the st terminal to config options. PR #55
> * doc updates PR #57
> * also pass the uri as %u to external handler. Thanks sgerwk. PR #58
> * added the ui.clipboard_file config option
>    ELinks 0.13.3: Released on 2020-06-29.
> * configure option --with-luapkg=name
>  You can choose lua version at compilation time. For example: --with-luapkg=luajit
> * config option connection.ssl.https_by_default (Thanks Guido Cella)
>  not enabled by default
> * docs updates (Guido Cella)
> * fixes related to ui.mouse_disable and xterm-like terminals (Thanks sgerwk)
> * show an alert when the search string is not found (sgerwk)
>    ELinks 0.13.2: Released on 2020-05-31.
> * command line option -remote search(...) (thanks sgerwk)
> * command line option -bind-address
> * config option ui.mouse_disable (sgerwk)
> * config option ui.tostop
> * config option ui.sessions.fork_on_start
> * compatibility (compilability) with lua-5.2 and 5.3
> * modified cookies code (not well tested)
>    ELinks 0.13.1: Released on 2020-01-31.
> * Fixed issue with uploading files to local cgi.
> * Python scripts in contrib converted to python3.
>    ELinks 0.13.0: Released on 2019-12-27.
> Incompatibilities:
> * The protocol.fsp.sort option has been removed.  ELinks always sorts.
> * bug 1024: Verify the host name or IP address in the server certificate
>  if connection.ssl.cert_verify is not 0.
> Miscellaneous:
> * The configure script is no longer part of tarball, you must generate it.
>  For example running ./autogen.sh
> * major bug 181: Slave ELinks processes can now run an external editor.
>  This used to work in the master process only.
> * major bug 722: Filter CSS according to media types.  New option
>  document.css.media.
> * bug 638: Propagate the existence of $DISPLAY from slave terminals to
>  mailcap test commands.
> * bugs 762, 1082: Small memory leak in goto_current_link/goto_imgmap
> * bug 963: New option document.css.ignore_display_none.
> * bug 977: Fixed crash when opening in new tab a non link with onclick
>  attribute.
> * bug 1008: File upload fields in HTML forms now stream the files to
>  the server, instead of reading them to memory in advance.  This lets
>  you upload larger files.  The downsides are that ELinks may use a
>  cached response even if you have modified a file between requests,
>  and that ELinks can send inconsistent data if you modify a file
>  while it is being uploaded.
> * bug 1054: Don't abort downloads when closing the terminal from which
>  they were started.  When such a download ends, display the message
>  in the most recently used terminal.  If the user chooses
>  ``Background and Notify'' via the download manager in some terminal,
>  reassociate the download with that terminal.  These changes do not
>  apply to downloads to external handlers.
> * Really retry forever when connection.retries = 0.
> * enhancement: Session-specific options.  Any options changed with
>  toggle-* actions no longer affect other tabs or other terminals.
> * Do not crash when document.browse.minimum_refresh_time = 0 and
>  a document has a meta refresh with a delay of 0.
> * Properly update link highlighting and status bar information when the
>  repeat prefix is changed.
> * Handle SSL rehandshakes
> * Fix compatibility with Ruby >= 1.9
> * enhancement 15: Domain-specific options.  Use set_domain in
>  elinks.conf to e.g. disable cookies for google.com.  The option
>  manager window does not yet support this.
> * enhancement 867: Use bracketed paste mode on xterm.  This requires
>  xterm patch #228 or later configured with --enable-readline-mouse.
> * enhancement 824: Experimental support for combining characters.
>  See features.conf for details.
> * enhancement: Add a new entry Link Info under Link main menu.
> * enhancement: Indicate backgrounded downloads using an unused led.
> * enhancement: Display the number of ECMAScript interpreters that have
>  been allocated for documents in the Resources dialog.
> * Fedora enhancement 346861: Add support for nss_compat_ossl library
>  (OpenSSL replacement).
> * enhancement: ``elinks --dump'' uses box-drawing characters if supported
>  by the charset.
> * enhancement 1070: Support 256 colors on fbterm-1.4.
> * enhancement 1075: Scrolling the entire contents of dialog boxes.
>  Especially useful for multi-file BitTorrent downloads.
> * Report if the Lua function edit_bookmark_dialog receives the wrong
>  number or types of arguments instead of silently failing.
> * enhancement: Add ``Invalidate'' button to the cache manager.
> * enhancement: Add ``Search contents'' button to the cache manager with
>  which one can search through the cache items' data rather than their
>  metadata.
> * enhancement: Add rudimentary support for the HTML5 media elements,
>  <video> and <audio>.
> * enhancement: Add move-half-page-up and move-half-page-down actions.
> * enhancement: Add option to change overlap for vertical scrolling.
> * enhancement: HTML meta refresh allows semicolons in URLs, and the
>  syntax is more like in Firefox.
> * link against lua51 not lua50
> * SpiderMonkey must be mozjs-17.0. This version is latest with C API.
>  Find it with pkg-config.
> * using iconv for some multibyte charsets. It works if the terminal codepage
>  is UTF-8. More charsets will be added on demand.
> * enhancement: support SSL client certificate
> * python scripting is Python3 only
> * brotli and zstd encodings
> * possibility to make use of libevent instead of select for event loop
> * terminfo queries for output (not input) as compilation option
> 
> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
> ---
> config/rootfiles/common/elinks              |  3 +
> lfs/elinks                                  | 19 ++----
> src/patches/elinks-0.11.0-ssl-noegd.patch   | 21 ------
> src/patches/elinks-0.12pre6-openssl11.patch | 73 ---------------------
> 4 files changed, 7 insertions(+), 109 deletions(-)
> delete mode 100644 src/patches/elinks-0.11.0-ssl-noegd.patch
> delete mode 100644 src/patches/elinks-0.12pre6-openssl11.patch
> 
> diff --git a/config/rootfiles/common/elinks b/config/rootfiles/common/elinks
> index a29fe8e33..be30d1cde 100644
> --- a/config/rootfiles/common/elinks
> +++ b/config/rootfiles/common/elinks
> @@ -59,6 +59,9 @@ usr/local/share/locale/de/LC_MESSAGES/elinks.mo
> #usr/local/share/locale/it
> #usr/local/share/locale/it/LC_MESSAGES
> #usr/local/share/locale/it/LC_MESSAGES/elinks.mo
> +#usr/local/share/locale/ja
> +#usr/local/share/locale/ja/LC_MESSAGES
> +#usr/local/share/locale/ja/LC_MESSAGES/elinks.mo
> #usr/local/share/locale/locale.alias
> #usr/local/share/locale/lt
> #usr/local/share/locale/lt/LC_MESSAGES
> diff --git a/lfs/elinks b/lfs/elinks
> index 24ade5625..d2867c1c6 100644
> --- a/lfs/elinks
> +++ b/lfs/elinks
> @@ -26,19 +26,13 @@ include Config
> 
> SUMMARY    = An advanced and well-established feature-rich text mode web browser
> 
> -VER        = 0.12pre6
> +VER        = 0.15.1
> 
> THISAPP    = elinks-$(VER)
> -DL_FILE    = $(THISAPP).tar.bz2
> +DL_FILE    = $(THISAPP).tar.xz
> DL_FROM    = $(URL_IPFIRE)
> DIR_APP    = $(DIR_SRC)/$(THISAPP)
> TARGET     = $(DIR_INFO)/$(THISAPP)
> -PROG       = elinks
> -PAK_VER    = 2
> -
> -DEPS       =
> -
> -SERVICES   =
> 
> ###############################################################################
> # Top-level Rules
> @@ -48,7 +42,7 @@ objects = $(DL_FILE)
> 
> $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
> 
> -$(DL_FILE)_BLAKE2 = 3d91c2a4b03cf77a2a86131cfb5339a40c6e89c8aaab7293d5b7f6861f0b7647b1951f2bc15814e342c926a154707162a7814981cdc729329dfb04627133f3bf
> +$(DL_FILE)_BLAKE2 = dcec7054d417842e709f26bab53ddb1bf43556de4c69d116ad1e049664bc7c5a5513f02cee500d591252b439a66f354079e2e3eff5692202102cb900e06340c2
> 
> install : $(TARGET)
> 
> @@ -71,18 +65,13 @@ $(patsubst %,$(DIR_DL)/%,$(objects)) :
> $(subst %,%_BLAKE2,$(objects)) :
> @$(B2SUM)
> 
> -dist:
> - @$(PAK)
> -
> ###############################################################################
> # Installation Details
> ###############################################################################
> 
> $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
> @$(PREBUILD)
> - @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
> - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/elinks-0.12pre6-openssl11.patch
> - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/elinks-0.11.0-ssl-noegd.patch
> + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
> $(UPDATE_AUTOMAKE)
> cd $(DIR_APP) && ./configure
> cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
> diff --git a/src/patches/elinks-0.11.0-ssl-noegd.patch b/src/patches/elinks-0.11.0-ssl-noegd.patch
> deleted file mode 100644
> index 581873461..000000000
> --- a/src/patches/elinks-0.11.0-ssl-noegd.patch
> +++ /dev/null
> @@ -1,21 +0,0 @@
> ---- elinks-0.11.0/src/network/ssl/ssl.c.noegd 2006-01-10 09:24:50.000000000 +0100
> -+++ elinks-0.11.0/src/network/ssl/ssl.c 2006-01-10 09:25:01.000000000 +0100
> -@@ -44,18 +44,6 @@ SSL_CTX *context = NULL;
> - static void
> - init_openssl(struct module *module)
> - {
> -- unsigned char f_randfile[PATH_MAX];
> --
> -- /* In a nutshell, on OS's without a /dev/urandom, the OpenSSL library
> -- * cannot initialize the PRNG and so every attempt to use SSL fails.
> -- * It's actually an OpenSSL FAQ, and according to them, it's up to the
> -- * application coders to seed the RNG. -- William Yodlowsky */
> -- if (RAND_egd(RAND_file_name(f_randfile, sizeof(f_randfile))) < 0) {
> -- /* Not an EGD, so read and write to it */
> -- if (RAND_load_file(f_randfile, -1))
> -- RAND_write_file(f_randfile);
> -- }
> --
> - SSLeay_add_ssl_algorithms();
> - context = SSL_CTX_new(SSLv23_client_method());
> - SSL_CTX_set_options(context, SSL_OP_ALL);
> diff --git a/src/patches/elinks-0.12pre6-openssl11.patch b/src/patches/elinks-0.12pre6-openssl11.patch
> deleted file mode 100644
> index 210af635e..000000000
> --- a/src/patches/elinks-0.12pre6-openssl11.patch
> +++ /dev/null
> @@ -1,73 +0,0 @@
> -From d83c0edf4c6ae42359ff856d7a879ecba5769595 Mon Sep 17 00:00:00 2001
> -From: Kamil Dudka <kdudka@redhat.com>
> -Date: Fri, 17 Feb 2017 16:51:41 +0100
> -Subject: [PATCH 1/2] fix compatibility with OpenSSL 1.1
> -
> ----
> - src/network/ssl/socket.c | 4 ++--
> - 1 file changed, 2 insertions(+), 2 deletions(-)
> -
> -diff --git a/src/network/ssl/socket.c b/src/network/ssl/socket.c
> -index c9e2be4..467fc48 100644
> ---- a/src/network/ssl/socket.c
> -+++ b/src/network/ssl/socket.c
> -@@ -83,7 +83,7 @@ static void
> - ssl_set_no_tls(struct socket *socket)
> - {
> - #ifdef CONFIG_OPENSSL
> -- ((ssl_t *) socket->ssl)->options |= SSL_OP_NO_TLSv1;
> -+ SSL_set_options((ssl_t *) socket->ssl, SSL_OP_NO_TLSv1);
> - #elif defined(CONFIG_GNUTLS)
> - {
> - /* GnuTLS does not support SSLv2 because it is "insecure".
> -@@ -419,7 +419,7 @@ ssl_connect(struct socket *socket)
> - }
> - 
> - if (client_cert) {
> -- SSL_CTX *ctx = ((SSL *) socket->ssl)->ctx;
> -+ SSL_CTX *ctx = SSL_get_SSL_CTX((SSL *) socket->ssl);
> - 
> - SSL_CTX_use_certificate_chain_file(ctx, client_cert);
> - SSL_CTX_use_PrivateKey_file(ctx, client_cert,
> --- 
> -2.7.4
> -
> -
> -From ec952cc5b79973bee73fcfc813159d40c22b7228 Mon Sep 17 00:00:00 2001
> -From: Tomas Mraz <tmraz@fedoraproject.org>
> -Date: Fri, 17 Feb 2017 16:44:11 +0100
> -Subject: [PATCH 2/2] drop disablement of TLS1.0 on second attempt to connect
> -
> -It would not work correctly anyway and the code does not build
> -with OpenSSL-1.1.0.
> ----
> - src/network/ssl/socket.c | 6 ++++++
> - 1 file changed, 6 insertions(+)
> -
> -diff --git a/src/network/ssl/socket.c b/src/network/ssl/socket.c
> -index 467fc48..b981c1e 100644
> ---- a/src/network/ssl/socket.c
> -+++ b/src/network/ssl/socket.c
> -@@ -82,6 +82,11 @@
> - static void
> - ssl_set_no_tls(struct socket *socket)
> - {
> -+#if 0
> -+/* This implements the insecure renegotiation, which should not be used.
> -+ * The code also would not work on current Fedora (>= Fedora 23) anyway,
> -+ * because it would just switch off TLS 1.0 keeping TLS 1.1 and 1.2 enabled.
> -+ */
> - #ifdef CONFIG_OPENSSL
> - SSL_set_options((ssl_t *) socket->ssl, SSL_OP_NO_TLSv1);
> - #elif defined(CONFIG_GNUTLS)
> -@@ -96,6 +101,7 @@ ssl_set_no_tls(struct socket *socket)
> - gnutls_protocol_set_priority(*(ssl_t *) socket->ssl, protocol_priority);
> - }
> - #endif
> -+#endif
> - }
> - 
> - #ifdef USE_OPENSSL
> --- 
> -2.7.4
> -
> -- 
> 2.38.1
>
  

Patch

diff --git a/config/rootfiles/common/elinks b/config/rootfiles/common/elinks
index a29fe8e33..be30d1cde 100644
--- a/config/rootfiles/common/elinks
+++ b/config/rootfiles/common/elinks
@@ -59,6 +59,9 @@  usr/local/share/locale/de/LC_MESSAGES/elinks.mo
 #usr/local/share/locale/it
 #usr/local/share/locale/it/LC_MESSAGES
 #usr/local/share/locale/it/LC_MESSAGES/elinks.mo
+#usr/local/share/locale/ja
+#usr/local/share/locale/ja/LC_MESSAGES
+#usr/local/share/locale/ja/LC_MESSAGES/elinks.mo
 #usr/local/share/locale/locale.alias
 #usr/local/share/locale/lt
 #usr/local/share/locale/lt/LC_MESSAGES
diff --git a/lfs/elinks b/lfs/elinks
index 24ade5625..d2867c1c6 100644
--- a/lfs/elinks
+++ b/lfs/elinks
@@ -26,19 +26,13 @@  include Config
 
 SUMMARY    = An advanced and well-established feature-rich text mode web browser
 
-VER        = 0.12pre6
+VER        = 0.15.1
 
 THISAPP    = elinks-$(VER)
-DL_FILE    = $(THISAPP).tar.bz2
+DL_FILE    = $(THISAPP).tar.xz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
-PROG       = elinks
-PAK_VER    = 2
-
-DEPS       =
-
-SERVICES   =
 
 ###############################################################################
 # Top-level Rules
@@ -48,7 +42,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 3d91c2a4b03cf77a2a86131cfb5339a40c6e89c8aaab7293d5b7f6861f0b7647b1951f2bc15814e342c926a154707162a7814981cdc729329dfb04627133f3bf
+$(DL_FILE)_BLAKE2 = dcec7054d417842e709f26bab53ddb1bf43556de4c69d116ad1e049664bc7c5a5513f02cee500d591252b439a66f354079e2e3eff5692202102cb900e06340c2
 
 install : $(TARGET)
 
@@ -71,18 +65,13 @@  $(patsubst %,$(DIR_DL)/%,$(objects)) :
 $(subst %,%_BLAKE2,$(objects)) :
 	@$(B2SUM)
 
-dist:
-	@$(PAK)
-
 ###############################################################################
 # Installation Details
 ###############################################################################
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
-	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
-	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/elinks-0.12pre6-openssl11.patch
-	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/elinks-0.11.0-ssl-noegd.patch
+	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
 	$(UPDATE_AUTOMAKE)
 	cd $(DIR_APP) && ./configure
 	cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
diff --git a/src/patches/elinks-0.11.0-ssl-noegd.patch b/src/patches/elinks-0.11.0-ssl-noegd.patch
deleted file mode 100644
index 581873461..000000000
--- a/src/patches/elinks-0.11.0-ssl-noegd.patch
+++ /dev/null
@@ -1,21 +0,0 @@ 
---- elinks-0.11.0/src/network/ssl/ssl.c.noegd	2006-01-10 09:24:50.000000000 +0100
-+++ elinks-0.11.0/src/network/ssl/ssl.c	2006-01-10 09:25:01.000000000 +0100
-@@ -44,18 +44,6 @@ SSL_CTX *context = NULL;
- static void
- init_openssl(struct module *module)
- {
--	unsigned char f_randfile[PATH_MAX];
--
--	/* In a nutshell, on OS's without a /dev/urandom, the OpenSSL library
--	 * cannot initialize the PRNG and so every attempt to use SSL fails.
--	 * It's actually an OpenSSL FAQ, and according to them, it's up to the
--	 * application coders to seed the RNG. -- William Yodlowsky */
--	if (RAND_egd(RAND_file_name(f_randfile, sizeof(f_randfile))) < 0) {
--		/* Not an EGD, so read and write to it */
--		if (RAND_load_file(f_randfile, -1))
--			RAND_write_file(f_randfile);
--	}
--
- 	SSLeay_add_ssl_algorithms();
- 	context = SSL_CTX_new(SSLv23_client_method());
- 	SSL_CTX_set_options(context, SSL_OP_ALL);
diff --git a/src/patches/elinks-0.12pre6-openssl11.patch b/src/patches/elinks-0.12pre6-openssl11.patch
deleted file mode 100644
index 210af635e..000000000
--- a/src/patches/elinks-0.12pre6-openssl11.patch
+++ /dev/null
@@ -1,73 +0,0 @@ 
-From d83c0edf4c6ae42359ff856d7a879ecba5769595 Mon Sep 17 00:00:00 2001
-From: Kamil Dudka <kdudka@redhat.com>
-Date: Fri, 17 Feb 2017 16:51:41 +0100
-Subject: [PATCH 1/2] fix compatibility with OpenSSL 1.1
-
----
- src/network/ssl/socket.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/network/ssl/socket.c b/src/network/ssl/socket.c
-index c9e2be4..467fc48 100644
---- a/src/network/ssl/socket.c
-+++ b/src/network/ssl/socket.c
-@@ -83,7 +83,7 @@ static void
- ssl_set_no_tls(struct socket *socket)
- {
- #ifdef CONFIG_OPENSSL
--	((ssl_t *) socket->ssl)->options |= SSL_OP_NO_TLSv1;
-+	SSL_set_options((ssl_t *) socket->ssl, SSL_OP_NO_TLSv1);
- #elif defined(CONFIG_GNUTLS)
- 	{
- 		/* GnuTLS does not support SSLv2 because it is "insecure".
-@@ -419,7 +419,7 @@ ssl_connect(struct socket *socket)
- 		}
- 
- 		if (client_cert) {
--			SSL_CTX *ctx = ((SSL *) socket->ssl)->ctx;
-+			SSL_CTX *ctx = SSL_get_SSL_CTX((SSL *) socket->ssl);
- 
- 			SSL_CTX_use_certificate_chain_file(ctx, client_cert);
- 			SSL_CTX_use_PrivateKey_file(ctx, client_cert,
--- 
-2.7.4
-
-
-From ec952cc5b79973bee73fcfc813159d40c22b7228 Mon Sep 17 00:00:00 2001
-From: Tomas Mraz <tmraz@fedoraproject.org>
-Date: Fri, 17 Feb 2017 16:44:11 +0100
-Subject: [PATCH 2/2] drop disablement of TLS1.0 on second attempt to connect
-
-It would not work correctly anyway and the code does not build
-with OpenSSL-1.1.0.
----
- src/network/ssl/socket.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/src/network/ssl/socket.c b/src/network/ssl/socket.c
-index 467fc48..b981c1e 100644
---- a/src/network/ssl/socket.c
-+++ b/src/network/ssl/socket.c
-@@ -82,6 +82,11 @@
- static void
- ssl_set_no_tls(struct socket *socket)
- {
-+#if 0
-+/* This implements the insecure renegotiation, which should not be used.
-+ * The code also would not work on current Fedora (>= Fedora 23) anyway,
-+ * because it would just switch off TLS 1.0 keeping TLS 1.1 and 1.2 enabled.
-+ */
- #ifdef CONFIG_OPENSSL
- 	SSL_set_options((ssl_t *) socket->ssl, SSL_OP_NO_TLSv1);
- #elif defined(CONFIG_GNUTLS)
-@@ -96,6 +101,7 @@ ssl_set_no_tls(struct socket *socket)
- 		gnutls_protocol_set_priority(*(ssl_t *) socket->ssl, protocol_priority);
- 	}
- #endif
-+#endif
- }
- 
- #ifdef USE_OPENSSL
--- 
-2.7.4
-