summary refs log tree commit diff
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2016-12-30 11:44:15 +0100
committerDavid Craven <david@craven.ch>2017-01-04 17:41:11 +0100
commit6548e53fcbb125062719a9324ff65f6994e7b847 (patch)
treed1b614cd67571dd7fad89f13e3094c41c79e3995
parenteb1ba731857ba6c65a4ad63211ad46e2358905bb (diff)
downloadguix-6548e53fcbb125062719a9324ff65f6994e7b847.tar.gz
gnu: Add ocaml-cmdliner.
* gnu/packages/ocaml.scm (ocaml-cmdliner): New variable.

Signed-off-by: David Craven <david@craven.ch>
-rw-r--r--gnu/packages/ocaml.scm30
1 files changed, 30 insertions, 0 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 8a1453210e..25c0815786 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1182,3 +1182,33 @@ library.")
     (description "Access monotonic wall-clock time.  It allows to measure time
 spans without being subject to operating system calendar time adjustments.")
     (license license:isc)))
+
+(define-public ocaml-cmdliner
+  (package
+    (name "ocaml-cmdliner")
+    (version "0.9.8")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://erratique.ch/software/cmdliner/releases/"
+                                  "cmdliner-" version ".tbz"))
+              (sha256
+               (base32
+                "0hdxlkgiwjml9dpaa80282a8350if7mc1m6yz2mrd7gci3fszykx"))))
+    (build-system ocaml-build-system)
+    (native-inputs
+     `(("opam" ,opam)))
+    (arguments
+     `(#:tests? #f
+       #:build-flags '("native=true" "native-dynlink=true")
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure))))
+    (home-page "http://erratique.ch/software/cmdliner")
+    (synopsis "Declarative definition of command line interfaces for OCaml")
+    (description "Cmdliner is a module for the declarative definition of command
+line interfaces.  It provides a simple and compositional mechanism to convert
+command line arguments to OCaml values and pass them to your functions.  The
+module automatically handles syntax errors, help messages and UNIX man page
+generation. It supports programs with single or multiple commands and respects
+most of the POSIX and GNU conventions.")
+    (license license:bsd-3)))