opam-version: "2.0" license: "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception" synopsis: "OCaml 5.1.1, with effect syntax support" maintainer: [ "David Allsopp " "Florian Angeletti " ] authors: [ "Xavier Leroy" "Damien Doligez" "Alain Frisch" "Jacques Garrigue" "Didier Rémy" "Jérôme Vouillon" ] homepage: "https://github.com/ocaml/ocaml" bug-reports: "https://github.com/ocaml/ocaml/issues" dev-repo: "git+https://github.com/xavierleroy/ocaml.git#5.1.1+effect-syntax" depends: [ # This is OCaml 5.1.1 "ocaml" {= "5.1.1" & post} # General base- packages "base-unix" {post} "base-effects" {post} "base-bigarray" {post} "base-threads" {post} "base-domains" {post} "base-nnp" {post} "ocaml-beta" {opam-version < "2.1.0"} # Port selection (Windows) # amd64 mingw-w64 only (("arch-x86_64" {os = "win32" & arch = "x86_64"} & "system-mingw" & "mingw-w64-shims" {os-distribution = "cygwin" & build}) | # i686 mingw-w64 only ("arch-x86_32" {os = "win32"} & "ocaml-option-bytecode-only" {os = "win32"} & "system-mingw" & "mingw-w64-shims" {os-distribution = "cygwin" & build}) | # Non-Windows systems need to install something to satisfy this formula, so # repeat the base-unix dependency "base-unix" {os != "win32" & post}) # POWER and all the 32-bit architectures are bytecode-only "ocaml-option-bytecode-only" {arch != "arm64" & arch != "x86_64" & arch != "s390x" & arch != "riscv64"} # Support Packages "flexdll" {>= "0.42" & os = "win32"} ] conflict-class: "ocaml-core-compiler" flags: [ compiler avoid-version ] setenv: CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs" x-env-path-rewrite: [ [CAML_LD_LIBRARY_PATH (";" {os = "win32"} ":" {os != "win32"}) "target"] ] build-env: [ [LSAN_OPTIONS = "detect_leaks=0,exitcode=0"] [ASAN_OPTIONS = "detect_leaks=0,exitcode=0"] ] build: [ [ "./configure" "--host=x86_64-w64-mingw32" {os-distribution = "cygwin" & system-mingw:installed & arch-x86_64:installed} "--host=i686-w64-mingw32" {os-distribution = "cygwin" & system-mingw:installed & arch-x86_32:installed} "--prefix=%{prefix}%" "--docdir=%{doc}%/ocaml" "--with-flexdll=%{flexdll:share}%" {os = "win32" & flexdll:installed} "-C" "--with-afl" {ocaml-option-afl:installed} "--disable-native-compiler" {ocaml-option-bytecode-only:installed} "--disable-flat-float-array" {ocaml-option-no-flat-float-array:installed} "--enable-flambda" {ocaml-option-flambda:installed} "--enable-frame-pointers" {ocaml-option-fp:installed} "--without-zstd" {ocaml-option-no-compression:installed} "CC=cc" {!ocaml-option-32bit:installed & !ocaml-option-musl:installed & (os="openbsd"|os="macos")} "CC=musl-gcc" {ocaml-option-musl:installed & os-distribution!="alpine"} "CFLAGS=-Os" {ocaml-option-musl:installed} "LDFLAGS=-Wl,--no-as-needed,-ldl" {ocaml-option-leak-sanitizer:installed | (ocaml-option-address-sanitizer:installed & os!="macos")} "CC=gcc -ldl -fsanitize=leak -fno-omit-frame-pointer -O1 -g" {ocaml-option-leak-sanitizer:installed} "CC=gcc -ldl -fsanitize=address -fno-omit-frame-pointer -O1 -g" {ocaml-option-address-sanitizer:installed & os!="macos"} "CC=clang -fsanitize=address -fno-omit-frame-pointer -O1 -g" {ocaml-option-address-sanitizer:installed & os="macos"} "CC=gcc -m32" {ocaml-option-32bit:installed & os="linux"} "CC=gcc -Wl,-read_only_relocs,suppress -arch i386 -m32" {ocaml-option-32bit:installed & os="macos"} "ASPP=musl-gcc -c" {ocaml-option-musl:installed & os-distribution!="alpine"} "--host=i386-linux" {ocaml-option-32bit:installed & os="linux"} "--host=i386-apple-darwin13.2.0" {ocaml-option-32bit:installed & os="macos"} "LIBS=-static" {ocaml-option-static:installed} "--disable-warn-error" ] [make "-j%{jobs}%"] ] install: [make "install"] url { src: "https://github.com/xavierleroy/ocaml/archive/5.1.1+effect-syntax.tar.gz" checksum: "sha256=300b540f60a823933af76c572e5931b502634830ea838f96bead309336c44579" } conflicts: [ "system-msvc" ] depopts: [ "ocaml-option-32bit" "ocaml-option-afl" "ocaml-option-bytecode-only" "ocaml-option-no-flat-float-array" "ocaml-option-flambda" "ocaml-option-fp" "ocaml-option-no-compression" "ocaml-option-musl" "ocaml-option-leak-sanitizer" "ocaml-option-address-sanitizer" "ocaml-option-static" ] extra-source "ocaml-variants.install" { src: "https://raw.githubusercontent.com/ocaml/opam-source-archives/main/patches/ocaml-variants/ocaml-variants.install" checksum: [ "sha256=79f2a1a5044a91350a0eb6ce12e261a72a2855c094c425cddf3860e58c486678" "md5=3e969b841df1f51ca448e6e6295cb451" ] } # Back-ported ocaml/ocaml#13100 (5.2.0) - fixes the misdetection of zstd with # ocaml-option-musl patches: ["zstd-detection.patch"] extra-source "zstd-detection.patch" { src: "https://github.com/ocaml/ocaml/commit/baf65b91c51bb04b09ecc98b94ddd4ba3b446912.patch?full_index=1" checksum: "sha256=958e061bc3b967e32a5606d5109ed7faacb9b793fe2de0e8f8697c23a178c5cf" }