Skip to content

Commit b6bc7ae

Browse files
authored
Merge pull request #2 from modular-macros/macocaml-5.3.0
Add opam configuration for the 5.3.0 macocaml compiler.
2 parents 2f65077 + 7de7d33 commit b6bc7ae

File tree

5 files changed

+147
-23
lines changed

5 files changed

+147
-23
lines changed

.github/workflows/install.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ jobs:
1313
os: [ubuntu-latest]
1414
steps:
1515
- name: Checkout code
16-
uses: actions/checkout@v2
16+
uses: actions/checkout@v4
1717

1818
- name: Use OCaml ${{ matrix.ocaml-compiler }}
19-
uses: ocaml/setup-ocaml@v2
19+
uses: ocaml/setup-ocaml@v3
2020
with:
2121
ocaml-compiler: ${{ matrix.ocaml-compiler }}
2222
opam-repositories: |

README.md

+6
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,16 @@ A repository of [OPAM][opam] packages for [Modular Macros][modular-macros].
66

77
### Setting up
88

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

14+
Installing the 5.3.0 variant:
15+
```
16+
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
17+
```
18+
1319
[modular-macros]: https://www.cl.cam.ac.uk/~jdy22/projects/modular-macros/
1420
[opam]: https://opam.ocaml.org/
1521

packages/ocaml-variants/ocaml-variants.4.04.0+macros/files/fix-gcc10.patch

-21
This file was deleted.

packages/ocaml-variants/ocaml-variants.4.04.0+macros/opam

