From b2a725c6792bfc278ee200f461a1765c28bd444b Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 22 Nov 2021 18:36:56 +0100 Subject: gnu: Add ocaml-trie. * gnu/packages/ocaml.scm (ocaml-trie): New variable. Signed-off-by: Julien Lepiller --- gnu/packages/ocaml.scm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'gnu/packages/ocaml.scm') diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 123f05d568..5e195572ec 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2019 Ricardo Wurmus ;;; Copyright © 2020 Brett Gilio ;;; Copyright © 2020 Marius Bakke -;;; Copyright © 2020 Simon Tournier +;;; Copyright © 2020, 2021 Simon Tournier ;;; Copyright © 2020 divoplade ;;; Copyright © 2020, 2021 pukkamustard ;;; Copyright © 2021 aecepoglu @@ -7434,6 +7434,29 @@ between Bigstrings and other string-like types. @code{bigstringaf} provides these missing pieces.") (license license:bsd-3))) +(define-public ocaml-trie + (package + (name "ocaml-trie") + (version "1.0.0") + (home-page "https://github.com/kandu/trie/") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0s7p9swjqjsqddylmgid6cv263ggq7pmb734z4k84yfcrgb6kg4g")))) + (build-system dune-build-system) + (arguments + '(#:tests? #f)) ;no tests + (synopsis "Strict impure trie tree") + (description + "This module implements strict impure trie tree data structure for +OCaml.") + (license license:expat))) + (define-public ocaml-syntax-shims (package (name "ocaml-syntax-shims") -- cgit v1.2.3 From ddea3012367961204726c0f08fd6c95111f58c4d Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 22 Nov 2021 18:36:57 +0100 Subject: gnu: Add ocaml-mew. * gnu/packages/ocaml.scm (ocaml-mew): New variable. Signed-off-by: Julien Lepiller --- gnu/packages/ocaml.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu/packages/ocaml.scm') diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 5e195572ec..427ee2c682 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -7457,6 +7457,32 @@ these missing pieces.") OCaml.") (license license:expat))) +(define-public ocaml-mew + (package + (name "ocaml-mew") + (version "0.1.0") + (home-page "https://github.com/kandu/mew") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0417xsghj92v3xa5q4dk4nzf2r4mylrx2fd18i7cg3nzja65nia2")))) + (build-system dune-build-system) + (propagated-inputs + `(("ocaml-result" ,ocaml-result) + ("ocaml-trie" ,ocaml-trie))) + (native-inputs + `(("ocaml-ppx-expect" ,ocaml-ppx-expect))) + (synopsis "General modal editing engine generator") + (description + "This package provides the core modules of Modal Editing Witch, a general +modal editing engine generator.") + (license license:expat))) + (define-public ocaml-syntax-shims (package (name "ocaml-syntax-shims") -- cgit v1.2.3 From ec861f696438303237a923639aefac38b79be84f Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 22 Nov 2021 18:36:58 +0100 Subject: gnu: Add ocaml-mew-vi. * gnu/packages/ocaml.scm (ocaml-mew-vi): New variable. Signed-off-by: Julien Lepiller --- gnu/packages/ocaml.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu/packages/ocaml.scm') diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 427ee2c682..82670fec7f 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -7483,6 +7483,32 @@ OCaml.") modal editing engine generator.") (license license:expat))) +(define-public ocaml-mew-vi + (package + (name "ocaml-mew-vi") + (version "0.5.0") + (home-page "https://github.com/kandu/mew_vi") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0lihbf822k5zasl60w5mhwmdkljlq49c9saayrws7g4qc1j353r8")))) + (build-system dune-build-system) + (propagated-inputs + `(("ocaml-mew" ,ocaml-mew) + ("ocaml-react" ,ocaml-react))) + (native-inputs + `(("ocaml-ppx-expect" ,ocaml-ppx-expect))) + (properties `((upstream-name . "mew_vi"))) + (synopsis "Modal editing VI-like editing engine generator") + (description "This module provides a vi-like modal editing engine +generator.") + (license license:expat))) + (define-public ocaml-syntax-shims (package (name "ocaml-syntax-shims") -- cgit v1.2.3 From f73a39e0daf7e8fc54d3b394ecdf3886f482f2d6 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 22 Nov 2021 18:36:59 +0100 Subject: gnu: ocaml-charinfo-width: Fix source to get 'LICENSE' file. * gnu/packages/ocaml.scm (ocaml-charinfo-width): Replace 'url-fetch' by 'git-fetch' and update to unreleased commit. Signed-off-by: Julien Lepiller --- gnu/packages/ocaml.scm | 49 ++++++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 23 deletions(-) (limited to 'gnu/packages/ocaml.scm') diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 82670fec7f..af0c0f7ef9 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3992,30 +3992,33 @@ library is currently designed for Unicode Standard 3.2.") (license license:lgpl2.0+))) (define-public ocaml-charinfo-width - (package - (name "ocaml-charinfo-width") - (version "1.1.0") - (source (origin - (method url-fetch) - (uri (string-append "https://bitbucket.org/zandoye/charinfo_width" - "/get/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "00bv4p1yqs8y0z4z07wd9w9yyv669dikp9b04dcjbwpiy2wy0086")))) - (build-system dune-build-system) - (propagated-inputs - `(("ocaml-result" ,ocaml-result) - ("ocaml-camomile" ,ocaml-camomile))) - (native-inputs - `(("ocaml-ppx-expect" ,ocaml-ppx-expect))) - (properties - `((upstream-name . "charInfo_width"))) - (home-page "https://bitbucket.org/zandoye/charinfo_width/") - (synopsis "Determine column width for a character") - (description "This module is implements purely in OCaml a character width + ;; Add LICENSE file and Dune tests + (let ((commit "20aaaa6dca8f1e0b1ace55b6f2a8ba5e5910b620")) + (package + (name "ocaml-charinfo-width") + (version (git-version "1.1.0" "1" commit)) + (home-page "https://github.com/kandu/charinfo_width/") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "04gil5hxm2jax9paw3i24d8zyzhyl5cphzfyryvy2lcrm3c485q0")))) + (build-system dune-build-system) + (propagated-inputs + `(("ocaml-result" ,ocaml-result) + ("ocaml-camomile" ,ocaml-camomile))) + (native-inputs + `(("ocaml-ppx-expect" ,ocaml-ppx-expect))) + (properties + `((upstream-name . "charInfo_width"))) + (synopsis "Determine column width for a character") + (description "This module implements purely in OCaml a character width function that follows the prototype of POSIX's wcwidth.") - (license license:expat))) + (license license:expat)))) (define-public ocaml4.07-zed (package -- cgit v1.2.3 From db542938e2599abe967223540e3d0de2f018ea56 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 22 Nov 2021 18:37:00 +0100 Subject: gnu: Add ocaml-zed. * gnu/packages/ocaml.scm (ocaml-zed): New variable. (ocaml4.07-zed): Inherit and adjust source. Signed-off-by: Julien Lepiller --- gnu/packages/ocaml.scm | 53 ++++++++++++++++++++++++++++++++++---------------- 1 file changed, 36 insertions(+), 17 deletions(-) (limited to 'gnu/packages/ocaml.scm') diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index af0c0f7ef9..9a943470ec 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -4020,36 +4020,55 @@ library is currently designed for Unicode Standard 3.2.") function that follows the prototype of POSIX's wcwidth.") (license license:expat)))) -(define-public ocaml4.07-zed +(define-public ocaml-zed (package - (name "ocaml4.07-zed") - (version "2.0.3") + (name "ocaml-zed") + (version "3.1.0") + (home-page "https://github.com/ocaml-community/zed") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/diml/zed") + (url home-page) (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0pa9awinqr0plp4b2az78dwpvh01pwaljnn5ydg8mc6hi7rmir55")))) + (base32 "04vr1a94imsghm98iigc35rhifsz0rh3qz2qm0wam2wvp6vmrx0p")))) (build-system dune-build-system) (arguments - `(#:test-target "." - #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib - #:dune ,ocaml4.07-dune)) + `(#:test-target ".")) (propagated-inputs - `(("ocaml-camomile" ,(package-with-ocaml4.07 ocaml-camomile)) - ("ocaml-charinfo-width" ,(package-with-ocaml4.07 ocaml-charinfo-width)) - ("ocaml-react" ,(package-with-ocaml4.07 ocaml-react)))) - (home-page "https://github.com/diml/zed") - (synopsis "Abstract engine for text editing in OCaml") - (description "Zed is an abstract engine for text edition. It can be used -to write text editors, edition widgets, readlines, etc. You just have to -connect an engine to your inputs and rendering functions to get an editor.") + `(("ocaml-charInfo-width" ,ocaml-charinfo-width) + ("ocaml-camomile" ,ocaml-camomile) + ("ocaml-react" ,ocaml-react))) + (properties `((ocaml4.07-variant . ,(delay ocaml4.07-zed)))) + (synopsis "Abstract engine for text edition in OCaml") + (description + "This module provides an abstract engine for text edition. It can be +used to write text editors, edition widgets, readlines, and more. The module +Zed uses Camomile to fully support the Unicode specification, and implements +an UTF-8 encoded string type with validation, and a rope datastructure to +achieve efficient operations on large Unicode buffers. Zed also features a +regular expression search on ropes. To support efficient text edition +capabilities, Zed provides macro recording and cursor management facilities.") (license license:bsd-3))) +(define-public ocaml4.07-zed + (package-with-ocaml4.07 + (package + (inherit ocaml-zed) + (version "2.0.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml-community/zed") + (commit version))) + (file-name (git-file-name "ocaml4.07-zed" version)) + (sha256 + (base32 + "0pa9awinqr0plp4b2az78dwpvh01pwaljnn5ydg8mc6hi7rmir55")))) + (properties '())))) + (define-public ocaml4.07-lambda-term (package (name "ocaml4.07-lambda-term") -- cgit v1.2.3 From 1221eb5f45f1dac2a41977cdbb47e1968dbd4455 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 22 Nov 2021 18:37:01 +0100 Subject: gnu: Add ocaml-lambda-term. * gnu/packages/ocaml.scm (ocaml-lambda-term): New variable. (omca4.07-lambda-term): Inherit and adjust. Signed-off-by: Julien Lepiller --- gnu/packages/ocaml.scm | 64 +++++++++++++++++++++++++++++++++----------------- 1 file changed, 43 insertions(+), 21 deletions(-) (limited to 'gnu/packages/ocaml.scm') diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 9a943470ec..52ef4f3b65 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -4069,31 +4069,32 @@ capabilities, Zed provides macro recording and cursor management facilities.") "0pa9awinqr0plp4b2az78dwpvh01pwaljnn5ydg8mc6hi7rmir55")))) (properties '())))) -(define-public ocaml4.07-lambda-term +(define-public ocaml-lambda-term (package - (name "ocaml4.07-lambda-term") - (version "2.0.2") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/diml/lambda-term") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0zcjy6fvf0d3i2ssz96asl889n3r6bplyzk7xvb2s3dkxbgcisyy")))) + (name "ocaml-lambda-term") + (version "3.1.0") + (home-page "https://github.com/ocaml-community/lambda-term") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1k0ykiz0vhpyyj9fkss29ajas4fh1xh449j702xkvayqipzj1mkg")))) (build-system dune-build-system) (arguments - `(#:tests? #f - #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib - #:dune ,ocaml4.07-dune)) + `(#:test-target ".")) (propagated-inputs - `(("ocaml-lwt" ,(package-with-ocaml4.07 ocaml-lwt)) - ("ocaml-lwt-log" ,(package-with-ocaml4.07 ocaml-lwt-log)) - ("ocaml-lwt-react" ,(package-with-ocaml4.07 ocaml-lwt-react)) - ("ocaml-zed" ,ocaml4.07-zed))) - (home-page "https://github.com/diml/lambda-term") + `(("ocaml-lwt" ,ocaml-lwt) + ("ocaml-lwt-log" ,ocaml-lwt-log) + ("ocaml-react" ,ocaml-react) + ("ocaml-zed" ,ocaml-zed) + ("ocaml-camomile" ,ocaml-camomile) + ("ocaml-lwt-react" ,ocaml-lwt-react) + ("ocaml-mew-vi" ,ocaml-mew-vi))) + (properties `((ocaml4.07-variant . ,(delay ocaml4.07-lambda-term)))) (synopsis "Terminal manipulation library for OCaml") (description "Lambda-Term is a cross-platform library for manipulating the terminal. It provides an abstraction for keys, mouse events, colors, as well as @@ -4103,6 +4104,27 @@ manipulation than, for example, ncurses, by providing a native OCaml interface instead of bindings to a C library.") (license license:bsd-3))) +(define-public ocaml4.07-lambda-term + (package-with-ocaml4.07 + (package + (inherit ocaml-lambda-term) + (version "2.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml-community/lambda-term") + (commit version))) + (file-name (git-file-name "ocaml4.07-lambda-term" version)) + (sha256 + (base32 "0zcjy6fvf0d3i2ssz96asl889n3r6bplyzk7xvb2s3dkxbgcisyy")))) + (propagated-inputs + `(("ocaml-lwt" ,ocaml-lwt) + ("ocaml-lwt-log" ,ocaml-lwt-log) + ("ocaml-lwt-react" ,ocaml-lwt-react) + ("ocaml-zed" ,ocaml-zed))) + (properties '())))) + (define-public ocaml4.07-utop (package (name "ocaml4.07-utop") -- cgit v1.2.3 From 8365b4a0a3ff110069840191df80a6cb9795f727 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 22 Nov 2021 18:37:02 +0100 Subject: gnu: Add ocaml-utop. * gnu/packages/ocaml.scm (ocaml-utop): New variable. (ocaml4.07-utop): Inherit and adjust. Signed-off-by: Julien Lepiller --- gnu/packages/ocaml.scm | 48 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 34 insertions(+), 14 deletions(-) (limited to 'gnu/packages/ocaml.scm') diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 52ef4f3b65..82a675dc3d 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -4125,10 +4125,10 @@ instead of bindings to a C library.") ("ocaml-zed" ,ocaml-zed))) (properties '())))) -(define-public ocaml4.07-utop +(define-public ocaml-utop (package - (name "ocaml4.07-utop") - (version "2.4.3") + (name "ocaml-utop") + (version "2.8.0") (source (origin (method git-fetch) @@ -4137,21 +4137,19 @@ instead of bindings to a C library.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1bl4943qpi3qy152dbdm5glhx19zsiylmn4rcxi8l66g58hikyjp")))) + (base32 "1zf4hg33sblzh2f65vk0292jg4jlwa8702kfwpsg1kcg4w6nsfdp")))) (build-system dune-build-system) (arguments - `(#:test-target "." - #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib - #:dune ,ocaml4.07-dune)) + `(#:test-target ".")) (native-inputs - `(("cppo" ,(package-with-ocaml4.07 ocaml-cppo)))) + `(("ocaml-cppo" ,ocaml-cppo))) (propagated-inputs - `(("lambda-term" ,ocaml4.07-lambda-term) - ("lwt" ,(package-with-ocaml4.07 ocaml-lwt)) - ("react" ,(package-with-ocaml4.07 ocaml-react)) - ("camomile" ,(package-with-ocaml4.07 ocaml-camomile)) - ("zed" ,ocaml4.07-zed))) + `(("ocaml-lambda-term" ,ocaml-lambda-term) + ("ocaml-lwt" ,ocaml-lwt) + ("ocaml-lwt-react" ,ocaml-lwt-react) + ("ocaml-camomile" ,ocaml-camomile) + ("ocaml-react" ,ocaml-react))) + (properties `((ocaml4.07-variant . ,(delay ocaml4.07-utop)))) (home-page "https://github.com/ocaml-community/utop") (synopsis "Improved interface to the OCaml toplevel") (description "UTop is an improved toplevel for OCaml. It can run in a @@ -4159,6 +4157,28 @@ terminal or in Emacs. It supports line editing, history, real-time and context sensitive completion, colors, and more.") (license license:bsd-3))) +(define-public ocaml4.07-utop + (package-with-ocaml4.07 + (package + (inherit ocaml-utop) + (version "2.4.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml-community/utop") + (commit version))) + (file-name (git-file-name "ocaml4.07-utop" version)) + (sha256 + (base32 "1bl4943qpi3qy152dbdm5glhx19zsiylmn4rcxi8l66g58hikyjp")))) + (propagated-inputs + `(("ocaml-lambda-term" ,ocaml-lambda-term) + ("ocaml-lwt" ,ocaml-lwt) + ("ocaml-react" ,ocaml-react) + ("ocaml-camomile" ,ocaml-camomile) + ("ocaml-zed" ,ocaml-zed))) + (properties '())))) + (define-public ocaml-integers (package (name "ocaml-integers") -- cgit v1.2.3 From db61ad142da1b1b60a6aaec61773df75b6e282f8 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 24 Nov 2021 14:21:36 +0100 Subject: gnu: Add ocaml-benchmark. * gnu/packages/ocaml.scm (ocaml-benchmark): New variable. --- gnu/packages/ocaml.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu/packages/ocaml.scm') diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 82a675dc3d..69d37f37bc 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3182,6 +3182,29 @@ many additional enhancements, including: license:gpl2)))) ; OMake itself, with ocaml linking exception ; see LICENSE.OMake +(define-public ocaml-benchmark + (package + (name "ocaml-benchmark") + (version "1.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Chris00/ocaml-benchmark") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0d0vdfjgjzf1y6wkd714d8b0piv1z9qav5ahsapynqzk4b4ahhnp")))) + (build-system dune-build-system) + (arguments `(#:test-target "tests")) + (home-page "https://github.com/Chris00/ocaml-benchmark") + (synopsis "Benchmark running times of code") + (description + "This module provides a set of tools to measure the running times of +your functions and to easily compare the results. A statistical test +is used to determine whether the results truly differ.") + (license license:lgpl3+))) + (define-public ocaml-batteries (package (name "ocaml-batteries") -- cgit v1.2.3 From 4ac084e52d999066ce3c316f153833dd7f4769f5 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 24 Nov 2021 14:48:21 +0100 Subject: gnu: ocaml-batteries: Update to 3.3.0. * gnu/packages/ocaml.scm (ocaml-batteries): Update to 3.3.0. (ocaml4.07-batteries): New variable. --- gnu/packages/ocaml.scm | 92 ++++++++++++++++++++++++++++++++++---------------- 1 file changed, 63 insertions(+), 29 deletions(-) (limited to 'gnu/packages/ocaml.scm') diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 69d37f37bc..102348a2eb 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3208,50 +3208,36 @@ is used to determine whether the results truly differ.") (define-public ocaml-batteries (package (name "ocaml-batteries") - (version "2.10.0") + (version "3.3.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/ocaml-batteries-team/" - "batteries-included/releases/download/v" - version "/batteries-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml-batteries-team/batteries-included") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "08ghw87d56h1a6y1nnh3x2wy9xj25jqfk5sp6ma9nsyd37babb0h")))) + "1h03nkc3vajaijqhj1dy5hw85j2hwwxdkg8rvs2fc00qaf44ad1d")))) (build-system ocaml-build-system) + (propagated-inputs `(("ocaml-num" ,ocaml-num))) (native-inputs `(("ocamlbuild" ,ocamlbuild) - ("qtest" ,ocaml-qtest))) - (propagated-inputs - `(("ocaml-num" ,ocaml-num))) + ("ocaml-benchmark" ,ocaml-benchmark) + ("ocaml-qcheck" ,ocaml-qcheck) + ("ocaml-qtest" ,ocaml-qtest))) (arguments `(#:phases (modify-phases %standard-phases - (delete 'check) ; tests are run by the build phase + (add-after 'unpack 'make-writable + (lambda _ + (for-each make-file-writable (find-files "." ".")))) (add-before 'build 'fix-nondeterminism (lambda _ (substitute* "setup.ml" (("Sys.readdir dirname") "let a = Sys.readdir dirname in Array.sort String.compare a; a")) - #t)) - (replace 'build - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((files - (map (lambda (str) - (substring str 0 (- (string-length str) 1))) - (append - (find-files "src" ".*.mliv") - (find-files "src" ".*.mlv") - (find-files "src" ".*.mlp"))))) - (apply invoke "ocamlbuild" "-no-links" "-use-ocamlfind" "-I" "num" - "-lflag" "-dllpath-all" files) - (for-each (lambda (file) - (copy-file (string-append "_build/" file) file)) - files)) - (invoke "ocamlbuild" "-no-links" "-use-ocamlfind" "-I" "num" - "-lflag" "-dllpath-all" "build/mkconf.byte") - (copy-file "_build/build/mkconf.byte" "build/mkconf.byte") - (invoke "make" "all") #t))))) + (properties `((ocaml4.07-variant . ,(delay ocaml4.07-batteries)))) (home-page "http://batteries.forge.ocamlcore.org/") (synopsis "Development platform for the OCaml programming language") (description "Define a standard set of libraries which may be expected on @@ -3259,6 +3245,54 @@ every compliant installation of OCaml and organize these libraries into a hierarchy of modules.") (license license:lgpl2.1+))) +(define-public ocaml4.07-batteries + (package-with-ocaml4.07 + (package + (inherit ocaml-batteries) + (version "2.10.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml-batteries-team/batteries-included") + (commit (string-append "v" version)))) + (file-name (git-file-name "ocaml-batteries" version)) + (sha256 + (base32 + "02fxa1nkp7rpiwfp04n0sagdp9lad4dh9bvljp95xfshm1cx7y4q")))) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'check) ; tests are run by the build phase + (add-before 'build 'fix-nondeterminism + (lambda _ + (substitute* "setup.ml" + (("Sys.readdir dirname") + "let a = Sys.readdir dirname in Array.sort String.compare a; a")) + #t)) + (replace 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((files + (map (lambda (str) + (substring str 0 (- (string-length str) 1))) + (append + (find-files "src" ".*.mliv") + (find-files "src" ".*.mlv") + (find-files "src" ".*.mlp"))))) + (apply invoke "ocamlbuild" "-no-links" "-use-ocamlfind" "-I" "num" + "-lflag" "-dllpath-all" files) + (for-each (lambda (file) + (copy-file (string-append "_build/" file) file)) + files)) + (invoke "ocamlbuild" "-no-links" "-use-ocamlfind" "-I" "num" + "-lflag" "-dllpath-all" "build/mkconf.byte") + (copy-file "_build/build/mkconf.byte" "build/mkconf.byte") + (invoke "make" "all") + #t))))) + (native-inputs + `(("ocamlbuild" ,ocamlbuild) + ("qtest" ,ocaml-qtest))) + (properties '())))) + (define-public ocaml-pcre (package (name "ocaml-pcre") -- cgit v1.2.3 From f044ffc1c4bab326e310ef742d21900d3f66d071 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 4 Dec 2021 18:24:22 +0100 Subject: gnu: ocaml4.07-ppx-let: Make 'properties' an alist. The incorrect 'properties' value was introduced in 3649c56a5f23501a5bb3418dc6047b71d494f0fa. * gnu/packages/ocaml.scm (ocaml4.07-ppx-let)[properties]: Turn into an alist. --- gnu/packages/ocaml.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages/ocaml.scm') diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 102348a2eb..cf815336a7 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -6114,7 +6114,7 @@ match expressions, and if expressions.") (janestreet-origin "ppx_let" version "1wdfw6w4xbg97a35yg6bif9gggxniy9ddnrjfw1a0inkl2yamxkj")) - (properties `(upstream-name . "ppx_let"))))) + (properties `((upstream-name . "ppx_let")))))) (define-public ocaml4.07-ppx-fail (package -- cgit v1.2.3