From cd01c4f04b36d55ea02b0b4ed58defc05e832d4a Mon Sep 17 00:00:00 2001 From: David Allsopp Date: Fri, 6 Dec 2024 12:07:24 +0000 Subject: [PATCH 1/2] Remove the compiler flag from ocaml-compiler The presence of the flag in both ocaml-base-compiler and ocaml-compiler causes opam's invariant computation to produce a poor invariant: e.g. opam switch create 5.3.0~beta2 produced an invariant of "ocaml-base-compiler" {= "5.3.0~beta2"} | "ocaml-compiler" {= "5.3.0~beta2"} instead of the desired "ocaml-base-compiler" {= "5.3.0~beta2"} --- packages/ocaml-compiler/ocaml-compiler.5.3.0~alpha1/opam | 2 +- packages/ocaml-compiler/ocaml-compiler.5.3.0~beta1/opam | 2 +- packages/ocaml-compiler/ocaml-compiler.5.3.0~beta2/opam | 2 +- packages/ocaml-compiler/ocaml-compiler.5.3/opam | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/ocaml-compiler/ocaml-compiler.5.3.0~alpha1/opam b/packages/ocaml-compiler/ocaml-compiler.5.3.0~alpha1/opam index abc910bfc26f..2e757662068e 100644 --- a/packages/ocaml-compiler/ocaml-compiler.5.3.0~alpha1/opam +++ b/packages/ocaml-compiler/ocaml-compiler.5.3.0~alpha1/opam @@ -65,7 +65,7 @@ depends: [ # Support Packages "flexdll" {>= "0.42" & os = "win32"} ] -flags: [ compiler avoid-version ] +flags: [ avoid-version ] setenv: CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs" x-env-path-rewrite: [ [CAML_LD_LIBRARY_PATH (";" {os = "win32"} ":" {os != "win32"}) "target"] diff --git a/packages/ocaml-compiler/ocaml-compiler.5.3.0~beta1/opam b/packages/ocaml-compiler/ocaml-compiler.5.3.0~beta1/opam index f13ebc698f63..04819df7d491 100644 --- a/packages/ocaml-compiler/ocaml-compiler.5.3.0~beta1/opam +++ b/packages/ocaml-compiler/ocaml-compiler.5.3.0~beta1/opam @@ -65,7 +65,7 @@ depends: [ # Support Packages "flexdll" {>= "0.42" & os = "win32"} ] -flags: [ compiler avoid-version ] +flags: [ avoid-version ] setenv: CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs" x-env-path-rewrite: [ [CAML_LD_LIBRARY_PATH (";" {os = "win32"} ":" {os != "win32"}) "target"] diff --git a/packages/ocaml-compiler/ocaml-compiler.5.3.0~beta2/opam b/packages/ocaml-compiler/ocaml-compiler.5.3.0~beta2/opam index d9bf7b2e1fdd..0a4e574dc51c 100644 --- a/packages/ocaml-compiler/ocaml-compiler.5.3.0~beta2/opam +++ b/packages/ocaml-compiler/ocaml-compiler.5.3.0~beta2/opam @@ -65,7 +65,7 @@ depends: [ # Support Packages "flexdll" {>= "0.42" & os = "win32"} ] -flags: [ compiler avoid-version ] +flags: [ avoid-version ] setenv: CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs" x-env-path-rewrite: [ [CAML_LD_LIBRARY_PATH (";" {os = "win32"} ":" {os != "win32"}) "target"] diff --git a/packages/ocaml-compiler/ocaml-compiler.5.3/opam b/packages/ocaml-compiler/ocaml-compiler.5.3/opam index 289cd6d3a08b..a1e31ae79bca 100644 --- a/packages/ocaml-compiler/ocaml-compiler.5.3/opam +++ b/packages/ocaml-compiler/ocaml-compiler.5.3/opam @@ -65,7 +65,7 @@ depends: [ # Support Packages "flexdll" {>= "0.42" & os = "win32"} ] -flags: [ compiler avoid-version ] +flags: [ avoid-version ] setenv: CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs" x-env-path-rewrite: [ [CAML_LD_LIBRARY_PATH (";" {os = "win32"} ":" {os != "win32"}) "target"] From 2189e11aa2f4ed649753fd8edc1da0727add2303 Mon Sep 17 00:00:00 2001 From: Florian Angeletti Date: Wed, 18 Dec 2024 16:03:28 +0100 Subject: [PATCH 2/2] ocaml: first release candidate of 5.3.0 --- .../ocaml-base-compiler.5.3.0~rc1/opam | 29 ++++ .../ocaml-compiler.5.3.0~rc1/opam | 127 ++++++++++++++++++ .../ocaml-variants.5.3.0~rc1+options/opam | 26 ++++ 3 files changed, 182 insertions(+) create mode 100644 packages/ocaml-base-compiler/ocaml-base-compiler.5.3.0~rc1/opam create mode 100644 packages/ocaml-compiler/ocaml-compiler.5.3.0~rc1/opam create mode 100644 packages/ocaml-variants/ocaml-variants.5.3.0~rc1+options/opam diff --git a/packages/ocaml-base-compiler/ocaml-base-compiler.5.3.0~rc1/opam b/packages/ocaml-base-compiler/ocaml-base-compiler.5.3.0~rc1/opam new file mode 100644 index 000000000000..18edf7907db5 --- /dev/null +++ b/packages/ocaml-base-compiler/ocaml-base-compiler.5.3.0~rc1/opam @@ -0,0 +1,29 @@ +opam-version: "2.0" +license: "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception" +synopsis: "First release candidate release of OCaml 5.3.0" +maintainer: [ + "David Allsopp " + "Florian Angeletti " +] +authors: [ + "Xavier Leroy" + "Damien Doligez" + "Alain Frisch" + "Jacques Garrigue" + "Didier Rémy" + "KC Sivaramakrishnan" + "Jérôme Vouillon" +] +homepage: "https://ocaml.org" +bug-reports: "https://github.com/ocaml/opam-repository/issues" +dev-repo: "git+https://github.com/ocaml/ocaml.git#5.3" +depends: [ + "ocaml-compiler" {= "5.3.0~rc1"} + + "ocaml-beta" {opam-version < "2.1.0"} + + # OCaml with default configuration (no flambda, TSAN, etc.) + "ocaml-options-vanilla" {post} +] +conflict-class: "ocaml-core-compiler" +flags: [ compiler avoid-version ] diff --git a/packages/ocaml-compiler/ocaml-compiler.5.3.0~rc1/opam b/packages/ocaml-compiler/ocaml-compiler.5.3.0~rc1/opam new file mode 100644 index 000000000000..5e2afc618598 --- /dev/null +++ b/packages/ocaml-compiler/ocaml-compiler.5.3.0~rc1/opam @@ -0,0 +1,127 @@ +opam-version: "2.0" +license: "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception" +synopsis: "First release candidate release of OCaml 5.3.0" +maintainer: [ + "David Allsopp " + "Florian Angeletti " +] +authors: [ + "Xavier Leroy" + "Damien Doligez" + "Alain Frisch" + "Jacques Garrigue" + "Didier Rémy" + "KC Sivaramakrishnan" + "Jérôme Vouillon" +] +homepage: "https://ocaml.org" +bug-reports: "https://github.com/ocaml/opam-repository/issues" +dev-repo: "git+https://github.com/ocaml/ocaml.git#5.3" +depends: [ + # This is OCaml 5.3.0 + "ocaml" {= "5.3.0" & post} + + # General base- packages + "base-unix" {post} + "base-bigarray" {post} + "base-threads" {post} + "base-domains" {post} + "base-nnp" {post} + "base-effects" {post} + + "ocaml-beta" {opam-version < "2.1.0"} + + # Port selection (Windows) + # amd64 mingw-w64 / MSVC + (("arch-x86_64" {os = "win32" & arch = "x86_64"} & + (("system-mingw" & "mingw-w64-shims" {os-distribution = "cygwin" & build}) | + ("system-msvc" & "winpthreads" & "ocaml-option-no-compression" {os = "win32"}))) | + # i686 mingw-w64 / MSVC + ("arch-x86_32" {os = "win32"} & "ocaml-option-bytecode-only" {os = "win32"} & + (("system-mingw" & "mingw-w64-shims" {os-distribution = "cygwin" & build}) | + ("system-msvc" & "winpthreads" & "ocaml-option-no-compression" {os = "win32"}))) | + # Non-Windows systems need to install something to satisfy this formula, so + # repeat the base-unix dependency + "base-unix" {os != "win32" & post}) + + # All the 32-bit architectures are bytecode-only + "ocaml-option-bytecode-only" {arch != "arm64" & arch != "x86_64" & arch != "s390x" & arch != "riscv64" & arch != "ppc64"} + + # Support Packages + "flexdll" {>= "0.42" & os = "win32"} +] +flags: [ avoid-version ] +setenv: CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs" +x-env-path-rewrite: [ + [CAML_LD_LIBRARY_PATH (";" {os = "win32"} ":" {os != "win32"}) "target"] +] +build-env: [ + [MSYS2_ARG_CONV_EXCL = "*"] + [LSAN_OPTIONS = "detect_leaks=0,exitcode=0"] + [ASAN_OPTIONS = "detect_leaks=0,exitcode=0"] +] +build: [ + [ + "./configure" + "--host=x86_64-pc-windows" {system-msvc:installed & arch-x86_64:installed} + "--host=x86_64-w64-mingw32" {os-distribution = "cygwin" & system-mingw:installed & arch-x86_64:installed} + "--host=i686-pc-windows" {system-msvc:installed & arch-x86_32: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} + "--with-winpthreads-msvc=%{winpthreads:share}%" {system-msvc: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} + "--enable-tsan" {ocaml-option-tsan:installed} + "CC=cc" {!ocaml-option-32bit:installed & !ocaml-option-musl:installed & (os = "openbsd" | os = "macos")} + "CC=clang" {ocaml-option-tsan:installed & (os="macos")} + "CC=musl-gcc" {ocaml-option-musl:installed & os-distribution!="alpine"} + "CFLAGS=-Os" {ocaml-option-musl:installed & arch != "arm64"} + "CFLAGS=-Os -mno-outline-atomics" {ocaml-option-musl:installed & arch = "arm64"} + "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/ocaml/ocaml/archive/5.3.0-rc1.tar.gz" + checksum: "sha256=fec05fba0431e374c3fbc40ad761d72cecc2c59685827d10a8d6a5a71906fcf3" +} +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" + "ocaml-option-tsan" +] +extra-source "ocaml-compiler.install" { + src: + "https://raw.githubusercontent.com/ocaml/ocaml/899b8f3bece45f55161dad72eaa223c2bb7202e8/ocaml-variants.install" + checksum: [ + "sha256=7af3dc34e6f9f3be2ffd8d32cd64fa650d6a036c86c4821a7033d24a90fba11c" + "md5=781ea69255fd0cb643a9617ff56fd6ba" + ] +} diff --git a/packages/ocaml-variants/ocaml-variants.5.3.0~rc1+options/opam b/packages/ocaml-variants/ocaml-variants.5.3.0~rc1+options/opam new file mode 100644 index 000000000000..e028131054b1 --- /dev/null +++ b/packages/ocaml-variants/ocaml-variants.5.3.0~rc1+options/opam @@ -0,0 +1,26 @@ +opam-version: "2.0" +license: "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception" +synopsis: "First release candidate release of OCaml 5.3.0" +maintainer: [ + "David Allsopp " + "Florian Angeletti " +] +authors: [ + "Xavier Leroy" + "Damien Doligez" + "Alain Frisch" + "Jacques Garrigue" + "Didier Rémy" + "KC Sivaramakrishnan" + "Jérôme Vouillon" +] +homepage: "https://ocaml.org" +bug-reports: "https://github.com/ocaml/opam-repository/issues" +dev-repo: "git+https://github.com/ocaml/ocaml.git#5.3" +depends: [ + "ocaml-compiler" {= "5.3.0~rc1"} + + "ocaml-beta" {opam-version < "2.1.0"} +] +conflict-class: "ocaml-core-compiler" +flags: [ compiler avoid-version ]