[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
09/11: gnu: Add ocaml-cstruct.
From: |
julien lepiller |
Subject: |
09/11: gnu: Add ocaml-cstruct. |
Date: |
Tue, 6 Jun 2017 15:10:00 -0400 (EDT) |
roptat pushed a commit to branch master
in repository guix.
commit 0090b89564a869c6b25cf2b5e4b5cfafa38d5d55
Author: Julien Lepiller <address@hidden>
Date: Sun May 28 15:33:28 2017 +0200
gnu: Add ocaml-cstruct.
* gnu/packages/ocaml.scm (ocaml-cstruct): New variable.
---
gnu/packages/ocaml.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 3e83375..3ee90aa 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3088,3 +3088,45 @@ and bigarrays, based on new primitives added in version
4.01. It works on
strings, bytes and bigstring (Bigarrys of chars), and provides submodules for
big- and little-endian, with their unsafe counter-parts.")
(license license:lgpl2.1)))
+
+(define-public ocaml-cstruct
+ (package
+ (name "ocaml-cstruct")
+ (version "2.3.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/mirage/ocaml-cstruct/"
+ "archive/v" version ".tar.gz"))
+ (sha256
+ (base32
+ "15qpdc8421shq4pprdas9jznpva45229wkfqbwcxw9khaiiz7949"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system ocaml-build-system)
+ (arguments
+ `(#:configure-flags
+ (list "--enable-lwt" "--enable-async")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'link-stubs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (stubs (string-append out "/lib/ocaml/site-lib/stubslibs"))
+ (lib (string-append out "/lib/ocaml/site-lib/cstruct")))
+ (mkdir-p stubs)
+ (symlink (string-append lib "/dllcstruct_stubs.so")
+ (string-append stubs "/dllcstruct_stubs.so"))))))))
+ (native-inputs
+ `(("ounit" ,ocaml-ounit)
+ ("ppx-tools" ,ocaml-ppx-tools)
+ ("camlp4" ,camlp4)))
+ (propagated-inputs
+ `(("ocplib-endian" ,ocaml-ocplib-endian)
+ ("lwt" ,ocaml-lwt)
+ ("async" ,ocaml-async)
+ ("sexplib" ,ocaml-sexplib)))
+ (home-page "https://github.com/mirage/ocaml-cstruct")
+ (synopsis "Access C structures via a camlp4 extension")
+ (description "Cstruct is a library and syntax extension to make it easier
+to access C-like structures directly from OCaml. It supports both reading and
+writing to these structures, and they are accessed via the Bigarray module.")
+ (license license:isc)))
- branch master updated (de31088 -> 50cbbc9), julien lepiller, 2017/06/06
- 03/11: gnu: Add ocaml-async-rpc-kernel., julien lepiller, 2017/06/06
- 02/11: gnu: Add ocaml-async-kernel., julien lepiller, 2017/06/06
- 09/11: gnu: Add ocaml-cstruct.,
julien lepiller <=
- 01/11: gnu: Add ocaml-core-kernel., julien lepiller, 2017/06/06
- 05/11: gnu: Add ocaml-async-unix., julien lepiller, 2017/06/06
- 07/11: gnu: Add ocaml-async., julien lepiller, 2017/06/06
- 11/11: gnu: coq: Add search-paths for coq libraries., julien lepiller, 2017/06/06
- 06/11: gnu: Add ocaml-async-extra., julien lepiller, 2017/06/06
- 04/11: gnu: Add ocaml-core., julien lepiller, 2017/06/06
- 10/11: gnu: Add ocaml-hex., julien lepiller, 2017/06/06
- 08/11: gnu: Add ocaml-ocplib-endian., julien lepiller, 2017/06/06