···
2
+
license: "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
3
+
synopsis: "Second beta release of OCaml 5.3.0"
5
+
"David Allsopp <david@tarides.com>"
6
+
"Florian Angeletti <florian.angeletti@inria.fr>"
14
+
"KC Sivaramakrishnan"
17
+
homepage: "https://ocaml.org"
18
+
bug-reports: "https://github.com/ocaml/opam-repository/issues"
19
+
dev-repo: "git+https://github.com/ocaml/ocaml.git#5.3"
21
+
# This is OCaml 5.3.0
22
+
"ocaml" {= "5.3.0" & post}
24
+
# General base- packages
26
+
"base-bigarray" {post}
27
+
"base-threads" {post}
28
+
"base-domains" {post}
30
+
"base-effects" {post}
32
+
"ocaml-beta" {opam-version < "2.1.0"}
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}
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})
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"}
66
+
"flexdll" {>= "0.42" & os = "win32"}
68
+
flags: [ compiler avoid-version ]
69
+
setenv: CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs"
70
+
x-env-path-rewrite: [
71
+
[CAML_LD_LIBRARY_PATH (";" {os = "win32"} ":" {os != "win32"}) "target"]
74
+
[MSYS2_ARG_CONV_EXCL = "*"]
75
+
[LSAN_OPTIONS = "detect_leaks=0,exitcode=0"]
76
+
[ASAN_OPTIONS = "detect_leaks=0,exitcode=0"]
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}
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"
114
+
[make "-j%{jobs}%"]
116
+
install: [make "install"]
118
+
src: "https://github.com/ocaml/ocaml/archive/5.3.0-beta2.tar.gz"
119
+
checksum: "sha256=f4463ef5452cf54cd8f22d9151278389bfb1baeab8bb05d37d7cb4fccd0f023a"
122
+
"ocaml-option-32bit"
124
+
"ocaml-option-bytecode-only"
125
+
"ocaml-option-no-flat-float-array"
126
+
"ocaml-option-flambda"
128
+
"ocaml-option-no-compression"
129
+
"ocaml-option-musl"
130
+
"ocaml-option-leak-sanitizer"
131
+
"ocaml-option-address-sanitizer"
132
+
"ocaml-option-static"
133
+
"ocaml-option-tsan"
135
+
extra-source "ocaml-compiler.install" {
137
+
"https://raw.githubusercontent.com/ocaml/ocaml/899b8f3bece45f55161dad72eaa223c2bb7202e8/ocaml-variants.install"
139
+
"sha256=7af3dc34e6f9f3be2ffd8d32cd64fa650d6a036c86c4821a7033d24a90fba11c"
140
+
"md5=781ea69255fd0cb643a9617ff56fd6ba"