pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/devel/re2c



Module Name:    pkgsrc
Committed By:   wiz
Date:           Thu Dec 26 11:47:46 UTC 2024

Modified Files:
        pkgsrc/devel/re2c: Makefile PLIST distinfo

Log Message:
re2c: update to 4.0.2.

4.0.2 (2024-12-11)
~~~~~~~~~~~~~~~~~~

- CMake build system: fixed bug
  `#515 <https://github.com/skvadrik/re2c/issues/515>`_ where language-specific
  binaries erroneously defaulted to generating code for C.

- Playground: address bar now reflects navigation between examples, editors use
  a more high-contrast CSS theme.

4.0.1 (2024-11-25)
~~~~~~~~~~~~~~~~~~

- Added missing doc sources to the distribution tarball
  (`#503 <https://github.com/skvadrik/re2c/issues/503>`_)

- Reworked C/C++ examples to avoid using new configuration aliases until the
  world has updated to re2c 4.0, made them compatible with C.

- A few build system changes: increased CMake minimum required version to 3.15,
  added missing dependencies on doc sources in Makefile.am.

- Fixed typos in docs.

4.0 (2024-11-19)
~~~~~~~~~~~~~~~~

- Added a generic technique for describing language backends based on the idea
  of syntax files (`#450 <https://github.com/skvadrik/re2c/issues/450>`_).

- Added support for new languages: D, Haskell, Java, JavaScript, OCaml, Python,
  V, Zig.

- Added new record API for all languages (enabled with ``--api record``,
  ``re2c:api = record``) and made it the default API for Haskell and OCaml.

- Renamed former "default API" to "simple API", implemented it for all backends
  except Haskell and OCaml, and enabled by default API for C, D, Java,
  JavaScript, Python, V and Zig.

- Added new code generation model - recursive functions (enabled with
  ``--recursive-functions``), primarily to be used for functional languages.

- Added options:

  + ``--syntax <file>``
  + ``--api simple``
  + ``--api generic``
  + ``--api record``
  + ``--goto-label``
  + ``--recursive-functions``
  + ``--lang none``
  + ``--lang d``
  + ``--lang haskell``
  + ``--lang java``
  + ``--lang js``
  + ``--lang ocaml``
  + ``--lang python``
  + ``--lang v``
  + ``--lang zig``
  + ``--leftmost-captvars``
  + ``--posix-captvars``
  + ``--captvars`` (alias for ``--leftmost-captvars``)
  + ``--captures`` (alias for ``--leftmost-captures``)

- Added configurations:

  + ``re2c:api = simple`` (alias for ``re2c:api = default``)
  + ``re2c:api = generic`` (alias for ``re2c:api = custom``)
  + ``re2c:api = record``
  + ``re2c:computed-gotos`` (alias for ``re2c:cgoto``)
  + ``re2c:cond:abort``
  + ``re2c:tags:negative``
  + ``re2c:leftmost-captvars``
  + ``re2c:posix-captvars``
  + ``re2c:captvars`` (alias for ``re2c:leftmost-captvars``)
  + ``re2c:captures`` (alias for ``re2c:leftmost-captures``)
  + ``re2c:monadic``
  + ``re2c:fn:sep``
  + ``re2c:[define:]YYFN``
  + ``re2c:[define:]YYINPUT``
  + ``re2c:[define:]YYGETACCEPT``
  + ``re2c:[define:]YYSETACCEPT``
  + ``re2c:[define:]YYCOPYSTAG``
  + ``re2c:[define:]YYCOPYMTAG``
  + ``re2c:[define:]YYGETCOND`` (alias for ``re2c:[define:]YYGETCONDITION``)
  + ``re2c:[define:]YYSETCOND`` (alias for ``re2c:[define:]YYSETCONDITION``)
  + ``re2c:[variable:]yyfill``
  + ``re2c:[variable:]yynmatch``
  + ``re2c:[variable:]yypmatch``
  + ``re2c:[variable:]yych:literals``

- All configurations that have ``define:`` or ``variable:`` part in their name
  now have an alias without this part.

- Added new block types:

  + ``/*!svars:re2c ... */``
  + ``/*!mvars:re2c ... */``

- Flex-style opening/closing braces ``%{`` and ``%}`` for block start/end
  markers now work for all block types.

