summaryrefslogtreecommitdiff
path: root/lang/gnucobol
diff options
context:
space:
mode:
authorfcambus <fcambus@pkgsrc.org>2020-12-10 18:09:34 +0000
committerfcambus <fcambus@pkgsrc.org>2020-12-10 18:09:34 +0000
commitdfbd5644edb6cefa453723ebb1a5cc526c711d42 (patch)
tree95d3ac5fdff5df281d7aea3ca3287e01cd610ebb /lang/gnucobol
parent5e9e5419af8d4ba472a11585b5d1cf979cc18dff (diff)
downloadpkgsrc-dfbd5644edb6cefa453723ebb1a5cc526c711d42.tar.gz
gnucobol: update to 3.1.1.
Pkgsrc changes: - Follow redirects (open-cobol -> gnucobol) for MASTER_SITES and HOMEPAGE - Add a test target ChangeLog: GnuCOBOL 3.1.1 released (20201208) GnuCOBOL 3.1 released (20201111) had issues that were fixed * New GnuCOBOL features ** XML GENERATE statement (note: runtime support needs additional library libxml2) ** JSON GENERATE statement (note: runtime support needs additional library cJSON or JSON-C) ** CONTINUE AFTER statement (COBOL 202x) implemented, also handle fractions of seconds in C$SLEEP now ** TYPEDEF and SAME AS (COBOL 2002) implemented, including the MicroFocus and RM/COBOL variants ** >>TURN (COBOL 2002) directive implemented, allowing some exception checks to be turned on/off per source as desired ** Improved support for different compiler extensions (ACUCOBOL, IBM, Fujitsu, MicroFocus COBOL, Microsoft COBOL, RM/COBOL, CA Realia and more) ** file handling: include support for a callable EXTFH interface also provided by several compilers including Micro Focus This allows users to insert an external file handler while retaining all of the normal COBOL I/O functions with a possible callback to libcob. To have the compiled program call `yourfh()` for file I/O use: `cobc -fcallfh=yourfh` In turn `yourfh()` may call `EXTFH()` to use I/O functions from GnuCOBOL. The external file handler can also be directly invoked from COBOL, too, using `CALL "EXTFH"`. ** Note: Not each flag contained in the FCD3 is handled already ** ** file handling: added support for [RE]WRITE FILE file FROM source ** file handling: name mapping adjusted (improved MF and ACU-compatibility): entries starting with a period or number are not resolved any more, periods in the external identifier are always replaced by underscore -> MY.FILE is resolved by DD_MY_FILE, dd_MY_FILE, MIFILE now; prefixes "-F " and "-D " are removed from external names; if filename is not absolute after translation, COB_FILE_PATH is now still applied; File name mapping now applies both to COBOL statements and CALLable CBL_ and C$ file routines. ** Screen I/O: initial mouse support (for details see runtime.cfg), use of CURSOR clause in SPECIAL-NAMES for positioning on ACCEPT ** on abort a stack trace will be genereated, this can be suppressed by runtime configuration option COB_STRACK_TRACE ** the dump that is generated on abort (depending on -fdump at compile-time) was heavily improved and combines consecutive identical OCCURS items, leading to smaller dump files ** changes in handling COPY statement: * copybook names that contain an extension aren't searched with additional extensions [as post-rc1-change this may be set to old behaviour by defining COB_MULTI_EXTENSION when building GnuCOBOL/cobc] * library names are now tested for environment "COB_COPY_LIB_libname", allowing the directory to specified externally (also as no-directory by exporting with empty value) and has a fallback (with a warning) to be effectively ignored (as previous versions did this) * Removed functions ** SCREEN SECTION, REPORT-WRITER module: removed non-standard extension "LINE / COL signed-integer" (inadvertently available since 2.2/3.0rc1); which will now raise an error "unsigned integer expected"; if used replace by standard "LINE / COL +/- integer" * Obsolete features (will be removed in the next version if no explicit user requests are raised) ** support for Borland C compiler and linker ** -fif-cutoff flag for cobc (currently disabled, see entry below in 3.0rc1) ** old OpenCOBOL-only-EXTFH * Changes to the COBOL compiler (cobc) options: ** new options: -f[no]-ec=exception-name to tune the exception checks similar to the >>TURN directive, you may also leave out the "EC-" prefix here, example to enable all checks but disable all bound checks but OCCURS DEPENDING ON: cobc -debug -fno-ec=bound -fec=bound-odo ** adjustments to warning options: -Wextra "new" option to enable every possible warning that is not dialect specific (this option used to be called -W) -Wadditional new warning group for all warnings that don't have a group on their own -Wno-error and -Wno-error=<warning> to treat (specific <warning>s) not as error -Wdangling-text for raising the warning "source text after program area", not included in -Wall any more -Wno-ignored-error allows to suppress messages that normally would be an error and are only allowed because they are never executed -Wimplicit-define and -Wcorresponding are now enabled by default -f[no]-diagnostics-show-option, enabled by default, shows the command line option responsible for the diagnostic message extra information to a warning (or error) is now marked as "note:" ** the interal Xref got a huge speedup, has all references in ascending order now and includes the total amount of direct references ** the interal listing got a speedup and has all error references in ascending order now ** cobc -g (and configure --enable-debug) use the most expressive debugging options available on the system ** cobc -g now auto-includes references to the COBOL source file and to all ENTRY and SECTION elements to ease source level debugging * Changes in the COBOL runtime (libcob) ** Messages from the COBOL runtime are also translated now (if installed). To prevent this disable translations in general with using the configure option --disable-nls (or by deactivating ENABLE_NLS in config.h). ** libcob.h does no longer auto-include gmp.h (behavior since 2.x), if you link against libcob and need cob_decimal include gmp.h/mpir.h yourself before; otherwise you do not need it in your include path any more ** execution times of INSPECT and INITIALIZE with OCCURS were heavily cut down ** convenience functions for direct C access to COBOL fields and for debugging were added, see new C-API documentation ** first-time file-locking under Win32 ** Breaking change: previously the return-code of registered error handlers (by CBL_ERROR_PROC) were ignored. This was changed according to the documentation for CBL_ERROR_PROC -> a RETURN-VALUE of ZERO skips further error handlers to be called, including the internal one. * New build features ** Running the internal tests by make check now fails if the testsuite has any unexpected result. ** The modules and test programs in the NIST COBOL-85 test suite (tests/cobol85) may now be build and/or tested and/or the test results checked separately. You now may also run the tests with a previous installed version of GnuCOBOL (or a version specified by a manual temporary setup). For details see tests/cobol85/README. ** new configure option --with-math=ARG to specify which math multiple precision library is to be used, where ARG may be: check (default), gmp, mpir ** new configure options --with-xml2 / -without-xml2 to explicit force/disable XML runtime support, otherwise it will be included if found as working ** new configure option --with-json / -without-json to explicit force/disable JSON runtime support, otherwise it will be included if found as working Note: As a special case you may built-in cJSON by placing its source in the folder "libcob". If it is included there, this version will be compiled into libcob. It may be enforced with --with-json=local, like --with-json=cjson and --with-json=json-c enforce the given library. ** To adjust the build system for GMP/MPIR you may use the new variables GMP_CFLAGS / MPIR_CFLAGS and GMP_LIBS / MPIR_LIBS. If unset configure will try pkg-config. ** To adjust configure to use libxml2 you may use the new variables XML2_CFLAGS and XML2_LIBS. If unset configure will use pkg-config / xml2-config. ** To adjust configure to use libcjson you may use the new variables CJSON_CFLAGS and CJSON_LIBS, similar JSON_C_CFLAGS and JSON_C_LIBS for libjson-c. If unset configure will use pkg-config. ** new configure option --enable-hardening to either enable GNU C's hardening options or leave as-is, or disable (which previous versions effectively did) ** build system: defaults.h is not created or included any more, all configure provided defines are now found in the single header config.h ** Any time after `make` you can call `pre-inst-env` script to use the still- uninstalled binaries. Samples: pre-inst-env cobc -xj prog.cob pre-inst-env cobcrun -M prog start pre-inst-env may also be called without parameters to start a new shell session with the environment adjusted to use the uninstalled version. * Too much bug fixes to list here (please check ChangeLogs for full details), includes the following CVEs: ** compiler (may be triggered with special crafted source files) CVE-2019-14468, CVE-2019-14486, CVE-2019-14528, CVE-2019-14541, CVE-2019-16396, CVE-2019-16395 * GnuCOBOL's getopt implementation honors POSIXLY_CORRECT now: if set to any value the option parsing in cobc, cobcrun and CBL_GC_GETOPT stops at the first nonoption, otherwise it stays with the old behaviour and re-orders nonoptions to the end) * Known issues in 3.1 ** testsuite: * if built with vbisam, cisam or disam, depending on the version used, some tests will lead to UNEXPECTED PASS, while others may fail * possibly failing tests (false positives): * temporary path invalid * compiler outputs (assembler) * compile from stdin * NIST: OBNC1M.CBL false positive (the test runner uses a nonportable way of emulating a program kill) ** the recent additions of ">> TURN" and "variable LIKE variable" may not work as expected in all cases ** features that are known to not be portable to every environment yet (especially when using a different compiler than GCC) * function with variable-length RETURNING item * USAGE POINTER, which may need to be manually aligned ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ GnuCOBOL 3.0-rc1 released (20180422) * New GnuCOBOL features ** REPORTWRITER module added ** INDEXED file handling: added support for sparse and split keys ** file handling: added support for [RE]WRITE FILE file FROM source ** DISPLAY ... UPON PRINTER may be redirected to an external command (new runtime configuration COB_DISPLAY_PRINT_PIPE) or appended to a file (new runtime configuration COB_DISPLAY_PRINT_FILE, which takes precedence) ** XML GENERATE statement (note: runtime support needs additional library libxml2) ** JSON GENERATE statement (note: runtime support needs additional library cJSON) ** Improved support for different compiler extensions (ACUCOBOL, IBM, Fujitsu, MicroFocus COBOL, Microsoft COBOL, RM/COBOL and more) ** Parser support for many features of different compilers, for example PIC 1 / USAGE BIT, ACUCOBOL extensions for graphical controls VALIDATE statement and much more. Most of them will be fully implemented in a later version... ** Option to dump (partial) data of modules on abort. Use new cobc option -fdump=<scope> to prepare the module and optional use new runtime configuration options COB_DUMP_FILE and COB_DUMP_WIDTH to adjust the dump. ** C interface: new functions cob_set_runtime_option / cob_get_runtime_option to set/get special runtime options (currently FILE * for trace and printer output) or to reload the runtime configuration after changing environment ** file handling: include support for a callable EXTFH interface also provided by several compilers including Micro Focus This allows users to insert an external file handler while retaining all of the normal COBOL I/O functions with a possible callback to libcob. To have the compiled program call `yourfh()` for file I/O use: `cobc -fcallfh=yourfh` In turn `yourfh()` may call `EXTFH()` to use I/O functions from GnuCOBOL. The external file handler can also be directly invoked from COBOL, too, using `CALL "EXTFH"`. ** Note: Not all flags contained in the FCD3 are handled already ** * Changed cobc options: ** The option -debug (runtime checks) no longer implies -ftrace (option to trace program flow of the generated module with COB_SET_TRACE). You may specify -ftrace[all] along -debug if you want to use this feature. ** The option -E (preprocess file) does not imply an output file any more. If no output file is explicit specified with -o filename.i the output will be written to stdout (behavior of versions 1.1 is restored). Requesting output to stdout explicit by using a dash as output name is also possible. ** Changed options for listing: The option -tsymbols was replaced by -ftsymbols and therefore can now also be explicit deactivated by specifying -fno-tsymbols. New options for suppressing (or explicit requesting) parts of the listing: -fno-theader suppress all headers from listing while keeping page breaks -fno-tmessages suppress warning and error summary from listing -fno-tsource suppress actual source from listing (for example to only produce the cross-reference) ** The option -fif-cutoff (option to change generated C sources to use a label + goto for nested if/else) was deactivated to allow the C compiler to fully control the program flow. ** Please report if you have a need for this option as it will be ** ** removed permanently in the next release of GnuCOBOL otherwise. ** * Changes in the COBOL runtime (libcob) ** updated exception handling, GnuCOBOL now only cleans raised exceptions when requested by SET LAST EXCEPTION TO OFF ** The standard-format for program tracing was changed and is now adjustable by the runtime configuration option COB_TRACE_FORMAT. * New build features ** New test suite for manual tests (especially SCREEN I/O), run with `make checkmanual`. Note: You may want to adjust the test runner tests/run_prog_manual.sh which defaults to xterm in GUI environments and screen in terminal environments. ** new configure option --enable-debug-log to allow *internal* tracing of GnuCOBOL (intended for developers of GnuCOBOL only) * Too much bug fixes to list here (please check ChangeLogs for full details).
Diffstat (limited to 'lang/gnucobol')
-rw-r--r--lang/gnucobol/Makefile9
-rw-r--r--lang/gnucobol/distinfo10
2 files changed, 10 insertions, 9 deletions
diff --git a/lang/gnucobol/Makefile b/lang/gnucobol/Makefile
index df767831a0f..ca42eb7f00a 100644
--- a/lang/gnucobol/Makefile
+++ b/lang/gnucobol/Makefile
@@ -1,12 +1,12 @@
-# $NetBSD: Makefile,v 1.7 2020/05/23 13:06:37 rillig Exp $
+# $NetBSD: Makefile,v 1.8 2020/12/10 18:09:34 fcambus Exp $
#
-DISTNAME= gnucobol-2.2
+DISTNAME= gnucobol-3.1.1
CATEGORIES= lang
-MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=open-cobol/}
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=gnucobol/}
MAINTAINER= rodo@bloerp.de
-HOMEPAGE= https://open-cobol.sourceforge.io/
+HOMEPAGE= https://gnucobol.sourceforge.io/
COMMENT= Open-source COBOL compiler
LICENSE= gnu-gpl-v3 AND gnu-lgpl-v3
@@ -22,6 +22,7 @@ USE_TOOLS+= msgfmt
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --with-db
INFO_FILES= yes
+TEST_TARGET= check
SUBST_CLASSES+= bdb
SUBST_MESSAGE.bdb= Detect pkgsrc Berkeley DB library
diff --git a/lang/gnucobol/distinfo b/lang/gnucobol/distinfo
index e07925daba1..55f3d81322d 100644
--- a/lang/gnucobol/distinfo
+++ b/lang/gnucobol/distinfo
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.5 2017/12/17 04:54:15 ryoon Exp $
+$NetBSD: distinfo,v 1.6 2020/12/10 18:09:34 fcambus Exp $
-SHA1 (gnucobol-2.2.tar.gz) = 23a45625d23700593b5eea09f8f52dd628b9bcf5
-RMD160 (gnucobol-2.2.tar.gz) = ec17eca4de2e2b9b129b38f5ed260fcf27f4a71a
-SHA512 (gnucobol-2.2.tar.gz) = 2ac209af6c7251b3fc5a7b8a2cfe490bfea16640dbf4d56d79708d688d99c4bfd577ff3f9523962392e81ebe0efea6985b964449c44a4cfa6af5119d1c1bab56
-Size (gnucobol-2.2.tar.gz) = 2660284 bytes
+SHA1 (gnucobol-3.1.1.tar.gz) = 33aed5de75a8f44405ebc49fcbe3174042ed98a8
+RMD160 (gnucobol-3.1.1.tar.gz) = d1e67b053819a660cdfd55b193171a9745fd33bd
+SHA512 (gnucobol-3.1.1.tar.gz) = 568285f584df9184dfea31ea067226e19af20df8e8321ab06767f9ed8b7cb7f1726bcbc86557bd76ac37e62a3ce3065292a38994b04bc072c449a8510c33790e
+Size (gnucobol-3.1.1.tar.gz) = 3867529 bytes