summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/ocaml.scm31
1 files changed, 31 insertions, 0 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 6a12cb45ee..69a3801e97 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -35,6 +35,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages lynx)
#:use-module (gnu packages m4)
+ #:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@@ -833,3 +834,33 @@ files in these formats.")
(synopsis "Generate modules from OCaml source files")
(description "Generate modules from OCaml source files.")
(license license:lgpl2.1+))) ; with an exception
+
+(define-public ocaml-zarith
+ (package
+ (name "ocaml-zarith")
+ (version "1.4.1")
+ (source (origin
+ (method url-fetch)
+ (uri (ocaml-forge-uri "zarith" version 1574))
+ (sha256
+ (base32
+ "0l36hzmfbvdai2kcgynh13vfdim5x2grnaw61fxqalyjm90c3di3"))))
+ (build-system ocaml-build-system)
+ (native-inputs
+ `(("perl" ,perl)))
+ (inputs
+ `(("gmp" ,gmp)))
+ (arguments
+ `(#:tests? #f ; no test target
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key #:allow-other-keys)
+ (zero? (system* "./configure")))))))
+ (home-page "https://forge.ocamlcore.org/projects/zarith/")
+ (synopsis "Implements arbitrary-precision integers")
+ (description "Implements arithmetic and logical operations over
+arbitrary-precision integers. It uses GMP to efficiently implement arithmetic
+over big integers. Small integers are represented as Caml unboxed integers,
+for speed and space economy.")
+ (license license:lgpl2.1+))) ; with an exception