git: 4b7f7c9c56b1 - main - lang/seed7: update to 05_20230305

From: Pietro Cerutti <gahr_at_FreeBSD.org>
Date: Thu, 30 Mar 2023 11:44:26 UTC
The branch main has been updated by gahr:

URL: https://cgit.FreeBSD.org/ports/commit/?id=4b7f7c9c56b1a16e4c1784a8f1eed224a7275aa4

commit 4b7f7c9c56b1a16e4c1784a8f1eed224a7275aa4
Author:     Pietro Cerutti <gahr@FreeBSD.org>
AuthorDate: 2023-03-30 11:17:11 +0000
Commit:     Pietro Cerutti <gahr@FreeBSD.org>
CommitDate: 2023-03-30 11:44:18 +0000

    lang/seed7: update to 05_20230305
    
    20230305:
    - The make7 example program has been improved to support quoted
      dependencies (changes have been made in makedata.s7i). A warning is
      written if the quoted dependency does not end with ", or when it is
      not followed by whitespace.
    - The comanche web-server example program has been improved:
      - CGI scripts with shebang are supported now. Shebang means that the
        first line of the script starts with #! and is followed by the
        command (and possible options) to interpret the script.
      - Now the root directories for HTML files (html-dir) and CGI files
        (cgi-dir) are converted to an absolute path.
      - On startup of comanche, the current working directory is changed
        to the root directory for CGI files (some CGI scripts need this).
      - The new option -c can be used to specify the cgi-name used in the
        HTTP(S) requests. If cgi-name is "", the cgi-name is taken from
        cgi-dir. Without -c, the default cgi-name of "/cgi-bin/" is used.
      - The new parameter env-file can be used to specify a property file
        with environment variables to be defined.
      - The help text written with the option -? or -h has been improved.
      - Definitions of the environment variables REQUEST_METHOD,
        CONTENT_LENGTH and DOCUMENT_ROOT have been added (in
        http_response.s7i). These environment variables are used by CGI
        scripts.
    - An explanation about the compilation to a dll/so has been added to
      the FAQ.
    - An explanation of the fixLen sub-string has been added to the manual.
    - The compiler s7c has been improved to read configuration values with
      the option -c. This allows s7c to be able to switch between
      generating machine code (default) or JavaScript/web-assembly
      (with -cemcc).
    - The compiler has been improved to generate better code for insert()
      (insert elements into an array). For arrays of plain values (e.g.
      array integer) unnecessary copying of data will be avoided now.
      Changes have been made in arr_act.s7i, expr_util.s7i, arr_rtl.c and
      arr_rtl.h.
    - The library propertyfile.s7i has been improved so that EOF terminates
      a property key or value.
    - The functions assignConfigValue() and readConfig() have been added
      to the cc_conf.s7i library.
    - In bitdata.s7i the close() function for LSB/MSB bit streams has been
      fixed to also work near the end of the file and for MSB bit streams.
    - In bitdata.s7i the function gets() has been improved so that a
      maxLength of 0 sets the position to the beginning of the next byte
      and returns an empty string. If bytePos is beyond the length of the
      string, an INDEX_ERROR is avoided.
    - In echo.s7i, editline.s7i, line.s7i, strifile.s7i and stritext.s7i
      the function gets() has been improved to always raise RANGE_ERROR
      for a negative maxLength. A maxLength of 0 always returns an empty
      string.
    - In png.s7i reading of PNG chunks has been refactored.
    - In gzip.s7i, iobuffer.s7i, lzma.s7i, strifile.s7i, xz.s7i and
      zstd.s7i the function seek() has been improved to raise RANGE_ERROR
      for positions <= 0.
    - In asn1.s7i, ccittfax.s7i, cli_cmds.s7i, csv.s7i, ftp.s7i, html.s7i,
      htmldom.s7i, http_response.s7i, makedata.s7i, stritext.s7i and
      wildcard.s7i, appending an element to an array has been improved. Now
      it is done with "anArray &:= element" instead of
      "anArray &:= [] (element)".
    - In chkstr.sd7 the tests for the functions lower() and upper() have
      been improved to use expression arguments.
    - In chkbig.sd7 tests for the bigInteger sci operator have been added.
    - Tests for close() of LSB/MSB bit streams have been added to
      chkbitdata.sd7.
    - The program chk_all.sd7 has been adjusted to the changes in
      chkbig.sd7 and chkbitdata.sd7.
    - The libraries bigint.s7i, bigrat.s7i, deflate.s7i, elliptic.s7i,
      encoding.s7i, gzip.s7i, inflate.s7i, iobuffer.s7i, lzma.s7i, png.s7i,
      rational.s7i, scanstri.s7i, strifile.s7i, stritext.s7i, xz.s7i and
      zstd.s7i have been improved to use fixLen sub-strings.
    - The program bas7.sd7 has been improved to use fixLen sub-strings.
    - In s7c.sd7 names of array and hash types have been refactored.
    - In bin32.s7i the deprecated functions bin32AsFourBytesBe and
      bin32AsFourBytesLe have been removed.
    - In bin64.s7i the deprecated functions bin64AsEightBytesBe and
      bin64AsEightBytesLe have been removed.
    - In bytedata.s7i the deprecated functions int16AsTwoBytesBe,
      int32AsFourBytesBe, int64AsEightBytesBe, int16AsTwoBytesLe,
      int32AsFourBytesLe, int64AsEightBytesLe, bigAsEightBytesBe and
      bigAsEightBytesLe have been removed.
    - In lzw.s7i the deprecated functions lzwEncodeMsb() and lzwDecodeMsb()
      have been removed.
    - In gzip.s7i the deprecated functions openGunzipFile(aFile) and
      openGzipFile(aFile) have been removed.
    - In arr_rtl.c the function arrInsertArrayTemp() has been added, and
      the function arrInsertArray() has been changed to leave the
      'elements' array as is.
    - The "clean" target of the makefiles has been improved to only remove
      the libraries created by the same makefile.
    - The library names in mk_emccl.mak and mk_emccw.mak have been changed
      from *.a to *_emc.a. Additionally, the file ../bin/cc_conf_emcc.prop
      is created, when running make. This allows the Emscripten
      version of Seed7 to be installed parallely to the normal Seed7
      installation.
    - The makefiles mk_mingw.mak and mk_nmake.mak have been improved to
      avoid the "file too big"/"too many sections" error.
    - Documentation comments have been improved in bitdata.s7i, echo.s7i,
      editline.s7i, keybd.s7i, line.s7i, osfiles.s7i, stritext.s7i,
      tls.s7i, arr_rtl.c, drwlib.c and kbdlib.c.
    
    20230130:
    - The drivers used in the browser (when Seed7 is compiled with
      Emscripten) have been improved (in con_emc.c, drw_emc.c, fil_emc.c,
      gkb_emc.c, tim_emc.c and emc_utl.c). Now graphic Seed7 programs can
      be compiled to JavaScript and Webassembly to run them in the browser.
    - A new sub-string operation with a guaranteed length (fixLen) has been
      introduced. E.g.: "abcde"[2 fixLen 3].
    - 30 libraries have been adjusted to use the fixLen sub-string. The
      guaranteed sub-string length assures that conversions like
      bytes2Int() do not get data that is too short.
    - The library zip.s7i has been fixed to work correct if a descriptor
      signature follows the deflated data.
    - The library jpeg.s7i has been refactored to use the segment length
      for reading a segment into a string.
    - A close() function for LSB and MSB bit streams has been addded to
      bitdata.s7i. The close() sets the the position of the underlying
      file directly after the bit stream. This is used by the function
      inflate() (in the inflate.s7i library).
    - The function flush() has been added to the tee.s7i library.
    - Several characters in the fonts stdfont10.s7i, stdfont12.s7i,
      stdfont14.s7i, stdfont16.s7i, stdfont18.s7i, stdfont20.s7i,
      stdfont24.s7i, vecfont10.s7i and vecfont18.s7i have been improved.
    - Interpreter and compiler have been improved to support the action
      STR_SUBSTR_FIXLEN.
    - The compiler (s7c.sd7) has been improved:
      - Support for arcs with thickness has been added (action DRW_PFARC).
      - Code that reports a GRAPHIC_ERROR is now generated.
      - The optimizations for string sub-strings ("abcde"[2 len 3] and
        "abcde"[2 fixLen 3]) have been improved.
      - The optimizations for combinations of sub-string and conversion to
        integer (e.g.: bytes2Int(stri[5 fixLen 4], UNSIGNED, LE) ) have
        been improved.
      - The size of the generated init_values function has been reduced.
      - If requested by USE_DO_EXIT, the function doExit() is called at the
        end of the program.
      - Profiling data is stored in allocated memory instead of an array.
        Some C compilers had problems with the array approach.
    - The documentation in doc/faq.htm, doc/faq.txt, src/read_me.htm and
      src/read_me.txt has been updated.
    - More detailed error messages have been introduced in chkbig.sd7,
      chkint.sd7 and chkset.sd7.
    - Tests in chkint.sd7, chkstr.sd7 and chkidx.sd7 have been improved to
      check the new sub-string function (fixLen) with and without a
      subsequent conversion to integer.
    - Tests in chkidx.sd7 have been refactored to use if-statements
      instead of using an ok variable.
    - An optional event tracing has been added to con_win.c.
    - The event tracing in drw_win.c and gkb_win.c has been improved.
    - The program chkccomp.c has been improved to determine
      SYSTEM_RESULT_FOR_RETURN_0 in a way that works also with Emscipten.
    - The test programs to determine LIMIT_FMT_E_MAXIMUM_FLOAT_PRECISION
      and LIMIT_FMT_F_MAXIMUM_FLOAT_PRECISION in chkccomp.c have been
      improved to define the large array outside of main (Emsripten
      needs this).
    - In common.h the format strings for OS_OFF_T have been changed to
      prefer the long format if sizeof(int) = 4 and sizeof(long) = 4.
    - An include of traceutl.h has been added to actlib.c, biglib.c,
      blnlib.c, bstlib.c, chrlib.c, conlib.c, drwlib.c, fillib.c, fltlib.c,
      intlib.c, pcslib.c, pollib.c, setlib.c and strlib.c. This allows
      enabling LOG_FUNCTIONS with strict C compilers.
    - The function printSet() has been added to set_rtl.c. This function
      is used in set_rtl.c as replacement for prot_set() when LOG_FUNCTIONS
      is enabled. This allows logging in compiled programs.
    - Logging functions have been improved in arr_rtl.c, con_win.c,
      drw_win.c, drw_x11.c, fil_rtl.c and gkb_win.c.
    - Occurrances of exit() and atexit() have been replaced by os_exit()
      respectively os_atexit(). This way, the makefiles mk_emccl.mak and
      mk_emccw.mak can define os_exit() and os_atexit() to use doExit()
      and registerExitFunction() instead of the default functions.
    - JavaScript specific functions have been moved from fil_unx.c to
      new file fil_emc.c.
    - Keyboard functions have been moved from drw_emc.c to the new file
      gkb_emc.c.
    - The JavaScript keyboard drivers in con_emc.c and gkb_emc.c have
      been improved to work with synchronous I/O although JavaScript works
      asynchronous in the browser.
    - In the new file tim_emc.c the function timAwait() has been
      introduced. This function saves keypresses that happen during the
      wait (it works together with the keyboard drivers from con_emc.c or
      gkb_emc.c).
    - The new file emc_utl.c has been introduced. This file contains
      registerExitFunction() and doExit() which replace atexit() and exit()
      under Emscripten. It also defines enqueue() and dequeue() which are
      used during timAwait() to queue keypresses. And finally, it defines
      mapKeyNameIdToKey() which is used by the keyboard drivers.
    - Functions to register and execute callbacks have been added to
      pre_js.js.
    - The makefiles mk_emccl.mak and mk_emccw.mak have been improved to
      use the linker options ASYNCIFY, ASYNCIFY_STACK_SIZE and
      EXIT_RUNTIME. The new files emc_utl.c, fil_emc.c, tim_emc.c and
      gkb_emc.c have also been added.
    - JavaScript strings in the .c files have been refactored to use "
      instead of '.
    - The definition of USE_DO_EXIT has been added to cc_conf.s7i. The file
      cmd_rtl.c and the program confval.sd7 have been adjusted accordingly.
    - The keyboard driver gkb_x11.c has been improved to work correctly
      when the keyboard layout is switched.
    - Documentation comments have been improved in string.s7i, str_rtl.c
      and strlib.c.
