git: bbc01fa8f3ea - main - lang/seed7: update to 05_20240429

From: Pietro Cerutti <gahr_at_FreeBSD.org>
Date: Tue, 30 Apr 2024 08:57:11 UTC
The branch main has been updated by gahr:

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

commit bbc01fa8f3eab22be2f4b01a94374da439dbd5d6
Author:     Pietro Cerutti <gahr@FreeBSD.org>
AuthorDate: 2024-04-30 08:55:16 +0000
Commit:     Pietro Cerutti <gahr@FreeBSD.org>
CommitDate: 2024-04-30 08:57:09 +0000

    lang/seed7: update to 05_20240429
    
    Changes:
    
    20240429:
    - The compilation of s7c with tcc has been fixed. Many thanks to
      Cheap-Ad9743 for pointing out that compiling s7c with tcc failed.
    - Chapters about hashes and templates have been added to the manual.
    - The library hash.s7i has been improved to support hash table
      literals and the comparison of hash tables with = and <> .
    - The new library scanjson.s7i has been added. This library supports
      scanning (reading) JSON (JavaScript Object Notation) symbols from
      strings and files.
    - The experimental readjson.s7i library has been removed.
    - The new library fixarray.s7i has been added. This library supports
      arrays with a fixed size. The minimum and maximum index of these
      arrays is encoded in the type. The functions minIdx(), maxIdx()
      and length() can be used with an array or the type as parameter.
      The times operator can be used with: arrayType times elementValue.
    - The library msgdigest.s7i has been refactored to use fixed size
      arrays. The reduction in run-time for some functions is md5: 6%,
      sha1: 26%, sha256: 21%, sha512: 22%.
    - The library lzma.s7i has been refactored to use fixed size arrays.
      The run-time of the XZ decompression has been reduced by 10%.
    - The library jpeg.s7i has been refactored to use the fixed size
      array type dataBlockType instead of array integer.
    - In jpeg.s7i the restart interval handling (with mcuCount) has been
      improved.
    - The libraries deflate.s7i and gzip.s7i have been refactored to use
      a fixed size array for the sliding window.
    - The library aes_gcm.s7i has been refactored to use fixed size
      arrays for the factor H.
    - The interface types for bitStream and huffmanTable have been
      removed. This way, bitStream and huffmanTable functions are called
      without dynamic dispatch. This change reduces the run-time of the
      function readJpeg() by 5.2% (measured with gcc and valgrind and
      the s7c options -oc3 -O3).
    - The templates DECLARE_CcittModifiedGroup3Fax_FUNCTIONS,
      DECLARE_CcittT6Fax_FUNCTIONS and DECLARE_CcittT4Fax2d_FUNCTIONS
      have been added to ccittfax.s7i. The templates are instantiated
      for MSB and LSB bit ordering. This way ccittfax functions work
      without dynamic dispatch.
    - A declaration of the template DECLARE_MIN_MAX has been added to
      integer.s7i. This template is used to define the functions min()
      and max() for the types bigInteger, bigRational, float, integer
      and rational (in bigint.s7i, bigrat.s7i, float.s7i, integer.s7i
      and rational.s7i respectively).
    - Now non-SYMLINK getters and setters in cpio.s7i, tar.s7i and
      rpm.s7i follow relative symlinks inside the archive.
    - Getters for fileMode, mTime, owner and group of symbolic links
      have been added to cpio.s7i, tar.s7i and rpm.s7i.
    - Setters for mTime, owner and group of symbolic links have been
      added to cpio.s7i, tar.s7i and rpm.s7i.
    - In osfiles.s7i SYMLINK setters for mTime, owner and group have
      been added for the type osFileSys.
    - Setter interface functions for mTime, owner and group of symbolic
      links have been added to filesys.s7i.
    - The functions removeDotFiles and symlinkDestination have been
      added to filesys.s7i.
    - In encoding.s7i the functions toBase and toBase58 have been fixed
      to allow encoding "". The functions toBase and fromBase have been
      improved to work with any digit for 0 (toBase58 encodes 0 with 1).
    - In scanfile.s7i the function getLineComment has been fixed to
      leave line endings unchanged.
    - In scanstri.s7i the function getEscapeSequence has been fixed to
      assume that numeric escape sequences end with a semicolon (;).
      The function getNumber has been refactored as well.
    - A definition of HASHELEMOBJECT has been added to category.s7i.
    - The function conv2unicode in the charsets.s7i library has been
      improved to use a for-each loop.
    - A declaration of the function arrayLength has been added to the
      progs.s7i library. This function is used by the compiler.
    - The Seed7 compiler (s7c.sd7) has been improved:
      - The maximum and minimum values in a constant integer array are
        determined. This way the range of possible values for indexing
        into this array can be estimated. This allows for the removal of
        some overflow checks. The run-time of the function md5() has
        been reduced by 2.6% (measured with gcc and valgrind and the s7c
        options -oc3 -O3).
      - Now assignments with the times operator like
          dest := aSize times 0
        are optimized to use memset().
      - Assignments to an integer array where the source array contains
        only zeros are optimized to use memset(). The assignment does
        realloc the array if the size changes. For fixed size arrays the
        check of the size and the call of realloc is optimized away.
      - For fixed size arrays index checks are optimized away if the
        range of possible index values is always inside the array. This
        optimization reduces the run-time of the function readJpeg()
        by 7.5% (measured with gcc and valgrind and the s7c options
        -oc3 -O3).
      - Fixed size array assignments have been improved to omit the
        copy of minIdx and maxIdx (for fixed size arrays they cannot
        change with an assignment).
      - The index check for fixed size arrays has been simplified. For
        these arrays the lower and upper bounds of the index are known
        at compile time. This optimization reduces the run-time of the
        function readJpeg() by 7.9% (measured with gcc and valgrind and
        the s7c options -oc3 -O3).
      - Indexing into an array has been improved for fixed size arrays
        if the index checks are suppressed.
      - In str_act.s7i the index check for the fixLen substring
        operation (stri[start fixLen length]) has been simplified.
      - Now the division of product with mdiv is optimized. The division
        or the multiplication is removed if possible.
      - The recognition of constant expressions has been improved.
        Constants defined with a parameter list are not considered
        constant if at least one parameter is not constant.
      - The code generation in set_act.s7i has been improved to avoid
        adjacent - operators (e.g. number--1).
      - Now a generic function for user defined hashCode function is
        generated.
      - In int_act.s7i the statistic of suppressed range checks has been
        improved.
    - Regression tests which create adjacent - operators in the
      generated C code have been added to chkset.sd7.
    - In drw_x11.c the graphics driver has been improved to support
      window titles with Unicode.
    - In chkccomp.c test programs have been improved to call
      XRenderQueryExtension() only if XOpenDisplay("") succeeded.
    - In bitdata.s7i the deprecated functions getBitLsb(), getBitsLsb(),
      peekBitsLsb(), skipBitsLsb(), getBitMsb(), getBitsMsb(),
      peekBitsMsb() and skipBitsMsb() with a string as parameter have
      been removed. The functions with the types lsbBitStream and
      msbBitStream should be used instead.
    - Tests for the deprecated bitdata functions with a string as
      parameter (getBitLsb, getBitsLsb, peekBitsLsb, getBitMsb,
      getBitsMsb and peekBitsMsb) have been removed from chkbitdata.sd7.
    - In huffman.s7i the deprecated functions
      getHuffmanSymbolMsb(string, ...) and
      getHuffmanSymbolLsb(string, ...) have been removed. The functions
      getHuffmanSymbol(msbBitStream, ...) and
      getHuffmanSymbol(lsbBitStream, ...) should be used instead.
    - In strifile.s7i the deprecated function openStrifile() has been
      removed. The function openStriFile() should be used instead.
    - In stritext.s7i the deprecated function openStritext() has been
      removed. The function openStriText() should be used instead.
    - The syntax of hash literals and fixed size arrays has been added
      to syntax.s7i.
    - Generic hashCode functions have been introduced in big_gmp.c,
      big_rtl.c, bst_rtl.c, int_rtl.c, pcs_rtl.c, set_rtl.c and
      str_rtl.c. Function prototypes of these functions are defined
      in big_act.s7i, bst_act.s7i, pcs_act.s7i, set_act.s7i and
      str_act.s7i. Function pointers to these functions are used by
      s7c.sd7 in the function action_address.
    - The functions hsh_concat_key_value, hsh_gen_hash and
      hsh_gen_key_value have been added to hshlib.c.
    - The functions hshConcatKeyValue, hshGenHash and hshGenKeyValue
      have been added to hsh_rtl.c.
    - The function bld_hashelem_temp has been added to objutl.c.
    - Interpreter and compiler have been improved to support the actions
      HSH_CONCAT_KEY_VALUE, HSH_GEN_HASH and HSH_GEN_KEY_VALUE.
    - Logging functions have been improved in drw_win.c, drw_x11.c,
      hshlib.c and sctlib.c.
    - Documentation comments have been improved in array.s7i, bin32.s7i,
      bin64.s7i, cpio.s7i, hash.s7i, rpm.s7i, tar.s7i and int_rtl.c.