- Added syntax file feature lists:

  + ``supported_apis`` with values from the list:
    ``simple``, ``generic``, ``record``

  + ``supported_api_styles`` with values from the list:
    ``free-form``, ``functions``

  + ``supported_code_models`` with values from the list:
    ``goto-label``, ``loop-switch``, ``recursive-functions``

  + ``supported_targets`` with values from the list:
    ``code``, ``dot``, ``skeleton``

  + ``supported_features`` with values from the list:
    ``nested-ifs``, ``bitmaps``, ``computed-gotos``, ``case-ranges``,
    ``tags``, ``captures``, ``captvars``, ``monadic``, ``unsafe``

- Added syntax file language-specific options:

  + ``semicolons``
  + ``backtick_quoted_strings``
  + ``single_quoted_strings``
  + ``indentation_sensitive``
  + ``wrap_blocks_in_braces``

- Added syntax file code templates:

  + ``code:var_local``
  + ``code:var_global``
  + ``code:const_local``
  + ``code:const_global``
  + ``code:array_local``
  + ``code:array_global``
  + ``code:array_elem``
  + ``code:enum``
  + ``code:enum_elem``
  + ``code:assign``
  + ``code:type_int``
  + ``code:type_uint``
  + ``code:type_cond_enum``
  + ``code:type_yybm``
  + ``code:type_yytarget``
  + ``code:cmp_eq``
  + ``code:cmp_ne``
  + ``code:cmp_lt``
  + ``code:cmp_gt``
  + ``code:cmp_le``
  + ``code:cmp_ge``
  + ``code:if_then_else``
  + ``code:if_then_else_oneline``
  + ``code:switch``
  + ``code:switch_cases``
  + ``code:switch_cases_oneline``
  + ``code:switch_case_range``
  + ``code:switch_case_default``
  + ``code:loop``
  + ``code:continue``
  + ``code:goto``
  + ``code:fndecl``
  + ``code:fndef``
  + ``code:fncall``
  + ``code:tailcall``
  + ``code:recursive_functions``
  + ``code:fingerprint``
  + ``code:line_info``
  + ``code:abort``
  + ``code:yydebug``
  + ``code:yypeek``
  + ``code:yyskip``
  + ``code:yybackup``
  + ``code:yybackupctx``
  + ``code:yyskip_yypeek``
  + ``code:yypeek_yyskip``
  + ``code:yyskip_yybackup``
  + ``code:yybackup_yyskip``
  + ``code:yybackup_yypeek``
  + ``code:yyskip_yybackup_yypeek``
  + ``code:yybackup_yypeek_yyskip``
  + ``code:yyrestore``
  + ``code:yyrestorectx``
  + ``code:yyrestoretag``
  + ``code:yyshift``
  + ``code:yyshiftstag``
  + ``code:yyshiftmtag``
  + ``code:yystagp``
  + ``code:yymtagp``
  + ``code:yystagn``
  + ``code:yymtagn``
  + ``code:yycopystag``
  + ``code:yycopymtag``
  + ``code:yygetaccept``
  + ``code:yysetaccept``
  + ``code:yygetcond``
  + ``code:yysetcond``
  + ``code:yygetstate``
  + ``code:yysetstate``
  + ``code:yylessthan``
  + ``code:yybm_filter``
  + ``code:yybm_match``

- Added global variables in syntax files:

  + ``nl``
  + ``indent``
  + ``dedent``
  + ``topindent``

- Added global conditionals in syntax files:

  + ``.api.simple``
  + ``.api.generic``
  + ``.api.record``
  + ``.api_style.functions``
  + ``.api_style.freeform``
  + ``.case_ranges``
  + ``.code_model.goto_label``
  + ``.code_model.loop_switch``
  + ``.code_model.recursive_functions``
  + ``.date``
  + ``.loop_label``
  + ``.monadic``
  + ``.start_conditions``
  + ``.storable_state``
  + ``.unsafe``
  + ``.version``

- Added warning ``-Wundefined-syntax-config``.

