From 0b23fa530dc9b77d5c1bdbeebd7a068e6d073faa Mon Sep 17 00:00:00 2001 From: Carine Morel Date: Thu, 5 Dec 2024 10:22:56 +0100 Subject: [PATCH] Fix deps and update deps for OCaml, backoff and qcheck-stm libs (#175) * Change deps oo backoff and qcheck-stm. * Change deps on OCaml version to avoid ocaml >= 5.0.0 and < 5.2.0 * Remove github action related to ocalm 5.0.0 and 5.1.0 --- .github/workflows/main.yml | 2 -- README.md | 8 ++++---- dune-project | 7 ++++--- saturn.opam | 7 ++++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1838869d..f950b626 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -15,8 +15,6 @@ jobs: fail-fast: false matrix: ocaml-compiler: - - ocaml.5.0.0,ocaml-option-mingw - - ocaml.5.1.1,ocaml-option-mingw - ocaml.5.2.0,ocaml-option-mingw runs-on: windows-latest diff --git a/README.md b/README.md index f4259e02..7ea4b404 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ You can learn more about the **motivation** behind `Saturn` through the implemen - [Saturn — Parallelism-Safe Data Structures for Multicore OCaml](#saturn--parallelism-safe-data-structures-for-multicore-ocaml) - [Contents](#contents) - [Installation](#installation) - - [Getting OCaml 5.0](#getting-ocaml-50) + - [Getting OCaml 5.2.0](#getting-ocaml-520) - [Getting Saturn](#getting-saturn) - [Provided data structures](#provided-data-structures) - [Treiber Lock-free Stack](#treiber-lock-free-stack) @@ -50,11 +50,11 @@ You can learn more about the **motivation** behind `Saturn` through the implemen # Installation -## Getting OCaml 5.0 +## Getting OCaml 5.2.0 -You’ll need OCaml 5.0.0 or later. Note that Saturn also works with OCaml 4.14, but only for compatibility reasons, as parallelism-safe data structures are not needed without OCaml 5.0. We also recommend using OCaml 5.2 or later, as some bugs in the `Atomic` module have been fixed. +To use Saturn, you need OCaml 5.2.0 or later. While Saturn is compatible with OCaml 4.14, this is primarily for compatibility purposes, as parallelism-safe data structures are not required without OCaml 5. Note that versions of OCaml 5 prior to 5.2 are not supported due to bugs in the `Atomic` module that affect the functionality of some data structures. -To install OCaml 5.0 yourself, first make sure you have opam 2.1 or later. You +To install OCaml 5.2.0 yourself, first make sure you have opam 2.1 or later. You can run this command to check: ```sh diff --git a/dune-project b/dune-project index 9fe76bba..ce1c5c95 100644 --- a/dune-project +++ b/dune-project @@ -13,8 +13,8 @@ (name saturn) (synopsis "Collection of concurent-safe data structures for Multicore OCaml") (depends - (ocaml (>= 4.14)) - (backoff (>= 0.1.0)) + (ocaml (or (and (>= 4.14) (< 5.0.0)) (>= 5.2.0))) + (backoff (>= 0.1.1)) (multicore-magic (>= 2.3.0)) (alcotest (and (>= 1.7.0) :with-test)) (domain_shims (and (>= 0.1.0) :with-test)) @@ -25,7 +25,8 @@ (qcheck (and (>= 0.21.3) :with-test)) (qcheck-alcotest (and (>= 0.21.3) :with-test)) (qcheck-core (and (>= 0.21.3) :with-test)) - (qcheck-stm (and (>= 0.3) :with-test)) + (qcheck-stm (and (>= 0.4) :with-test)) + (qcheck-multicoretests-util (and (>= 0.4) :with-test)) (yojson (and (>= 2.0.2) :with-test)) (sherlodoc (and (>= 0.2) :with-doc)) (odoc (and (>= 2.4.1) :with-doc)))) diff --git a/saturn.opam b/saturn.opam index 0fa88fcb..ce03373b 100644 --- a/saturn.opam +++ b/saturn.opam @@ -9,8 +9,8 @@ doc: "https://ocaml-multicore.github.io/saturn/" bug-reports: "https://github.com/ocaml-multicore/saturn/issues" depends: [ "dune" {>= "3.14"} - "ocaml" {>= "4.14"} - "backoff" {>= "0.1.0"} + "ocaml" {>= "4.14" & < "5.0.0" | >= "5.2.0"} + "backoff" {>= "0.1.1"} "multicore-magic" {>= "2.3.0"} "alcotest" {>= "1.7.0" & with-test} "domain_shims" {>= "0.1.0" & with-test} @@ -21,7 +21,8 @@ depends: [ "qcheck" {>= "0.21.3" & with-test} "qcheck-alcotest" {>= "0.21.3" & with-test} "qcheck-core" {>= "0.21.3" & with-test} - "qcheck-stm" {>= "0.3" & with-test} + "qcheck-stm" {>= "0.4" & with-test} + "qcheck-multicoretests-util" {>= "0.4" & with-test} "yojson" {>= "2.0.2" & with-test} "sherlodoc" {>= "0.2" & with-doc} "odoc" {>= "2.4.1" & with-doc}