Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Jan 2020 12:43:57 +0000 (UTC)
From:      Pietro Cerutti <gahr@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r523009 - in head/lang/seed7: . files
Message-ID:  <202001141243.00EChvQJ081287@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: gahr
Date: Tue Jan 14 12:43:57 2020
New Revision: 523009
URL: https://svnweb.freebsd.org/changeset/ports/523009

Log:
  lang/seed7: update to 05_20191229
  
  20191229:
  - Spelling corrections have been done in several files. Many thanks go
    to Jens Schleusener, for sending a source code misspelling report
    from Fossies.
  - The memory management has been improved:
    - In exec.c the functions res_restore() and exec_action() have been
      improved to free unneeded memory, in case an exception has been
      raised.
    - In prclib.c the functions prc_block(), prc_block_catch_all() and
      prc_block_otherwise() have been improved to free the
      fail_expression, in case an exception has been caught.
    - In numutl.c the function getDecimalBigRational() has been improved
      to free the temporary string.
    - In sql_rtl.c the function sqlColumnBigRat() has been improved to
      free the old values of numerator and denominator.
  - In sql_base.s7i the function openDatabase() with DB_ODBC and dbPath
    has been improved to use a DSN (data source name), if colon and slash
    are missing. E.g.: openDatabase(DB_ODBC, "anyDsn", "test", "test")
  - The compiler has been improved to support the action PRC_HEAPSTAT.
  - In flistutl.c the functions heapStatistic() and check_heap() have
    been improved to consider processes, sql functions, databases,
    prepared statements and fetched data. The function heap_statistic()
    has been renamed to heapStatistic().
  - In sql_cli.c the functions sqlColumnBigInt(), sqlColumnBigRat(),
    sqlColumnBStri(), sqlColumnFloat() and sqlColumnStri() have been
    improved to check, if the length returned by the database is greater
    than the buffer_length. In this case a DATABASE_ERROR is raised.
  - In sql_cli.c the function setDecimalBigRat() has been improved to
    convert integers to a string without decimal point.
  - The function SQLGetFunctions() has been removed from db_odbc.h,
    sql_cli.c and the makefiles (variable OBJCOPY_PARAMS).
  - In sql_cli.c the element SQLDescribeParam_supported has been removed.
    Instead the function pointer of SQLDescribeParam is checked and the
    result of SQLDescribeParam() is compared with SQL_SUCCESS.
  - In sql_odbc.c the function driverConnect() has been improved to
    search only for a driver, if the driver name is not empty.
  - In sql_odbc.c the function sqlOpenOdbc() has been improved to use
    the dbName as DSN (data source name) only, if no driver and no server
    are given.
  - In sql_post.c the function setupDll() has been improved to call
    dllOpen() instead of a recursive call of setupDll().
  - The new macro ALLOC_RECORD2() has been added to heaputl.h. The macro
    is used in drw_win.c, drw_x11.c, sql_cli.c, sql_fire.c, sql_lite.c,
    sql_my.c, sql_oci.c and sql_post.c.
  - The new macros COUNT_GROW_STRI() and COUNT_SHRINK_STRI() have been
    added to heaputl.h. This macros are currently empty. They are planned
    for a heap statistic concerning unused chars in strings with
    capacity.
  - In chkccomp.c several improvements have been done. In
    determineFireDefines() a search for the Firebird home directory has
    been added. In determineDb2Defines() the environment variable
    DB2_HOME is used now, to determine the Db2 home directory. In
    determineConsoleDefines() and determineSqlServerDefines() the list
    of DLLs has been improved.
  - The heap statistic for strings has been improved to use the string
    capacity instead of the string size.
  - The file config.h has been changed to define the macros
    USE_ALTERNATE_NEXT_CHARACTER, USE_INFILE_BUFFER, USE_CHUNK_ALLOCS,
    USE_ALTERNATE_CHUNK_ALLOCS and USE_MAXIMUM_MALLOC_CHECK always. Now
    these macros can have a value of 0 or 1.
  
  20191215:
  - The database libraries sql_srv.c and sql_cli.c have been improved to
    allow the connection to a SQL Server database from Linux. The library
    libtdsodbc.so is used to do the actual communication with the
    database.
  - The build system of Seed7 has been improved. Logic regarding X11,
    ncurses and the databases has been moved from the makefiles to
    chkccomp.c.
  - The build for Linux has been improved to work even if essential
    header files (for X11 or ncurses) are missing. This should only be
    used, if it is impossible to install the development packages of X11
    or ncurses.
  - The example program chkdb.sd7 has been improved to do tests for SQL
    Server.
  - In the FAQ the explanation of "What is necessary to compile Seed7
    with database connections", has been improved.
  - In chkccomp.c the functions findIncludeFile(), findStaticLib(),
    findLinkerOption(), listDynamicLibs() and determineConsoleDefines()
    have been added.
  - In chkccomp.c the functions determineEnvironDefines(),
    determineStatFunctions(), determineX11Includes(),
    determineMySqlDefines(), determineSqliteDefines(),
    determinePostgresDefines(), determineOdbcDefines(),
    determineOciDefines(), determineFireDefines(), determineDb2Defines(),
    determineSqlServerDefines(), determineIncludesAndLibs() and main()
    have been improved.
  - The files fwd_term.c and fwd_term.h have been added. The functions in
    fwd_term.c forward calls to a shared terminfo library.
  - The files con_inf.c, kbd_inf.c, kbd_poll.c, trm_cap.c and trm_inf.c
    have been improved to work with fwd_term.c and fwd_term.h.
  - The file fwd_x11.c has been added. The functions in fwd_x11.c forward
    X11 calls to a shared X11 library. Fwd_x11.c is used, if it is not
    possible to link to a static X11 library.
  - The file x11_x.h has been added. This file is used, if no X11 include
    file can be found.
  - The files drw_x11.c and gkb_x11.c have been improved to work with
    x11_x.h and x11_x.h.
  - The makefiles have been adjusted to work with the new build system.
  - The program warn.c has been added. This program writes a warning, if
    header files of X11 or ncurses are missing.
  - Documentation has been added to read_me.txt.
  - In dll_win.c the function dllOpen() has been improved to assure, that
    a path to a DLL uses a backslash as path delimiter. This is required
    by the function LoadLibrary().
  - The files bin/call_cl.bat and bin/call_lib.bat have been removed.
  
  20191117:
  - Support for mice with forward and back button has been added to the
    Seed7 run-time library. Many thanks go to Zachary Menzies, for
    driving my focus towards mice with additional buttons.
  - Support for the C compiler from Visual Studio 2019 has been added.
    Many thanks go to Alexander Yu. Vlasov for pointing out compilation
    problems with Visual Studio 2019 and for investigating the problems.
  - Interpreter and compiler have been improved to support DB2 and SQL
    Server databases.
  - In the manual the chapter about the database abstraction API has been
    improved.
  - The compiler has been improved to optimize the function replace()
    (action STR_REPL). Special functions (strChRepl() and strChChRepl())
    are used, if the searched or the replaced string consist of one
    character. This works even, if a character is converted to a string
    with the function str().
  - Testcases for replace() have been added to chkstr.sd7.
  - The program bigfiles.sd7 has been improved to search for the biggest
    directories additionally to the biggest files.
  - The libraries keybd.s7i and keydescr.s7i have been improved to
    support KEY_MOUSE_FWD and KEY_MOUSE_BACK.
  - The library sql_base.s7i and the programs db7.sd7 and sql7.sd7 have
    been improved to support DB_DB2 and DB_SQL_SERVER.
  - In striutl.c the function stri_to_standard_path() has been improved,
    to do a smarter mapping from a DOS/Windows path to the Seed7 standard
    path representation.
  - In osfiles.s7i the functions makeParentDirs() and convDosPath() have
    been improved. Now convDosPath() and stri_to_standard_path() use the
    same algorithm to map from a DOS/Windows path to the Seed7 standard
    path representation.
  - The function strChChRepl() has been added to str_rtl.c.
  - The program chkccomp.c has been improved to define the macros
    REMOVE_REATTEMPTS, SETENV_ALLOWS_KEY_WITH_EQUALS_SIGN and
    GETENV_ALLOWS_KEY_WITH_EQUALS_SIGN.
  - The functions determineDb2Defines() and determineSqlServerDefines()
    have been added to chkccomp.c.
  - The names of database DLLs (shared libraries) has been moved from
    the makefiles to chkccomp.c.
  - The database driver sql_odbc.c has been refactored to be based on
    sql_cli.c. Most of the contents of sql_odbc.c has been moved to
    sql_cli.c and sql_odbc.c now includes sql_cli.c.
  - The new database drivers sql_db2.c (for DB2) and sql_srv.c (for SQL
    Server) have been added. Like sql_odbc.c this drivers also include
    sql_cli.c.
  - In cmd_rtl.c the function cmdChdir() has been improved to use an
    extended length path only, if it is absolutely necessary. In Windows
    an extended length path starts with \\?\ and can have a length
    greater equal 260. Many subprocesses cannot handle a current working
    directory with an extended length path.
  - The makefiles mk_msvc.mak and mk_clangw.mak have been improved to
    write INI files with all environment variables. The INI files are
    seed7/bin/cl_env.ini and seed7/bin/clangenv.ini. This INI files
    contain the environment variables necessary to use the C compiler.
  - The program setpaths.c has been improved to optionally write a
    definition of the macro CC_ENVIRONMENT_INI to version.h. The macro
    CC_ENVIRONMENT_INI defines the path of seed7/bin/cl_env.ini or
    seed7/bin/clangenv.ini.
  - Support for the configuration values CC_ENVIRONMENT_INI and
    DATABASE_LIB has been added to cc_conf.s7i and cmd_rtl.c (in
    cmdConfigValue()).
  - The function unsetenv7() has been added to cmd_unx.c.
  - In gkb_x11.c and gkb_x11.c the functions gkbGetc() and
    gkbKeyPressed() have been improved to support KEY_MOUSE_FWD and
    KEY_MOUSE_BACK. Additionally the macro TRACE_EVENTS, to optionally
    trace events has been introduced.
  - The makefiles have been improved to create the new library s7_db.a
    (s7_db.lib), which contains all database drivers.
  - The files sql_cli.c (former sql_odbc.c) and sql_fire.c have been
    improved to reduce the number of C compiler warnings.
  - In sql_cli.c (former sql_odbc.c) the function setDbErrorMsg() has
    been improved to work for database error messages with Unicode
    characters. The function wstri_to_cstri8() has been added to do the
    conversion.
  - The file db_odbc.h has been improved to define wide character
    functions instead of ASCII functions. This was needed by sql_srv.c
    because it links dynamically to sqlsrv32.dll, which only defines
    wide character functions.
  
  20191020:
  - The support for Emscripten has been improved to allow the compilation
    of Seed7 programs.
  - Improvements have been done in sql_odbc.c to support the connection
    with a DB2 database.
  - Testcases for pos() and rpos() have been added to chkstr.sd7.
  - The compiler has been improved to optimize the functions pos() and
    rpos() (actions STR_POS, STR_RPOS, STR_CHPOS, STR_RCHPOS).
  - The program setwpath.c has been improved to work correct in more
    situations (E.g.: If no PATH variable exists, if the path to be added
    is a substring of an existing path, if the first path in the PATH
    variable is to be removed, if there is only on path in the PATH
    variable and this path is to be removed).
  - In fil.unx.c the function setupFiles() has been improved to mount the
    file systems for Emscripten and node.js with a better strategy.
  - In sql_odbc.c the function sqlStmtColumnName() has been improved to
    work with one call of SQLColAttributeW(), if the length of the column
    name is below a limit. Additionally a parameter of NULL as
    destination for the name has be replaced by a valid address. The
    usage of NULL triggered an error with DB2.
  - The configuration value LINKED_PROGRAM_EXTENSION has been added to
    cc_conf.s7i. The linker produces a file with the extension defined by
    LINKED_PROGRAM_EXTENSION. Usually LINKED_PROGRAM_EXTENSION is
    identical to EXECUTABLE_FILE_EXTENSION. Except for Emscripten where,
    the value is ".js".
  - The makefiles mk_emccl.mak and mk_emccw.mak have been improved to
    define LINKED_PROGRAM_EXTENSION.
  - The compiler (s7c.s7i), the function getProgramName() in arr_rtl.c,
    the function cmdConfigValue() in cmd_rtl.c and the program chkccomp.c
    have been improved to use LINKED_PROGRAM_EXTENSION.
  - In chkccomp.c the function determineEnvironDefines() has been
    improved to determine, if getenv() works case sensitive. A definition
    of GETENV_IS_CASE_SENSITIVE, with a value of 0 or 1, is written to
    version.h.
  - The function getSearchPathDelimiter() has been added to cmd_rtl.c.
    This function is used if SEARCH_PATH_DELIMITER is 0. In this case
    the search path delimiter must be determined at run-time.
  - The function systemForNodeJs() has been added to cmd_rtl.c. This
    function is used for Emscripten and node.js as replacement for the
    C run-time library function system().
  - The files sql_fire.c, sql_lite.c, sql_my.c, sql_oci.c, sql_odbc.c
    and sql_post.c have been improved to work correct, if no database
    include file could be found. Normally this should not happen,
    because Seed7 can provide its own database include files.
  - The functions getenv7() and setenv7() have been added to cmd_unx.c.
    This functions are used for Emscripten, because of a limitation in
    the Emscripten implementations of getenv() and setenv().
  - Documentation comments have been improved in external_file.s7i,
    file.s7i, leb128.s7i, scanfile.s7i, scanstri.s7i and string.s7i.
  - Comments explaining the usage of undefined behavior have been added
    to arrlib.c, bstlib.c, set_rtl.c and strlib.c.
  
  20190919:
  - A chapter about the database abstraction API has been added to the
    manual.
  - In the manual the chapters about primitive actions and about the
    foreign function interface have been improved.
  - An explanation of the Seed7 installer and about the download of Seed7
    have been added to the FAQ.
  - The new library ico.s7i has been added. This library supports the ICO
    image file format.
  - The library browser.s7i has been improved to be more robust regarding
    network events.
  - The database drivers have been improved to raise a DATABASE_ERROR,
    if the database library could not be found. The error message of the
    DATABASE_ERROR contains the name of the missing DLL respectively
    shared object library.
  - Documentation comments have been improved in 85 library/include files
    (*.s7i). Wrong usages of the word "when" have been replaced by "if".
  - Documentation comments have been improved in 96 C source files.
    Wrong usages of the word "when" have been replaced by "if".
  - Texts in 9 Seed7 programs (*.sd7) and in a lot of documentation files
    have been improved. Wrong usages of the word "when" have been
    replaced by "if".
  
  20190819:
  - A definition of SQL_DRIVER_NOPROMPT has been added to db_odbc.h.
    Many thanks go to Brett Senior for pointing out a fatal compilation
    error in sql_odbc.c, when compiling Seed7 version 2019-08-18 under
    Debian Linux.
  - The example program chkdb.sd7 has been improved to write better
    error messages.
  - In reflib.c the function ref_select() has been improved to work
    correct, if a derived struct overrides an element of the parent
    struct.

