summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorpukkamustard <pukkamustard@posteo.net>2022-12-16 13:25:16 +0000
committerJulien Lepiller <julien@lepiller.eu>2022-12-21 22:09:23 +0100
commit8160d05e83d8b9284d3c6b18218cf639db90141b (patch)
tree8f7c9643f88775f55c0ac3c045c8b568e7ee485c /gnu
parent74f5ddef813b38e26ea0a6339fe732670b8ad8bc (diff)
downloadguix-8160d05e83d8b9284d3c6b18218cf639db90141b.tar.gz
gnu: Add ocaml5.0-ctypes
* gnu/packages/ocaml.scm (ocaml5.0-ctypes): New variable.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/ocaml.scm28
1 files changed, 28 insertions, 0 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index cb845b7ead..9040748fce 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4800,6 +4800,7 @@ long and size_t whose sizes depend on the host platform.")
       ("integers" ,ocaml-integers)))
    (inputs
     (list libffi))
+   (properties `((ocaml5.0-variant . ,(delay ocaml5.0-ctypes))))
    (synopsis "Library for binding to C libraries using pure OCaml")
    (description "Ctypes is a library for binding to C libraries using pure
 OCaml.  The primary aim is to make writing C extensions as straightforward as
@@ -4810,6 +4811,33 @@ functions that you want to call, then bind directly to those functions -- all
 without writing or generating any C!")
    (license license:expat)))
 
+(define-public ocaml5.0-ctypes
+  ;; Contains fix to support OCaml 5.0
+  ;; (https://github.com/ocamllabs/ocaml-ctypes/pull/709)
+  (let ((commit "52ff621f47dbc1ee5a90c30af0ae0474549946b4")
+        (revision "0"))
+    (package-with-ocaml5.0
+     (package
+       (inherit ocaml-ctypes)
+       (name "ocaml-ctypes")
+       (version (git-version "0.20.1" revision commit))
+       (home-page "https://github.com/ocamllabs/ocaml-ctypes")
+       (arguments
+        (append
+         ;; Some tests fail. Failure seems to be due to OCaml 5.0.
+         `(#:tests? #f)
+         (package-arguments ocaml-ctypes)))
+       (source (origin
+                 (method git-fetch)
+                 (uri (git-reference
+                       (url home-page)
+                       (commit commit)))
+                 (file-name (git-file-name name version))
+                 (sha256
+                  (base32
+                   "0vyiryqchz0mdfhal7bdivqsk5yhvzzckrqv495rlpbdxzklcp7g"))))
+       (properties '())))))
+
 (define-public ocaml-ocb-stubblr
   (package
    (name "ocaml-ocb-stubblr")