---
 lang/seed7/Makefile | 7 +++----
 lang/seed7/distinfo | 6 +++---
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/lang/seed7/Makefile b/lang/seed7/Makefile
index 529caac1f71a..6218f1fa22b1 100644
--- a/lang/seed7/Makefile
+++ b/lang/seed7/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	seed7
-DISTVERSION=	05_20221218
+DISTVERSION=	05_20230305
 PORTREVISION=	0
 CATEGORIES=	lang
 MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}/${DISTNAME}/
@@ -9,9 +9,8 @@ MAINTAINER=	gahr@FreeBSD.org
 COMMENT=	High-level, extensible programming language
 WWW=		http://seed7.sourceforge.net/
 
-# The language libraries are licensed under the LGPL21 license. Starting from
-# version 05_20140601, the compiler libraries are also distributed. These are
-# licensed under the GPLv2 and can be found in ${PREFIX}/lib/seed7/lib/comp.
+# The interpreter and the example programs use the GPL license, while the
+# runtime library uses the LGPL license.
 LICENSE=	GPLv2 LGPL21
 LICENSE_COMB=	multi
 
diff --git a/lang/seed7/distinfo b/lang/seed7/distinfo
index 4edc784520ac..5c035ea2a7de 100644
--- a/lang/seed7/distinfo
+++ b/lang/seed7/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1672220979
-SHA256 (seed7_05_20221218.tgz) = fe7de4a7633fc3428a849704f0b3a40f833916e8129239e0631414ce2164326a
-SIZE (seed7_05_20221218.tgz) = 3841034
+TIMESTAMP = 1680168651
+SHA256 (seed7_05_20230305.tgz) = 429af725ca54ce98a8c56a04e30c93e1620996ff5c8293ab1d4a6d72f955f299
+SIZE (seed7_05_20230305.tgz) = 3907256