Added:
  head/lang/seed7/files/
  head/lang/seed7/files/patch-mk_freebsd.mk   (contents, props changed)
Modified:
  head/lang/seed7/Makefile
  head/lang/seed7/distinfo
  head/lang/seed7/pkg-plist

Modified: head/lang/seed7/Makefile
==============================================================================
--- head/lang/seed7/Makefile	Tue Jan 14 12:43:29 2020	(r523008)
+++ head/lang/seed7/Makefile	Tue Jan 14 12:43:57 2020	(r523009)
@@ -2,7 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	seed7
-DISTVERSION=	05_20190818
+DISTVERSION=	05_20191229
 PORTREVISION=	0
 CATEGORIES=	lang
 MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}/${DISTNAME}/
@@ -44,12 +44,18 @@ PORTDOCS=	*
 MAKEFILE=	mk_freebsd.mk
 
 post-patch:
-	${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g;' \
-		-e 's|^CFLAGS = |CFLAGS = -I${NCURSESINC} |' \
-		${WRKSRC}/${MAKEFILE}
+	${REINPLACE_CMD} \
+	    -e 's|%%LOCALBASE%%|${LOCALBASE}|g;' \
+	    -e 's|^CFLAGS = |CFLAGS = -I${NCURSESINC} |' \
+	    ${WRKSRC}/${MAKEFILE}
+	${REINPLACE_CMD} \
+	    -e 's|/opt/X11/include|${LOCALBASE}/include|' \
+	    ${WRKSRC}/chkccomp.c
 
-do-build:
+do-configure:
 	cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} -f ${MAKEFILE} depend
