Skip to content

Commit

Permalink
lang/seed7: update to 05_20230305
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
gahr committed Mar 30, 2023
1 parent 107b89c commit 4b7f7c9
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 7 deletions.
7 changes: 3 additions & 4 deletions 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}/
Expand All @@ -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

Expand Down
6 changes: 3 additions & 3 deletions 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

0 comments on commit 4b7f7c9

Please sign in to comment.