Path to this page:
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: