Subject: [bug#60673] [PATCH 23/39] gnu: Add ocaml-intrinsics.

From: Csepp <[email-masked]>
Date: Mon, 9 Jan 2023 01:35:13 +0100

From: raingloom <[email-masked]>

* gnu/packages/ocaml.scm (ocaml-intrinsics): New variable.
---
 gnu/packages/ocaml.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index fb3332a5dd..b82c3b4cd0 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -9209,6 +9209,34 @@ (define-public ocaml-bigstringaf
 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")
-- 
2.38.1