diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index dcf9ac76..ccedd2b0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -9,16 +9,15 @@ jobs: runs-on: ${{ matrix.operating-system }} steps: - uses: actions/checkout@v2 - with: - lfs: true - uses: ocaml/setup-ocaml@v2 with: ocaml-compiler: ${{ matrix.ocaml-version }} + allow-prerelease-opam: true # See jart/cosmopolitan#3 - name: Fix binfmt and Cosmopolitan run: sudo sh -c "echo ':APE:M::MZqFpD::/bin/sh:' >/proc/sys/fs/binfmt_misc/register" - name: Pinning packages - run: opam pin add -t -yn -vvv --kind=path . + run: opam pin add -t -yn -vvv --kind=path --with-version=dev . - name: Install cosmopolitan/esperanto and dune run: opam depext -iyt -v esperanto-cosmopolitan x86_64-esperanto aarch64-esperanto dune - name: Compiling example project (cat.com) diff --git a/CHANGES.md b/CHANGES.md index 3fdb23bb..20043589 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,9 @@ +## v0.0.5 (2024-12-21) Paris - France + +- Support Cosmopolitan 3.1 (#43, @dinosaure) +- Fix the compilation of esperanto with setup-ocaml and GitHub CI (#44, @dinosaure) +- Extend the support of Esperanto to 4.13 (#45, @dinosaure) + ## v0.0.4 (2023-05-25) Paris - France - Fix the compilation of `threads.cmxa` (@dinosaure, #38) diff --git a/toolchain/dune-project b/dune-project similarity index 100% rename from toolchain/dune-project rename to dune-project diff --git a/opam/aarch64-esperanto.opam b/opam/aarch64-esperanto.opam index 17924844..aa14b8bd 100644 --- a/opam/aarch64-esperanto.opam +++ b/opam/aarch64-esperanto.opam @@ -12,10 +12,11 @@ build: [ ["sh" "-c" "make -C caml -j%{jobs}%"] ] install: ["sh" "-c" "make -C caml install" ] +available: opam-version >= "2.1.0" depends: [ "conf-which" {build} "ocaml-src" {build} - "esperanto-cosmopolitan" {build} + "esperanto-cosmopolitan" {= version & build} "ocaml" {>= "4.13.0" & < "4.15.0"} ] synopsis: "An OCaml compiler with Cosmopolitan" diff --git a/opam/esperanto-cosmopolitan.opam b/opam/esperanto-cosmopolitan.opam index 70ba4200..a0f81627 100644 --- a/opam/esperanto-cosmopolitan.opam +++ b/opam/esperanto-cosmopolitan.opam @@ -13,12 +13,13 @@ install: [ [ make "-C" "toolchain" "PREFIX=%{prefix}%" "install" ] ] depends: [ + "ocaml" {>= "4.13.0"} "dune" - "decompress" + "decompress" {>= "1.5.3"} "checkseum" - "digestif" + "digestif" {>= "1.0.0"} # "conf-binutils" ] synopsis: "Cosmopolitan toolchain for OCaml compiler" description: "A little toolchain for OCaml with Cosmopolitan" -available: [ arch = "x86_64" & (os = "linux" | os = "freebsd" | os = "openbsd") ] +available: [ opam-version >= "2.1.0" & arch = "x86_64" & (os = "linux" | os = "freebsd" | os = "openbsd") ] diff --git a/opam/x86_64-esperanto.opam b/opam/x86_64-esperanto.opam index 368a126c..873a66dc 100644 --- a/opam/x86_64-esperanto.opam +++ b/opam/x86_64-esperanto.opam @@ -12,10 +12,11 @@ build: [ ["sh" "-c" "make -C caml -j%{jobs}%"] ] install: ["sh" "-c" "make -C caml install" ] +available: opam-version >= "2.1.0" depends: [ "conf-which" {build} "ocaml-src" {build} - "esperanto-cosmopolitan" {build} + "esperanto-cosmopolitan" {= version & build} "ocaml" {>= "4.13.0" & < "4.15.0"} ] synopsis: "An OCaml compiler with Cosmopolitan" diff --git a/release.sh b/release.sh index e8422846..75e7fec9 100755 --- a/release.sh +++ b/release.sh @@ -52,7 +52,7 @@ url { } EOM -for PACKAGE in 'esperanto-cosmopolitan' 'esperanto'; do +for PACKAGE in 'esperanto-cosmopolitan' 'x86_64-esperanto' 'aarch64-esperanto'; do PKG_DIR=${OUTPUT_DIR}/packages/${PACKAGE}/${PACKAGE}.${OPAM_VERSION} mkdir -p ${PKG_DIR} || exit 1 cat opam/${PACKAGE}.opam ${OUTPUT_DIR}/tmp/url \ diff --git a/toolchain/install.ml b/toolchain/install.ml index 97eeed2d..b451cbba 100644 --- a/toolchain/install.ml +++ b/toolchain/install.ml @@ -121,10 +121,6 @@ type action = | Copy of { exec : bool; src : string; dst : string } | Link of { src : string; dst : string } -let pp_lnk ppf = function - | Link { src; dst } -> Format.fprintf ppf "(Link (src:%S, dst:%S))" src dst - | _ -> () - let deps lnks = let tbl = Hashtbl.create 0x100 in let g = Hashtbl.create 0x100 in