From bc131e0bbcd8d46e94e80671ad0af22f0a56865c Mon Sep 17 00:00:00 2001 From: Calascibetta Romain Date: Fri, 8 Dec 2023 16:59:49 +0100 Subject: [PATCH] Upgrade bob with the last version of esperanto --- .github/workflows/esperanto.yml | 11 ++++++----- com.opam | 3 ++- link.sh | 10 ++++++++++ 3 files changed, 18 insertions(+), 6 deletions(-) create mode 100755 link.sh diff --git a/.github/workflows/esperanto.yml b/.github/workflows/esperanto.yml index 51977f1..889eac1 100644 --- a/.github/workflows/esperanto.yml +++ b/.github/workflows/esperanto.yml @@ -5,19 +5,20 @@ jobs: strategy: matrix: operating-system: [ubuntu-latest] - ocaml-version: ["4.14.0"] + ocaml-version: ["4.14.1"] runs-on: ${{ matrix.operating-system }} steps: - uses: actions/checkout@v2 - uses: ocaml/setup-ocaml@v2 with: ocaml-compiler: ${{ matrix.ocaml-version }} + opam-disable-sandboxing: 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: Pin & Install workflows run: | - opam install esperanto.0.0.4 + opam pin add -y https://github.com/dinosaure/esperanto.git opam install ocamlfind opam-monorepo opam repo add upstream git+https://github.com/ocaml/opam-repository.git opam repo add dune-universe git+https://github.com/dune-universe/opam-overlays.git @@ -26,9 +27,9 @@ jobs: run: | env OPAMVAR_monorepo='opam-monorepo' opam monorepo lock --require-cross-compile --build-only --ocaml-version ${{ matrix.ocaml-version }} com env OPAMVAR_monorepo='opam-monorepo' opam monorepo pull - opam exec -- dune build -x esperanto -p bob bin/bob.exe - objcopy -S -O binary _build/default.esperanto/bin/bob.exe bob.com - strip bob.com + opam exec -- dune build -x x86_64_esperanto -p bob bin/bob.exe + opam exec -- dune build -x aarch64_esperanto -p bob bin/bob.exe + opam exec -- ./link.sh - name: Upload Artifact uses: actions/upload-artifact@v3 with: diff --git a/com.opam b/com.opam index a0f98ad..45a055a 100644 --- a/com.opam +++ b/com.opam @@ -52,7 +52,8 @@ pin-depends: [ [ "mirage-crypto-pk.dev" "git+https://github.com/dinosaure/mirage-crypto.git#83b160823cc601ffb19f8be2e32d643ffcbea60d" ] [ "mirage-crypto-ec.dev" "git+https://github.com/dinosaure/mirage-crypto.git#83b160823cc601ffb19f8be2e32d643ffcbea60d" ] [ "mirage-crypto-rng.dev" "git+https://github.com/dinosaure/mirage-crypto.git#83b160823cc601ffb19f8be2e32d643ffcbea60d" ] - [ "mtime.dev" "git+https://github.com/dinosaure/mtime.git#d5d70f38c40da90e3e173eb60346df55b64a4a0a"] + [ "mtime.dev" "git+https://github.com/dinosaure/mtime.git#d5d70f38c40da90e3e173eb60346df55b64a4a0a" ] + [ "gmp.dev" "git+https://github.com/mirage/ocaml-gmp.git#dfc83c74a327d848074ecf0d33b009eaf5625250" ] ] x-mirage-opam-lock-location: "com.opam.locked" diff --git a/link.sh b/link.sh new file mode 100755 index 0000000..37fc52a --- /dev/null +++ b/link.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +apelink \ + -V "0b1111101" \ + -o bob.com \ + -l $(opam var bin)/ape-x86_64.elf \ + -l $(opam var bin)/ape-aarch64.elf \ + -M $(opam var bin)/ape-m1.c \ + _build/default.x86_64_esperanto/bin/bob.exe.dbg \ + _build/default.aarch64_esperanto/bin/bob.exe.dbg