diff options
Diffstat (limited to 'gnu/packages/ocaml.scm')
-rw-r--r-- | gnu/packages/ocaml.scm | 81 |
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") |