From bb7f978e602dec3b303bc88ee2e402c7b7645b6d Mon Sep 17 00:00:00 2001 From: Jean-Pierre De Jesus DIAZ Date: Sun, 21 May 2023 13:34:14 +0200 Subject: [PATCH] gnu: Add ocaml-parmap. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/ocaml.scm (ocaml-parmap): New variable. Signed-off-by: Jean-Pierre De Jesus DIAZ Signed-off-by: Ludovic Courtès --- gnu/packages/ocaml.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index f0b8f9e912..08036ba401 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -28,6 +28,7 @@ ;;; Copyright © 2022 John Kehayias ;;; Copyright © 2022 Garek Dyszel ;;; Copyright © 2023 Csepp +;;; Copyright © 2023 Foundation Devices, Inc. ;;; ;;; This file is part of GNU Guix. ;;; @@ -2698,6 +2699,42 @@ simple (yet expressive) query language to select the tests to run.") syntactic tools.") (license license:expat))) +(define-public ocaml-parmap + (package + (name "ocaml-parmap") + (version "1.2.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rdicosmo/parmap") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0x5gnfap9f7kmgh8j725vxlbkvlplwzbpn8jdx2ywfa3dd6bn6xl")))) + (build-system dune-build-system) + (propagated-inputs + (list ocaml-odoc)) + (home-page "https://github.com/rdicosmo/parmap") + (synopsis "Parallel map and fold primtives for OCaml") + (description + "Library to perform parallel fold or map taking advantage of multiple +core architectures for OCaml programs. Drop-in replacement for these +@code{List} operations are provided: + +@itemize +@item @code{List.map} -> @code{parmap} +@item @code{List.map} -> @code{parfold} +@item @code{List.mapfold} -> @code{parmapfold} +@end itemize + +Also it allows specifying the number of cores to use with the optional +parameter @code{ncores}.") + (license (list license:lgpl2.0 + (license:fsdg-compatible "file://LICENSE" + "See LICENSE file for details"))))) + (define-public ocaml-react (package (name "ocaml-react")