Skip to content

Commit b263a4d

Browse files
committed
[new release] ocamlmig (5.3-20250429)
CHANGES: - Switch to ocaml 5.3. - Added experimental `ocamlmig replace` command, for a sed-like rewrites but working on ASTs instead of bytes. - Reduce slightly dependency on ocamlformat, so this can be used on the compiler codebase - Added `ocamlmig check` to typecheck the replacement in things like `val foo : int [@Migrate { repl = bar }]`
1 parent d198556 commit b263a4d

File tree

1 file changed

+69
-0
lines changed
  • packages/ocamlmig/ocamlmig.5.3-20250429

1 file changed

+69
-0
lines changed
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
opam-version: "2.0"
2+
synopsis: "OCaml source code rewriting tool"
3+
description:
4+
"Ocamlmig is a command line tool to rewrite ocaml source code, especially to make updating to newer interfaces easier."
5+
maintainer: ["Valentin Gatien-Baron <[email protected]>"]
6+
authors: ["Valentin Gatien-Baron <[email protected]>"]
7+
license: "LGPL-2.1-only WITH OCaml-LGPL-linking-exception"
8+
homepage: "https://github.com/v-gb/ocamlmig"
9+
doc: "https://github.com/v-gb/ocamlmig/blob/main/README.md"
10+
bug-reports: "https://github.com/v-gb/ocamlmig/issues"
11+
depends: [
12+
"ocaml" {>= "5.3" & < "5.4"}
13+
"dune" {>= "3.15"}
14+
"base"
15+
"core"
16+
"core_unix"
17+
"csexp"
18+
"ppx_partial"
19+
"ocaml" {>= "4.08"}
20+
"alcotest" {"1" = "0" & >= "1.3.0"}
21+
"base" {>= "v0.12.0"}
22+
"cmdliner" {>= "1.1.0"}
23+
"dune"
24+
"dune-build-info"
25+
"either"
26+
"fix"
27+
"fpath" {>= "0.7.3"}
28+
"menhir" {>= "20201216"}
29+
"menhirLib" {>= "20201216"}
30+
"menhirSdk" {>= "20201216"}
31+
"ocaml-version" {>= "3.5.0"}
32+
"ocamlformat-rpc-lib" {"1" = "0" & = version}
33+
"ocp-indent" {>= "1.8.0" | "1" = "0" & >= "1.8.1"}
34+
"stdio"
35+
"uuseg" {>= "10.0.0"}
36+
"uutf" {>= "1.0.1"}
37+
"csexp" {>= "1.4.0"}
38+
"astring"
39+
"camlp-streams"
40+
"re" {>= "1.10.3"}
41+
"odoc" {with-doc}
42+
]
43+
build: [
44+
["dune" "subst"] {dev}
45+
[
46+
"dune"
47+
"build"
48+
"-p"
49+
name
50+
"-j"
51+
jobs
52+
"@install"
53+
"@runtest" {with-test}
54+
"@doc" {with-doc}
55+
]
56+
]
57+
dev-repo: "git+https://github.com/v-gb/ocamlmig.git"
58+
# due to core_unix, but why do we need to restate it? Maybe they added windows to
59+
# the opam CI without ensuring that existing packages work on it.
60+
available: os != "win32"
61+
url {
62+
src:
63+
"https://github.com/v-gb/ocamlmig/releases/download/5.3-20250429/ocamlmig-5.3-20250429.tbz"
64+
checksum: [
65+
"sha256=51e13b4a6bbc86eb2470a5a33087714a8c0895b05d912e1706e7a95c6b1b11d3"
66+
"sha512=d6b5b2b0af6b5976dac08c3c821faa1a5690ce56485cc29ac427046de2a4c446c6212bbf4ef5821503d57163634ec5ad78b3d4b452359096a23a6f08b5e9c9e1"
67+
]
68+
}
69+
x-commit-hash: "f8d0aa86d1dd26a543fc4c54b8433815ab5d98ab"

0 commit comments

Comments
 (0)