Skip to content

Add opam configuration for the 5.3.0 macocaml compiler. #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jan 27, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/install.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ jobs:
os: [ubuntu-latest]
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4

- name: Use OCaml ${{ matrix.ocaml-compiler }}
uses: ocaml/setup-ocaml@v2
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: ${{ matrix.ocaml-compiler }}
opam-repositories: |
Expand Down
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,16 @@ A repository of [OPAM][opam] packages for [Modular Macros][modular-macros].

### Setting up

Installing the 4.04.0 variant:
```
opam switch create macros --repos default,macros=git+https://github.com/modular-macros/modular-macros-opam.git ocaml-variants.4.04.0+macros
```

Installing the 5.3.0 variant:
```
opam switch create macocaml --packages=ocaml-variants.5.3.0+macocaml-branch --repos=default,macocaml=git+https://github.com/modular-macros/modular-macros-opam.git
```

[modular-macros]: https://www.cl.cam.ac.uk/~jdy22/projects/modular-macros/
[opam]: https://opam.ocaml.org/

Expand Down

This file was deleted.

8 changes: 8 additions & 0 deletions packages/ocaml-variants/ocaml-variants.4.04.0+macros/opam
Original file line number Diff line number Diff line change
Expand Up @@ -57,3 +57,11 @@ authors: [
"Didier Rémy"
"Jérôme Vouillon"
]
extra-source "fix-gcc10.patch" {
src:
"https://raw.githubusercontent.com/ocaml/opam-source-archives/main/patches/ocaml-base-compiler/fix-gcc10.patch.4.04.1"
checksum: [
"sha256=ca5ea3fb78daac1c3899abfddb7bda4680255e6364e53e63d651392e669ab73a"
"md5=c59d1ac3de4c892f4aa74d8d1112de00"
]
}
131 changes: 131 additions & 0 deletions packages/ocaml-variants/ocaml-variants.5.3.0+macocaml-branch/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
opam-version: "2.0"
license: "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
synopsis: "Current trunk"
maintainer: [
"Jeremy Yallop <[email protected]>"
]
authors: [
"Xavier Leroy"
"Damien Doligez"
"Alain Frisch"
"Jacques Garrigue"
"Didier Rémy"
"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#trunk"
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"}

# Architecture (non-Windows)
# opam-repository at present requires that ocaml-base-compiler is installed
# using an architecture which matches the machine's, since arch is used in
# available fields. Cross-compilation at this stage is an unstable accident.
"host-arch-arm32" {arch = "arm32" & post}
"host-arch-arm64" {arch = "arm64" & post}
"host-arch-ppc64" {arch = "ppc64" & post}
"host-arch-riscv64" {arch = "riscv64" & post}
"host-arch-s390x" {arch = "s390x" & post}
# The Windows ports explicitly select the architecture (see below) this
# facility is not yet available for other platforms.
"host-arch-x86_32" {os != "win32" & arch = "x86_32" & post}
("host-arch-x86_64" {os != "win32" & arch = "x86_64" & post} |
("host-arch-x86_32" {os != "win32" & arch = "x86_64" & post} & "ocaml-option-32bit" {os != "win32" & arch = "x86_64"}))
"host-arch-unknown" {os != "win32" & arch != "arm32" & arch != "arm64" & arch != "ppc64" & arch != "riscv64" & arch != "s390x" & arch != "x86_32" & arch != "x86_64" & post}

# 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
"host-system-other" {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"}
]
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: [
[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}
"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]
]
install: [make "install"]
url {
src: "https://github.com/modular-macros/ocaml-macros/archive/macocaml-5.3.0.tar.gz"
}
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"
]
Loading