summary refs log tree commit diff
path: root/gnu/packages/ocaml.scm
diff options
context:
space:
mode:
authorraingloom <raingloom@riseup.net>2023-02-15 23:00:12 +0100
committerChristopher Baines <mail@cbaines.net>2023-02-17 15:44:56 +0000
commit3831cdad63d8b93f7b1e904811e0adce6d55bd63 (patch)
tree685719ac18e673cc8c5994fc6bd95c0a2edc38e2 /gnu/packages/ocaml.scm
parentf52c3fb9ee7169df2f9c2c819cf2c70c2149f865 (diff)
downloadguix-3831cdad63d8b93f7b1e904811e0adce6d55bd63.tar.gz
gnu: Add ocaml-intrinsics.
* gnu/packages/ocaml.scm (ocaml-intrinsics): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
Diffstat (limited to 'gnu/packages/ocaml.scm')
-rw-r--r--gnu/packages/ocaml.scm29
1 files changed, 29 insertions, 0 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 9cd2256d09..d4240162e8 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -9219,6 +9219,35 @@ between Bigstrings and other string-like types.  @code{bigstringaf} provides
 these missing pieces.")
     (license license:bsd-3)))
 
+(define-public ocaml-intrinsics
+  (package
+    (name "ocaml-intrinsics")
+    (version "0.15.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/janestreet/ocaml_intrinsics")
+                    (commit (string-append "v" version))))
+              (file-name name)
+              (sha256
+               (base32
+                "1mazr1ka2zlm2s8bw5i555cnhi1bmr9yxvpn29d3v4m8lsnfm73z"))))
+    (build-system dune-build-system)
+    ;; TODO figure out how to get around this error:
+    ;; No rule found for alias test/runtime-deps-of-tests
+    (arguments
+     '(#:tests? #f))
+    (propagated-inputs (list dune-configurator))
+    (native-inputs (list ocaml-expect-test-helpers-core ocaml-core))
+    (properties `((upstream-name . "ocaml_intrinsics")))
+    (home-page "https://github.com/janestreet/ocaml_intrinsics")
+    (synopsis "AMD64 intrinsics with emulated fallbacks")
+    (description
+     "Provides an OCaml interface to operations that have dedicated hardware
+instructions on some micro-architectures, with default implementations using C
+stubs for all targets.")
+    (license license:expat)))
+
 (define-public ocaml-trie
   (package
     (name "ocaml-trie")