aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/ocaml.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/ocaml.scm')
-rw-r--r--gnu/packages/ocaml.scm246
1 files changed, 246 insertions, 0 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 863e367a5b..68619019f1 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -448,6 +448,10 @@ written in Objective Caml.")
(sha256
(base32
"0wyywia0darak2zmc5v0ra9rn0b9whwdfiahralm8v5za499s8w3"))))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "COQPATH")
+ (files (list "lib/coq/user-contrib")))))
(build-system gnu-build-system)
(native-inputs
`(("texlive" ,texlive)
@@ -2907,3 +2911,245 @@ the expected output.")
(synopsis "Standard Jane Street ppx rewriters")
(description "Ppx_jane is a ppx_driver including all standard ppx rewriters.")
(license license:asl2.0)))
+
+(define-public ocaml-core-kernel
+ (package
+ (name "ocaml-core-kernel")
+ (version "113.33.03")
+ (source (janestreet-origin "core_kernel" version
+ "0fl23jrwivixawhxinbwaw9cabqnzn7fini7dxpxjjvkxdc8ip5y"))
+ (native-inputs
+ `(("js-build-tools" ,ocaml-js-build-tools)
+ ("ppx-jane" ,ocaml-ppx-jane)
+ ("opam" ,opam)))
+ (propagated-inputs
+ `(("bin_prot" ,ocaml-bin-prot)
+ ("ppx-assert" ,ocaml-ppx-assert)
+ ("ppx-bench" ,ocaml-ppx-bench)
+ ("ppx-driver" ,ocaml-ppx-driver)
+ ("ppx-expect" ,ocaml-ppx-expect)
+ ("ppx-inline-test" ,ocaml-ppx-inline-test)
+ ("typerep" ,ocaml-typerep)
+ ("sexplib" ,ocaml-sexplib)
+ ("variantslib" ,ocaml-variantslib)
+ ("result" ,ocaml-result)
+ ("fieldslib" ,ocaml-fieldslib)))
+ (build-system ocaml-build-system)
+ (arguments janestreet-arguments)
+ (home-page "https://github.com/janestreet/core_kernel/")
+ (synopsis "Portable standard library for OCaml")
+ (description "Core is an alternative to the OCaml standard library.
+
+Core_kernel is the system-independent part of Core. It is aimed for cases when
+the full Core is not available, such as in Javascript.")
+ (license license:asl2.0)))
+
+(define-public ocaml-async-kernel
+ (package
+ (name "ocaml-async-kernel")
+ (version "113.33.03")
+ (source (janestreet-origin "async_kernel" version
+ "04bjsaa23j831r09r38x6xx9nhryvp0z5ihickvhxqa4fb2snyvd"))
+ (native-inputs
+ `(("oasis" ,ocaml-oasis)
+ ("js-build-tools" ,ocaml-js-build-tools)
+ ("ppx-jane" ,ocaml-ppx-jane)
+ ("opam" ,opam)))
+ (propagated-inputs
+ `(("core-kernel" ,ocaml-core-kernel)))
+ (build-system ocaml-build-system)
+ (arguments janestreet-arguments)
+ (home-page "https://github.com/janestreet/async_kernel/")
+ (synopsis "Monadic concurrency library")
+ (description "Async-kernel is a library for concurrent programming in OCaml.")
+ (license license:asl2.0)))
+
+(define-public ocaml-async-rpc-kernel
+ (package
+ (name "ocaml-async-rpc-kernel")
+ (version "113.33.03")
+ (source (janestreet-origin "async_rpc_kernel" version
+ "0y97h9pkb00v7jpf87m8cbb0ffkclj9g26ph6sq97q8dpisnkjwh"))
+ (native-inputs
+ `(("oasis" ,ocaml-oasis)
+ ("js-build-tools" ,ocaml-js-build-tools)
+ ("ppx-jane" ,ocaml-ppx-jane)
+ ("opam" ,opam)))
+ (propagated-inputs
+ `(("async-kernel" ,ocaml-async-kernel)))
+ (build-system ocaml-build-system)
+ (arguments janestreet-arguments)
+ (home-page "https://github.com/janestreet/async_rpc_kernel/")
+ (synopsis "Platform-independent core of the Async RPC library")
+ (description "Async_rpc_kernel is the platform-independent core of
+the Async RPC library.")
+ (license license:asl2.0)))
+
+(define-public ocaml-core
+ (package
+ (name "ocaml-core")
+ (version "113.33.03")
+ (source (janestreet-origin "core" version
+ "1znll157qg56g9d3247fjibv1hxv3r9wxgr4nhy19j2vzdh6a268"))
+ (native-inputs
+ `(("oasis" ,ocaml-oasis)
+ ("js-build-tools" ,ocaml-js-build-tools)
+ ("ppx-jane" ,ocaml-ppx-jane)
+ ("opam" ,opam)))
+ (propagated-inputs
+ `(("core-kernel" ,ocaml-core-kernel)))
+ (build-system ocaml-build-system)
+ (arguments janestreet-arguments)
+ (home-page "https://github.com/janestreet/core/")
+ (synopsis "Alternative to OCaml's standard library")
+ (description "The Core suite of libraries is an alternative to OCaml's
+standard library that was developed by Jane Street.")
+ (license license:asl2.0)))
+
+(define-public ocaml-async-unix
+ (package
+ (name "ocaml-async-unix")
+ (version "113.33.03")
+ (source (janestreet-origin "async_unix" version
+ "1fwl0lfrizllcfjk8hk8m7lsz9ha2jg6qgk4gssfyz377qvpcq4h"))
+ (native-inputs
+ `(("oasis" ,ocaml-oasis)
+ ("js-build-tools" ,ocaml-js-build-tools)
+ ("ppx-jane" ,ocaml-ppx-jane)
+ ("opam" ,opam)))
+ (propagated-inputs
+ `(("async-kernel" ,ocaml-async-kernel)
+ ("core" ,ocaml-core)))
+ (build-system ocaml-build-system)
+ (arguments janestreet-arguments)
+ (home-page "https://github.com/janestreet/async_unix")
+ (synopsis "Asynchronous execution library for Unix")
+ (description "Async_unix is an asynchronous execution library for Unix.")
+ (license license:asl2.0)))
+
+(define-public ocaml-async-extra
+ (package
+ (name "ocaml-async-extra")
+ (version "113.33.03")
+ (source (janestreet-origin "async_extra" version
+ "1si8jgiq5xh5sl9f2b7f9p17p7zx5h1pg557x2cxywi2x7pxqg4f"))
+ (native-inputs
+ `(("oasis" ,ocaml-oasis)
+ ("js-build-tools" ,ocaml-js-build-tools)
+ ("ppx-jane" ,ocaml-ppx-jane)
+ ("opam" ,opam)))
+ (propagated-inputs
+ `(("async-rpc-kernel" ,ocaml-async-rpc-kernel)
+ ("async-unix" ,ocaml-async-unix)
+ ("core" ,ocaml-core)))
+ (build-system ocaml-build-system)
+ (arguments janestreet-arguments)
+ (home-page "https://github.com/janestreet/async_extra")
+ (synopsis "Extra functionnalities for the async library")
+ (description "Async_extra provides additional functionnalities for the
+async library.")
+ (license license:asl2.0)))
+
+(define-public ocaml-async
+ (package
+ (name "ocaml-async")
+ (version "113.33.03")
+ (source (janestreet-origin "async" version
+ "0210fyhcs12kpmmd26015bgivkfd2wqkyn3c5wd7688d0f872y25"))
+ (native-inputs
+ `(("oasis" ,ocaml-oasis)
+ ("js-build-tools" ,ocaml-js-build-tools)
+ ("ppx-jane" ,ocaml-ppx-jane)
+ ("opam" ,opam)))
+ (propagated-inputs
+ `(("async-extra" ,ocaml-async-extra)))
+ (build-system ocaml-build-system)
+ (arguments janestreet-arguments)
+ (home-page "https://github.com/janestreet/async")
+ (synopsis "Monadic concurrency library")
+ (description "Async is a library for concurrent programming in OCaml.")
+ (license license:asl2.0)))
+
+(define-public ocaml-ocplib-endian
+ (package
+ (name "ocaml-ocplib-endian")
+ (version "1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/OCamlPro/ocplib-endian/"
+ "archive/" version ".tar.gz"))
+ (sha256
+ (base32
+ "0hwj09rnzjs0m0kazz5h2mgs6p95j0zlga8cda5srnzqmzhniwkn"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system ocaml-build-system)
+ (native-inputs `(("cppo" ,ocaml-cppo)))
+ (home-page "https://github.com/OCamlPro/ocplib-endian")
+ (synopsis "Optimised functions to read and write int16/32/64 from strings
+and bigarrays")
+ (description "Optimised functions to read and write int16/32/64 from strings
+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)))
+
+(define-public ocaml-hex
+ (package
+ (name "ocaml-hex")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/mirage/ocaml-hex/"
+ "archive/" version ".tar.gz"))
+ (sha256
+ (base32
+ "0s63g0b8gfv2xm6fv6xg7bva8h76b5pcjb0zw3f8cygs0lq9072v"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system ocaml-build-system)
+ (propagated-inputs `(("cstruct" ,ocaml-cstruct)))
+ (home-page "https://github.com/mirage/ocaml-hex/")
+ (synopsis "Minimal library providing hexadecimal converters")
+ (description "Hex is a minimal library providing hexadecimal converters.")
+ (license license:isc)))