As usual camlp4 and camlp4 need to be updated in sync with ocaml. All
ocaml ports were successfully builds- tested on amd64. coccinelle remains
broken, but was built with the proposed diff floating on ports@
ok chrisz@
if a port needs 2.x then set MODPY_VERSION=${MODPY_DEFAULT_VERSION_2}.
This commit doesn't change any versions currently used; it may be that
some ports have MODPY_DEFAULT_VERSION_2 but don't require it, those
should be cleaned up in the course of updating ports where possible.
Python module ports providing py3-* packages should still use
FLAVOR=python3 so that we don't have a mixture of dependencies some
using ${MODPY_FLAVOR} and others not.
reviewed ports wise and help with @pkgpath, ok by sthen@
reviewed and help with bytecode-only plists, minor nits and ok by jca@
tested on sparc 64 by @jca
tested on aarch64 by Kurt Miller
tested on amd64 by me
Thanks for reviews and testing!
* net unison needed some patchign to avoid deprecated library functions.
* all ports depending on the exact version of OCaml need revision bumps.
* net/unison needed some help to avoid deprecated library functions.
ok krw@, testing on i386 and ok daniel@
them all compiling.
Tweaks include updating
ocaml-batteries 2.3.1 -> 2.5.0
ocaml-lwt 2.4.8 -> 2.5.2
ocaml-ppx-tools 0.99.2 -> 4.03.0
ocaml-camlp4 4.02+6 -> 4.03+1
utop 1.15 -> 1.19.2
and fixes to coccinelle and wyrd to let them build on bytecode archs.
Other necessary tweaks from the various homes of the projects.
Everything still builds on amd64 (native and bytecode) and sparc64 (bytecode).
ok anil@ sthen@ so final 4.3.0 tweaks can be done in-tree.
add / change BUILD_DEPENDS for all ports using camlp4.
Findlib is changed because it won't use camlp4 and doesn't install
the Bytes module anymore, which is now included in OCaml 4.02.
ok avsm@
- Better handling of the case of a matched declaration that should only
be replaced by other top level things.
- Improved filtering of result of matching atomic patterns
- Drop positions before creating function prototype rules
- Adjust position of { introduced by adding multiple statements in a
single-statement position
- Drop newline after function call ( when all arguments on that line are
eliminated
- Accept removal of a single declaration, replaced by arbitrary,
non-declaration code
- smpl_spacing takes into account newlines, indentation
to use this where dynlib is available
- on native-code arch, only build the native version and install this
to be used by default - it's about 5x faster
tweak & ok mk@.
Coccinelle is a program matching and transformation engine which
provides the language SmPL (Semantic Patch Language) for specifying
desired matches and transformations in C code.
Coccinelle was initially targeted towards performing collateral
evolutions in Linux. Such evolutions comprise the changes that are
needed in client code in response to evolutions in library APIs, and may
include modifications such as renaming a function, adding a function
argument whose value is somehow context-dependent, and reorganizing a
data structure.
Beyond collateral evolutions, Coccinelle is successfully used (by INRIA
and others) for finding and fixing bugs in systems code.