---
 lang/seed7/Makefile  | 2 +-
 lang/seed7/distinfo  | 6 +++---
 lang/seed7/pkg-plist | 3 ++-
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/lang/seed7/Makefile b/lang/seed7/Makefile
index 23741f06c7db..b51962b84349 100644
--- a/lang/seed7/Makefile
+++ b/lang/seed7/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	seed7
-DISTVERSION=	05_20240322
+DISTVERSION=	05_20240429
 PORTREVISION=	0
 CATEGORIES=	lang
 MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}/${DISTNAME}/
diff --git a/lang/seed7/distinfo b/lang/seed7/distinfo
index fb5b56b41166..abcf9c12d6ba 100644
--- a/lang/seed7/distinfo
+++ b/lang/seed7/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711381690
-SHA256 (seed7_05_20240322.tgz) = d1e930e7dd00e67662fb835ea330f3c5a00c8231019ecb500f701214ded3408d
-SIZE (seed7_05_20240322.tgz) = 4059481
+TIMESTAMP = 1714460489
+SHA256 (seed7_05_20240429.tgz) = 8cf7d840743af0867f74eddf423e654e218e6895ca206e61ddc09bec83c7379c
+SIZE (seed7_05_20240429.tgz) = 4075974
diff --git a/lang/seed7/pkg-plist b/lang/seed7/pkg-plist
index 7cbcc9df7023..fd7de2002db5 100644
--- a/lang/seed7/pkg-plist
+++ b/lang/seed7/pkg-plist
@@ -116,6 +116,7 @@ lib/seed7/lib/file.s7i
 lib/seed7/lib/filebits.s7i
 lib/seed7/lib/filesys.s7i
 lib/seed7/lib/fileutil.s7i
+lib/seed7/lib/fixarray.s7i
 lib/seed7/lib/float.s7i
 lib/seed7/lib/font.s7i
 lib/seed7/lib/font8x8.s7i
@@ -182,12 +183,12 @@ lib/seed7/lib/process.s7i
 lib/seed7/lib/progs.s7i
 lib/seed7/lib/propertyfile.s7i
 lib/seed7/lib/rational.s7i
-lib/seed7/lib/readjson.s7i
 lib/seed7/lib/ref_list.s7i
 lib/seed7/lib/reference.s7i
 lib/seed7/lib/reverse.s7i
 lib/seed7/lib/rpm.s7i
 lib/seed7/lib/scanfile.s7i
+lib/seed7/lib/scanjson.s7i
 lib/seed7/lib/scanstri.s7i
 lib/seed7/lib/seed7_05.s7i
 lib/seed7/lib/set.s7i