Erwan Jahier wrote 3 weeks ago
(address . guix-patches@gnu.org)(name . Erwan Jahier)(address . erwan.jahier@univ-grenoble-alpes.fr)
commit bb7c5f2a15296ee0541807d3abe6ce15edea09a3
Author: erwan <erwan.jahier@univ-grenoble-alpes.fr>
gnu: ocaml-ctypes: update to 0.23.0
* gnu/packages/ocaml.scm (ocaml-ctypes): update to 0.23.0 and switch to the
dune building system.
Toggle diff (74 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index f265aee249..16ab7c1e44 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5643,10 +5643,10 @@ (define-public ocaml-integers
(define-public ocaml-ctypes
(package
- (name "ocaml-ctypes")
- (version "0.20.1")
- (home-page "https://github.com/ocamllabs/ocaml-ctypes")
- (source (origin
+ (name "ocaml-ctypes")
+ (version "0.23.0")
+ (home-page "https://github.com/yallop/ocaml-ctypes")
+ (source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
@@ -5654,35 +5654,25 @@ (define-public ocaml-ctypes
(file-name (git-file-name name version))
(sha256
(base32
- "0ilzq9qzvwv9rc08cc9wchsx636zp870i7qvqmbigaa2qb812m0z"))))
- (build-system ocaml-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'make-writable
- (lambda _
- (for-each make-file-writable
- (find-files "."))))
- (delete 'configure))))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("ounit" ,ocaml-ounit)
- ("lwt" ,ocaml-lwt)))
- (propagated-inputs
- `(("bigarray-compat" ,ocaml-bigarray-compat)
- ("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
-possible. The core of ctypes is a set of combinators for describing the
-structure of C types -- numeric types, arrays, pointers, structs, unions and
-functions. You can use these combinators to describe the types of the
-functions that you want to call, then bind directly to those functions -- all
-without writing or generating any C!")
- (license license:expat)))
+ "16dxz2r070vlrkbqhza0c5y6izxpjn080vqmxj47i919wfqd75vx"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-integers dune-configurator
+ ocaml-bigarray-compat ocaml-odoc))
+ (native-inputs (list ocaml-ounit2 libffi pkg-config))
+ (synopsis "Combinators for binding to C libraries without writing any C")
+ (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 possible. The core of
+ctypes is a set of combinators for describing the structure of C types --
+numeric types, arrays, pointers, structs, unions and functions. You can use
+these combinators to describe the types of the functions that you want to call,
+then bind directly to those functions -- all without writing or generating any
+C! To install the optional `ctypes-foreign` interface (which uses `libffi` to
+provide dynamic access to foreign libraries), you will need to also install the
+`ctypes-foreign` package. opam install ctypes-foreign This will make the
+`ctypes-foreign` ocamlfind subpackage available.")
+ (license license:expat)))
+
(define-public ocaml5.0-ctypes
;; Contains fix to support OCaml 5.0