Message-Id: <202111130931.1AD9VGXg023214@delorie.com> Date: Fri, 12 Nov 2021 22:21:51 +0100 From: "Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT de) [via djgpp-announce AT delorie DOT com]" To: djgpp-announce AT delorie DOT com Subject: ANNOUNCE: DJGPP port of Lynx 2.9.0dev.10 uploaded. Content-Type: text/plain; charset=ISO-8859-15; format=flowed This is a port of Lynx 2.9.0dev.10 to MSDOS/DJGPP. Lynx is a fully-featured World Wide Web (WWW) client for users running cursor-addressable, character-cell display devices such as vt100 terminals and vt100 emulators running on character-cell display. It will display Hypertext Markup Language (HTML) documents containing links to files on the local system, as well as files on remote systems running http, gopher, ftp, wais, nntp, finger, or cso/ph/qi servers, and services accessible via logins to telnet, tn3270 or rlogin accounts. DJGPP specific changes. ======================= This port is based on the current develop code of lynx (aka lynx2.9.0dev.10) available as: https://invisible-mirror.net/archives/lynx/tarballs/lynx-cur.tar.bz2 The code has been adjusted to detect at runtime if LFN support is available or not. If LFN support is available then the original posix style file names will be used else DOS compatible ones will be used. The port will use cp850 as default code page instead of using iso-8859-1 as it is in the current code. It is clear that having iso-8859-1 on plain DOS as character set is useless as soon as spanish, german or other non-english texts shall be displayed. You can always select another character set by either setting the corresponding environment variable or by editing lynx.cfg acordingly. The current version of lynx requires that the HOME environment variable is set to a writable directory or it will refuse to start. To alleviate this situation, if HOME is not set, the current directory will be used instead by this port version. The port has been configured using the configure script provided by the source package. This means that neither old DJGPP specific scripts nor makefiles distributed by the package have been used. A lot of the porting work has been invested in the DJGPP specific configuration scripts. This port has been configured to be compiled with BZIP2, ZIP and PDCURSES support. This means that if you want to recompile the preconfigured sources you must have installed the following ports: ftp://ftp.delorie.com/pub/djgpp/current/v2apps/bz2-108a.zip ftp://ftp.delorie.com/pub/djgpp/current/v2tk/zlb1211b.zip ftp://ftp.delorie.com/pub/djgpp/current/v2tk/pdcur39a.zip The port has been configured and build without NLS support enabled. To enable this feature, the latest ports of libiconv and gettext must be installed: ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/licv116b.zip ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gtxt201b.zip If you prefer NLS, then reconfigure the sources passing the nls flag to the config.bat file. The port has been configured with IDN support. Having IDN support requires installing the iconv port. The following ports have been used: ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/lidn138b.zip ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/licv116b.zip No other versions have been tested. Linking with libidn always requires also linking with libiconv to provide the requires character set recoding capability. The port has been configured with OPENSSL support. OpenSSL support requires installing the WATT-32 port. The following ports have been used: ftp://ftp.delorie.com/pub/djgpp/current/v2tk/ssl102ub.zip ftp://ftp.delorie.com/pub/djgpp/current/v2tk/wat3211b.zip No other versions have been tested. To be able to use this program compiled with OpenSSL and WATT-32 a noise source must be installed. A noise source can be obtained as: http://www.rahul.net/dkaufman/noise063a2.zip If for some reason you decide to reconfigure the source package, then you will have to set the WATT_ROOT environment variable to point to the directory where the headers and the library reside. This is: set WATT_ROOT=/dev/env/DJDIR/net/watt To be able to run the program, configuration files are expected to be found at their canonical place. This is the /dev/env/DJDIR/etc directory. The configuration files lynx.cfg and lynx.css are stored in the /etc directory and reflect, to certain extent, the conditions during the configuration and compilation process of this port. You may need to adjust the entries to fit your requiriments. If lynx.cfg and lynx.css are not found at their canonical place then the program will try to load them from the installation directory of lynx. To run the program, a working version of wattcp.cfg is required. This file is __NOT__ distributed with this port. That file will reflect your network environment and hardware. It is the task of the user to write one that matches his environment. As a starting point you can use the one distributed with the WATT-32 port. Please note that the location of wattcp.cfg must be specified by setting the WATTCP.CFG environment variable. This can be done either in the environment, in autoexec.bat or in djgpp.env. If the file cannot be found at any of the canonical places the program will try to load it from the installation directory of lynx. To be able to run the program, a DOS packet driver (PKTDRVR) is required. This may be obtained from the card manufacturer or from one of the archives of packet drivers (such as "http://www.lanet.lv/simtel.net/msdos/pktdrvr-pre.html" or "http://ftp.freenet.de/pub/ftp.simtel.net/pub/simtelnet/msdos/pktdrvr/"). Even when only browsing local files, a NULLPKT packet driver is required like nullpkt.zip. The zip file can be downloaded as: http://www.jumpjet.info/Application-Software/DOS/Hardware/2/NULLPKT/NULLPKT.zip The lynx executable itself handles http:, https:, ftp:, file:, news:, nntp: and gopher: protocols. You will need external programs if you want to access telnet:, tn3270:, or mailto: URLs. In this case a port of kermit may be required. Please note that lynx does _NOT_ support javascript at all. So nothing will work that requires this feature. If you need this, look for a different text web browser. It is important to realize that this port is a _PURE_ DOS port. If for some reason you want to use lynx under Windows, you should download a windows port of lynx. If you decide to use this port as stand alone program then you can set the following environment variables to point to the required configuration files: LYNX_CFG Set to the full path and filename for lynx.cfg LYNX_LSS Set to the full path and filename for lynx.lss WATTCP.CFG Set to the full path for the WATTCP.CFG directory SSL_CERT_FILE Set to the full path and filename for your file of trusted certificates As a last resort, if the above environment variables are not set, the program will try to load all those files from its installation directory. There is also a batch file stored in the /share/lynx_doc/samples directory that shows how to run lynx as a stand alone application. The DJGPP port now checks the OS version it is running on. If it is equal or less than MSDOS 6.22 the double quotes around the file name passed to edit.com will be removed. If this is not done, edit.com refuses to start. For OS like Win95 and above this is not necessary. edit.com is the editor used by lynx at last resort. The program's behaviour is not changed if an editor different from edit.com is selected in lynx.cfg. The DJGPP port now checks if LFN support is available. If available then files with a leading dot are allowed/supported in case that this has been allowed by setting NO_DOT_FILES to FALSE in lynx.cfg. In all previous versions, the setting of this value had absolute no influence in program's behavior if compiled with DJGPP. When connecting to a site via https, lynx will require that a file of trusted certificates is available. It is your's responsability to create such a file and the port will _NEVER_ provide one. This .PEM file is created using openssl tools. Read the openssl documentation. A working linux installation provides always one. It may be found by the name "ca-bundle.pem" or similar. In the end it must be a file in PEM format. Store it where you like and point to it by setting the corresponding lynx environment variable like this: set SSL_CERT_FILE=/dev/env/DJDIR/share/ssl/certs/ca-bundle.pem Of course the value propossed is arbitrary and reflects the way I do it for my own installation of lynx. A starting point for reading about how to create your own PEM files is: https://lists.gnu.org/archive/html/lynx-dev/2002-12/msg00043.html