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

commit 290dceb32389f16adff2256cb15b8a03ca2d7194
Author: Jason Conroy <[email protected]>
AuthorDate: Sun Dec 21 10:55:04 2025 -0500

    gnu: ocaml: Move ocaml5.3-findlib to module `ocaml5`.
    
    * gnu/packages/ocaml.scm (ocaml5.3-findlib): Delete variable.
    * gnu/packages/ocaml5.scm (ocaml5.3-findlib): New variables.
    * guix/build-system/ocaml.scm (default-ocaml5.3-findlib): Update package
    reference.
    
    Change-Id: Idb58f33850f960cfa1ad49a3f897ad17e0383e93
    Signed-off-by: Julien Lepiller <[email protected]>
---
 gnu/packages/ocaml.scm      | 13 +++--------
 gnu/packages/ocaml5.scm     | 55 +++++++++++++++++++++++++++++++++++++++++++++
 guix/build-system/ocaml.scm |  2 +-
 3 files changed, 59 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index c613af7077..46d1dfecad 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1605,13 +1605,6 @@ compilers that can directly deal with packages.")
     (native-inputs
      (list m4 ocaml5:ocaml-5.0))))
 
-(define-public ocaml5.3-findlib
-  (package
-    (inherit ocaml-findlib)
-    (name "ocaml5.3-findlib")
-    (native-inputs
-     (list m4 ocaml5:ocaml-5.3))))
-
 (define-public ocaml-ounit2
   (package
     (name "ocaml-ounit2")
@@ -2015,7 +2008,7 @@ config.h files for instance.  Among other things, 
dune-configurator allows one t
      `(,@(package-arguments dune-configurator)
        #:dune ,ocaml5.3-dune-bootstrap
        #:ocaml ,ocaml5:ocaml-5.3
-       #:findlib ,ocaml5.3-findlib))
+       #:findlib ,ocaml5:ocaml5.3-findlib))
     (propagated-inputs (list ocaml5.3-csexp))))
 
 (define-public dune
@@ -2233,7 +2226,7 @@ module of this library is parameterised by the type of 
S-expressions.")
     (name "ocaml5.3-csexp")
     (arguments
      `(#:ocaml ,ocaml5:ocaml-5.3
-       #:findlib ,ocaml5.3-findlib
+       #:findlib ,ocaml5:ocaml5.3-findlib
        ,@(substitute-keyword-arguments (package-arguments ocaml-csexp)
            ((#:dune _) ocaml5.3-dune-bootstrap))))
     (propagated-inputs
@@ -2392,7 +2385,7 @@ defined in this library.")
     (arguments
      `(#:dune ,ocaml5.3-dune-bootstrap
        #:ocaml ,ocaml5:ocaml-5.3
-       #:findlib ,ocaml5.3-findlib))))
+       #:findlib ,ocaml5:ocaml5.3-findlib))))
 
 (define-public ocaml-iso8601
   (package
diff --git a/gnu/packages/ocaml5.scm b/gnu/packages/ocaml5.scm
index 5634f03e78..4288985c17 100644
--- a/gnu/packages/ocaml5.scm
+++ b/gnu/packages/ocaml5.scm
@@ -52,6 +52,7 @@
 (define-module (gnu packages ocaml5)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gcc)
+  #:use-module (gnu packages m4)
   #:use-module (gnu packages parallel)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -143,6 +144,60 @@ functional, imperative and object-oriented styles of 
programming.")
                (base32
                 "05jhy9zn53v12rn3sg3vllqf5blv1gp7f06803npimc58crxy6rv"))))))
 
+(define-public ocaml5.3-findlib
+  (package
+    (name "ocaml5.3-findlib")
+    (version "1.9.8")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ocaml/ocamlfind";)
+             (commit (string-append "findlib-" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1a0mxwf3mwl2n6ryqqsvcg73ly8ji0xi0xa2v1p02695495grkki"))))
+    (build-system gnu-build-system)
+    (native-inputs (list m4 ocaml-5.3))
+    (arguments
+     `(#:tests? #f ;no test suite
+       #:parallel-build? #f
+       #:make-flags (list "all" "opt")
+       #:phases (modify-phases %standard-phases
+                  (replace 'configure
+                    (lambda* (#:key inputs outputs #:allow-other-keys)
+                      (let ((out (assoc-ref outputs "out")))
+                        (invoke "./configure"
+                                "-bindir"
+                                (string-append out "/bin")
+                                "-config"
+                                (string-append out "/etc/ocamfind.conf")
+                                "-mandir"
+                                (string-append out "/share/man")
+                                "-sitelib"
+                                (string-append out "/lib/ocaml/site-lib")
+                                "-with-toolbox"))))
+                  (replace 'install
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let ((out (assoc-ref outputs "out")))
+                        (invoke "make" "install"
+                                (string-append "OCAML_CORE_STDLIB=" out
+                                               "/lib/ocaml/site-lib"))))))))
+    (home-page "http://projects.camlcity.org/projects/findlib.html";)
+    (synopsis "Management tool for OCaml libraries")
+    (description
+     "The \"findlib\" library provides a scheme to manage reusable software
+components (packages), and includes tools that support this scheme.  Packages
+are collections of OCaml modules for which metainformation can be stored.  The
+packages are kept in the file system hierarchy, but with strict directory
+structure.  The library contains functions to look the directory up that
+stores a package, to query metainformation about a package, and to retrieve
+dependency information about multiple packages.  There is also a tool that
+allows the user to enter queries on the command-line.  In order to simplify
+compilation and linkage, there are new frontends of the various OCaml
+compilers that can directly deal with packages.")
+    (license license:x11)))
+
 ;;;
 ;;; 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
diff --git a/guix/build-system/ocaml.scm b/guix/build-system/ocaml.scm
index f709a85b80..45bae9baee 100644
--- a/guix/build-system/ocaml.scm
+++ b/guix/build-system/ocaml.scm
@@ -134,7 +134,7 @@
   (@* (gnu packages ocaml5) ocaml-5.3))
 
 (define (default-ocaml5.3-findlib)
-  (@* (gnu packages ocaml) ocaml5.3-findlib))
+  (@* (gnu packages ocaml5) ocaml5.3-findlib))
 
 (define (default-ocaml5.3-dune)
   (@* (gnu packages ocaml) ocaml5.3-dune))

Reply via email to