From deebc845174531c925769faba81204cef019994e Mon Sep 17 00:00:00 2001 From: Samuel Hym Date: Tue, 21 Oct 2025 14:56:08 +0200 Subject: [PATCH 1/3] Ensure version consistency between OCaml/Unikraft toolchains and backends The constraint is not needed for the 0.18.0 and 0.20.0 versions of the toolchain packages (as the build system is the same for those versions of these packages) but a version mismatch makes little sense anyhow and could cause issues down the line --- .../ocaml-unikraft-toolchain-arm64.0.18.0/opam | 3 ++- .../ocaml-unikraft-toolchain-x86_64.0.18.0/opam | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/ocaml-unikraft-toolchain-arm64/ocaml-unikraft-toolchain-arm64.0.18.0/opam b/packages/ocaml-unikraft-toolchain-arm64/ocaml-unikraft-toolchain-arm64.0.18.0/opam index b6a6535c15ab..f07ec04e6174 100644 --- a/packages/ocaml-unikraft-toolchain-arm64/ocaml-unikraft-toolchain-arm64.0.18.0/opam +++ b/packages/ocaml-unikraft-toolchain-arm64/ocaml-unikraft-toolchain-arm64.0.18.0/opam @@ -11,7 +11,8 @@ description: authors: "Samuel Hym" license: "MIT" depends: [ - "ocaml-unikraft-backend-qemu-arm64" | "ocaml-unikraft-backend-firecracker-arm64" + "ocaml-unikraft-backend-qemu-arm64" {= version} | + "ocaml-unikraft-backend-firecracker-arm64" {= version} ] build: [ [ diff --git a/packages/ocaml-unikraft-toolchain-x86_64/ocaml-unikraft-toolchain-x86_64.0.18.0/opam b/packages/ocaml-unikraft-toolchain-x86_64/ocaml-unikraft-toolchain-x86_64.0.18.0/opam index 37e2faf09f18..d545507b0fe5 100644 --- a/packages/ocaml-unikraft-toolchain-x86_64/ocaml-unikraft-toolchain-x86_64.0.18.0/opam +++ b/packages/ocaml-unikraft-toolchain-x86_64/ocaml-unikraft-toolchain-x86_64.0.18.0/opam @@ -11,7 +11,8 @@ description: authors: "Samuel Hym" license: "MIT" depends: [ - "ocaml-unikraft-backend-qemu-x86_64" | "ocaml-unikraft-backend-firecracker-x86_64" + "ocaml-unikraft-backend-qemu-x86_64" {= version} | + "ocaml-unikraft-backend-firecracker-x86_64" {= version} ] build: [ [ From 0fd2245f35e2c69f0d17ec627e7c379c755893f8 Mon Sep 17 00:00:00 2001 From: Samuel Hym Date: Tue, 21 Oct 2025 14:52:43 +0200 Subject: [PATCH 2/3] Release OCaml/Unikraft 1.1.0 Changes: - Support for OCaml 5.4.0 and Unikraft 0.20.0 - Various fixes, in particular an issue where the OCaml cross compiler failed to build in an opam local switch --- .../ocaml-unikraft-arm64.1.1.0/opam | 42 +++++++++++++++++++ .../opam | 39 +++++++++++++++++ .../opam | 39 +++++++++++++++++ .../opam | 19 +++++++++ .../opam | 39 +++++++++++++++++ .../opam | 39 +++++++++++++++++ .../ocaml-unikraft-backend-qemu.0.20.0/opam | 19 +++++++++ .../ocaml-unikraft-default-arm64.1.1.0/opam | 25 +++++++++++ .../ocaml-unikraft-default-x86_64.1.1.0/opam | 25 +++++++++++ .../ocaml-unikraft-option-debug.0.20.0/opam | 12 ++++++ .../opam | 34 +++++++++++++++ .../opam | 34 +++++++++++++++ .../ocaml-unikraft-x86_64.1.1.0/opam | 42 +++++++++++++++++++ .../ocaml-unikraft/ocaml-unikraft.1.1.0/opam | 15 +++++++ .../unikraft-musl/unikraft-musl.0.20.0/opam | 26 ++++++++++++ packages/unikraft/unikraft.0.20.0/opam | 30 +++++++++++++ 16 files changed, 479 insertions(+) create mode 100644 packages/ocaml-unikraft-arm64/ocaml-unikraft-arm64.1.1.0/opam create mode 100644 packages/ocaml-unikraft-backend-firecracker-arm64/ocaml-unikraft-backend-firecracker-arm64.0.20.0/opam create mode 100644 packages/ocaml-unikraft-backend-firecracker-x86_64/ocaml-unikraft-backend-firecracker-x86_64.0.20.0/opam create mode 100644 packages/ocaml-unikraft-backend-firecracker/ocaml-unikraft-backend-firecracker.0.20.0/opam create mode 100644 packages/ocaml-unikraft-backend-qemu-arm64/ocaml-unikraft-backend-qemu-arm64.0.20.0/opam create mode 100644 packages/ocaml-unikraft-backend-qemu-x86_64/ocaml-unikraft-backend-qemu-x86_64.0.20.0/opam create mode 100644 packages/ocaml-unikraft-backend-qemu/ocaml-unikraft-backend-qemu.0.20.0/opam create mode 100644 packages/ocaml-unikraft-default-arm64/ocaml-unikraft-default-arm64.1.1.0/opam create mode 100644 packages/ocaml-unikraft-default-x86_64/ocaml-unikraft-default-x86_64.1.1.0/opam create mode 100644 packages/ocaml-unikraft-option-debug/ocaml-unikraft-option-debug.0.20.0/opam create mode 100644 packages/ocaml-unikraft-toolchain-arm64/ocaml-unikraft-toolchain-arm64.0.20.0/opam create mode 100644 packages/ocaml-unikraft-toolchain-x86_64/ocaml-unikraft-toolchain-x86_64.0.20.0/opam create mode 100644 packages/ocaml-unikraft-x86_64/ocaml-unikraft-x86_64.1.1.0/opam create mode 100644 packages/ocaml-unikraft/ocaml-unikraft.1.1.0/opam create mode 100644 packages/unikraft-musl/unikraft-musl.0.20.0/opam create mode 100644 packages/unikraft/unikraft.0.20.0/opam diff --git a/packages/ocaml-unikraft-arm64/ocaml-unikraft-arm64.1.1.0/opam b/packages/ocaml-unikraft-arm64/ocaml-unikraft-arm64.1.1.0/opam new file mode 100644 index 000000000000..9034e02eb2d8 --- /dev/null +++ b/packages/ocaml-unikraft-arm64/ocaml-unikraft-arm64.1.1.0/opam @@ -0,0 +1,42 @@ +opam-version: "2.0" +maintainer: "samuel@tarides.com" +homepage: "https://github.com/mirage/ocaml-unikraft/" +dev-repo: "git+https://github.com/mirage/ocaml-unikraft.git" +bug-reports: "https://github.com/mirage/ocaml-unikraft/issues" +tags: "org:mirage" +synopsis: "OCaml cross compiler to the freestanding Unikraft arm64 backends" +description: + "This package provides an OCaml cross compiler, suitable for linking with a Unikraft arm64 unikernel." +authors: "Samuel Hym" +license: ["MIT" "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"] +depends: [ + "ocaml" {>= "5.3.0" & <= "5.4.0"} + "ocaml-unikraft-toolchain-arm64" + "ocamlfind" + "ocaml-src" {build} + "conf-git" {build} +] +build: [ + [ + make + "-j%{jobs}%" + "prefix=%{prefix}%" + "BIN=%{bin}%" + "LIB=%{lib}%" + "SHARE=%{share}%" + "OCUKARCH=arm64" + "%{name}%.install" + ] +] +install: [ + [make "install-ocaml"] +] +conflicts: ["ocaml-option-bytecode-only"] +url { + src: + "https://github.com/mirage/ocaml-unikraft/archive/refs/tags/v1.1.0.tar.gz" + checksum: + "sha256=97b9bdfd07ed0f031954138adbace930790d064ed3a590b9ff46f32f2433fde4" +} +available: os = "linux" +x-maintenance-intent: ["(latest)"] diff --git a/packages/ocaml-unikraft-backend-firecracker-arm64/ocaml-unikraft-backend-firecracker-arm64.0.20.0/opam b/packages/ocaml-unikraft-backend-firecracker-arm64/ocaml-unikraft-backend-firecracker-arm64.0.20.0/opam new file mode 100644 index 000000000000..11b2094180b5 --- /dev/null +++ b/packages/ocaml-unikraft-backend-firecracker-arm64/ocaml-unikraft-backend-firecracker-arm64.0.20.0/opam @@ -0,0 +1,39 @@ +opam-version: "2.0" +maintainer: "samuel@tarides.com" +homepage: "https://github.com/mirage/ocaml-unikraft/" +dev-repo: "git+https://github.com/mirage/ocaml-unikraft.git" +bug-reports: "https://github.com/mirage/ocaml-unikraft/issues" +tags: "org:mirage" +synopsis: "Firecracker/arm64 Unikraft backend for OCaml" +authors: ["Samuel Hym" "Unikraft contributors"] +license: ["MIT" "BSD-3-Clause" "GPL-2.0-only"] +depends: [ + "unikraft" {= version} + "unikraft-musl" {= version} + "conf-aarch64-linux-gnu-gcc" {arch != "arm64"} +] +depopts: [ + "ocaml-unikraft-option-debug" +] +build: [ + [ + make + "-j%{jobs}%" + "UNIKRAFT=%{unikraft:lib}%" + "UNIKRAFTMUSL=%{unikraft-musl:lib}%" + "OCUKPLAT=firecracker" + "OCUKARCH=arm64" + "OCUKEXTLIBS=musl" + "OCUKCONFIGOPTS+=debug" {ocaml-unikraft-option-debug:installed} + "UK_CFLAGS=-std=gnu11" + "%{name}%.install" + ] +] +url { + src: + "https://github.com/mirage/ocaml-unikraft/archive/refs/tags/v1.1.0.tar.gz" + checksum: + "sha256=97b9bdfd07ed0f031954138adbace930790d064ed3a590b9ff46f32f2433fde4" +} +available: os = "linux" +x-maintenance-intent: ["(latest)"] diff --git a/packages/ocaml-unikraft-backend-firecracker-x86_64/ocaml-unikraft-backend-firecracker-x86_64.0.20.0/opam b/packages/ocaml-unikraft-backend-firecracker-x86_64/ocaml-unikraft-backend-firecracker-x86_64.0.20.0/opam new file mode 100644 index 000000000000..c84590e22f0c --- /dev/null +++ b/packages/ocaml-unikraft-backend-firecracker-x86_64/ocaml-unikraft-backend-firecracker-x86_64.0.20.0/opam @@ -0,0 +1,39 @@ +opam-version: "2.0" +maintainer: "samuel@tarides.com" +homepage: "https://github.com/mirage/ocaml-unikraft/" +dev-repo: "git+https://github.com/mirage/ocaml-unikraft.git" +bug-reports: "https://github.com/mirage/ocaml-unikraft/issues" +tags: "org:mirage" +synopsis: "Firecracker/x86_64 Unikraft backend for OCaml" +authors: ["Samuel Hym" "Unikraft contributors"] +license: ["MIT" "BSD-3-Clause" "GPL-2.0-only"] +depends: [ + "unikraft" {= version} + "unikraft-musl" {= version} + "conf-x86_64-linux-gnu-gcc" {arch != "x86_64"} +] +depopts: [ + "ocaml-unikraft-option-debug" +] +build: [ + [ + make + "-j%{jobs}%" + "UNIKRAFT=%{unikraft:lib}%" + "UNIKRAFTMUSL=%{unikraft-musl:lib}%" + "OCUKPLAT=firecracker" + "OCUKARCH=x86_64" + "OCUKEXTLIBS=musl" + "OCUKCONFIGOPTS+=debug" {ocaml-unikraft-option-debug:installed} + "UK_CFLAGS=-std=gnu11" + "%{name}%.install" + ] +] +url { + src: + "https://github.com/mirage/ocaml-unikraft/archive/refs/tags/v1.1.0.tar.gz" + checksum: + "sha256=97b9bdfd07ed0f031954138adbace930790d064ed3a590b9ff46f32f2433fde4" +} +available: os = "linux" +x-maintenance-intent: ["(latest)"] diff --git a/packages/ocaml-unikraft-backend-firecracker/ocaml-unikraft-backend-firecracker.0.20.0/opam b/packages/ocaml-unikraft-backend-firecracker/ocaml-unikraft-backend-firecracker.0.20.0/opam new file mode 100644 index 000000000000..9c4fe030f9fa --- /dev/null +++ b/packages/ocaml-unikraft-backend-firecracker/ocaml-unikraft-backend-firecracker.0.20.0/opam @@ -0,0 +1,19 @@ +opam-version: "2.0" +maintainer: "samuel@tarides.com" +homepage: "https://github.com/mirage/ocaml-unikraft/" +dev-repo: "git+https://github.com/mirage/ocaml-unikraft.git" +bug-reports: "https://github.com/mirage/ocaml-unikraft/issues" +tags: "org:mirage" +synopsis: + "Virtual package to ensure the Firecracker Unikraft backend is installed for the default cross compiler" +description: + "This virtual package ensures that the Firecracker backend is installed for the default `unikraft` ocamlfind cross toolchain." +authors: "Samuel Hym" +license: "MIT" +depends: [ + "ocaml-unikraft" + ("ocaml-unikraft-default-x86_64" & "ocaml-unikraft-backend-firecracker-x86_64") | + ("ocaml-unikraft-default-arm64" & "ocaml-unikraft-backend-firecracker-arm64") +] +available: os = "linux" +x-maintenance-intent: ["(latest)"] diff --git a/packages/ocaml-unikraft-backend-qemu-arm64/ocaml-unikraft-backend-qemu-arm64.0.20.0/opam b/packages/ocaml-unikraft-backend-qemu-arm64/ocaml-unikraft-backend-qemu-arm64.0.20.0/opam new file mode 100644 index 000000000000..ea680c770785 --- /dev/null +++ b/packages/ocaml-unikraft-backend-qemu-arm64/ocaml-unikraft-backend-qemu-arm64.0.20.0/opam @@ -0,0 +1,39 @@ +opam-version: "2.0" +maintainer: "samuel@tarides.com" +homepage: "https://github.com/mirage/ocaml-unikraft/" +dev-repo: "git+https://github.com/mirage/ocaml-unikraft.git" +bug-reports: "https://github.com/mirage/ocaml-unikraft/issues" +tags: "org:mirage" +synopsis: "QEMU/arm64 Unikraft backend for OCaml" +authors: ["Samuel Hym" "Unikraft contributors"] +license: ["MIT" "BSD-3-Clause" "GPL-2.0-only"] +depends: [ + "unikraft" {= version} + "unikraft-musl" {= version} + "conf-aarch64-linux-gnu-gcc" {arch != "arm64"} +] +depopts: [ + "ocaml-unikraft-option-debug" +] +build: [ + [ + make + "-j%{jobs}%" + "UNIKRAFT=%{unikraft:lib}%" + "UNIKRAFTMUSL=%{unikraft-musl:lib}%" + "OCUKPLAT=qemu" + "OCUKARCH=arm64" + "OCUKEXTLIBS=musl" + "OCUKCONFIGOPTS+=debug" {ocaml-unikraft-option-debug:installed} + "UK_CFLAGS=-std=gnu11" + "%{name}%.install" + ] +] +url { + src: + "https://github.com/mirage/ocaml-unikraft/archive/refs/tags/v1.1.0.tar.gz" + checksum: + "sha256=97b9bdfd07ed0f031954138adbace930790d064ed3a590b9ff46f32f2433fde4" +} +available: os = "linux" +x-maintenance-intent: ["(latest)"] diff --git a/packages/ocaml-unikraft-backend-qemu-x86_64/ocaml-unikraft-backend-qemu-x86_64.0.20.0/opam b/packages/ocaml-unikraft-backend-qemu-x86_64/ocaml-unikraft-backend-qemu-x86_64.0.20.0/opam new file mode 100644 index 000000000000..f7e001e4f086 --- /dev/null +++ b/packages/ocaml-unikraft-backend-qemu-x86_64/ocaml-unikraft-backend-qemu-x86_64.0.20.0/opam @@ -0,0 +1,39 @@ +opam-version: "2.0" +maintainer: "samuel@tarides.com" +homepage: "https://github.com/mirage/ocaml-unikraft/" +dev-repo: "git+https://github.com/mirage/ocaml-unikraft.git" +bug-reports: "https://github.com/mirage/ocaml-unikraft/issues" +tags: "org:mirage" +synopsis: "QEMU/x86_64 Unikraft backend for OCaml" +authors: ["Samuel Hym" "Unikraft contributors"] +license: ["MIT" "BSD-3-Clause" "GPL-2.0-only"] +depends: [ + "unikraft" {= version} + "unikraft-musl" {= version} + "conf-x86_64-linux-gnu-gcc" {arch != "x86_64"} +] +depopts: [ + "ocaml-unikraft-option-debug" +] +build: [ + [ + make + "-j%{jobs}%" + "UNIKRAFT=%{unikraft:lib}%" + "UNIKRAFTMUSL=%{unikraft-musl:lib}%" + "OCUKPLAT=qemu" + "OCUKARCH=x86_64" + "OCUKEXTLIBS=musl" + "OCUKCONFIGOPTS+=debug" {ocaml-unikraft-option-debug:installed} + "UK_CFLAGS=-std=gnu11" + "%{name}%.install" + ] +] +url { + src: + "https://github.com/mirage/ocaml-unikraft/archive/refs/tags/v1.1.0.tar.gz" + checksum: + "sha256=97b9bdfd07ed0f031954138adbace930790d064ed3a590b9ff46f32f2433fde4" +} +available: os = "linux" +x-maintenance-intent: ["(latest)"] diff --git a/packages/ocaml-unikraft-backend-qemu/ocaml-unikraft-backend-qemu.0.20.0/opam b/packages/ocaml-unikraft-backend-qemu/ocaml-unikraft-backend-qemu.0.20.0/opam new file mode 100644 index 000000000000..20e02edfcb93 --- /dev/null +++ b/packages/ocaml-unikraft-backend-qemu/ocaml-unikraft-backend-qemu.0.20.0/opam @@ -0,0 +1,19 @@ +opam-version: "2.0" +maintainer: "samuel@tarides.com" +homepage: "https://github.com/mirage/ocaml-unikraft/" +dev-repo: "git+https://github.com/mirage/ocaml-unikraft.git" +bug-reports: "https://github.com/mirage/ocaml-unikraft/issues" +tags: "org:mirage" +synopsis: + "Virtual package to ensure the QEMU Unikraft backend is installed for the default cross compiler" +description: + "This virtual package ensures that the QEMU backend is installed for the default `unikraft` ocamlfind cross toolchain." +authors: "Samuel Hym" +license: "MIT" +depends: [ + "ocaml-unikraft" + ("ocaml-unikraft-default-x86_64" & "ocaml-unikraft-backend-qemu-x86_64") | + ("ocaml-unikraft-default-arm64" & "ocaml-unikraft-backend-qemu-arm64") +] +available: os = "linux" +x-maintenance-intent: ["(latest)"] diff --git a/packages/ocaml-unikraft-default-arm64/ocaml-unikraft-default-arm64.1.1.0/opam b/packages/ocaml-unikraft-default-arm64/ocaml-unikraft-default-arm64.1.1.0/opam new file mode 100644 index 000000000000..7265fad95c92 --- /dev/null +++ b/packages/ocaml-unikraft-default-arm64/ocaml-unikraft-default-arm64.1.1.0/opam @@ -0,0 +1,25 @@ +opam-version: "2.0" +maintainer: "samuel@tarides.com" +homepage: "https://github.com/mirage/ocaml-unikraft/" +dev-repo: "git+https://github.com/mirage/ocaml-unikraft.git" +bug-reports: "https://github.com/mirage/ocaml-unikraft/issues" +tags: "org:mirage" +synopsis: + "OCaml default cross compiler to the freestanding Unikraft arm64 backends" +description: + "This package provides an OCaml cross compiler, suitable for linking with a Unikraft arm64 unikernel, as the default `unikraft` ocamlfind toolchain." +authors: "Samuel Hym" +license: "MIT" +depends: ["ocaml-unikraft-arm64" "ocamlfind"] +conflict-class: "ocaml-unikraft-default" +build: [ + [make "prefix=%{prefix}%" "OCUKARCH=arm64" "%{name}%.install"] +] +url { + src: + "https://github.com/mirage/ocaml-unikraft/archive/refs/tags/v1.1.0.tar.gz" + checksum: + "sha256=97b9bdfd07ed0f031954138adbace930790d064ed3a590b9ff46f32f2433fde4" +} +available: os = "linux" +x-maintenance-intent: ["(latest)"] diff --git a/packages/ocaml-unikraft-default-x86_64/ocaml-unikraft-default-x86_64.1.1.0/opam b/packages/ocaml-unikraft-default-x86_64/ocaml-unikraft-default-x86_64.1.1.0/opam new file mode 100644 index 000000000000..f383dd658651 --- /dev/null +++ b/packages/ocaml-unikraft-default-x86_64/ocaml-unikraft-default-x86_64.1.1.0/opam @@ -0,0 +1,25 @@ +opam-version: "2.0" +maintainer: "samuel@tarides.com" +homepage: "https://github.com/mirage/ocaml-unikraft/" +dev-repo: "git+https://github.com/mirage/ocaml-unikraft.git" +bug-reports: "https://github.com/mirage/ocaml-unikraft/issues" +tags: "org:mirage" +synopsis: + "OCaml default cross compiler to the freestanding Unikraft x86_64 backends" +description: + "This package provides an OCaml cross compiler, suitable for linking with a Unikraft x86_64 unikernel, as the default `unikraft` ocamlfind toolchain." +authors: "Samuel Hym" +license: "MIT" +depends: ["ocaml-unikraft-x86_64" "ocamlfind"] +conflict-class: "ocaml-unikraft-default" +build: [ + [make "prefix=%{prefix}%" "OCUKARCH=x86_64" "%{name}%.install"] +] +url { + src: + "https://github.com/mirage/ocaml-unikraft/archive/refs/tags/v1.1.0.tar.gz" + checksum: + "sha256=97b9bdfd07ed0f031954138adbace930790d064ed3a590b9ff46f32f2433fde4" +} +available: os = "linux" +x-maintenance-intent: ["(latest)"] diff --git a/packages/ocaml-unikraft-option-debug/ocaml-unikraft-option-debug.0.20.0/opam b/packages/ocaml-unikraft-option-debug/ocaml-unikraft-option-debug.0.20.0/opam new file mode 100644 index 000000000000..629634e608a2 --- /dev/null +++ b/packages/ocaml-unikraft-option-debug/ocaml-unikraft-option-debug.0.20.0/opam @@ -0,0 +1,12 @@ +opam-version: "2.0" +maintainer: "samuel@tarides.com" +homepage: "https://github.com/mirage/ocaml-unikraft/" +dev-repo: "git+https://github.com/mirage/ocaml-unikraft.git" +bug-reports: "https://github.com/mirage/ocaml-unikraft/issues" +tags: "org:mirage" +synopsis: + "Virtual package to enable debugging in the Unikraft backends" +authors: "Samuel Hym" +license: "MIT" +available: os = "linux" +x-maintenance-intent: ["(latest)"] diff --git a/packages/ocaml-unikraft-toolchain-arm64/ocaml-unikraft-toolchain-arm64.0.20.0/opam b/packages/ocaml-unikraft-toolchain-arm64/ocaml-unikraft-toolchain-arm64.0.20.0/opam new file mode 100644 index 000000000000..890d6e27c22b --- /dev/null +++ b/packages/ocaml-unikraft-toolchain-arm64/ocaml-unikraft-toolchain-arm64.0.20.0/opam @@ -0,0 +1,34 @@ +opam-version: "2.0" +maintainer: "samuel@tarides.com" +homepage: "https://github.com/mirage/ocaml-unikraft/" +dev-repo: "git+https://github.com/mirage/ocaml-unikraft.git" +bug-reports: "https://github.com/mirage/ocaml-unikraft/issues" +tags: "org:mirage" +synopsis: + "C toolchain to build an OCaml cross compiler to the freestanding Unikraft arm64 backends" +description: + "This package provides a C toolchain to build an OCaml cross compiler, suitable for linking with a Unikraft arm64 unikernel." +authors: "Samuel Hym" +license: "MIT" +depends: [ + "ocaml-unikraft-backend-qemu-arm64" {= version} | + "ocaml-unikraft-backend-firecracker-arm64" {= version} +] +build: [ + [ + make + "-j%{jobs}%" + "LIB=%{lib}%" + "SHARE=%{share}%" + "OCUKARCH=arm64" + "%{name}%.install" + ] +] +url { + src: + "https://github.com/mirage/ocaml-unikraft/archive/refs/tags/v1.1.0.tar.gz" + checksum: + "sha256=97b9bdfd07ed0f031954138adbace930790d064ed3a590b9ff46f32f2433fde4" +} +available: os = "linux" +x-maintenance-intent: ["(latest)"] diff --git a/packages/ocaml-unikraft-toolchain-x86_64/ocaml-unikraft-toolchain-x86_64.0.20.0/opam b/packages/ocaml-unikraft-toolchain-x86_64/ocaml-unikraft-toolchain-x86_64.0.20.0/opam new file mode 100644 index 000000000000..a16a517f5299 --- /dev/null +++ b/packages/ocaml-unikraft-toolchain-x86_64/ocaml-unikraft-toolchain-x86_64.0.20.0/opam @@ -0,0 +1,34 @@ +opam-version: "2.0" +maintainer: "samuel@tarides.com" +homepage: "https://github.com/mirage/ocaml-unikraft/" +dev-repo: "git+https://github.com/mirage/ocaml-unikraft.git" +bug-reports: "https://github.com/mirage/ocaml-unikraft/issues" +tags: "org:mirage" +synopsis: + "C toolchain to build an OCaml cross compiler to the freestanding Unikraft x86_64 backends" +description: + "This package provides a C toolchain to build an OCaml cross compiler, suitable for linking with a Unikraft x86_64 unikernel." +authors: "Samuel Hym" +license: "MIT" +depends: [ + "ocaml-unikraft-backend-qemu-x86_64" {= version} | + "ocaml-unikraft-backend-firecracker-x86_64" {= version} +] +build: [ + [ + make + "-j%{jobs}%" + "LIB=%{lib}%" + "SHARE=%{share}%" + "OCUKARCH=x86_64" + "%{name}%.install" + ] +] +url { + src: + "https://github.com/mirage/ocaml-unikraft/archive/refs/tags/v1.1.0.tar.gz" + checksum: + "sha256=97b9bdfd07ed0f031954138adbace930790d064ed3a590b9ff46f32f2433fde4" +} +available: os = "linux" +x-maintenance-intent: ["(latest)"] diff --git a/packages/ocaml-unikraft-x86_64/ocaml-unikraft-x86_64.1.1.0/opam b/packages/ocaml-unikraft-x86_64/ocaml-unikraft-x86_64.1.1.0/opam new file mode 100644 index 000000000000..80a9dd1c23c4 --- /dev/null +++ b/packages/ocaml-unikraft-x86_64/ocaml-unikraft-x86_64.1.1.0/opam @@ -0,0 +1,42 @@ +opam-version: "2.0" +maintainer: "samuel@tarides.com" +homepage: "https://github.com/mirage/ocaml-unikraft/" +dev-repo: "git+https://github.com/mirage/ocaml-unikraft.git" +bug-reports: "https://github.com/mirage/ocaml-unikraft/issues" +tags: "org:mirage" +synopsis: "OCaml cross compiler to the freestanding Unikraft x86_64 backends" +description: + "This package provides an OCaml cross compiler, suitable for linking with a Unikraft x86_64 unikernel." +authors: "Samuel Hym" +license: ["MIT" "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"] +depends: [ + "ocaml" {>= "5.3.0" & <= "5.4.0"} + "ocaml-unikraft-toolchain-x86_64" + "ocamlfind" + "ocaml-src" {build} + "conf-git" {build} +] +build: [ + [ + make + "-j%{jobs}%" + "prefix=%{prefix}%" + "BIN=%{bin}%" + "LIB=%{lib}%" + "SHARE=%{share}%" + "OCUKARCH=x86_64" + "%{name}%.install" + ] +] +install: [ + [make "install-ocaml"] +] +conflicts: ["ocaml-option-bytecode-only"] +url { + src: + "https://github.com/mirage/ocaml-unikraft/archive/refs/tags/v1.1.0.tar.gz" + checksum: + "sha256=97b9bdfd07ed0f031954138adbace930790d064ed3a590b9ff46f32f2433fde4" +} +available: os = "linux" +x-maintenance-intent: ["(latest)"] diff --git a/packages/ocaml-unikraft/ocaml-unikraft.1.1.0/opam b/packages/ocaml-unikraft/ocaml-unikraft.1.1.0/opam new file mode 100644 index 000000000000..124c0b74fac0 --- /dev/null +++ b/packages/ocaml-unikraft/ocaml-unikraft.1.1.0/opam @@ -0,0 +1,15 @@ +opam-version: "2.0" +maintainer: "samuel@tarides.com" +homepage: "https://github.com/mirage/ocaml-unikraft/" +dev-repo: "git+https://github.com/mirage/ocaml-unikraft.git" +bug-reports: "https://github.com/mirage/ocaml-unikraft/issues" +tags: "org:mirage" +synopsis: + "Virtual package to install one of the OCaml default cross compilers to the freestanding Unikraft backends" +description: + "This virtual package ensures that an OCaml cross compiler is available for linking with a Unikraft unikernel as the default `unikraft` ocamlfind toolchain. Explicitly choose one among the ocaml-unikraft-default-* packages to control which one is actually installed." +authors: "Samuel Hym" +license: "MIT" +depends: ["ocaml-unikraft-default-x86_64" | "ocaml-unikraft-default-arm64"] +available: os = "linux" +x-maintenance-intent: ["(latest)"] diff --git a/packages/unikraft-musl/unikraft-musl.0.20.0/opam b/packages/unikraft-musl/unikraft-musl.0.20.0/opam new file mode 100644 index 000000000000..460ac1e73560 --- /dev/null +++ b/packages/unikraft-musl/unikraft-musl.0.20.0/opam @@ -0,0 +1,26 @@ +opam-version: "2.0" +synopsis: "Unikraft's wrapper for musl" +description: "Source package for the musl wrapper for Unikraft" +maintainer: "samuel@tarides.com" +authors: "Unikraft contributors" +license: ["MIT" "BSD-3-Clause"] +homepage: "https://unikraft.org" +bug-reports: "https://github.com/mirage/ocaml-unikraft/issues" +tags: "org:mirage" +install: [ + ["rm" "-rf" ".github"] + ["cp" "-r" "." "%{_:lib}%"] +] +dev-repo: "git+https://github.com/unikraft/lib-musl.git" +url { + src: + "https://github.com/mirage/unikraft-lib-musl/archive/refs/tags/v0.20.0.tar.gz" + checksum: + "sha256=2599591879bb771e8b5e33c33325a804cb20e854283614908ca872807450b820" +} +extra-source "musl-1.2.3.tar.gz" { + src: "https://www.musl-libc.org/releases/musl-1.2.3.tar.gz" + checksum: + "sha256=7d5b0b6062521e4627e099e4c9dc8248d32a30285e959b7eecaa780cf8cfd4a4" +} +x-maintenance-intent: ["(latest)"] diff --git a/packages/unikraft/unikraft.0.20.0/opam b/packages/unikraft/unikraft.0.20.0/opam new file mode 100644 index 000000000000..dc2ed194f58f --- /dev/null +++ b/packages/unikraft/unikraft.0.20.0/opam @@ -0,0 +1,30 @@ +opam-version: "2.0" +synopsis: "Unikraft sources" +description: "Source package for Unikraft" +maintainer: "samuel@tarides.com" +authors: "Unikraft contributors" +license: ["BSD-3-Clause" "MIT" "GPL-2.0-or-later" "GPL-2.0-only"] +homepage: "https://unikraft.org" +bug-reports: "https://github.com/mirage/ocaml-unikraft/issues" +tags: "org:mirage" +depends: [ + "conf-bison" + "conf-flex" + "conf-python-3" +] +install: [ + ["rm" "-rf" ".github" ".gitignore"] + ["cp" "-r" "." "%{_:lib}%"] +] +dev-repo: "git+https://github.com/unikraft/unikraft.git" +url { + src: + "https://github.com/mirage/unikraft/archive/refs/tags/v0.20.0.tar.gz" + checksum: + "sha256=f1e97df806acbd1a0a31ce4ca385e44ab65a1732c92199bd9ef50de4ceca7c76" +} +available: + os = "linux" & + (arch = "arm64" | arch = "x86_64" | arch = "s390x" | arch = "riscv64" | + arch = "ppc64") +x-maintenance-intent: ["(latest)"] From f85d3979c974e727dc18749de90bde80d5973cfc Mon Sep 17 00:00:00 2001 From: shym Date: Tue, 4 Nov 2025 09:31:03 +0100 Subject: [PATCH 3/3] Ignore some CI failures Co-authored-by: Jan Midtgaard --- .../ocaml-unikraft-toolchain-arm64.0.20.0/opam | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/ocaml-unikraft-toolchain-arm64/ocaml-unikraft-toolchain-arm64.0.20.0/opam b/packages/ocaml-unikraft-toolchain-arm64/ocaml-unikraft-toolchain-arm64.0.20.0/opam index 890d6e27c22b..090ce8fda9bd 100644 --- a/packages/ocaml-unikraft-toolchain-arm64/ocaml-unikraft-toolchain-arm64.0.20.0/opam +++ b/packages/ocaml-unikraft-toolchain-arm64/ocaml-unikraft-toolchain-arm64.0.20.0/opam @@ -32,3 +32,4 @@ url { } available: os = "linux" x-maintenance-intent: ["(latest)"] +x-ci-accept-failure: [ "alpine-3.22" "centos-9" "opensuse-15.6" "opensuse-tumbleweed" ]