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))