Subject: CVS commit: pkgsrc/lang/camlp5
From: Thomas Klausner
Date: 2025-02-01 09:40:04
Message id: 20250201084004.6790DFBE0@cvs.NetBSD.org

Log Message:
camlp5: update to 8.03.01.

Camlp5 Version 8.03.01:
--------------------

* [01 Oct 2024] update for Ocaml 5.3.0

  * also merged minimal support for Windows (thank you @tobil4sk !)

Camlp5 Version 8.03.00:
--------------------

* [25 Apr 2024] update for Ocaml 5.2.0

  Only really salient change (other than supporting new ocaml syntax)
  is that the former Camlp5 revised-syntax "raw-identifier" syntax is
  now removed in favor of the new Ocaml 5.2.0 raw-identifier syntax.
  This should affect almost literally nobody, but just in case, the
  old syntax was (e.g.) "\begin" and the new 5.2.0 syntax is \ 
"\#begin".

  I highly doubt that anybody used the old syntax, since it was
  undocumented and only available in revised mode, but hey, just in
  case, letting you know I removed it.

  BUT BUT BUT NOTE WELL this has impact on packages that use camlp5
  internals, b/c some of the internal interfaces have changed.  Specifically:

  (1) if you use "camlp5 pa_r.cmo .... pr_o.cmo" to invoke the preprocessor
  rather than

  "not-ocamlfind preprocess -syntax camlp5r -package \ 
camlp5.pa_r,....,camlp5.pr_o"

  you will need to add "o_keywords.cmo" before "pr_o.cmo" \ 
(this is
  required by the need to print keywords for each syntax as escaped
  raw identifiers.  Since each syntax has a slightly different set of
  keywords, the printer needs to be parameterized by the
  keyword-table.

  NOTE WELL that you are supplying the same "-syntax" and \ 
"-package"
  args that you would if you were using

  "ocamlfind ocamlc ....."

  Basically, you take that second line and remove the ocamlc-specific
  args (like -linkpkg, -linkall, -for-pkg, -c, etc).

  (2) Similarly, if you use the Camlp5 lexer in your package, there is
  a new field, "kwds", which is initialized to the keyword hashtable,
  viz.

    let kwd_table = Hashtbl.create 301 in
    let glex =
    {Plexing.tok_func = func ctx kwd_table glexr;
     tok_using = using_token ctx kwd_table;
     tok_removing = removing_token kwd_table;
     tok_match = tok_match; tok_text = text; tok_comm = None ; kwds = kwd_table }

  note the "kwds = kwd_table".

Camlp5 Version 8.02.01:
--------------------

* [04 Sep 2023] switch test code from pcre to pcre2
* [01 Sep 2023] switch from pcre to ocaml-re, add readthedocs config-file

Camlp5 Version 8.02.00:
--------------------

* [22 Jul 2023] update for OCaml 5.1.0

Camlp5 Version 8.00.06:
--------------------

* [31 Mar 2023] bugfixes, most notably improvements in quasi-quotation support

  * switch to camlp5-buildscripts (away from Perl scripts)

  * change install procedure for grammars so that installing more than
    one grammar will cause an error

  * minor parsing errors in official OCaml grammar (pa_o)

  * continue factoring apart q_ast.ml and q_ast_base.ml so only the latter is \ 
needed for
    quotations over other AST types.

Camlp5 Version 8.00.05:
--------------------

* [07 Feb 2023] switch from perl buildscripts to camlp5-buildscripts

Camlp5 Version 8.00.04:
--------------------

* [02 Dec 2022] (exceedingly modest) updates to support OCaml 5.0.0~beta2:
  basically just changes to Makefile and opam

Files:
RevisionActionfile
1.46modifypkgsrc/lang/camlp5/Makefile
1.13modifypkgsrc/lang/camlp5/PLIST
1.27modifypkgsrc/lang/camlp5/distinfo