this repo has no description
1opam-version: "2.0"
2license: "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
3synopsis: "Latest 5.3 development"
4maintainer: [
5 "David Allsopp <david@tarides.com>"
6 "Florian Angeletti <florian.angeletti@inria.fr>"
7]
8authors: [
9 "Xavier Leroy"
10 "Damien Doligez"
11 "Alain Frisch"
12 "Jacques Garrigue"
13 "Didier Rémy"
14 "KC Sivaramakrishnan"
15 "Jérôme Vouillon"
16]
17homepage: "https://ocaml.org"
18bug-reports: "https://github.com/ocaml/opam-repository/issues"
19dev-repo: "git+https://github.com/ocaml/ocaml.git#5.3"
20depends: [
21 # This is OCaml 5.3.1
22 "ocaml" {= "5.3.1" & post}
23
24 # General base- packages
25 "base-unix" {post}
26 "base-bigarray" {post}
27 "base-threads" {post}
28 "base-domains" {post}
29 "base-nnp" {post}
30 "base-effects" {post}
31
32 "ocaml-beta" {opam-version < "2.1.0"}
33
34 # Architecture (non-Windows)
35 # opam-repository at present requires that ocaml-base-compiler is installed
36 # using an architecture which matches the machine's, since arch is used in
37 # available fields. Cross-compilation at this stage is an unstable accident.
38 "host-arch-arm32" {arch = "arm32" & post}
39 "host-arch-arm64" {arch = "arm64" & post}
40 "host-arch-ppc64" {arch = "ppc64" & post}
41 "host-arch-riscv64" {arch = "riscv64" & post}
42 "host-arch-s390x" {arch = "s390x" & post}
43 # The Windows ports explicitly select the architecture (see below) this
44 # facility is not yet available for other platforms.
45 "host-arch-x86_32" {os != "win32" & arch = "x86_32" & post}
46 ("host-arch-x86_64" {os != "win32" & arch = "x86_64" & post} |
47 ("host-arch-x86_32" {os != "win32" & arch = "x86_64" & post} & "ocaml-option-32bit" {os != "win32" & arch = "x86_64"}))
48 "host-arch-unknown" {os != "win32" & arch != "arm32" & arch != "arm64" & arch != "ppc64" & arch != "riscv64" & arch != "s390x" & arch != "x86_32" & arch != "x86_64" & post}
49
50 # Port selection (Windows)
51 # amd64 mingw-w64 / MSVC
52 (("arch-x86_64" {os = "win32" & arch = "x86_64"} &
53 (("system-mingw" & "mingw-w64-shims" {os-distribution = "cygwin" & build}) |
54 ("system-msvc" & "winpthreads" & "ocaml-option-no-compression" {os = "win32"}))) |
55 # i686 mingw-w64 / MSVC
56 ("arch-x86_32" {os = "win32"} & "ocaml-option-bytecode-only" {os = "win32"} &
57 (("system-mingw" & "mingw-w64-shims" {os-distribution = "cygwin" & build}) |
58 ("system-msvc" & "winpthreads" & "ocaml-option-no-compression" {os = "win32"}))) |
59 # Non-Windows systems
60 "host-system-other" {os != "win32" & post})
61
62 # All the 32-bit architectures are bytecode-only
63 "ocaml-option-bytecode-only" {arch != "arm64" & arch != "x86_64" & arch != "s390x" & arch != "riscv64" & arch != "ppc64"}
64
65 # Support Packages
66 "flexdll" {>= "0.42" & os = "win32"}
67]
68flags: [ avoid-version ]
69setenv: CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs"
70x-env-path-rewrite: [
71 [CAML_LD_LIBRARY_PATH (";" {os = "win32"} ":" {os != "win32"}) "target"]
72]
73build-env: [
74 [MSYS2_ARG_CONV_EXCL = "*"]
75 [LSAN_OPTIONS = "detect_leaks=0,exitcode=0"]
76 [ASAN_OPTIONS = "detect_leaks=0,exitcode=0"]
77]
78build: [
79 [
80 "./configure"
81 "--host=x86_64-pc-windows" {system-msvc:installed & arch-x86_64:installed}
82 "--host=x86_64-w64-mingw32" {os-distribution = "cygwin" & system-mingw:installed & arch-x86_64:installed}
83 "--host=i686-pc-windows" {system-msvc:installed & arch-x86_32:installed}
84 "--host=i686-w64-mingw32" {os-distribution = "cygwin" & system-mingw:installed & arch-x86_32:installed}
85 "--prefix=%{prefix}%"
86 "--docdir=%{doc}%/ocaml"
87 "--with-flexdll=%{flexdll:share}%" {os = "win32" & flexdll:installed}
88 "--with-winpthreads-msvc=%{winpthreads:share}%" {system-msvc:installed}
89 "-C"
90 "--with-afl" {ocaml-option-afl:installed}
91 "--disable-native-compiler" {ocaml-option-bytecode-only:installed}
92 "--disable-flat-float-array" {ocaml-option-no-flat-float-array:installed}
93 "--enable-flambda" {ocaml-option-flambda:installed}
94 "--enable-frame-pointers" {ocaml-option-fp:installed}
95 "--without-zstd" {ocaml-option-no-compression:installed}
96 "--enable-tsan" {ocaml-option-tsan:installed}
97 "CC=cc" {!ocaml-option-32bit:installed & !ocaml-option-musl:installed & (os = "openbsd" | os = "macos")}
98 "CC=clang" {ocaml-option-tsan:installed & (os="macos")}
99 "CC=musl-gcc" {ocaml-option-musl:installed & os-distribution!="alpine"}
100 "CFLAGS=-Os" {ocaml-option-musl:installed & arch != "arm64"}
101 "CFLAGS=-Os -mno-outline-atomics" {ocaml-option-musl:installed & arch = "arm64"}
102 "LDFLAGS=-Wl,--no-as-needed,-ldl" {ocaml-option-leak-sanitizer:installed | (ocaml-option-address-sanitizer:installed & os!="macos")}
103 "CC=gcc -ldl -fsanitize=leak -fno-omit-frame-pointer -O1 -g" {ocaml-option-leak-sanitizer:installed}
104 "CC=gcc -ldl -fsanitize=address -fno-omit-frame-pointer -O1 -g" {ocaml-option-address-sanitizer:installed & os!="macos"}
105 "CC=clang -fsanitize=address -fno-omit-frame-pointer -O1 -g" {ocaml-option-address-sanitizer:installed & os="macos"}
106 "CC=gcc -m32" {ocaml-option-32bit:installed & os="linux"}
107 "CC=gcc -Wl,-read_only_relocs,suppress -arch i386 -m32" {ocaml-option-32bit:installed & os="macos"}
108 "ASPP=musl-gcc -c" {ocaml-option-musl:installed & os-distribution!="alpine"}
109 "--host=i386-linux" {ocaml-option-32bit:installed & os="linux"}
110 "--host=i386-apple-darwin13.2.0" {ocaml-option-32bit:installed & os="macos"}
111 "LIBS=-static" {ocaml-option-static:installed}
112 "--disable-warn-error"
113 ]
114 [make "-j%{jobs}%"]
115]
116install: [make "install"]
117url {
118 src: "https://github.com/ocaml/ocaml/archive/5.3.tar.gz"
119}
120depopts: [
121 "ocaml-option-32bit"
122 "ocaml-option-afl"
123 "ocaml-option-bytecode-only"
124 "ocaml-option-no-flat-float-array"
125 "ocaml-option-flambda"
126 "ocaml-option-fp"
127 "ocaml-option-no-compression"
128 "ocaml-option-musl"
129 "ocaml-option-leak-sanitizer"
130 "ocaml-option-address-sanitizer"
131 "ocaml-option-static"
132 "ocaml-option-tsan"
133]