guix_mirror_bot pushed a commit to branch ocaml-team
in repository guix.

commit c5564bac1bb08a1ecb05fdf0a5299bb92610a3e7
Author: Jason Conroy <[email protected]>
AuthorDate: Wed Feb 4 09:55:04 2026 -0500

    gnu: ocaml5: Add ocaml-0install-solver.
    
    * gnu/packages/ocaml5.scm (ocaml-0install-solver): New variable.
    
    Change-Id: I1b17b5ed0cffb2e192299e82a286db23c74df620
    Signed-off-by: Julien Lepiller <[email protected]>
---
 gnu/packages/ocaml5.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/ocaml5.scm b/gnu/packages/ocaml5.scm
index 4f787370df..b6faff0964 100644
--- a/gnu/packages/ocaml5.scm
+++ b/gnu/packages/ocaml5.scm
@@ -2218,6 +2218,35 @@ for day to day programming.")
     ;; With static-linking exception
     (license license:lgpl2.1+)))
 
+(define-public ocaml-0install-solver
+  (package
+    (name "ocaml5-0install-solver")
+    (version "2.18")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/0install/0install";)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1hm72k355qwgh16hngmnd77bgawf20ipnqxfncdzl10rqrc0640b"))))
+    (build-system dune-build-system)
+    (arguments
+     `(#:package "0install-solver"))
+    (native-inputs (list ocaml-ounit2))
+    (home-page "https://docs.0install.net/developers/solver/";)
+    (synopsis "Package dependency solver")
+    (description
+     "This package provides a package dependency resolver based on a SAT 
solver.  This
+was originally written for the 0install package manager, but is now generic and
+is also used as a solver backend for opam.  The SAT solver is based on
+@code{MiniSat} (http://minisat.se/Papers.html) and the application to package
+management is based on OPIUM (Optimal Package Install/Uninstall Manager).
+0install-solver uses a (novel?) strategy to find the optimal solution extremely
+quickly (even for a SAT-based solver).")
+    (license license:lgpl2.1+)))
+
 ;;;
 ;;; Avoid adding new packages to the end of this file. To reduce the chances
 ;;; of a merge conflict, place them above by existing packages with similar

Reply via email to