From f422d70466fe9dec6692e541720279ae00b383f9 Mon Sep 17 00:00:00 2001 From: Olivier Nicole Date: Wed, 7 Dec 2022 18:48:15 +0100 Subject: [PATCH] Add 5.0.0+tsan switch --- .../files/ocaml-variants.install | 1 + .../ocaml-variants.5.0.0+tsan/opam | 75 +++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 packages/ocaml-variants/ocaml-variants.5.0.0+tsan/files/ocaml-variants.install create mode 100644 packages/ocaml-variants/ocaml-variants.5.0.0+tsan/opam diff --git a/packages/ocaml-variants/ocaml-variants.5.0.0+tsan/files/ocaml-variants.install b/packages/ocaml-variants/ocaml-variants.5.0.0+tsan/files/ocaml-variants.install new file mode 100644 index 00000000000..4f148137971 --- /dev/null +++ b/packages/ocaml-variants/ocaml-variants.5.0.0+tsan/files/ocaml-variants.install @@ -0,0 +1 @@ +share_root: ["config.cache" {"ocaml/config.cache"}] diff --git a/packages/ocaml-variants/ocaml-variants.5.0.0+tsan/opam b/packages/ocaml-variants/ocaml-variants.5.0.0+tsan/opam new file mode 100644 index 00000000000..42b945144d0 --- /dev/null +++ b/packages/ocaml-variants/ocaml-variants.5.0.0+tsan/opam @@ -0,0 +1,75 @@ +opam-version: "2.0" +license: "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception" +synopsis: "OCaml 5.0.0, with ThreadSanitizer instrumentation" +maintainer: "platform@lists.ocaml.org" +authors: ["Xavier Leroy" "Damien Doligez" "Alain Frisch" "Jacques Garrigue" "Didier Rémy" "Jérôme Vouillon" "Anmol Sahoo" "Olivier Nicole" "Fabrice Buoro"] +homepage: "https://github.com/ocaml-multicore/ocaml-tsan" +bug-reports: "https://github.com/ocaml-multicore/ocaml-tsan/issues" +dev-repo: "git+https://github.com/ocaml-multicore/ocaml-tsan.git#5.0.0+tsan" +depends: [ + "ocaml" {= "5.0.0" & post} + "base-unix" {post} + "base-bigarray" {post} + "base-threads" {post} + "base-domains" {post} + "base-nnp" {post} + "ocaml-beta" {opam-version < "2.1.0"} +] +conflict-class: "ocaml-core-compiler" +flags: [ compiler avoid-version ] +setenv: CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs" +build-env: [ + [LSAN_OPTIONS = "detect_leaks=0,exitcode=0"] + [ASAN_OPTIONS = "detect_leaks=0,exitcode=0"] +] +build: [ + [ + "./configure" + "--prefix=%{prefix}%" + "--docdir=%{doc}%/ocaml" + "-C" + "--disable-flat-float-array" {ocaml-option-no-flat-float-array:installed} + "--enable-flambda" {ocaml-option-flambda:installed} + "--enable-frame-pointers" {ocaml-option-fp: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} + "--enable-tsan" + "ASPP=musl-gcc -c" {ocaml-option-musl:installed & os-distribution!="alpine"} + "LIBS=-static" {ocaml-option-static:installed} + "--disable-warn-error" + ] + [make "-j%{jobs}%"] +] +install: [make "install"] +url { + src: "https://github.com/ocaml-multicore/ocaml-tsan/archive/5.0.0+tsan.tar.gz" +} +extra-files: ["ocaml-variants.install" "md5=3e969b841df1f51ca448e6e6295cb451"] +post-messages: [ + "A failure in the middle of the build may be caused by build parallelism + (enabled by default). + Please file a bug report at https://github.com/ocaml/opam-repository/issues" + {failure & jobs > 1} + "You can try installing again including --jobs=1 + to force a sequential build instead." + {failure & jobs > 1 & opam-version >= "2.0.5"} +] +conflicts: [ + "ocaml-option-afl" + "ocaml-option-bytecode-only" + "ocaml-option-32bit" + "ocaml-option-leak-sanitizer" + "ocaml-option-address-sanitizer" +] +depopts: [ + "ocaml-option-32bit" + "ocaml-option-afl" + "ocaml-option-bytecode-only" + "ocaml-option-no-flat-float-array" + "ocaml-option-flambda" + "ocaml-option-musl" + "ocaml-option-leak-sanitizer" + "ocaml-option-address-sanitizer" + "ocaml-option-static" +]