+8
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,11 @@ authors: [
5757
"Didier Rémy"
5858
"Jérôme Vouillon"
5959
]
60+
extra-source "fix-gcc10.patch" {
61+
src:
62+
"https://raw.githubusercontent.com/ocaml/opam-source-archives/main/patches/ocaml-base-compiler/fix-gcc10.patch.4.04.1"
63+
checksum: [
64+
"sha256=ca5ea3fb78daac1c3899abfddb7bda4680255e6364e53e63d651392e669ab73a"
65+
"md5=c59d1ac3de4c892f4aa74d8d1112de00"
66+
]
67+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
opam-version: "2.0"
2+
license: "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
3+
synopsis: "Current trunk"
4+
maintainer: [
5+
"Jeremy Yallop <[email protected]>"
6+
]
7+
authors: [
8+
"Xavier Leroy"
9+
"Damien Doligez"
10+
"Alain Frisch"
11+
"Jacques Garrigue"
12+
"Didier Rémy"
13+
"Jérôme Vouillon"
14+
]
15+
homepage: "https://ocaml.org"
16+
bug-reports: "https://github.com/ocaml/opam-repository/issues"
17+
dev-repo: "git+https://github.com/ocaml/ocaml.git#trunk"
18+
depends: [
19+
# This is OCaml 5.3.0
20+
"ocaml" {= "5.3.0" & post}
21+
22+
# General base- packages
23+
"base-unix" {post}
24+
"base-bigarray" {post}
25+
"base-threads" {post}
26+
"base-domains" {post}
27+
"base-nnp" {post}
28+
"base-effects" {post}
29+
30+
"ocaml-beta" {opam-version < "2.1.0"}
31+
32+
# Architecture (non-Windows)
33+
# opam-repository at present requires that ocaml-base-compiler is installed
34+
# using an architecture which matches the machine's, since arch is used in
35+
# available fields. Cross-compilation at this stage is an unstable accident.
36+
"host-arch-arm32" {arch = "arm32" & post}
37+
"host-arch-arm64" {arch = "arm64" & post}
38+
"host-arch-ppc64" {arch = "ppc64" & post}
39+
"host-arch-riscv64" {arch = "riscv64" & post}
40+
"host-arch-s390x" {arch = "s390x" & post}
41+
# The Windows ports explicitly select the architecture (see below) this
42+
# facility is not yet available for other platforms.
43+
"host-arch-x86_32" {os != "win32" & arch = "x86_32" & post}
44+
("host-arch-x86_64" {os != "win32" & arch = "x86_64" & post} |
45+
("host-arch-x86_32" {os != "win32" & arch = "x86_64" & post} & "ocaml-option-32bit" {os != "win32" & arch = "x86_64"}))
46+
"host-arch-unknown" {os != "win32" & arch != "arm32" & arch != "arm64" & arch != "ppc64" & arch != "riscv64" & arch != "s390x" & arch != "x86_32" & arch != "x86_64" & post}
47+
48+
# Port selection (Windows)
49+
# amd64 mingw-w64 / MSVC
50+
(("arch-x86_64" {os = "win32" & arch = "x86_64"} &
51+
(("system-mingw" & "mingw-w64-shims" {os-distribution = "cygwin" & build}) |
52+
("system-msvc" & "winpthreads" & "ocaml-option-no-compression" {os = "win32"}))) |
53+
# i686 mingw-w64 / MSVC
54+
("arch-x86_32" {os = "win32"} & "ocaml-option-bytecode-only" {os = "win32"} &
55+
(("system-mingw" & "mingw-w64-shims" {os-distribution = "cygwin" & build}) |
56+
("system-msvc" & "winpthreads" & "ocaml-option-no-compression" {os = "win32"}))) |
57+
# Non-Windows systems
58+
"host-system-other" {os != "win32" & post})
59+
60+
# All the 32-bit architectures are bytecode-only
61+
"ocaml-option-bytecode-only" {arch != "arm64" & arch != "x86_64" & arch != "s390x" & arch != "riscv64" & arch != "ppc64"}
62+
63+
# Support Packages
64+
"flexdll" {>= "0.42" & os = "win32"}
65+
]
66+
conflict-class: "ocaml-core-compiler"
67+
flags: [ compiler avoid-version ]
68+
setenv: CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs"
69+
x-env-path-rewrite: [
70+
[CAML_LD_LIBRARY_PATH (";" {os = "win32"} ":" {os != "win32"}) "target"]
71+
]
72+
build-env: [
73+
[MSYS2_ARG_CONV_EXCL = "*"]
74+
[LSAN_OPTIONS = "detect_leaks=0,exitcode=0"]
75+
[ASAN_OPTIONS = "detect_leaks=0,exitcode=0"]
76+
]
77+
build: [
78+
[
79+
"./configure"
80+
"--host=x86_64-pc-windows" {system-msvc:installed & arch-x86_64:installed}
81+
"--host=x86_64-w64-mingw32" {os-distribution = "cygwin" & system-mingw:installed & arch-x86_64:installed}
82+
"--host=i686-pc-windows" {system-msvc:installed & arch-x86_32:installed}
83+
"--host=i686-w64-mingw32" {os-distribution = "cygwin" & system-mingw:installed & arch-x86_32:installed}
84+
"--prefix=%{prefix}%"
85+
"--docdir=%{doc}%/ocaml"
86+
"--with-flexdll=%{flexdll:share}%" {os = "win32" & flexdll:installed}
87+
"--with-winpthreads-msvc=%{winpthreads:share}%" {system-msvc:installed}
88+
"-C"
89+
"--with-afl" {ocaml-option-afl:installed}
90+
"--disable-native-compiler" {ocaml-option-bytecode-only:installed}
91+
"--disable-flat-float-array" {ocaml-option-no-flat-float-array:installed}
92+
"--enable-flambda" {ocaml-option-flambda:installed}
93+
"--enable-frame-pointers" {ocaml-option-fp:installed}
94+
"--without-zstd" {ocaml-option-no-compression:installed}
95+
"--enable-tsan" {ocaml-option-tsan:installed}
96+
"CC=cc" {!ocaml-option-32bit:installed & !ocaml-option-musl:installed & (os="openbsd"|os="macos")}
97+
"CC=clang" {ocaml-option-tsan:installed & (os="macos")}
98+
"CC=musl-gcc" {ocaml-option-musl:installed & os-distribution!="alpine"}
99+
"CFLAGS=-Os" {ocaml-option-musl:installed}
100+
"LDFLAGS=-Wl,--no-as-needed,-ldl" {ocaml-option-leak-sanitizer:installed | (ocaml-option-address-sanitizer:installed & os!="macos")}
101+
"CC=gcc -ldl -fsanitize=leak -fno-omit-frame-pointer -O1 -g" {ocaml-option-leak-sanitizer:installed}
102+
"CC=gcc -ldl -fsanitize=address -fno-omit-frame-pointer -O1 -g" {ocaml-option-address-sanitizer:installed & os!="macos"}
103+
"CC=clang -fsanitize=address -fno-omit-frame-pointer -O1 -g" {ocaml-option-address-sanitizer:installed & os="macos"}
104+
"CC=gcc -m32" {ocaml-option-32bit:installed & os="linux"}
105+
"CC=gcc -Wl,-read_only_relocs,suppress -arch i386 -m32" {ocaml-option-32bit:installed & os="macos"}
106+
"ASPP=musl-gcc -c" {ocaml-option-musl:installed & os-distribution!="alpine"}
107+
"--host=i386-linux" {ocaml-option-32bit:installed & os="linux"}
108+
"--host=i386-apple-darwin13.2.0" {ocaml-option-32bit:installed & os="macos"}
109+
"LIBS=-static" {ocaml-option-static:installed}
110+
"--disable-warn-error"
111+
]
112+
[make]
113+
]
114+
install: [make "install"]
115+
url {
116+
src: "https://github.com/modular-macros/ocaml-macros/archive/macocaml-5.3.0.tar.gz"
117+
}
118+
depopts: [
119+
"ocaml-option-32bit"
120+
"ocaml-option-afl"
121+
"ocaml-option-bytecode-only"
122+
"ocaml-option-no-flat-float-array"
123+
"ocaml-option-flambda"
124+
"ocaml-option-fp"
125+
"ocaml-option-no-compression"
126+
"ocaml-option-musl"
127+
"ocaml-option-leak-sanitizer"
128+
"ocaml-option-address-sanitizer"
129+
"ocaml-option-static"
130+
"ocaml-option-tsan"
131+
]

0 commit comments

Comments
 (0)