summaryrefslogtreecommitdiff
path: root/gnu/packages/ocaml.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/ocaml.scm')
-rw-r--r--gnu/packages/ocaml.scm81
1 files changed, 39 insertions, 42 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 88c9241e20..205dddc575 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -15,7 +15,7 @@
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
-;;; Copyright © 2020, 2021 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2020, 2021, 2025 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2020 divoplade <d@divoplade.fr>
;;; Copyright © 2020, 2021, 2022 pukkamustard <pukkamustard@posteo.net>
;;; Copyright © 2021 aecepoglu <aecepoglu@fastmail.fm>
@@ -24,7 +24,7 @@
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
-;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2022 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
;;; Copyright © 2023 Csepp <raingloom@riseup.net>
@@ -75,6 +75,7 @@
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages node)
+ #:use-module (gnu packages parallel)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@@ -216,16 +217,25 @@ This package produces a native @command{ocamlc} and a bytecode @command{ocamllex
(files (list "lib/ocaml/site-lib/stubslibs"
"lib/ocaml/site-lib/stublibs")))))
(native-inputs
- (list perl pkg-config))
+ (list parallel perl pkg-config))
(inputs
(list libx11 libiberty ;needed for objdump support
zlib)) ;also needed for objdump support
(arguments
`(#:configure-flags '("--enable-ocamltest")
#:test-target "tests"
+ ;; This doesn't have the desired effect and makes test runs less
+ ;; stable. See https://codeberg.org/guix/guix/pulls/2933.
+ #:parallel-tests? #f
#:make-flags '("defaultentry")
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'enable-parallel-tests
+ (lambda _
+ ;; Patch the `tests` build target to enable a special parallel
+ ;; execution mode based on GNU Parallel.
+ (substitute* "Makefile"
+ (("-C testsuite all") "-C testsuite parallel"))))
(add-after 'unpack 'patch-/bin/sh-references
(lambda* (#:key inputs #:allow-other-keys)
(let* ((sh (search-input-file inputs "/bin/sh"))
@@ -253,6 +263,19 @@ functional, imperative and object-oriented styles of programming.")
;; distributed under lgpl2.0.
(license (list license:qpl license:lgpl2.0))))
+(define-public ocaml-5.3
+ (package
+ (inherit ocaml-5.0)
+ (version "5.3.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml/ocaml")
+ (commit version)))
+ (file-name (git-file-name "ocaml" version))
+ (sha256
+ (base32
+ "05jhy9zn53v12rn3sg3vllqf5blv1gp7f06803npimc58crxy6rv"))))))
(define-public ocaml-4.14
(package
@@ -638,14 +661,14 @@ code for interfacing Caml with C from an IDL description of the C functions.")
(define-public ocaml-extlib
(package
(name "ocaml-extlib")
- (version "1.7.9")
+ (version "1.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://ygrek.org/p/release/ocaml-extlib/"
"extlib-" version ".tar.gz"))
(sha256
(base32
- "1jydzw2n84cfiz9y6lk4gih4wbr8jybanmiryfs01svd07g4vpjq"))))
+ "0w2xskv8hl0fwjri68q5bpf6n36ab4fp1q08zkfqw2i807q7fhln"))))
(build-system dune-build-system)
(arguments
(list #:package "extlib"))
@@ -1470,14 +1493,15 @@ Knuth’s LR(1) parser construction technique.")
(wrap-program (string-append #$output "/bin/" "binsec")
`("OCAMLPATH" ":" prefix ,ocamlpath))))))))
(inputs (list bash-minimal))
- (native-inputs (list gmp ocaml-qcheck ocaml-ounit2))
+ (native-inputs (list gmp ocaml-qcheck ocaml-ounit2 z3))
(propagated-inputs (list dune-site
ocaml-base
ocaml-menhir
ocaml-graph
ocaml-zarith
ocaml-grain-dypgen
- ocaml-toml))
+ ocaml-toml
+ ocaml-z3))
(synopsis "Binary-level analysis platform")
(description
"BINSEC is a binary analysis platform which implements analysis
@@ -3485,14 +3509,14 @@ encoded in a resizable array.")
(define-public ocaml-luv
(package
(name "ocaml-luv")
- (version "0.5.12")
+ (version "0.5.14")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/aantron/luv/releases/download/"
version "/luv-" version ".tar.gz"))
(sha256
(base32
- "1h2n9iij4mh60sy3g437p1xwqyqpyw72fgh4417d8j9ahq46m7vn"))
+ "16dfv8gzpqdcqpcil5pd7a44vp64hw35q94fipcwsxl81jjv80cf"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -5698,7 +5722,7 @@ long and size_t whose sizes depend on the host platform.")
(define-public ocaml-ctypes
(package
(name "ocaml-ctypes")
- (version "0.20.1")
+ (version "0.23.0")
(home-page "https://github.com/ocamllabs/ocaml-ctypes")
(source (origin
(method git-fetch)
@@ -5708,8 +5732,9 @@ long and size_t whose sizes depend on the host platform.")
(file-name (git-file-name name version))
(sha256
(base32
- "0ilzq9qzvwv9rc08cc9wchsx636zp870i7qvqmbigaa2qb812m0z"))))
- (build-system ocaml-build-system)
+ "16dxz2r070vlrkbqhza0c5y6izxpjn080vqmxj47i919wfqd75vx"))
+ (patches (search-patches "ocaml-ctypes-test-oo.patch"))))
+ (build-system dune-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -5727,7 +5752,6 @@ 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
@@ -5738,33 +5762,6 @@ 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")
@@ -5804,7 +5801,7 @@ OCaml projects that contain C stubs.")
(define-public ocaml-tsdl
(package
(name "ocaml-tsdl")
- (version "0.9.9")
+ (version "1.1.0")
(home-page "https://erratique.ch/software/tsdl")
(source (origin
(method url-fetch)
@@ -5813,7 +5810,7 @@ OCaml projects that contain C stubs.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1m565jgfanijjzp64c1rylahkpmrrb03ywj202j49n06nvwp788s"))))
+ "0fw78qby010ai8apgwc66ary6zm3a5nw57228i44vccypav3xpk4"))))
(build-system ocaml-build-system)
(arguments
`(#:build-flags '("build")