+
+do-build:
 	cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} -f ${MAKEFILE} s7 s7c
 
 do-install:

Modified: head/lang/seed7/distinfo
==============================================================================
--- head/lang/seed7/distinfo	Tue Jan 14 12:43:29 2020	(r523008)
+++ head/lang/seed7/distinfo	Tue Jan 14 12:43:57 2020	(r523009)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1566205173
-SHA256 (seed7_05_20190818.tgz) = f718015d599ec5445b7e0bacb1290614cb51baad1a95e1211478d2fc17ef325c
-SIZE (seed7_05_20190818.tgz) = 3083539
+TIMESTAMP = 1578925347
+SHA256 (seed7_05_20191229.tgz) = 9ba17b5b4bc8164ab60fd49a99afbfbdbdf81aa874c14eb1ed5b3742cb267c8c
+SIZE (seed7_05_20191229.tgz) = 3164509

Added: head/lang/seed7/files/patch-mk_freebsd.mk
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/seed7/files/patch-mk_freebsd.mk	Tue Jan 14 12:43:57 2020	(r523009)
@@ -0,0 +1,29 @@
+--- mk_freebsd.mk.orig	2020-01-14 12:29:39 UTC
++++ mk_freebsd.mk
+@@ -41,14 +41,14 @@ ALL_S7_LIBS = ../bin/$(COMPILER_LIB) ../bin/$(COMP_DAT
+ GET_CC_VERSION_INFO = $(CC) --version >
+ 
+ TERMINFO_OR_TERMCAP = USE_TERMINFO
++# CONSOLE_LIB_OBJ = kbd_rtl.o con_inf.o kbd_inf.o trm_inf.o
++# CONSOLE_LIB_SRC = kbd_rtl.c con_inf.c kbd_inf.c trm_inf.c
+-CONSOLE_LIB_OBJ = kbd_rtl.o con_inf.o kbd_inf.o trm_inf.o
+-CONSOLE_LIB_SRC = kbd_rtl.c con_inf.c kbd_inf.c trm_inf.c
+ # TERMINFO_OR_TERMCAP = USE_TERMCAP
+ # CONSOLE_LIB_OBJ = kbd_rtl.o con_inf.o kbd_inf.o trm_cap.o
+ # CONSOLE_LIB_SRC = kbd_rtl.c con_inf.c kbd_inf.c trm_cap.c
+ # TERMINFO_OR_TERMCAP = USE_TERMINFO
++CONSOLE_LIB_OBJ = kbd_rtl.o con_inf.o kbd_poll.o trm_inf.o
++CONSOLE_LIB_SRC = kbd_rtl.c con_inf.c kbd_poll.c trm_inf.c
+-# CONSOLE_LIB_OBJ = kbd_rtl.o con_inf.o kbd_poll.o trm_inf.o
+-# CONSOLE_LIB_SRC = kbd_rtl.c con_inf.c kbd_poll.c trm_inf.c
+ # TERMINFO_OR_TERMCAP = USE_TERMCAP
+ # CONSOLE_LIB_OBJ = kbd_rtl.o con_inf.o kbd_poll.o trm_cap.o
+ # CONSOLE_LIB_SRC = kbd_rtl.c con_inf.c kbd_poll.c trm_cap.c
+@@ -168,6 +168,7 @@ chkccomp.h:
+ 	echo "#define POSTGRESQL_LIBRARY_PATH \"-L%%LOCALBASE%%/lib\"" >> chkccomp.h
+ 	echo "#define ODBC_INCLUDE_OPTIONS \"-I%%LOCALBASE%%/include\"" >> chkccomp.h
+ 	echo "#define ODBC_LIBRARY_PATH \"-L%%LOCALBASE%%/lib\"" >> chkccomp.h
++	echo "#define X11_LIBRARY_PATH \"%%LOCALBASE%%/lib\"" >> chkccomp.h
+ 
+ version.h: chkccomp.h
+ 	echo "#define PATH_DELIMITER '/'" > version.h

Modified: head/lang/seed7/pkg-plist
==============================================================================
--- head/lang/seed7/pkg-plist	Tue Jan 14 12:43:29 2020	(r523008)
+++ head/lang/seed7/pkg-plist	Tue Jan 14 12:43:57 2020	(r523009)
@@ -124,6 +124,7 @@ lib/seed7/lib/html_ent.s7i
 lib/seed7/lib/html.s7i
 lib/seed7/lib/http_response.s7i
 lib/seed7/lib/httpserv.s7i
+lib/seed7/lib/ico.s7i
 lib/seed7/lib/idxarray.s7i
 lib/seed7/lib/image.s7i
 lib/seed7/lib/inflate.s7i



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202001141243.00EChvQJ081287>