- Warnings that indicate serious issues are now turned on by default
  (and can be disabled with ``-Wno-<warning>`` options.

- Added configure options:

  + ``--enable-syntax`` (Autoconf)
  + ``RE2C_REBUILD_SYNTAX`` (CMake)

- Dropped support for function-like API style for Rust.
  (it was hard to use, if at all possible)

- Added online playground that allows one to run re2c in a web browser:
  https://re2c.org/playground.

- Infra work on Github Actions CI.


To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 pkgsrc/devel/re2c/Makefile
cvs rdiff -u -r1.3 -r1.4 pkgsrc/devel/re2c/PLIST
cvs rdiff -u -r1.25 -r1.26 pkgsrc/devel/re2c/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/devel/re2c/Makefile
diff -u pkgsrc/devel/re2c/Makefile:1.29 pkgsrc/devel/re2c/Makefile:1.30
--- pkgsrc/devel/re2c/Makefile:1.29     Thu Aug 24 12:25:31 2023
+++ pkgsrc/devel/re2c/Makefile  Thu Dec 26 11:47:46 2024
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.29 2023/08/24 12:25:31 wiz Exp $
+# $NetBSD: Makefile,v 1.30 2024/12/26 11:47:46 wiz Exp $
 
-DISTNAME=      re2c-3.1
+DISTNAME=      re2c-4.0.2
 CATEGORIES=    devel
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=skvadrik/}
 GITHUB_RELEASE=        ${PKGVERSION_NOREV}
@@ -14,8 +14,7 @@ LICENSE=      public-domain
 USE_LANGUAGES=         c c++
 USE_TOOLS+=            bison gmake
 GNU_CONFIGURE=         yes
-# as of 3.0:
-# FAIL: run_tests.py
+# needs 'make install'
 TEST_TARGET=           check
 PYTHON_FOR_BUILD_ONLY= tool
 

Index: pkgsrc/devel/re2c/PLIST
diff -u pkgsrc/devel/re2c/PLIST:1.3 pkgsrc/devel/re2c/PLIST:1.4
--- pkgsrc/devel/re2c/PLIST:1.3 Wed Apr 26 19:17:44 2023
+++ pkgsrc/devel/re2c/PLIST     Thu Dec 26 11:47:46 2024
@@ -1,8 +1,33 @@
-@comment $NetBSD: PLIST,v 1.3 2023/04/26 19:17:44 wiz Exp $
+@comment $NetBSD: PLIST,v 1.4 2024/12/26 11:47:46 wiz Exp $
 bin/re2c
+bin/re2d
 bin/re2go
+bin/re2hs
+bin/re2js
+bin/re2ocaml
+bin/re2py
 bin/re2rust
+bin/re2v
+bin/re2zig
 man/man1/re2c.1
+man/man1/re2d.1
 man/man1/re2go.1
+man/man1/re2hs.1
+man/man1/re2js.1
+man/man1/re2ocaml.1
+man/man1/re2py.1
 man/man1/re2rust.1
+man/man1/re2v.1
+man/man1/re2zig.1
+share/re2c/stdlib/c
+share/re2c/stdlib/d
+share/re2c/stdlib/go
+share/re2c/stdlib/haskell
+share/re2c/stdlib/java
+share/re2c/stdlib/js
+share/re2c/stdlib/ocaml
+share/re2c/stdlib/python
+share/re2c/stdlib/rust
 share/re2c/stdlib/unicode_categories.re
+share/re2c/stdlib/v
+share/re2c/stdlib/zig

Index: pkgsrc/devel/re2c/distinfo
diff -u pkgsrc/devel/re2c/distinfo:1.25 pkgsrc/devel/re2c/distinfo:1.26
--- pkgsrc/devel/re2c/distinfo:1.25     Thu Aug 24 12:25:31 2023
+++ pkgsrc/devel/re2c/distinfo  Thu Dec 26 11:47:46 2024
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.25 2023/08/24 12:25:31 wiz Exp $
+$NetBSD: distinfo,v 1.26 2024/12/26 11:47:46 wiz Exp $
 
-BLAKE2s (re2c-3.1.tar.xz) = d389b8069348ab96e6c61e6a837e0c58eaa4bf93a8594c32c109ee8044c8aeb9
-SHA512 (re2c-3.1.tar.xz) = 649c5e103f8012e2717a0c36af135601dfa0a090c3e400bbf466537e7038ad73bc9e0ed36c3717b7c3c785c24ad024d40c7c31998325a14caf4984c4f19cd998
-Size (re2c-3.1.tar.xz) = 1448624 bytes
+BLAKE2s (re2c-4.0.2.tar.xz) = 9f06ccf87213a0750ee6704c96c65ad445a57b1d67c26e8af78d751d09a5784c
+SHA512 (re2c-4.0.2.tar.xz) = e7342b1c41ea709cf348ac705f5c82ace1e43509212edae9f1ba458036842d68807cd6c07c175d10ed7b386dc9cd5cc7a4f2e104e1cbaa4c7a3a9ef82bc5f328
+Size (re2c-4.0.2.tar.xz) = 1802780 bytes



Home | Main Index | Thread Index | Old Index