summary refs log tree commit diff
diff options
context:
space:
mode:
authorraingloom <raingloom@riseup.net>2023-02-15 22:59:53 +0100
committerChristopher Baines <mail@cbaines.net>2023-02-17 15:44:53 +0000
commit2dbf7055a5c83adbde5d9fe0b822316bea360cf5 (patch)
tree5013dca1e075ddb277ba492d216ccd075d1947fc
parenta0606cc03e942750ec578ae9600537b54514a582 (diff)
downloadguix-2dbf7055a5c83adbde5d9fe0b822316bea360cf5.tar.gz
gnu: Add ocaml-opam-monorepo.
* gnu/packages/ocaml.scm (ocaml-opam-monorepo): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
-rw-r--r--gnu/packages/ocaml.scm33
1 files changed, 33 insertions, 0 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index e3e63c26b4..d9b0d74c80 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -976,6 +976,39 @@ Git-friendly development workflow.")
     ;; The 'LICENSE' file waives some requirements compared to LGPLv3.
     (license license:lgpl3)))
 
+(define-public ocaml-opam-monorepo
+  (package
+    (name "ocaml-opam-monorepo")
+    (version "0.3.5")
+    (source (origin
+              (method git-fetch)
+              (uri
+               (git-reference
+                (url "https://github.com/tarides/opam-monorepo/")
+                (commit version)))
+              (file-name name)
+              (sha256
+               (base32
+                "09lq788b1sai4v1nxd16b00pw0m55plcwrx3f9v5a90gpxg0a6sc"))))
+    (build-system dune-build-system)
+    (arguments
+     ;; TODO
+     ;; Too many tests require a fully initialized opam, disabling them would
+     ;; be a huge pain.  "Mocking" opam init is difficult because it requires
+     ;; networking access.
+     '(#:tests? #f))
+    ;; TODO: not entirely clear if these should be native, test cross-building
+    (native-inputs (list ocaml-odoc
+                         pkg-config))
+    ;; (propagated-inputs lablgtk3) optional and is currently failing to build
+    (home-page "https://github.com/tarides/opam-monorepo")
+    (synopsis "Assemble and manage fully vendored Dune repositories")
+    (description
+     "The opam monorepo plugin provides a convenient interface to bridge the
+opam package manager with having a local copy of all the source code required
+to build a project using the dune build tool.")
+    (license license:isc)))
+
 (define-public ocaml-camlp-streams
   (package
     (name "ocaml-camlp-streams")