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.scm2628
1 files changed, 1794 insertions, 834 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 44ca0c67e2..c17b3dbd6f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -17,9 +17,11 @@
;;; Copyright © 2020 Marius Bakke <[email protected]>
;;; Copyright © 2020 Simon Tournier <[email protected]>
;;; Copyright © 2020 divoplade <[email protected]>
-;;; Copyright © 2020 pukkamustard <[email protected]>
+;;; Copyright © 2020, 2021 pukkamustard <[email protected]>
;;; Copyright © 2021 aecepoglu <[email protected]>
;;; Copyright © 2021 Sharlatan Hellseher <[email protected]>
+;;; Copyright © 2021 Xinglu Chen <[email protected]>
+;;; Copyright © 2021 Ivan Gankevich <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -61,6 +63,7 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages node)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@@ -74,6 +77,7 @@
#:use-module (gnu packages texinfo)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages version-control)
#:use-module (gnu packages virtualization)
#:use-module (gnu packages web)
#:use-module (gnu packages web-browsers)
@@ -200,8 +204,7 @@ This package produces a native @command{ocamlc} and a bytecode @command{ocamllex
("pkg-config" ,pkg-config)))
(inputs
`(("libx11" ,libx11)
- ;; For libiberty, needed for objdump support.
- ("gcc:lib" ,(canonical-package gcc) "lib")
+ ("libiberty" ,libiberty) ;needed for objdump support
("zlib" ,zlib))) ;also needed for objdump support
(arguments
`(#:phases
@@ -646,7 +649,14 @@ underlying solvers like Cplex, Gurobi, Lpsolver, Glpk, CbC, SCIP or WBO.")
#:make-flags
(list (string-append "LIBDIR="
(assoc-ref %outputs "out")
- "/lib/ocaml/site-lib"))))
+ "/lib/ocaml/site-lib"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-test-script
+ (lambda _
+ (substitute* "applications/dose-tests.py"
+ (("warning\\(")
+ "from warnings import warn\nwarn(")))))))
(propagated-inputs
`(("ocaml-graph" ,ocaml-graph)
("ocaml-cudf" ,ocaml-cudf)
@@ -738,7 +748,7 @@ let () = String.split_on_char ':' (Sys.getenv \"OCAMLPATH\")
(define-public ocaml-opam-file-format
(package
(name "ocaml-opam-file-format")
- (version "2.0.0")
+ (version "2.1.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -747,7 +757,7 @@ let () = String.split_on_char ':' (Sys.getenv \"OCAMLPATH\")
(file-name (git-file-name name version))
(sha256
(base32
- "0fqb99asnair0043hhc8r158d6krv5nzvymd0xwycr5y72yrp0hv"))))
+ "1fxhppdmrysr2nb5z3c448h17np48f3ga9jih33acj78r4rdblcs"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f; No tests
@@ -766,7 +776,7 @@ the opam file format.")
(define-public opam
(package
(name "opam")
- (version "2.0.8")
+ (version "2.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -775,78 +785,99 @@ the opam file format.")
(file-name (git-file-name name version))
(sha256
(base32
- "1z0ls6xxa4ws5xw0am5gxmh5apnmyhgkcphrncp53w34j8sfydsj"))))
- (build-system ocaml-build-system)
+ "12l7l4pbzy71k1yc7ym5aczajszvc9bqkdnfg8xhqc8ch8j1h1lj"))))
+ (build-system dune-build-system)
(arguments
- `(#:configure-flags
- (list (string-append "SHELL="
- (assoc-ref %build-inputs "bash")
- "/bin/sh"))
-
- ;; For some reason, 'ocp-build' needs $TERM to be set.
- #:make-flags
- (list "TERM=screen"
- (string-append "SHELL="
- (assoc-ref %build-inputs "bash")
- "/bin/sh"))
-
- #:test-target "tests"
-
- #:phases (modify-phases %standard-phases
- (add-before 'build 'pre-build
- (lambda* (#:key inputs make-flags #:allow-other-keys)
- (let ((bash (assoc-ref inputs "bash"))
- (bwrap (string-append (assoc-ref inputs "bubblewrap")
- "/bin/bwrap")))
- (substitute* "src/core/opamSystem.ml"
- (("\"/bin/sh\"")
- (string-append "\"" bash "/bin/sh\""))
- (("getconf")
- (which "getconf")))
- ;; Use bwrap from the store directly.
- (substitute* "src/state/shellscripts/bwrap.sh"
- (("-v bwrap") (string-append "-v " bwrap))
- (("exec bwrap") (string-append "exec " bwrap))
- ;; Mount /gnu and /run/current-system in the
- ;; isolated environment when building with opam.
- ;; This is necessary for packages to find external
- ;; dependencies, such as a C compiler, make, etc...
- (("^add_sys_mounts /usr")
- "add_sys_mounts /gnu /run/current-system /usr"))
- (substitute* "src/client/opamInitDefaults.ml"
- (("\"bwrap\"") (string-append "\"" bwrap "\"")))
- ;; Generating the documentation needs write access
- (for-each
- (lambda (f) (chmod f #o644))
- (find-files "doc" "."))
- #t)))
- (add-before 'check 'pre-check
- (lambda _
- ;; The "repo" test attempts to open some of these files O_WRONLY
- ;; and fails with a bogus "OpamSystem.File_not_found" otherwise.
- (for-each
- (lambda (f) (chmod f #o644))
- (find-files "tests/packages" "\\.opam$"))
-
- (substitute* "tests/Makefile"
- (("/usr/bin/printf")
- (which "printf"))
- ;; By default tests run twice: once with a "local" repository
- ;; and once with a git repository: disable the git tests to
- ;; avoid the dependency.
- (("all: local git")
- "all: local"))
- #t)))))
+ `(#:test-target "."
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bash (assoc-ref inputs "bash"))
+ (bwrap (string-append (assoc-ref inputs "bubblewrap")
+ "/bin/bwrap")))
+ (substitute* "src/core/opamSystem.ml"
+ (("\"/bin/sh\"")
+ (string-append "\"" bash "/bin/sh\""))
+ (("getconf")
+ (which "getconf")))
+ ;; Use bwrap from the store directly.
+ (substitute* "src/state/shellscripts/bwrap.sh"
+ (("-v bwrap") (string-append "-v " bwrap))
+ (("exec bwrap") (string-append "exec " bwrap))
+ ;; Mount /gnu and /run/current-system in the
+ ;; isolated environment when building with opam.
+ ;; This is necessary for packages to find external
+ ;; dependencies, such as a C compiler, make, etc...
+ (("^add_sys_mounts /usr")
+ (string-append "add_sys_mounts "
+ (%store-directory)
+ " /run/current-system /usr")))
+ (substitute* "src/client/opamInitDefaults.ml"
+ (("\"bwrap\"") (string-append "\"" bwrap "\""))))))
+ (add-before 'check 'prepare-checks
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Opam tests need to run an isolated environment from a writable
+ ;; home directory.
+ (mkdir-p "test-home")
+ (setenv "HOME" (string-append (getcwd) "/test-home"))
+
+ ;; Opam tests require data from opam-repository. Instead of
+ ;; downloading them with wget from the guix environment, copy the
+ ;; content to the expected directory.
+ (substitute* "tests/reftests/dune.inc"
+ (("tar -C.*opam-archive-([0-9a-f]*)[^)]*" _ commit)
+ (string-append "rmdir %{targets}) (run cp -r "
+ (assoc-ref inputs (string-append "opam-repo-" commit))
+ "/ %{targets}) (run chmod +w -R %{targets}"))
+ (("wget[^)]*") "touch %{targets}")
+ ;; Disable a failing test because of different line wrapping
+ (("diff cli-versioning.test cli-versioning.out") "run true")
+ ;; Disable a failing test because it tries to clone a git
+ ;; repository from inside bwrap
+ (("diff upgrade-format.test upgrade-format.out") "run true"))
+ (substitute* "tests/reftests/dune"
+ ;; Because of our changes to the previous file, we cannot check
+ ;; it can be regenerated
+ (("diff dune.inc dune.inc.gen") "run true"))
+ ;; Ensure we can run the generated build.sh (no /bin/sh)
+ (substitute* '("tests/reftests/legacy-local.test"
+ "tests/reftests/legacy-git.test")
+ (("#! ?/bin/sh") (string-append "#!" (assoc-ref inputs "bash")
+ "/bin/sh")))
+ (substitute* "tests/reftests/testing-env"
+ (("OPAMSTRICT=1")
+ (string-append "OPAMSTRICT=1\nLIBRARY_PATH="
+ (assoc-ref inputs "libc") "/lib"))))))))
(native-inputs
- `(("dune" ,dune)
- ("ocaml-cppo" ,ocaml-cppo)
-
- ;; For tests.
- ("openssl" ,openssl)
- ("python" ,python-wrapper)
- ("rsync" ,rsync)
- ("unzip" ,unzip)
- ("which" ,which)))
+ (let ((opam-repo (lambda (commit hash)
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml/opam-repository")
+ (commit commit)))
+ (file-name (git-file-name "opam-repo" commit))
+ (sha256 (base32 hash))))))
+ `(("dune" ,dune)
+ ("ocaml-cppo" ,ocaml-cppo)
+
+ ;; For tests.
+ ("git" ,git-minimal)
+ ("openssl" ,openssl)
+ ("python" ,python-wrapper)
+ ("rsync" ,rsync)
+ ("unzip" ,unzip)
+ ("which" ,which)
+
+ ;; Data for tests
+ ("opam-repo-009e00fa" ,(opam-repo "009e00fa86300d11c311309a2544e5c6c3eb8de2"
+ "1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w"))
+ ("opam-repo-ad4dd344" ,(opam-repo "ad4dd344fe5cd1cab49ced49d6758a9844549fb4"
+ "1a1qj47kj8xjdnc4zc50ijrix1kym1n7k20n3viki80a7518baw8"))
+ ("opam-repo-c1d23f0e" ,(opam-repo "c1d23f0e17ec83a036ebfbad1c78311b898a2ca0"
+ "0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
+ ("opam-repo-f372039d" ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
+ "0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws")))))
(inputs
`(("ocaml" ,ocaml)
("ncurses" ,ncurses)
@@ -925,14 +956,14 @@ concrete syntax of the language (Quotations, Syntax Extensions).")
(define-public hevea
(package
(name "hevea")
- (version "2.34")
+ (version "2.35")
(source (origin
(method url-fetch)
(uri (string-append "http://hevea.inria.fr/old/"
"hevea-" version ".tar.gz"))
(sha256
(base32
- "1pzyszxw90klpcmhjqrjfc8cw6c0gm4w2blim8ydyxb6rq6qml1s"))))
+ "1jwydkb9ldb1sx815c364dxgr569f2rbbzgxbn2kanrybpdbm2gi"))))
(build-system gnu-build-system)
(inputs
`(("ocaml" ,ocaml)))
@@ -958,7 +989,7 @@ written in Objective Caml.")
(define-public ocaml-num
(package
(name "ocaml-num")
- (version "1.1")
+ (version "1.4")
(source
(origin
(method git-fetch)
@@ -967,33 +998,8 @@ written in Objective Caml.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0a4mhxgs5hi81d227aygjx35696314swas0vzy3ig809jb7zq4h0"))))
- (build-system ocaml-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (add-before 'build 'fix-makefile
- (lambda* (#:key outputs #:allow-other-keys)
- ;; This package supposes we install to the same directory as
- ;; the ocaml package.
- (substitute* "src/META"
- (("\"\\^\"") (string-append "\"" (assoc-ref outputs "out")
- "/lib/ocaml/site-lib\"")))
- (substitute* "src/Makefile"
- (("\\) \\$\\(STDLIBDIR\\)")
- (string-append ") " (assoc-ref outputs "out")
- "/lib/ocaml/site-lib")))
- #t))
- (add-after 'install 'fix-stubslib
- (lambda* (#:key outputs #:allow-other-keys)
- (format #t "~a~%" (find-files "." ".*.so"))
- (let ((stubdir (string-append (assoc-ref outputs "out")
- "/lib/ocaml/site-lib/stublibs")))
- (delete-file stubdir)
- (mkdir-p stubdir)
- (install-file "src/dllnums.so" stubdir))
- #t)))))
+ (base32 "1vzdnvpj5dbj3ifx03v25pj2jj1ccav072v4d29pk1czdba2lzfc"))))
+ (build-system dune-build-system)
(home-page "https://github.com/ocaml/num")
(synopsis "Arbitrary-precision integer and rational arithmetic")
(description "OCaml-Num contains the legacy Num library for
@@ -1054,7 +1060,7 @@ Emacs.")
(define-public ocaml-menhir
(package
(name "ocaml-menhir")
- (version "20200211")
+ (version "20210419")
(source
(origin
(method git-fetch)
@@ -1063,7 +1069,7 @@ Emacs.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "019izf51kdc7pzkw68zg8a2alc8lxw1gwdp7in970mr90n16b5zj"))))
+ (base32 "0jcbr7s3iwfr7xxfybs3h407g76yfp5yq5r9i0wg2ahvvbqh03ky"))))
(build-system dune-build-system)
(inputs
`(("ocaml" ,ocaml)))
@@ -1342,9 +1348,6 @@ compilers that can directly deal with packages.")
(base32
"0gxjw1bhmjcjzri6x6psqrkbbyq678b69bqfl9i1zswp7cj2lryg"))))
(build-system dune-build-system)
- (inputs
- ;; XXX Should libev be a propagated-input of ocaml-lwt?
- `(("libev" ,libev)))
(propagated-inputs
`(("lwt" ,ocaml-lwt)
("ocaml-stdlib-shims" ,ocaml-stdlib-shims)))
@@ -1448,7 +1451,7 @@ files in these formats.")
(define-public ocaml-zarith
(package
(name "ocaml-zarith")
- (version "1.9.1")
+ (version "1.12")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1457,7 +1460,7 @@ files in these formats.")
(file-name (git-file-name name version))
(sha256
(base32
- "0hv5ywz1q2cgn8apfz490clwk5hcynr937g2v8i13x2ax4bnv0lz"))))
+ "1jslm1rv1j0ya818yh23wf3bb6hz7qqj9pn5fwl45y9mqyqa01s9"))))
(build-system ocaml-build-system)
(native-inputs
`(("perl" ,perl)))
@@ -1468,7 +1471,14 @@ files in these formats.")
#:phases
(modify-phases %standard-phases
(replace 'configure
- (lambda _ (invoke "./configure"))))))
+ (lambda _ (invoke "./configure")))
+ (add-after 'install 'move-sublibs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib/ocaml/site-lib")))
+ (mkdir-p (string-append lib "/stublibs"))
+ (rename-file (string-append lib "/zarith/dllzarith.so")
+ (string-append lib "/stublibs/dllzarith.so"))))))))
(home-page "https://forge.ocamlcore.org/projects/zarith/")
(synopsis "Implements arbitrary-precision integers")
(description "Implements arithmetic and logical operations over
@@ -1617,7 +1627,7 @@ full_split, cut, rcut, etc..")
(define dune-bootstrap
(package
(name "dune")
- (version "2.7.1")
+ (version "2.9.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1626,7 +1636,7 @@ full_split, cut, rcut, etc..")
(file-name (git-file-name name version))
(sha256
(base32
- "10qgx83fq8b522y9mpllrp0l5cgmr2bs5s7aix5img21hlbm34in"))))
+ "01np4jy0f3czkpzkl38k9b4lsh41qk52ldaqxl98mgigyzhx4w0b"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f; require odoc
@@ -1774,32 +1784,51 @@ module of this library is parameterised by the type of S-expressions.")
(define-public ocaml-migrate-parsetree
(package
(name "ocaml-migrate-parsetree")
- (version "1.7.3")
+ (version "2.1.0")
(home-page "https://github.com/ocaml-ppx/ocaml-migrate-parsetree")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url (string-append home-page ".git"))
+ (url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "0336vz0galjnsazbmkxjwdv1qvdqsx2rgrvp778xgq2fzasz45cx"))))
+ "1cpgdqcs624nd1p271ddakgyibl0ia4f6dzivnz9qdwszsinwr89"))))
(build-system dune-build-system)
- (arguments
- `(#:tests? #f))
+ (arguments `(#:tests? #f))
(propagated-inputs
`(("ocaml-ppx-derivers" ,ocaml-ppx-derivers)
("ocamlbuild" ,ocamlbuild)
("ocaml-result" ,ocaml-result)))
- (properties `((upstream-name . "ocaml-migrate-parsetree")))
+ (properties `((upstream-name . "ocaml-migrate-parsetree")
+ ;; OCaml 4.07 packages require version 1.*
+ (ocaml4.07-variant . ,(delay (package-with-ocaml4.07 ocaml-migrate-parsetree-1)))))
(synopsis "OCaml parsetree converter")
(description "This library converts between parsetrees of different OCaml
versions. For each version, there is a snapshot of the parsetree and conversion
functions to the next and/or previous version.")
(license license:lgpl2.1+)))
-
+
+(define-public ocaml-migrate-parsetree-1
+ (package
+ (inherit ocaml-migrate-parsetree)
+ (name "ocaml-migrate-parsetree-1")
+ (version "1.8.0")
+ (home-page "https://github.com/ocaml-ppx/ocaml-migrate-parsetree")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "16x8sxc4ygxrr1868qpzfqyrvjf3hfxvjzmxmf6ibgglq7ixa2nq"))))
+ (properties '((upstream-name . "ocaml-migrate-parsetree")))))
+
(define-public ocaml-ppx-tools-versioned
(package
(name "ocaml-ppx-tools-versioned")
@@ -1818,7 +1847,7 @@ functions to the next and/or previous version.")
`(#:test-target "."
#:package "ppx_tools_versioned"))
(propagated-inputs
- `(("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)))
+ `(("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree-1)))
(properties `((upstream-name . "ppx_tools_versioned")))
(home-page "https://github.com/let-def/ppx_tools_versioned")
(synopsis "Variant of ppx_tools")
@@ -1960,10 +1989,10 @@ to operate on the result type available from OCaml 4.03 in the standard
library.")
(license license:isc)))
-(define-public ocaml4.07-sqlite3
+(define-public ocaml-sqlite3
(package
- (name "ocaml4.07-sqlite3")
- (version "4.4.1")
+ (name "ocaml-sqlite3")
+ (version "5.0.2")
(source
(origin
(method git-fetch)
@@ -1973,18 +2002,16 @@ library.")
(file-name (git-file-name name version))
(sha256
(base32
- "1536agm5fgcqysszhpd3kmw7lkc5n5ni7gmlyglrbvmnmrwf3av2"))))
+ "15mmq7ak5facpfawfrc6hjz211gli7jab52iqdsihfvh790xm55f"))))
(build-system dune-build-system)
- (arguments
- `(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
+ (properties `((ocaml4.07-variant . ,(delay ocaml4.07-sqlite3))))
+ (propagated-inputs
+ `(("dune-configurator" ,dune-configurator)
+ ("ocaml-odoc" ,ocaml-odoc)))
(native-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-stdio" ,ocaml4.07-stdio)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("sqlite" ,sqlite)))
+ `(("ocaml-ppx-inline-test" ,ocaml-ppx-inline-test)
+ ("pkg-config" ,pkg-config)
+ ("sqlite" ,sqlite)))
(home-page "https://mmottl.github.io/sqlite3-ocaml")
(synopsis "SQLite3 Bindings for OCaml")
(description
@@ -1996,6 +2023,21 @@ coexistence with the old (version 2) SQLite and its OCaml wrapper
@code{ocaml-sqlite}.")
(license license:expat)))
+(define-public ocaml4.07-sqlite3
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-sqlite3)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'chmod
+ (lambda _
+ (for-each (lambda (file) (chmod file #o644)) (find-files "." ".*"))
+ #t)))))
+ (propagated-inputs
+ `(("ocaml-odoc" ,ocaml-odoc)))
+ (properties '()))))
+
(define-public ocaml-csv
(package
(name "ocaml-csv")
@@ -2054,6 +2096,55 @@ manipulate such data.")
spans without being subject to operating system calendar time adjustments.")
(license license:isc)))
+(define-public ocaml-calendar
+ ;; No tags.
+ ;; Commit from 2019-02-03.
+ (let ((commit "a447a88ae3c1e9873e32d2a95d3d3e7c5ed4a7da")
+ (revision "0"))
+ (package
+ (name "ocaml-calendar")
+ ;; Makefile.in says 2.04.
+ (version (git-version "2.04" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml-community/calendar")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "09d9gyqm3zkf3z2m9fx87clqihx6brf8rnzm4yq7c8kf1p572hmc"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:test-target "tests"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'make-deterministic
+ (lambda _
+ (substitute* "Makefile.in"
+ (("`date`") "no date for reproducibility"))))
+ (add-before 'install 'set-environment-variables
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (setenv "OCAMLFIND_DESTDIR"
+ (string-append out "/lib/ocaml/site-lib"))
+ (setenv "OCAMLFIND_LDCONF" "ignore")
+ (mkdir-p (string-append
+ out "/lib/ocaml/site-lib/calendar"))))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)))
+ (propagated-inputs
+ `(("ocaml" ,ocaml)
+ ("ocamlfind" ,ocaml-findlib)))
+ (home-page "https://github.com/ocaml-community/calendar")
+ (synopsis "OCaml library for handling dates and times")
+ (description "This package provides types and operations over
+dates and times.")
+ ;; With linking exception.
+ (license license:lgpl2.1+))))
+
(define-public ocaml-cmdliner
(package
(name "ocaml-cmdliner")
@@ -2128,14 +2219,14 @@ functions.")
(define-public ocaml-astring
(package
(name "ocaml-astring")
- (version "0.8.3")
+ (version "0.8.5")
(source
(origin
(method url-fetch)
(uri (string-append "http://erratique.ch/software/astring/releases/astring-"
version ".tbz"))
(sha256 (base32
- "0ixjwc3plrljvj24za3l9gy0w30lsbggp8yh02lwrzw61ls4cri0"))))
+ "1ykhg9gd3iy7zsgyiy2p9b1wkpqg9irw5pvcqs3sphq71iir4ml6"))))
(build-system ocaml-build-system)
(native-inputs
`(("ocamlbuild" ,ocamlbuild)
@@ -2300,7 +2391,7 @@ for mapping files in memory. This function is the same as the
(define-public ocaml-lwt
(package
(name "ocaml-lwt")
- (version "5.1.1")
+ (version "5.4.0")
(source
(origin
(method git-fetch)
@@ -2309,7 +2400,7 @@ for mapping files in memory. This function is the same as the
(commit version)))
(file-name (git-file-name name version))
(sha256 (base32
- "1nl7rdnwfdhwcsm5zpay1nr9y5cbapd9x1qzily7zk9ab4v52m8g"))))
+ "1ay1zgadnw19r9hl2awfjr22n37l7rzxd9v73pjbahavwm2ay65d"))))
(build-system dune-build-system)
(arguments
`(#:package "lwt"))
@@ -2318,13 +2409,13 @@ for mapping files in memory. This function is the same as the
("ocaml-cppo" ,ocaml-cppo)
("pkg-config" ,pkg-config)))
(inputs
- `(("libev" ,libev)
- ("glib" ,glib)))
+ `(("glib" ,glib)))
(propagated-inputs
`(("ocaml-mmap" ,ocaml-mmap)
("ocaml-ocplib-endian" ,ocaml-ocplib-endian)
("ocaml-result" ,ocaml-result)
- ("ocaml-seq" ,ocaml-seq)))
+ ("ocaml-seq" ,ocaml-seq)
+ ("libev" ,libev)))
(home-page "https://github.com/ocsigen/lwt")
(synopsis "Cooperative threads and I/O in monadic style")
(description "Lwt provides typed, composable cooperative threads. These
@@ -2511,10 +2602,10 @@ format. It can process XML documents without a complete in-memory
representation of the data.")
(license license:isc)))
-(define-public ocaml4.07-gen
+(define-public ocaml-gen
(package
- (name "ocaml4.07-gen")
- (version "0.5.2")
+ (name "ocaml-gen")
+ (version "0.5.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2523,29 +2614,26 @@ representation of the data.")
(file-name (git-file-name name version))
(sha256
(base32
- "1h9g508rnj2j8va5nvhamzscp954vrkh0hdf4pn3d10pcfyslfg2"))))
+ "1jzrs0nsdk55annkd2zrk5svi61i3b1nk6qyqdc2y26vnzqvzfg8"))))
(build-system dune-build-system)
(arguments
- `(#:tests? #f; no tests
- #:package "gen"
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
+ `(#:package "gen"
+ #:test-target "."))
(propagated-inputs
- `(("ocaml-odoc" ,(package-with-ocaml4.07 ocaml4.07-odoc))))
+ `(("ocaml-odoc" ,ocaml-odoc)))
(native-inputs
- `(("ocaml-qtest" ,(package-with-ocaml4.07 ocaml-qtest))
- ("ocaml-qcheck" ,(package-with-ocaml4.07 ocaml-qcheck))))
+ `(("ocaml-qtest" ,ocaml-qtest)
+ ("ocaml-qcheck" ,ocaml-qcheck)))
(home-page "https://github.com/c-cube/gen/")
(synopsis "Iterators for OCaml, both restartable and consumable")
(description "Gen implements iterators of OCaml, that are both restartable
and consumable.")
(license license:bsd-2)))
-(define-public ocaml4.07-sedlex
+(define-public ocaml-sedlex
(package
- (name "ocaml4.07-sedlex")
- (version "2.1")
+ (name "ocaml-sedlex")
+ (version "2.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2554,36 +2642,37 @@ and consumable.")
(file-name (git-file-name name version))
(sha256
(base32
- "05f6qa8x3vhpdz1fcnpqk37fpnyyq13icqsk2gww5idjnh6kng26"))))
+ "0iw3phlaqr27jdf857hmj5v5hdl0vngbb2h37p2ll18sw991fxar"))))
(build-system dune-build-system)
(arguments
- `(#:tests? #f; no tests
+ `(#:tests? #f ; no tests
#:package "sedlex"
#:phases
(modify-phases %standard-phases
(add-before 'build 'copy-resources
(lambda* (#:key inputs #:allow-other-keys)
(with-directory-excursion "src/generator/data"
+ ;; Newer versions of dune emit an error if files it wants to
+ ;; build already exist. Delete the dune file so dune doesn't
+ ;; complain.
+ (delete-file "dune")
(for-each
- (lambda (file)
- (copy-file (assoc-ref inputs file) file))
- '("DerivedCoreProperties.txt" "DerivedGeneralCategory.txt"
- "PropList.txt")))
+ (lambda (file)
+ (copy-file (assoc-ref inputs file) file))
+ '("DerivedCoreProperties.txt" "DerivedGeneralCategory.txt"
+ "PropList.txt")))
#t))
(add-before 'build 'chmod
(lambda _
(for-each (lambda (file) (chmod file #o644)) (find-files "." ".*"))
- #t)))
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
+ #t)))))
(native-inputs
- `(("ocamlbuild" ,(package-with-ocaml4.07 ocamlbuild))))
+ `(("ocamlbuild" ,ocamlbuild)))
(propagated-inputs
- `(("ocaml-gen" ,ocaml4.07-gen)
- ("ocaml-ppx-tools-versioned"
- ,(package-with-ocaml4.07 ocaml-ppx-tools-versioned))
- ("ocaml-uchar" ,(package-with-ocaml4.07 ocaml-uchar))))
+ `(("ocaml-gen" ,ocaml-gen)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)
+ ("ocaml-ppx-tools-versioned" ,ocaml-ppx-tools-versioned)
+ ("ocaml-uchar" ,ocaml-uchar)))
;; These three files are needed by src/generator/data/dune, but would be
;; downloaded using curl at build time.
(inputs
@@ -2608,11 +2697,29 @@ and consumable.")
(sha256
(base32
"0gsb1jpj3mnqbjgbavi4l95gl6g4agq58j82km22fdfg63j3w3fk"))))))
+ (properties `((ocaml4.07-variant . ,(delay ocaml4.07-sedlex))))
(home-page "https://www.cduce.org/download.html#side")
(synopsis "Lexer generator for Unicode and OCaml")
(description "Lexer generator for Unicode and OCaml.")
(license license:expat)))
+(define-public ocaml4.07-sedlex
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-sedlex)
+ (name "ocaml-sedlex")
+ (version "2.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml-community/sedlex")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "05f6qa8x3vhpdz1fcnpqk37fpnyyq13icqsk2gww5idjnh6kng26"))))
+ (properties '()))))
+
(define-public ocaml-uchar
(package
(name "ocaml-uchar")
@@ -2676,6 +2783,51 @@ Functions are also provided to fold over the characters of UTF encoded OCaml
string values and to directly encode characters in OCaml Buffer.t values.")
(license license:isc)))
+(define-public ocaml-uunf
+ (package
+ (name "ocaml-uunf")
+ (version "13.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri "https://erratique.ch/software/uunf/releases/uunf-13.0.0.tbz")
+ (sha256
+ (base32
+ "1qci04nkp24kdls1z4s8kz5dzgky4nwd5r8345nwdrgwmxhw7ksm"))))
+ (build-system ocaml-build-system)
+ (arguments
+ `(#:build-flags (list "build" "--tests" "true")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'check 'check-data
+ (lambda* (#:key inputs #:allow-other-keys)
+ (copy-file (assoc-ref inputs "NormalizationTest.txt")
+ "test/NormalizationTest.txt")
+ #t)))))
+ (native-inputs
+ `(("ocamlbuild" ,ocamlbuild)
+ ("opam" ,opam)
+ ("topkg" ,ocaml-topkg)
+ ;; Test data is otherwise downloaded wit curl
+ ("NormalizationTest.txt"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://www.unicode.org/Public/"
+ version
+ "/ucd/NormalizationTest.txt"))
+ (sha256
+ (base32 "07g0ya4f6zfzvpp24ccxkb2yq568kh83gls85rjl950nv5fya3nn"))))))
+ (propagated-inputs `(("ocaml-uutf" ,ocaml-uutf)))
+ (home-page "https://erratique.ch/software/uunf")
+ (synopsis "Unicode text normalization for OCaml")
+ (description
+ "Uunf is an OCaml library for normalizing Unicode text. It supports all
+Unicode normalization forms. The library is independent from any
+IO mechanism or Unicode text data structure and it can process text
+without a complete in-memory representation.")
+ (license license:isc)))
+
(define-public ocaml-jsonm
(package
(name "ocaml-jsonm")
@@ -2724,8 +2876,7 @@ without a complete in-memory representation of the data.")
"1dvcl108ir9nqkk4mjm9xhhj4p9dx9bmg8bnms54fizs1x3x8ar3"))))
(build-system dune-build-system)
(arguments
- `(#:test-target "tests"
- #:build-flags (list "--profile=release")))
+ `(#:test-target "tests"))
(propagated-inputs
`(("ocaml-cmdliner" ,ocaml-cmdliner)))
(home-page "https://www.typerex.org/ocp-indent.html")
@@ -2984,39 +3135,41 @@ every compliant installation of OCaml and organize these libraries into a
hierarchy of modules.")
(license license:lgpl2.1+)))
-(define-public ocaml4.07-pcre
+(define-public ocaml-pcre
(package
- (name "ocaml4.07-pcre")
- (version "7.4.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/mmottl/pcre-ocaml")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "11sd8g668h48790lamz0riw9jgnfkaif5qdfa0akcndwa6aj07jf"))))
+ (name "ocaml-pcre")
+ (version "7.4.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mmottl/pcre-ocaml")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "11mck879p5zvkghps4ky8yslm0isgz52d84adl0dmcfxv2ibvcym"))))
(build-system dune-build-system)
(arguments
- `(#:test-target "."
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
+ ;; No tests.
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("dune-configurator" ,dune-configurator)
+ ("pcre" ,pcre)))
(native-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("pcre:bin" ,pcre "bin")))
- (propagated-inputs `(("pcre" ,pcre)))
+ `(("pcre:bin" ,pcre "bin")))
(home-page "https://mmottl.github.io/pcre-ocaml")
- (synopsis "Bindings to the Perl Compatibility Regular Expressions library")
- (description "Pcre-ocaml offers library functions for string pattern
-matching and substitution, similar to the functionality offered by the Perl
-language.")
- (license license:lgpl2.1+))); with the OCaml link exception
+ (synopsis
+ "Bindings to the Perl Compatibility Regular Expressions library")
+ (description "Pcre-ocaml offers library functions for string
+pattern matching and substitution, similar to the functionality
+offered by the Perl language.")
+ ;; With static linking exception
+ (license license:lgpl2.1+)))
-(define-public ocaml4.07-expect
+(define-public ocaml-expect
(package
- (name "ocaml4.07-expect")
+ (name "ocaml-expect")
(version "0.0.6")
(source (origin
(method url-fetch)
@@ -3025,21 +3178,20 @@ language.")
(base32
"098qvg9d4yrqzr5ax291y3whrpax0m3sx4gi6is0mblc96r9yqk0"))))
(arguments
- `(#:tests? #f
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ `(#:tests? #f))
(build-system ocaml-build-system)
(native-inputs
- `(("ocamlbuild" ,(package-with-ocaml4.07 ocamlbuild))
- ("ocaml-num" ,(package-with-ocaml4.07 ocaml-num))
- ("ocaml-pcre" ,ocaml4.07-pcre)
- ("ounit" ,(package-with-ocaml4.07 ocaml-ounit))))
+ `(("ocamlbuild" ,ocamlbuild)
+ ("ocaml-num" ,ocaml-num)
+ ("ocaml-pcre" ,ocaml-pcre)
+ ("ounit" ,ocaml-ounit)))
(propagated-inputs
- `(("batteries" ,(package-with-ocaml4.07 ocaml-batteries))))
+ `(("batteries" ,ocaml-batteries)))
(home-page "https://forge.ocamlcore.org/projects/ocaml-expect/")
(synopsis "Simple implementation of expect")
- (description "Help building unitary testing of interactive program. You
-can match the question using a regular expression or a timeout.")
+ (description "This package provides utilities for building unitary testing
+of interactive program. You can match the question using a regular expression
+or a timeout.")
(license license:lgpl2.1+))) ; with the OCaml static compilation exception
(define-public ocaml-stdlib-shims
@@ -3142,8 +3294,7 @@ build system and allows external tools to analyse your project easily.")
"1smcc0l6fh2n0y6bp96c69j5nw755jja99w0b206wx3yb2m4w2hs"))))
(build-system dune-build-system)
(arguments
- `(#:tests? #f
- #:build-flags (list "--profile" "release")))
+ `(#:tests? #f))
(native-inputs
`(("ocamlbuild" ,ocamlbuild)))
(home-page "https://github.com/mjambon/cppo")
@@ -3199,7 +3350,7 @@ standard iterator type starting from 4.07.")
(define-public ocaml-re
(package
(name "ocaml-re")
- (version "1.9.0")
+ (version "1.10.3")
(source
(origin
(method git-fetch)
@@ -3208,11 +3359,10 @@ standard iterator type starting from 4.07.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "07ycb103mr4mrkxfd63cwlsn023xvcjp0ra0k7n2gwrg0mwxmfss"))))
+ (base32 "1lj94y3zj6qff1yizf311h5ww15djbmnb1g43wd0jz3afa9gk59m"))))
(build-system dune-build-system)
(arguments
- `(#:tests? #f
- #:build-flags (list "--profile" "release")))
+ `(#:test-target "."))
(propagated-inputs
`(("ocaml-seq" ,ocaml-seq)))
(native-inputs
@@ -3258,7 +3408,7 @@ big- and little-endian, with their unsafe counter-parts.")
(define-public ocaml-cstruct
(package
(name "ocaml-cstruct")
- (version "4.0.0")
+ (version "6.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3267,11 +3417,13 @@ big- and little-endian, with their unsafe counter-parts.")
(file-name (git-file-name name version))
(sha256
(base32
- "0m4bz0digcsc8l2msfikwcbi1y371kccx6xnkwrz212mf5mp98bv"))))
+ "0gpyr3cf393j1ir7i2m2qhx75l21w6ad7imdd73xn0jy3pjg4wsj"))))
(build-system dune-build-system)
(arguments
`(#:package "cstruct"
#:test-target "."))
+ (propagated-inputs
+ `(("ocaml-bigarray-compat" ,ocaml-bigarray-compat)))
(native-inputs
`(("ocaml-alcotest" ,ocaml-alcotest)))
(home-page "https://github.com/mirage/ocaml-cstruct")
@@ -3339,6 +3491,36 @@ the need to write signal code, which is useful for quick scripts that manipulate
JSON.")
(license license:isc)))
+(define-public ocaml-uri
+ (package
+ (name "ocaml-uri")
+ (version "4.2.0")
+ (home-page "https://github.com/mirage/ocaml-uri")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1bgkc66cq00mgnkz3i535srwzwc4cpdsv0mly5dzvvq33451xwf0"))))
+ (build-system dune-build-system)
+ (arguments '(#:package "uri"
+ #:test-target "."))
+ (propagated-inputs
+ `(("ocaml-stringext" ,ocaml-stringext)
+ ("ocaml-angstrom" ,ocaml-angstrom)))
+ (native-inputs
+ `(("ocaml-ounit" ,ocaml-ounit)
+ ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)))
+ (properties `((upstream-name . "uri")
+ (ocaml4.07-variant ,(delay ocaml4.07-uri))))
+ (synopsis "RFC3986 URI/URL parsing library")
+ (description "OCaml-uri is a library for parsing URI/URL in the RFC3986 format.")
+ (license license:isc)))
+
(define-public ocaml4.07-uri
(package
(name "ocaml4.07-uri")
@@ -3366,11 +3548,12 @@ JSON.")
#:dune ,ocaml4.07-dune))
(native-inputs
`(("ocaml-ounit" ,(package-with-ocaml4.07 ocaml-ounit))
- ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)))
+ ("ocaml-ppx-sexp-conv" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))))
(propagated-inputs
`(("ocaml-re" ,(package-with-ocaml4.07 ocaml-re))
("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))
("ocaml-stringext" ,(package-with-ocaml4.07 ocaml-stringext))))
+ (properties `((upstream-name . "uri")))
(home-page "https://github.com/mirage/ocaml-uri")
(synopsis "RFC3986 URI/URL parsing library")
(description "OCaml-uri is a library for parsing URI/URL in the RFC3986 format.")
@@ -3460,7 +3643,7 @@ Format module of the OCaml standard library.")
`(("which" ,which)))
(propagated-inputs
`(("ocaml-xmlm" ,(package-with-ocaml4.07 ocaml-xmlm))
- ("ocaml-sedlex" ,ocaml4.07-sedlex)
+ ("ocaml-sedlex" ,(package-with-ocaml4.07 ocaml-sedlex))
("ocaml-easy-format" ,(package-with-ocaml4.07 ocaml-easy-format))
("ocaml-base64" ,(package-with-ocaml4.07 ocaml-base64))))
(home-page "http://piqi.org")
@@ -3658,9 +3841,8 @@ the plugins facilitate extensibility, and the frontends serve as entry points.")
"0chn7ldqb3wyf95yhmsxxq65cif56smgz1mhhc7m0dpwmyq1k97h"))))
(build-system dune-build-system)
(arguments
- `(#:build-flags (list "--profile" "release")
- #:test-target "camomile-test"
- #:tests? #f; Tests fail, see https://github.com/yoriyuki/Camomile/issues/82
+ `(#:test-target "camomile-test"
+ #:tests? #f ; Tests fail, see https://github.com/yoriyuki/Camomile/issues/82
#:phases
(modify-phases %standard-phases
(add-before 'build 'fix-usr-share
@@ -3697,7 +3879,7 @@ library is currently designed for Unicode Standard 3.2.")
`(("ocaml-result" ,(package-with-ocaml4.07 ocaml-result))
("ocaml-camomile" ,(package-with-ocaml4.07 ocaml-camomile))))
(native-inputs
- `(("ocaml-ppx-expect" ,ocaml4.07-ppx-expect)))
+ `(("ocaml-ppx-expect" ,(package-with-ocaml4.07 ocaml-ppx-expect))))
(properties
`((upstream-name . "charInfo_width")))
(home-page "https://bitbucket.org/zandoye/charinfo_width/")
@@ -3751,8 +3933,7 @@ connect an engine to your inputs and rendering functions to get an editor.")
(base32 "0zcjy6fvf0d3i2ssz96asl889n3r6bplyzk7xvb2s3dkxbgcisyy"))))
(build-system dune-build-system)
(arguments
- `(#:build-flags (list "--profile" "release")
- #:tests? #f
+ `(#:tests? #f
#:ocaml ,ocaml-4.07
#:findlib ,ocaml4.07-findlib
#:dune ,ocaml4.07-dune))
@@ -3761,8 +3942,6 @@ connect an engine to your inputs and rendering functions to get an editor.")
("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)))
- (inputs
- `(("libev" ,libev)))
(home-page "https://github.com/diml/lambda-term")
(synopsis "Terminal manipulation library for OCaml")
(description "Lambda-Term is a cross-platform library for manipulating the
@@ -3810,29 +3989,20 @@ sensitive completion, colors, and more.")
(define-public ocaml-integers
(package
(name "ocaml-integers")
- (version "0.3.0")
+ (version "0.4.0")
(home-page "https://github.com/ocamllabs/ocaml-integers")
(source (origin
- (method url-fetch)
- (uri (string-append home-page
- "/releases/download/v0.2.2/integers-"
- version ".tbz"))
- (file-name (string-append name "-" version ".tbz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "08b1ljw88ny3l0mdq6xmffjk8anfc77igryva5jz1p6f4f746ywk"))))
- (build-system ocaml-build-system)
+ "0yp3ab0ph7mp5741g7333x4nx8djjvxzpnv3zvsndyzcycspn9dd"))))
+ (build-system dune-build-system)
(arguments
- `(#:tests? #f; no tests
- #:build-flags (list "build")
- #:phases
- (modify-phases %standard-phases
- (delete 'configure))))
- (native-inputs
- `(("ocamlbuild" ,ocamlbuild)))
- (inputs
- `(("topkg" ,ocaml-topkg)
- ("opam" ,opam)))
+ `(#:tests? #f)) ; no tests
(synopsis "Various signed and unsigned integer types for OCaml")
(description "The ocaml-integers library provides a number of 8-, 16-, 32-
and 64-bit signed and unsigned integer types, together with aliases such as
@@ -3842,7 +4012,7 @@ long and size_t whose sizes depend on the host platform.")
(define-public ocaml-ctypes
(package
(name "ocaml-ctypes")
- (version "0.14.0")
+ (version "0.18.0")
(home-page "https://github.com/ocamllabs/ocaml-ctypes")
(source (origin
(method git-fetch)
@@ -3852,7 +4022,7 @@ long and size_t whose sizes depend on the host platform.")
(file-name (git-file-name name version))
(sha256
(base32
- "1b2q3h63ngf4x9qp65qwapf2dg9q0mcdah6qjm2q0c7v2p5vysv9"))))
+ "03zrbnl16m67ls0yfhq7a4k4238x6x6b3m456g4dw2yqwc153vks"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f; require an old lwt
@@ -3871,10 +4041,12 @@ long and size_t whose sizes depend on the host platform.")
(delete 'configure))))
(native-inputs
`(("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ `(("bigarray-compat" ,ocaml-bigarray-compat)
+ ("integers" ,ocaml-integers)))
(inputs
`(("libffi" ,libffi)
("ounit" ,ocaml-ounit)
- ("integers" ,ocaml-integers)
("lwt" ,ocaml-lwt)
("topkg" ,ocaml-topkg)
("opam" ,opam)))
@@ -4073,10 +4245,75 @@ Dedukti files.")
syntax checking on dedukti files.")
(license license:cecill-b))))
-(define-public ocaml4.07-ppx-inline-test
+(define-public ocaml-jst-config
+ (package
+ (name "ocaml-jst-config")
+ (version "0.14.0")
+ (source
+ (janestreet-origin
+ "jst-config" version
+ "1fppr29vn91zpqda8jlnp8bcssd4bf3rn36ig8fnd1yhjrsvz8f6"))
+ (build-system dune-build-system)
+ (arguments '(#:tests? #f)) ; no tests
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-ppx-assert" ,ocaml-ppx-assert)
+ ("ocaml-stdio" ,ocaml-stdio)
+ ("dune-configurator" ,dune-configurator)))
+ (home-page "https://github.com/janestreet/jst-config")
+ (synopsis "Compile-time configuration for Jane Street libraries")
+ (description "Defines compile-time constants used in Jane Street libraries
+such as Base, Core, and Async. This package has an unstable interface; it is
+intended only to share configuration between different packages from Jane
+Street. Future updates may not be backward-compatible, and we do not
+recommend using this package directly.")
+ (license license:expat)))
+
+(define-public ocaml-jane-street-headers
+ (package
+ (name "ocaml-jane-street-headers")
+ (version "0.14.0")
+ (source
+ (janestreet-origin
+ "jane-street-headers" version
+ "028yxb4h3iy025iy89v8653m5brh7flrjshghs4x99pd690pmfs7"))
+ (build-system dune-build-system)
+ (arguments '(#:tests? #f)) ; no tests
+ (home-page "https://github.com/janestreet/jane-street-headers")
+ (synopsis "Jane Street C header files")
+ (description "C header files shared between the various Jane Street
+packages.")
+ (license license:expat)))
+
+(define-public ocaml-time-now
(package
- (name "ocaml4.07-ppx-inline-test")
- (version "0.12.0")
+ (name "ocaml-time-now")
+ (version "0.14.0")
+ (source
+ (janestreet-origin
+ "time_now" version
+ "0hkn2jw4dz5gflnsblskl5wp6z7zbrahwjmaxmsskfviwjg82cqh"))
+ (build-system dune-build-system)
+ (arguments '(#:tests? #f)) ; no tests
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-jane-street-headers" ,ocaml-jane-street-headers)
+ ("ocaml-jst-config" ,ocaml-jst-config)
+ ("ocaml-ppx-base" ,ocaml-ppx-base)
+ ("ocaml-ppx-optcomp" ,ocaml-ppx-optcomp)))
+ (properties `((upstream-name . "time_now")))
+ (home-page
+ "https://github.com/janestreet/time_now")
+ (synopsis "Reports the current time")
+ (description
+ "Provides a single function to report the current time in nanoseconds
+since the start of the Unix epoch.")
+ (license license:expat)))
+
+(define-public ocaml-ppx-inline-test
+ (package
+ (name "ocaml-ppx-inline-test")
+ (version "0.14.1")
(home-page "https://github.com/janestreet/ppx_inline_test")
(source
(origin
@@ -4087,29 +4324,52 @@ syntax checking on dedukti files.")
(file-name (git-file-name name version))
(sha256
(base32
- "0nyz411zim94pzbxm2l2v2l9jishcxwvxhh142792g2s18r4vn50"))))
+ "1ajdna1m9l1l3nfigyy33zkfa3yarfr6s086jdw2pcfwlq1fhhl4"))))
(build-system dune-build-system)
(arguments
- ;see home page README for further information
- `(#:tests? #f
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
- (inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-compiler-libs" ,ocaml4.07-compiler-libs)
- ("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))
- ("ocaml-stdio" ,ocaml4.07-stdio)
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
- (properties `((upstream-name . "ppx_inline_test")))
+ `(#:tests? #f)) ;see home page README for further information
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-compiler-libs" ,ocaml-compiler-libs)
+ ("ocaml-sexplib0" ,ocaml-sexplib0)
+ ("ocaml-stdio" ,ocaml-stdio)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)
+ ("ocaml-time-now" ,ocaml-time-now)))
+ (properties `((upstream-name . "ppx_inline_test")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-inline-test))))
(synopsis "Syntax extension for writing in-line tests in ocaml code")
(description "This package contains a syntax extension for writing
in-line tests in ocaml code. It is part of Jane Street's PPX rewriters
collection.")
(license license:expat)))
+(define-public ocaml4.07-ppx-inline-test
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-inline-test)
+ (name "ocaml-ppx-inline-test")
+ (version "0.12.0")
+ (home-page "https://github.com/janestreet/ppx_inline_test")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url (string-append home-page ".git"))
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0nyz411zim94pzbxm2l2v2l9jishcxwvxhh142792g2s18r4vn50"))))
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-compiler-libs" ,ocaml-compiler-libs)
+ ("ocaml-sexplib0" ,ocaml-sexplib0)
+ ("ocaml-stdio" ,ocaml-stdio)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_inline_test"))))))
+
(define-public ocaml-bindlib
(package
(name "ocaml-bindlib")
@@ -4126,7 +4386,7 @@ collection.")
"1f8kr81w8vsi4gv61xn1qbc6zrzkjp8l9ix0942vjh4gjxc74v75"))))
(build-system ocaml-build-system)
(arguments
- `(#:tests? #f ;no tests
+ `(#:tests? #f ;no tests
#:use-make? #t
#:phases
(modify-phases %standard-phases
@@ -4148,10 +4408,10 @@ for programming languages, but also for manipulating terms of the λ-calculus
or quantified formulas.")
(license license:gpl3+)))
-(define-public ocaml4.07-earley
+(define-public ocaml-earley
(package
- (name "ocaml4.07-earley")
- (version "2.0.0")
+ (name "ocaml-earley")
+ (version "3.0.0")
(home-page "https://github.com/rlepigre/ocaml-earley")
(source
(origin
@@ -4162,13 +4422,12 @@ or quantified formulas.")
(file-name (git-file-name name version))
(sha256
(base32
- "18k7bi7krc4bvqnhijz1q0pfr0nfahghfjifci8rh1q4i5zd0xz5"))))
+ "1vi58zdxchpw6ai0bz9h2ggcmg8kv57yk6qbx82lh47s5wb3mz5y"))))
(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-stdlib-shims" ,ocaml-stdlib-shims)))
(synopsis "Parsing library based on Earley Algorithm")
(description "Earley is a parser combinator library base on Earley's
algorithm. It is intended to be used in conjunction with an OCaml syntax
@@ -4237,12 +4496,7 @@ than the first one.")
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'make-writable
- (lambda _
- (for-each
- (lambda (file)
- (chmod file #o644))
- (find-files "." "."))
- #t)))))
+ (lambda _ (for-each make-file-writable (find-files "." ".")))))))
(inputs
`(("ocaml-easy-format" ,ocaml-easy-format)))
(native-inputs
@@ -4328,7 +4582,7 @@ format}. @code{craml} is released as a single binary (called @code{craml}).")
(define-public ocaml-dot-merlin-reader
(package
(name "ocaml-dot-merlin-reader")
- (version "3.4.2")
+ (version "4.2-411")
(source
(origin
(method git-fetch)
@@ -4338,7 +4592,7 @@ format}. @code{craml} is released as a single binary (called @code{craml}).")
(file-name (git-file-name name version))
(sha256
(base32
- "0i2nwkdh6cfzmnsdsr8aw86vs8j1k5jkjzrs61b9384wnffdbbmj"))))
+ "1vl6p8m2pag5j283h5g2gzxxfm599k6qhyrjkdf3kyc476fc9lw8"))))
(build-system dune-build-system)
(arguments '(#:package "dot-merlin-reader"
#:tests? #f)) ; no tests
@@ -4354,21 +4608,16 @@ format}. @code{craml} is released as a single binary (called @code{craml}).")
(define-public ocaml-merlin
(package
+ (inherit ocaml-dot-merlin-reader)
(name "ocaml-merlin")
- (version "3.4.2")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ocaml/merlin")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0i2nwkdh6cfzmnsdsr8aw86vs8j1k5jkjzrs61b9384wnffdbbmj"))))
- (build-system dune-build-system)
- (arguments '(#:package "merlin"
- #:test-target "tests"))
+ (arguments
+ '(#:package "merlin"
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "dune" "runtest" "-p" "merlin,dot-merlin-reader")))))))
(inputs
`(("ocaml-yojson" ,ocaml-yojson)
("ocaml-csexp" ,ocaml-csexp)
@@ -4377,7 +4626,6 @@ format}. @code{craml} is released as a single binary (called @code{craml}).")
`(("ocaml-dot-merlin-reader" ,ocaml-dot-merlin-reader) ; required for tests
("ocaml-mdx" ,ocaml-mdx)
("jq" ,jq)))
- (home-page "https://ocaml.github.io/merlin/")
(synopsis "Context sensitive completion for OCaml in Vim and Emacs")
(description "Merlin is an editor service that provides modern IDE
features for OCaml. Emacs and Vim support is provided out-of-the-box.
@@ -4444,7 +4692,7 @@ Atom.")
`(("gsl" ,gsl)))
(propagated-inputs
`(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-stdio" ,ocaml4.07-stdio)))
+ ("ocaml-stdio" ,(package-with-ocaml4.07 ocaml-stdio))))
(home-page "https://mmottl.github.io/gsl-ocaml")
(synopsis "Bindings to the GNU Scientific Library")
(description
@@ -4499,6 +4747,10 @@ the OCaml language.")
#:tests? #f
#:phases
(modify-phases %standard-phases
+ (add-before 'configure 'make-deterministic
+ (lambda _
+ (substitute* "Makefile.in"
+ (("`date`") "no date for reproducibility"))))
(add-before 'configure 'configure-for-release
(lambda _
(substitute* "Makefile.in"
@@ -4517,10 +4769,13 @@ the OCaml language.")
(add-before 'configure 'fix-ocaml-num
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "Makefile.in"
+ (("nums.cma") "num.cma num_core.cma")
(("= \\$\\(FUNCTORYLIB\\)")
(string-append "= -I "
(assoc-ref inputs "ocaml-num")
- "/lib/ocaml/site-lib"
+ "/lib/ocaml/site-lib/num/core -I "
+ (assoc-ref inputs "ocaml-num")
+ "/lib/ocaml/site-lib/num"
" $(FUNCTORYLIB)")))
#t)))))
(home-page "http://cubicle.lri.fr/")
@@ -4689,70 +4944,66 @@ provided by companion libraries such as
(sha256
(base32
"0j6xb4265jr41vw4fjzak6yr8s30qrnzapnc6rl1dxy8bjai0nir"))))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'build
- ;; make warnings non fatal (jbuilder behaviour)
- (lambda _
- (invoke "dune" "build" "@install" "--profile=release"))))
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
(properties '()))))
-(define-public ocaml4.07-compiler-libs
+(define-public ocaml-compiler-libs
(package
- (name "ocaml4.07-compiler-libs")
- (version "0.11.0")
+ (name "ocaml-compiler-libs")
+ (version "0.12.3")
(home-page "https://github.com/janestreet/ocaml-compiler-libs")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url (string-append home-page ".git"))
+ (url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "03jds7bszh8wwpfwxb3dg0gyr1j1872wxwx1xqhry5ir0i84bg0s"))))
+ "00nrar7h2pyflbdiq6wwwrb4k5jh9iff0jllihzm6ms8d5pspsg5"))))
(build-system dune-build-system)
- (arguments
- `(#:tests? #f ;no tests
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
- (properties `((upstream-name . "ocaml-compiler-libs")))
+ (arguments `(#:tests? #f)) ;no tests
+ (properties `((upstream-name . "ocaml-compiler-libs")
+ (ocaml4.07-variant . ,(delay ocaml4.07-compiler-libs))))
(synopsis "Compiler libraries repackaged")
(description "This package simply repackages the OCaml compiler libraries
so they don't expose everything at toplevel. For instance, @code{Ast_helper}
is now @code{Ocaml_common.Ast_helper}.")
(license license:expat)))
-(define-public ocaml4.07-stdio
+(define-public ocaml4.07-compiler-libs
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-compiler-libs)
+ (name "ocaml-compiler-libs")
+ (version "0.11.0")
+ (home-page "https://github.com/janestreet/ocaml-compiler-libs")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "03jds7bszh8wwpfwxb3dg0gyr1j1872wxwx1xqhry5ir0i84bg0s"))))
+ (properties `((upstream-name . "ocaml-compiler-libs"))))))
+
+(define-public ocaml-stdio
(package
- (name "ocaml4.07-stdio")
- (version "0.11.0")
+ (name "ocaml-stdio")
+ (version "0.14.0")
(home-page "https://github.com/janestreet/stdio")
(source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url (string-append home-page ".git"))
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1facajqhvq34g2wrg368y0ajxd6lrj5b3lyzyj0jhdmraxajjcwn"))))
+ (janestreet-origin "stdio" version
+ "1hj5hraprqy2i90a690l11yjszvb99j818q3d684ryx6p2lddk0l"))
(build-system dune-build-system)
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
- (arguments
- `(#:tests? #f ;no tests
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-sexplib0" ,ocaml-sexplib0)))
+ (arguments `(#:tests? #f)) ;no tests
+ (properties `((ocaml4.07-variant . ,(delay ocaml4.07-stdio))))
(synopsis "Standard IO library for OCaml")
(description
"Stdio implements simple input/output functionalities for OCaml. It
@@ -4760,6 +5011,16 @@ re-exports the input/output functions of the OCaml standard libraries using
a more consistent API.")
(license license:expat)))
+(define-public ocaml4.07-stdio
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-stdio)
+ (version "0.11.0")
+ (source
+ (janestreet-origin "stdio" version
+ "0pqbp2wy5fgmc38irwvmj9nlcvclb1ix1mp4y7l39bgvvlz303h9"))
+ (properties '()))))
+
(define-public ocaml-ppx-derivers
(package
(name "ocaml-ppx-derivers")
@@ -4787,54 +5048,32 @@ ppx_deriving and ppx_type_conv to inter-operate gracefully when linked
as part of the same ocaml-migrate-parsetree driver.")
(license license:bsd-3)))
-(define-public ocaml4.07-ppxlib
+(define-public ocaml-ppxlib
(package
- (name "ocaml4.07-ppxlib")
- (version "0.6.0")
+ (name "ocaml-ppxlib")
+ (version "0.23.0")
(home-page "https://github.com/ocaml-ppx/ppxlib")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url (string-append home-page ".git"))
+ (url home-page)
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
- "0my9x7sxb329h0lzshppdaawiyfbaw6g5f41yiy7bhl071rnlvbv"))))
+ "0jg5v4pssbl66hn5davpin1i57a0r3r54l96vpz5y99xk5w70xi1"))))
(build-system dune-build-system)
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-compiler-libs" ,ocaml4.07-compiler-libs)
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppx-derivers" ,(package-with-ocaml4.07 ocaml-ppx-derivers))
- ("ocaml-stdio" ,ocaml4.07-stdio)
- ("ocaml-result" ,(package-with-ocaml4.07 ocaml-result))
- ("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'set-topfind
- (lambda* (#:key inputs #:allow-other-keys)
- ;; add the line #directory ".." at the top of each file
- ;; using #use "topfind";; to be able to find topfind
- (let* ((findlib-path (assoc-ref inputs "findlib"))
- (findlib-libdir
- (string-append findlib-path "/lib/ocaml/site-lib")))
- (substitute* '("test/base/test.ml"
- "test/code_path/test.ml"
- "test/deriving/test.ml"
- "test/driver/attributes/test.ml"
- "test/driver/non-compressible-suffix/test.ml"
- "test/driver/transformations/test.ml")
- (("#use \"topfind\";;" all)
- (string-append "#directory \"" findlib-libdir "\"\n"
- all))))
- #t)))
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-compiler-libs" ,ocaml-compiler-libs)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-stdlib-shims" ,ocaml-stdlib-shims)
+ ("ocaml-ppx-derivers" ,ocaml-ppx-derivers)
+ ("ocaml-stdio" ,ocaml-stdio)
+ ("ocaml-result" ,ocaml-result)
+ ("ocaml-sexplib0" ,ocaml-sexplib0)))
+ (properties `((ocaml4.07-variant . ,(delay ocaml4.07-ppxlib))))
(synopsis
"Base library and tools for ppx rewriters")
(description
@@ -4852,30 +5091,64 @@ OCaml AST in the OCaml syntax;
@end itemize")
(license license:expat)))
-(define-public ocaml4.07-ppx-compare
+(define-public ocaml4.07-ppxlib
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppxlib)
+ (name "ocaml-ppxlib")
+ (version "0.6.0")
+ (home-page "https://github.com/ocaml-ppx/ppxlib")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0my9x7sxb329h0lzshppdaawiyfbaw6g5f41yiy7bhl071rnlvbv"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'set-topfind
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; add the line #directory ".." at the top of each file
+ ;; using #use "topfind";; to be able to find topfind
+ (let* ((findlib-path (assoc-ref inputs "findlib"))
+ (findlib-libdir
+ (string-append findlib-path "/lib/ocaml/site-lib")))
+ (substitute* '("test/base/test.ml"
+ "test/code_path/test.ml"
+ "test/deriving/test.ml"
+ "test/driver/attributes/test.ml"
+ "test/driver/non-compressible-suffix/test.ml"
+ "test/driver/transformations/test.ml")
+ (("#use \"topfind\";;" all)
+ (string-append "#directory \"" findlib-libdir "\"\n"
+ all))))
+ #t)))))
+ (properties '()))))
+
+(define-public ocaml-ppx-compare
(package
- (name "ocaml4.07-ppx-compare")
- (version "0.11.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/janestreet/ppx_compare")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "06bq4m1bsm4jlx4g7wh5m99qky7xm4c2g52kaz6pv25hdn5agi2m"))))
+ (name "ocaml-ppx-compare")
+ (version "0.14.0")
+ (source
+ (janestreet-origin "ppx_compare" version
+ "0mqxa2s194nif7x4fjn1p5gd9i3bakr8nv27gf8x1g5nmi8q9pmp"))
(build-system dune-build-system)
- (propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
(arguments
- `(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
- (properties `((upstream-name . "ppx_compare")))
+ ;; Tests are currenlty failing
+ ;; (see https://github.com/janestreet/ppx_compare/issues/10)
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_compare")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-compare))))
(home-page "https://github.com/janestreet/ppx_compare")
(synopsis "Generation of comparison functions from types")
(description "Generation of fast comparison functions from type expressions
@@ -4886,31 +5159,39 @@ flexibility by allowing you to override them for a specific type and more safety
by making sure that you only compare comparable values.")
(license license:asl2.0)))
-(define-public ocaml4.07-fieldslib
+(define-public ocaml4.07-ppx-compare
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-compare)
+ (name "ocaml-ppx-compare")
+ (version "0.11.1")
+ (home-page "https://github.com/janestreet/ppx_compare")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "06bq4m1bsm4jlx4g7wh5m99qky7xm4c2g52kaz6pv25hdn5agi2m"))))
+ (properties `((upstream-name . "ppx_compare"))))))
+
+(define-public ocaml-fieldslib
(package
- (name "ocaml4.07-fieldslib")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version) "/files/"
- "fieldslib-v" version ".tar.gz"))
- (sha256
- (base32
- "12948pzxrl360lybm9fzyvplgcl87zjbn4m3sk1aw75zk85p1388"))))
+ (name "ocaml-fieldslib")
+ (version "0.14.0")
+ (source (janestreet-origin
+ "fieldslib" version
+ "10n5y376fb5jgqk9h8vq158rm1b36h9lzh6p11q33h6xgvb1v6n3"))
(build-system dune-build-system)
- (arguments
- ;; No tests
- `(#:tests? #f
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
+ (arguments `(#:tests? #f)) ; No tests
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
- (properties `((upstream-name . "fieldslib")))
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "fieldslib")
+ (ocaml4.07-variant . ,(delay ocaml4.07-fieldslib))))
(home-page "https://github.com/janestreet/fieldslib")
(synopsis "Syntax extension to record fields")
(description "Syntax extension to define first class values representing
@@ -4918,62 +5199,78 @@ record fields, to get and set record fields, iterate and fold over all fields
of a record and create new record values.")
(license license:asl2.0)))
-(define-public ocaml4.07-variantslib
+(define-public ocaml4.07-fieldslib
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-fieldslib)
+ (version "0.11.0")
+ (source (janestreet-origin
+ "fieldslib" version
+ "12948pzxrl360lybm9fzyvplgcl87zjbn4m3sk1aw75zk85p1388"))
+ (properties `((upstream-name . "fieldslib"))))))
+
+(define-public ocaml-variantslib
(package
- (name "ocaml4.07-variantslib")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/variantslib-v" version ".tar.gz"))
- (sha256
- (base32
- "1hsdwmkslvk4cznqr4lyyiy7vvk5spil226k0z2in26fxq6y0hf3"))))
+ (name "ocaml-variantslib")
+ (version "0.14.0")
+ (source
+ (janestreet-origin "variantslib" version
+ "11zp27gh282dx9ifbhcp6i7fkc97fvk8amaj58mf1g1hwklc0lm3"))
(build-system dune-build-system)
(arguments
;; No tests
- `(#:tests? #f
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
+ `(#:tests? #f))
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
- (properties `((upstream-name . "variantslib")))
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "variantslib")
+ (ocaml4.07-variant . ,(delay ocaml4.07-variantslib))))
(home-page "https://github.com/janestreet/variantslib")
(synopsis "OCaml variants as first class values")
(description "The Core suite of libraries is an alternative to OCaml's
standard library.")
(license license:asl2.0)))
-(define-public ocaml4.07-ppx-fields-conv
+(define-public ocaml4.07-variantslib
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-variantslib)
+ (name "ocaml-variantslib")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/variantslib-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1hsdwmkslvk4cznqr4lyyiy7vvk5spil226k0z2in26fxq6y0hf3"))))
+ (properties `((upstream-name . "variantslib"))))))
+
+(define-public ocaml-ppx-fields-conv
(package
- (name "ocaml4.07-ppx-fields-conv")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/ppx_fields_conv-v" version ".tar.gz"))
- (sha256
- (base32
- "07zrd3qky2ppbfl55gpm90rvqa5860xgwcsvihrjmkrw6d0jirkc"))))
+ (name "ocaml-ppx-fields-conv")
+ (version "0.14.2")
+ (home-page "https://github.com/janestreet/ppx_fields_conv")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1zwirwqry24b48bg7d4yc845hvcirxyymzbw95aaxdcck84d30n8"))))
(build-system dune-build-system)
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-fieldslib" ,ocaml4.07-fieldslib)
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
- (arguments
- `(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
- (properties `((upstream-name . "ppx_fields_conv")))
- (home-page "https://github.com/janestreet/ppx_fields_conv")
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-fieldslib" ,ocaml-fieldslib)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_fields_conv")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-fields-conv))))
(synopsis "Generation of accessor and iteration functions for ocaml records")
(description "Ppx_fields_conv is a ppx rewriter that can be used to define
first class values representing record fields, and additional routines, to get
@@ -4981,100 +5278,152 @@ and set record fields, iterate and fold over all fields of a record and create
new record values.")
(license license:asl2.0)))
-(define-public ocaml4.07-ppx-sexp-conv
+(define-public ocaml4.07-ppx-fields-conv
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-fields-conv)
+ (version "0.11.0")
+ (source (janestreet-origin
+ "ppx_fields_conv" version
+ "07zrd3qky2ppbfl55gpm90rvqa5860xgwcsvihrjmkrw6d0jirkc"))
+ (properties `((upstream-name . "ppx_fields_conv"))))))
+
+(define-public ocaml-ppx-sexp-conv
(package
- (name "ocaml4.07-ppx-sexp-conv")
- (version "0.11.2")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/janestreet/ppx_sexp_conv")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0pqwnqy1xp309wvdcaax4lg02yk64lq2w03mbgfvf6ps5ry4gis9"))))
+ (name "ocaml-ppx-sexp-conv")
+ (version "0.14.3")
+ (home-page "https://github.com/janestreet/ppx_sexp_conv")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0dbri9d00ydi0dw1cavswnqdmhjaaz80vap29ns2lr6mhhlvyjmj"))))
(build-system dune-build-system)
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
- (arguments
- `(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
- (properties `((upstream-name . "ppx_sexp_conv")))
- (home-page "https://github.com/janestreet/ppx_sexp_conv")
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_sexp_conv")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-sexp-conv))))
(synopsis "Generation of S-expression conversion functions from type definitions")
(description "This package generates S-expression conversion functions from type
definitions.")
(license license:asl2.0)))
-(define-public ocaml4.07-ppx-variants-conv
- (package
- (name "ocaml4.07-ppx-variants-conv")
- (version "0.11.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/janestreet/ppx_variants_conv")
+(define-public ocaml4.07-ppx-sexp-conv
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-sexp-conv)
+ (name "ocaml-ppx-sexp-conv")
+ (version "0.11.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_sexp_conv")
(commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1yc0gsds5m2nv39zga8nnrca2n75rkqy5dz4xj1635ybz20hhbjd"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0pqwnqy1xp309wvdcaax4lg02yk64lq2w03mbgfvf6ps5ry4gis9"))))
+ (properties `((upstream-name . "ppx_sexp_conv"))))))
+
+(define-public ocaml-ppx-variants-conv
+ (package
+ (name "ocaml-ppx-variants-conv")
+ (version "0.14.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_variants_conv")
+ (commit (string-append "v" version))))
+ (patches
+ (search-patches
+ ;; Fix build when building with [email protected].
+ "ocaml-ppx-variants-ppxlib-api-change.patch"))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0q6a43zrwqzdz7aja0k44a2llyjjj5xzi2kigwhsnww3g0r5ig84"))))
(build-system dune-build-system)
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-variantslib" ,ocaml4.07-variantslib)
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
- (arguments
- `(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-variantslib" ,ocaml-variantslib)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
(properties
- `((upstream-name . "ppx_variants_conv")))
+ `((upstream-name . "ppx_variants_conv")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-variants-conv))))
(home-page
- "https://github.com/janestreet/ppx_variants_conv")
+ "https://github.com/janestreet/ppx_variants_conv")
(synopsis "Generation of accessor and iteration functions for OCaml variant types")
(description
- "This package generates accessors and iteration functions for OCaml
+ "This package generates accessors and iteration functions for OCaml
variant types.")
(license license:asl2.0)))
-(define-public ocaml4.07-ppx-custom-printf
+(define-public ocaml4.07-ppx-variants-conv
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-variants-conv)
+ (name "ocaml-ppx-variants-conv")
+ (version "0.11.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_variants_conv")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1yc0gsds5m2nv39zga8nnrca2n75rkqy5dz4xj1635ybz20hhbjd"))))
+ (properties `((upstream-name . "ppx_variants_conv"))))))
+
+(define-public ocaml-ppx-custom-printf
(package
- (name "ocaml4.07-ppx-custom-printf")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/ppx_custom_printf-v" version ".tar.gz"))
- (sha256
- (base32
- "11b73smf3g3bpd9lg014pr4rx285nk9mnk6g6464ph51jv0sqzhj"))))
+ (name "ocaml-ppx-custom-printf")
+ (version "0.14.1")
+ (home-page "https://github.com/janestreet/ppx_custom_printf")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0c1m65kn27zvwmfwy7kk46ga76yw2a3ik9jygpy1b6nn6pi026w9"))))
(build-system dune-build-system)
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
- (arguments
- `(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
- (properties `((upstream-name . "ppx_custom_printf")))
- (home-page "https://github.com/janestreet/ppx_custom_printf")
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_custom_printf")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-custom-printf))))
(synopsis "Printf-style format-strings for user-defined string conversion")
(description "Extensions to printf-style format-strings for user-defined
string conversion.")
(license license:asl2.0)))
+(define-public ocaml4.07-ppx-custom-printf
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-custom-printf)
+ (version "0.11.0")
+ (source
+ (janestreet-origin
+ "ppx_custom_printf" version
+ "11b73smf3g3bpd9lg014pr4rx285nk9mnk6g6464ph51jv0sqzhj"))
+ (properties `((upstream-name . "ppx_custom_printf"))))))
+
(define-public ocaml4.07-bin-prot
(package
(name "ocaml4.07-bin-prot")
@@ -5090,11 +5439,11 @@ string conversion.")
(build-system dune-build-system)
(inputs
`(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-ppx-compare" ,ocaml4.07-ppx-compare)
- ("ocaml-ppx-custom-printf" ,ocaml4.07-ppx-custom-printf)
- ("ocaml-ppx-fields-conv" ,ocaml4.07-ppx-fields-conv)
- ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)
- ("ocaml-ppx-variants-conv" ,ocaml4.07-ppx-variants-conv)
+ ("ocaml-ppx-compare" ,(package-with-ocaml4.07 ocaml-ppx-compare))
+ ("ocaml-ppx-custom-printf" ,(package-with-ocaml4.07 ocaml-ppx-custom-printf))
+ ("ocaml-ppx-fields-conv" ,(package-with-ocaml4.07 ocaml-ppx-fields-conv))
+ ("ocaml-ppx-sexp-conv" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))
+ ("ocaml-ppx-variants-conv" ,(package-with-ocaml4.07 ocaml-ppx-variants-conv))
("ocaml-migrate-parsetree"
,(package-with-ocaml4.07 ocaml-migrate-parsetree))))
(arguments
@@ -5143,63 +5492,63 @@ storage of large amounts of data.")
(description "Octavius is a library to parse the `ocamldoc` comment syntax.")
(license license:isc)))
-(define-public ocaml4.07-ppx-hash
+(define-public ocaml-ppx-hash
(package
- (name "ocaml4.07-ppx-hash")
- (version "0.11.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/janestreet/ppx_hash")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1p0ic6aijxlrdggpmycj12q3cy9xksbq2vq727215maz4snvlf5p"))))
+ (name "ocaml-ppx-hash")
+ (version "0.14.0")
+ (source
+ (janestreet-origin "ppx_hash" version
+ "0x4wgdvhgd8a49bzari52jpkykxpv6ncgp5ncda3xgg0a9r49s8n"))
(build-system dune-build-system)
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-ppx-compare" ,ocaml4.07-ppx-compare)
- ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
- (arguments
- `(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
- (properties `((upstream-name . "ppx_hash")))
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-ppx-compare" ,ocaml-ppx-compare)
+ ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_hash")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-hash))))
(home-page "https://github.com/janestreet/ppx_hash")
(synopsis "Generation of hash functions from type expressions and definitions")
(description "This package is a collection of ppx rewriters that generate
hash functions from type exrpessions and definitions.")
(license license:asl2.0)))
-(define-public ocaml4.07-ppx-enumerate
- (package
- (name "ocaml4.07-ppx-enumerate")
- (version "0.11.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/janestreet/ppx_enumerate")
+(define-public ocaml4.07-ppx-hash
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-hash)
+ (name "ocaml-ppx-hash")
+ (home-page "https://github.com/janestreet/ppx_hash")
+ (version "0.11.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
(commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0spx9k1v7vjjb6sigbfs69yndgq76v114jhxvzjmffw7q989cyhr"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1p0ic6aijxlrdggpmycj12q3cy9xksbq2vq727215maz4snvlf5p"))))
+ (properties `((upstream-name . "ppx_hash"))))))
+
+(define-public ocaml-ppx-enumerate
+ (package
+ (name "ocaml-ppx-enumerate")
+ (version "0.14.0")
+ (source
+ (janestreet-origin
+ "ppx_enumerate" version
+ "1ij6sffgqhnjwnj9brhrrw1c6xgxlh0s6r17x1qkgnyrc73gfsz8"))
(build-system dune-build-system)
(arguments
- `(#:tests? #f; no test suite
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
+ `(#:tests? #f)) ; no test suite
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
- (properties `((upstream-name . "ppx_enumerate")))
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_enumerate")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-enumerate))))
(home-page "https://github.com/janestreet/ppx_enumerate")
(synopsis "Generate a list containing all values of a finite type")
(description "Ppx_enumerate is a ppx rewriter which generates a definition
@@ -5207,6 +5556,24 @@ for the list of all values of a type (for a type which only has finitely
many values).")
(license license:asl2.0)))
+(define-public ocaml4.07-ppx-enumerate
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-enumerate)
+ (name "ocaml-ppx-enumerate")
+ (version "0.11.1")
+ (home-page "https://github.com/janestreet/ppx_enumerate")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0spx9k1v7vjjb6sigbfs69yndgq76v114jhxvzjmffw7q989cyhr"))))
+ (properties `((upstream-name . "ppx_enumerate"))))))
+
(define-public ocaml4.07-ppx-bench
(package
(name "ocaml4.07-ppx-bench")
@@ -5227,47 +5594,49 @@ many values).")
#:findlib ,ocaml4.07-findlib
#:dune ,ocaml4.07-dune))
(propagated-inputs
- `(("ocaml-ppx-inline-test" ,ocaml4.07-ppx-inline-test)
+ `(("ocaml-ppx-inline-test" ,(package-with-ocaml4.07 ocaml-ppx-inline-test))
("ocaml-migrate-parsetree"
,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
+ ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
(properties `((upstream-name . "ppx_bench")))
(home-page "https://github.com/janestreet/ppx_bench")
(synopsis "Syntax extension for writing in-line benchmarks in ocaml code")
(description "Syntax extension for writing in-line benchmarks in ocaml code.")
(license license:asl2.0)))
-(define-public ocaml4.07-ppx-here
+(define-public ocaml-ppx-here
(package
- (name "ocaml4.07-ppx-here")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/ppx_here-v" version ".tar.gz"))
- (sha256
- (base32
- "0wxcak3ay4jpigm3pfdcpr65qw4hxfa8whhkryhcd8gy71x056z5"))))
+ (name "ocaml-ppx-here")
+ (version "0.14.0")
+ (source
+ (janestreet-origin "ppx_here" version
+ "0b444djy68v6ji0ypwv5l02pkl151qzrgg96lyhl8dxfrzvj1zkj"))
(build-system dune-build-system)
(arguments
;; broken tests
- `(#:tests? #f
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
+ `(#:tests? #f))
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
- (properties `((upstream-name . "ppx_here")))
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_here")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-here))))
(home-page "https://github.com/janestreet/ppx_here")
(synopsis "Expands [%here] into its location")
(description
"Part of the Jane Street's PPX rewriters collection.")
(license license:asl2.0)))
+(define-public ocaml4.07-ppx-here
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-here)
+ (version "0.11.0")
+ (source
+ (janestreet-origin "ppx_here" version
+ "0wxcak3ay4jpigm3pfdcpr65qw4hxfa8whhkryhcd8gy71x056z5"))
+ (properties `((upstream-name . "ppx_here"))))))
+
(define-public ocaml4.07-typerep
(package
(name "ocaml4.07-typerep")
@@ -5311,11 +5680,11 @@ many values).")
#:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-ppx-here" ,ocaml4.07-ppx-here)
- ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)
+ ("ocaml-ppx-here" ,(package-with-ocaml4.07 ocaml-ppx-here))
+ ("ocaml-ppx-sexp-conv" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))
("ocaml-migrate-parsetree"
,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
+ ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
(properties `((upstream-name . "ppx_sexp_value")))
(home-page "https://github.com/janestreet/ppx_sexp_value")
(synopsis "Simplify building s-expressions from ocaml values")
@@ -5342,11 +5711,11 @@ ocaml values.")
#:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-ppx-here" ,ocaml4.07-ppx-here)
- ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)
+ ("ocaml-ppx-here" ,(package-with-ocaml4.07 ocaml-ppx-here))
+ ("ocaml-ppx-sexp-conv" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))
("ocaml-migrate-parsetree"
,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
+ ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
(properties `((upstream-name . "ppx_sexp_message")))
(home-page "https://github.com/janestreet/ppx_sexp_message")
(synopsis "A ppx rewriter for easy construction of s-expressions")
@@ -5378,7 +5747,7 @@ context such as function arguments.")
(propagated-inputs
`(("ocaml-migrate-parsetree"
,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
+ ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
(properties `((upstream-name . "ppx_pipebang")))
(home-page "https://github.com/janestreet/ppx_pipebang")
(synopsis "Inline reverse application operators `|>` and `|!`")
@@ -5386,31 +5755,22 @@ context such as function arguments.")
@code{|>} and @code{|!}.")
(license license:asl2.0)))
-(define-public ocaml4.07-ppx-optional
+(define-public ocaml-ppx-optional
(package
- (name "ocaml4.07-ppx-optional")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/ppx_optional-v" version ".tar.gz"))
- (sha256
- (base32
- "1z8z2bga95k2vksljljfglg10vygkjd24kn1b37sk4z3nmp47x0h"))))
+ (name "ocaml-ppx-optional")
+ (version "0.14.0")
+ (source
+ (janestreet-origin
+ "ppx_optional" version
+ "1hh6ivlp1qpvyn8l0vhrahkkcp3scf7km254sgplprmk10wnyidz"))
(build-system dune-build-system)
- (arguments
- ;; No tests
- `(#:tests? #f
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
+ (arguments `(#:tests? #f)) ; No tests
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
- (properties `((upstream-name . "ppx_optional")))
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_optional")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-optional))))
(home-page "https://github.com/janestreet/ppx_optional")
(synopsis "Pattern matching on flat options")
(description
@@ -5418,64 +5778,87 @@ context such as function arguments.")
else expression.")
(license license:asl2.0)))
-(define-public ocaml4.07-ppx-optcomp
+(define-public ocaml4.07-ppx-optional
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-optional)
+ (version "0.11.0")
+ (source
+ (janestreet-origin
+ "ppx_optional" version
+ "1z8z2bga95k2vksljljfglg10vygkjd24kn1b37sk4z3nmp47x0h"))
+ (properties `((upstream-name . "ppx_optional"))))))
+
+(define-public ocaml-ppx-optcomp
(package
- (name "ocaml4.07-ppx-optcomp")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/ppx_optcomp-v" version ".tar.gz"))
- (sha256
- (base32
- "1bb52p2j2h4s9f06vrcpla80rj93jinnzq6jzilapyx9q068929i"))))
+ (name "ocaml-ppx-optcomp")
+ (version "0.14.3")
+ (home-page "https://github.com/janestreet/ppx_optcomp")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1iflgfzs23asw3k6098v84al5zqx59rx2qjw0mhvk56avlx71pkw"))))
(build-system dune-build-system)
- (arguments
- `(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-stdio" ,ocaml4.07-stdio)
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
- (properties `((upstream-name . "ppx_optcomp")))
- (home-page "https://github.com/janestreet/ppx_optcomp")
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-stdio" ,ocaml-stdio)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_optcomp")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-optcomp))))
(synopsis "Optional compilation for OCaml")
(description "Ppx_optcomp stands for Optional Compilation. It is a tool
used to handle optional compilations of pieces of code depending of the word
size, the version of the compiler, ...")
(license license:asl2.0)))
-(define-public ocaml4.07-ppx-let
+(define-public ocaml4.07-ppx-optcomp
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-optcomp)
+ (version "0.11.0")
+ (source
+ (janestreet-origin
+ "ppx_optcomp" version
+ "1bb52p2j2h4s9f06vrcpla80rj93jinnzq6jzilapyx9q068929i"))
+ (properties `((upstream-name . "ppx_optcomp"))))))
+
+(define-public ocaml-ppx-let
(package
- (name "ocaml4.07-ppx-let")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/ppx_let-v" version ".tar.gz"))
- (sha256
- (base32
- "1wdfw6w4xbg97a35yg6bif9gggxniy9ddnrjfw1a0inkl2yamxkj"))))
+ (name "ocaml-ppx-let")
+ (version "0.14.0")
+ (source
+ (janestreet-origin "ppx_let" version
+ "1qcrnd86pbr1di5m6z4ps4p15qawwa02jxwz3xfd82hdbjmdwf1s"))
(build-system dune-build-system)
- (arguments
- `(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
- (properties `((upstream-name . "ppx_let")))
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_let")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-let))))
(home-page "https://github.com/janestreet/ppx_let")
(synopsis "Monadic let-bindings")
(description "A ppx rewriter for monadic and applicative let bindings,
match expressions, and if expressions.")
(license license:asl2.0)))
+(define-public ocaml4.07-ppx-let
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-let)
+ (version "0.11.0")
+ (source
+ (janestreet-origin "ppx_let" version
+ "1wdfw6w4xbg97a35yg6bif9gggxniy9ddnrjfw1a0inkl2yamxkj"))
+
+ (properties `(upstream-name . "ppx_let")))))
+
(define-public ocaml4.07-ppx-fail
(package
(name "ocaml4.07-ppx-fail")
@@ -5495,10 +5878,10 @@ match expressions, and if expressions.")
#:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-ppx-here" ,ocaml4.07-ppx-here)
+ ("ocaml-ppx-here" ,(package-with-ocaml4.07 ocaml-ppx-here))
("ocaml-migrate-parsetree"
,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
+ ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
(properties `((upstream-name . "ppx_fail")))
(home-page "https://github.com/janestreet/ppx_fail")
(synopsis "Add location to calls to failwiths")
@@ -5506,72 +5889,94 @@ match expressions, and if expressions.")
position.")
(license license:asl2.0)))
-(define-public ocaml4.07-ppx-assert
+(define-public ocaml-ppx-cold
(package
- (name "ocaml4.07-ppx-assert")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/ppx_assert-v" version ".tar.gz"))
- (sha256
- (base32
- "17kd311n0l9f72gblf9kv8i5rghr106w37x4f0m5qwh6nlgl0j9k"))))
+ (name "ocaml-ppx-cold")
+ (version "0.14.0")
+ (home-page "https://github.com/janestreet/ppx_cold")
+ (source
+ (janestreet-origin "ppx_cold" version
+ "1madfzhpir9amnxmg530n70vll0jrl59vyp71miji73i6b9sy6n2"))
(build-system dune-build-system)
- (arguments
- `(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
+ (arguments `(#:test-target "tests"))
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-ppx-compare" ,ocaml4.07-ppx-compare)
- ("ocaml-ppx-here" ,ocaml4.07-ppx-here)
- ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
- (properties `((upstream-name . "ppx_assert")))
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_cold")))
+ (synopsis "Syntax extension for indicating cold path")
+ (description
+ "This package contains an syntax extension to indicate that the code is
+on the cold path and should be kept out of the way to avoid polluting the
+instruction cache on the hot path. See also
+https://github.com/ocaml/ocaml/issues/8563.")
+ (license license:expat)))
+
+(define-public ocaml-ppx-assert
+ (package
+ (name "ocaml-ppx-assert")
+ (version "0.14.0")
+ (source
+ (janestreet-origin "ppx_assert" version
+ "1l2rr4jz2q5b35ryn2z146z7m9v6k8krp5gpn8ilib66mnz5zx15"))
+ (build-system dune-build-system)
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-ppx-cold" ,ocaml-ppx-cold)
+ ("ocaml-ppx-compare" ,ocaml-ppx-compare)
+ ("ocaml-ppx-here" ,ocaml-ppx-here)
+ ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_assert")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-assert))))
(home-page "https://github.com/janestreet/ppx_assert")
(synopsis "Assert-like extension nodes that raise useful errors on failure")
(description "This package contains assert-like extension nodes that raise
useful errors on failure.")
(license license:asl2.0)))
-(define-public ocaml4.07-ppx-expect
- (package
- (name "ocaml4.07-ppx-expect")
- (version "0.12.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/janestreet/ppx_expect")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1wawsbjfkri4sw52n8xqrzihxc3xfpdicv3ahz83a1rsn4lb8j5q"))))
+(define-public ocaml4.07-ppx-assert
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-assert)
+ (version "0.11.0")
+ (source
+ (janestreet-origin "ppx_assert" version
+ "17kd311n0l9f72gblf9kv8i5rghr106w37x4f0m5qwh6nlgl0j9k"))
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-ppx-compare" ,ocaml-ppx-compare)
+ ("ocaml-ppx-here" ,ocaml-ppx-here)
+ ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_assert"))))))
+
+(define-public ocaml-ppx-expect
+ (package
+ (name "ocaml-ppx-expect")
+ (version "0.14.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_expect")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0vbbnjrzpyk5p0js21lafr6fcp2wqka89p1876rdf472cmg0l7fv"))))
(build-system dune-build-system)
- (arguments
- `(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-ppx-assert" ,ocaml4.07-ppx-assert)
- ("ocaml-ppx-compare" ,ocaml4.07-ppx-compare)
- ("ocaml-ppx-custom-printf" ,ocaml4.07-ppx-custom-printf)
- ("ocaml-ppx-fields-conv" ,ocaml4.07-ppx-fields-conv)
- ("ocaml-ppx-here" ,ocaml4.07-ppx-here)
- ("ocaml-ppx-inline-test" ,ocaml4.07-ppx-inline-test)
- ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)
- ("ocaml-ppx-variants-conv" ,ocaml4.07-ppx-variants-conv)
- ("ocaml-stdio" ,ocaml4.07-stdio)
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)
- ("ocaml-re" ,(package-with-ocaml4.07 ocaml-re))))
- (properties `((upstream-name . "ppx_expect")))
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-ppx-here" ,ocaml-ppx-here)
+ ("ocaml-ppx-inline-test" ,ocaml-ppx-inline-test)
+ ("ocaml-stdio" ,ocaml-stdio)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-re" ,ocaml-re)))
+ (properties `((upstream-name . "ppx_expect")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-expect))))
(home-page "https://github.com/janestreet/ppx_expect")
(synopsis "Cram like framework for OCaml")
(description "Expect-test is a framework for writing tests in OCaml, similar
@@ -5581,32 +5986,46 @@ output-generating code, interleaved with @code{%expect} extension expressions
to denote the expected output.")
(license license:asl2.0)))
-(define-public ocaml4.07-ppx-js-style
+(define-public ocaml4.07-ppx-expect
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-expect)
+ (version "0.12.0")
+ (source
+ (janestreet-origin "ppx_expect" version
+ "1zpci8c49yn2ixchmwjx1kf9pwybv3dnn4l2dgnd6m36qnkralfk"))
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-ppx-assert" ,ocaml-ppx-assert)
+ ("ocaml-ppx-compare" ,ocaml-ppx-compare)
+ ("ocaml-ppx-custom-printf" ,ocaml-ppx-custom-printf)
+ ("ocaml-ppx-fields-conv" ,ocaml-ppx-fields-conv)
+ ("ocaml-ppx-here" ,ocaml-ppx-here)
+ ("ocaml-ppx-inline-test" ,ocaml-ppx-inline-test)
+ ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+ ("ocaml-ppx-variants-conv" ,ocaml-ppx-variants-conv)
+ ("ocaml-stdio" ,ocaml-stdio)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)
+ ("ocaml-re" ,ocaml-re)))
+ (properties `((upstream-name . "ppx_expect"))))))
+
+(define-public ocaml-ppx-js-style
(package
- (name "ocaml4.07-ppx-js-style")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/ppx_js_style-v" version ".tar.gz"))
- (sha256
- (base32
- "0z3fc55jdjhhsblla6z4fqc13kljpcz29q79rvs5h2vsraqrldr2"))))
+ (name "ocaml-ppx-js-style")
+ (version "0.14.0")
+ (source
+ (janestreet-origin "ppx_js_style" version
+ "141fgxfipfn5jdaxc946dmp5y4fcnbhxms9maji9ddywgx82ya7l"))
(build-system dune-build-system)
- (arguments
- ;; No tests
- `(#:tests? #f
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
+ (arguments `(#:tests? #f)) ; No tests
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-octavius" ,(package-with-ocaml4.07 ocaml-octavius))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
- (properties `((upstream-name . "ppx_js_style")))
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-octavius" ,ocaml-octavius)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_js_style")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-js-style))))
(home-page "https://github.com/janestreet/ppx_js_style")
(synopsis "Code style checker for Jane Street Packages")
(description "This package is a no-op ppx rewriter. It is used as a
@@ -5614,6 +6033,16 @@ to denote the expected output.")
packages.")
(license license:asl2.0)))
+(define-public ocaml4.07-ppx-js-style
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-js-style)
+ (version "0.11.0")
+ (source
+ (janestreet-origin "ppx_js_style" version
+ "0z3fc55jdjhhsblla6z4fqc13kljpcz29q79rvs5h2vsraqrldr2"))
+ (properties `((upstream-name . "ppx_js_style"))))))
+
(define-public ocaml4.07-ppx-typerep-conv
(package
(name "ocaml4.07-ppx-typerep-conv")
@@ -5638,7 +6067,7 @@ packages.")
("ocaml-typerep" ,ocaml4.07-typerep)
("ocaml-migrate-parsetree"
,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
+ ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
(properties `((upstream-name . "ppx_typerep_conv")))
(home-page "https://github.com/janestreet/ppx_typerep_conv")
(synopsis "Generation of runtime types from type declarations")
@@ -5646,34 +6075,28 @@ packages.")
from type definitions.")
(license license:asl2.0)))
-(define-public ocaml4.07-ppx-base
+(define-public ocaml-ppx-base
(package
- (name "ocaml4.07-ppx-base")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/ppx_base-v" version ".tar.gz"))
- (sha256
- (base32
- "0aq206pg330jmj7lhcagiiwm3a0b3gsqm801m8ajd4ysyw7idkym"))))
+ (name "ocaml-ppx-base")
+ (version "0.14.0")
+ (source
+ (janestreet-origin
+ "ppx_base" version
+ "0b7a3fmi90jk8paz0g36yzaq670fbnrbi1j8r5ibh9wbcfli7ji6"))
(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-ppx-compare" ,ocaml4.07-ppx-compare)
- ("ocaml-ppx-enumerate" ,ocaml4.07-ppx-enumerate)
- ("ocaml-ppx-hash" ,ocaml4.07-ppx-hash)
- ("ocaml-ppx-js-style" ,ocaml4.07-ppx-js-style)
- ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
- (properties `((upstream-name . "ppx_base")))
+ `(("ocaml-ppx-compare" ,ocaml-ppx-compare)
+ ("ocaml-ppx-cold" ,ocaml-ppx-cold)
+ ("ocaml-ppx-enumerate" ,ocaml-ppx-enumerate)
+ ("ocaml-ppx-hash" ,ocaml-ppx-hash)
+ ("ocaml-ppx-js-style" ,ocaml-ppx-js-style)
+ ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_base")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-base))))
(home-page "https://github.com/janestreet/ppx_base")
(synopsis "Base set of ppx rewriters")
(description "Ppx_base is the set of ppx rewriters used for Base.
@@ -5682,6 +6105,25 @@ Note that Base doesn't need ppx to build, it is only used as a
verification tool.")
(license license:asl2.0)))
+(define-public ocaml4.07-ppx-base
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-base)
+ (version "0.11.0")
+ (source
+ (janestreet-origin
+ "ppx_base" version
+ "0aq206pg330jmj7lhcagiiwm3a0b3gsqm801m8ajd4ysyw7idkym"))
+ (propagated-inputs
+ `(("ocaml-ppx-compare" ,ocaml-ppx-compare)
+ ("ocaml-ppx-enumerate" ,ocaml-ppx-enumerate)
+ ("ocaml-ppx-hash" ,ocaml-ppx-hash)
+ ("ocaml-ppx-js-style" ,ocaml-ppx-js-style)
+ ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_base"))))))
+
(define-public ocaml4.07-ppx-bin-prot
(package
(name "ocaml4.07-ppx-bin-prot")
@@ -5705,10 +6147,10 @@ verification tool.")
(propagated-inputs
`(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
("ocaml-bin-prot" ,ocaml4.07-bin-prot)
- ("ocaml-ppx-here" ,ocaml4.07-ppx-here)
+ ("ocaml-ppx-here" ,(package-with-ocaml4.07 ocaml-ppx-here))
("ocaml-migrate-parsetree"
,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
+ ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
(properties `((upstream-name . "ppx_bin_prot")))
(home-page "https://github.com/janestreet/ppx_bin_prot")
(synopsis "Generation of bin_prot readers and writers from types")
@@ -5735,27 +6177,27 @@ functions from type definitions.")
#:findlib ,ocaml4.07-findlib
#:dune ,ocaml4.07-dune))
(propagated-inputs
- `(("ocaml-ppx-assert" ,ocaml4.07-ppx-assert)
- ("ocaml-ppx-base" ,ocaml4.07-ppx-base)
+ `(("ocaml-ppx-assert" ,(package-with-ocaml4.07 ocaml-ppx-assert))
+ ("ocaml-ppx-base" ,(package-with-ocaml4.07 ocaml-ppx-base))
("ocaml-ppx-bench" ,ocaml4.07-ppx-bench)
("ocaml-ppx-bin-prot" ,ocaml4.07-ppx-bin-prot)
- ("ocaml-ppx-custom-printf" ,ocaml4.07-ppx-custom-printf)
- ("ocaml-ppx-expect" ,ocaml4.07-ppx-expect)
+ ("ocaml-ppx-custom-printf" ,(package-with-ocaml4.07 ocaml-ppx-custom-printf))
+ ("ocaml-ppx-expect" ,(package-with-ocaml4.07 ocaml-ppx-expect))
("ocaml-ppx-fail" ,ocaml4.07-ppx-fail)
- ("ocaml-ppx-fields-conv" ,ocaml4.07-ppx-fields-conv)
- ("ocaml-ppx-here" ,ocaml4.07-ppx-here)
- ("ocaml-ppx-inline-test" ,ocaml4.07-ppx-inline-test)
- ("ocaml-ppx-let" ,ocaml4.07-ppx-let)
- ("ocaml-ppx-optcomp" ,ocaml4.07-ppx-optcomp)
- ("ocaml-ppx-optional" ,ocaml4.07-ppx-optional)
+ ("ocaml-ppx-fields-conv" ,(package-with-ocaml4.07 ocaml-ppx-fields-conv))
+ ("ocaml-ppx-here" ,(package-with-ocaml4.07 ocaml-ppx-here))
+ ("ocaml-ppx-inline-test" ,(package-with-ocaml4.07 ocaml-ppx-inline-test))
+ ("ocaml-ppx-let" ,(package-with-ocaml4.07 ocaml-ppx-let))
+ ("ocaml-ppx-optcomp" ,(package-with-ocaml4.07 ocaml-ppx-optcomp))
+ ("ocaml-ppx-optional" ,(package-with-ocaml4.07 ocaml-ppx-optional))
("ocaml-ppx-pipebang" ,ocaml4.07-ppx-pipebang)
("ocaml-ppx-sexp-message" ,ocaml4.07-ppx-sexp-message)
("ocaml-ppx-sexp-value" ,ocaml4.07-ppx-sexp-value)
("ocaml-ppx-typerep-conv" ,ocaml4.07-ppx-typerep-conv)
- ("ocaml-ppx-variants-conv" ,ocaml4.07-ppx-variants-conv)
+ ("ocaml-ppx-variants-conv" ,(package-with-ocaml4.07 ocaml-ppx-variants-conv))
("ocaml-migrate-parsetree"
,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
+ ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
(properties `((upstream-name . "ppx_jane")))
(home-page "https://github.com/janestreet/ppx_jane")
(synopsis "Standard Jane Street ppx rewriters")
@@ -5842,7 +6284,7 @@ various Jane Street packages.")
#:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-stdio" ,ocaml4.07-stdio)))
+ ("ocaml-stdio" ,(package-with-ocaml4.07 ocaml-stdio))))
(home-page "https://github.com/janestreet/configurator")
(synopsis "Helper library for gathering system configuration")
(description "Configurator is a small library that helps writing OCaml
@@ -5885,7 +6327,7 @@ Configurator allows one to:
#:findlib ,ocaml4.07-findlib
#:dune ,ocaml4.07-dune))
(native-inputs
- `(("ocaml-ppx-expect" ,ocaml4.07-ppx-expect)))
+ `(("ocaml-ppx-expect" ,(package-with-ocaml4.07 ocaml-ppx-expect))))
(home-page "https://github.com/janestreet/spawn")
(synopsis "Spawning sub-processes")
(description
@@ -5931,14 +6373,14 @@ thousands of times faster than fork.
`(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
("ocaml-configurator" ,ocaml4.07-configurator)
("ocaml-core-kernel" ,ocaml4.07-core-kernel)
- ("ocaml-ppx-assert" ,ocaml4.07-ppx-assert)
+ ("ocaml-ppx-assert" ,(package-with-ocaml4.07 ocaml-ppx-assert))
("ocaml-ppx-jane" ,ocaml4.07-ppx-jane)
("ocaml-sexplib" ,(package-with-ocaml4.07 ocaml-sexplib))
("ocaml-spawn" ,ocaml4.07-spawn)
- ("ocaml-stdio" ,ocaml4.07-stdio)
+ ("ocaml-stdio" ,(package-with-ocaml4.07 ocaml-stdio))
("ocaml-migrate-parsetree"
,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
+ ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
(home-page "https://github.com/janestreet/core")
(synopsis "Alternative to OCaml's standard library")
(description "The Core suite of libraries is an alternative to OCaml's
@@ -5971,20 +6413,20 @@ standard library that was developed by Jane Street.")
`(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
("ocaml-bin-prot" ,ocaml4.07-bin-prot)
("ocaml-configurator" ,ocaml4.07-configurator)
- ("ocaml-fieldslib" ,ocaml4.07-fieldslib)
+ ("ocaml-fieldslib" ,(package-with-ocaml4.07 ocaml-fieldslib))
("ocaml-jane-street-headers" ,ocaml4.07-jane-street-headers)
- ("ocaml-ppx-assert" ,ocaml4.07-ppx-assert)
- ("ocaml-ppx-base" ,ocaml4.07-ppx-base)
- ("ocaml-ppx-hash" ,ocaml4.07-ppx-hash)
- ("ocaml-ppx-inline-test" ,ocaml4.07-ppx-inline-test)
+ ("ocaml-ppx-assert" ,(package-with-ocaml4.07 ocaml-ppx-assert))
+ ("ocaml-ppx-base" ,(package-with-ocaml4.07 ocaml-ppx-base))
+ ("ocaml-ppx-hash" ,(package-with-ocaml4.07 ocaml-ppx-hash))
+ ("ocaml-ppx-inline-test" ,(package-with-ocaml4.07 ocaml-ppx-inline-test))
("ocaml-ppx-jane" ,ocaml4.07-ppx-jane)
- ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)
+ ("ocaml-ppx-sexp-conv" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))
("ocaml-ppx-sexp-message" ,ocaml4.07-ppx-sexp-message)
("ocaml-sexplib" ,(package-with-ocaml4.07 ocaml-sexplib))
("ocaml-splittable-random" ,ocaml4.07-splittable-random)
- ("ocaml-stdio" ,ocaml4.07-stdio)
+ ("ocaml-stdio" ,(package-with-ocaml4.07 ocaml-stdio))
("ocaml-typerep" ,ocaml4.07-typerep)
- ("ocaml-variantslib" ,ocaml4.07-variantslib)
+ ("ocaml-variantslib" ,(package-with-ocaml4.07 ocaml-variantslib))
("ocaml-migrate-parsetree"
,(package-with-ocaml4.07 ocaml-migrate-parsetree))))
(properties `((upstream-name . "core_kernel")))
@@ -6003,7 +6445,7 @@ the full Core is not available, such as in Javascript.")
(define-public ocaml-markup
(package
(name "ocaml-markup")
- (version "1.0.0")
+ (version "1.0.2")
(home-page "https://github.com/aantron/markup.ml")
(source
(origin
@@ -6014,12 +6456,10 @@ the full Core is not available, such as in Javascript.")
(file-name (git-file-name name version))
(sha256
(base32
- "09hkrf9pw6hpb9j06p5bddklpnjwdjpqza3bx2179l970yl67an9"))))
+ "1kvqwrrcrys5d0kzdwxcj66jpi6sdhfas4pcg02pixx92q87vhqm"))))
(build-system dune-build-system)
(arguments
`(#:package "markup"))
- (inputs
- `(("libev" ,libev)))
(propagated-inputs
`(("ocaml-bisect-ppx" ,ocaml-bisect-ppx)
("ocaml-uchar" ,ocaml-uchar)
@@ -6069,6 +6509,9 @@ stream, and convert everything to UTF-8.")
(sha256
(base32
"0aif4abvfmi9xc1pvw5n5rbm6rzkkpsxyvdn0lanr33rjpvkwdlm"))))
+ (native-inputs
+ `(("ocaml-ounit" ,ocaml-ounit)
+ ("pkg-config" ,pkg-config)))
(properties '())))
(define-public ocaml-tyxml
@@ -6109,7 +6552,7 @@ combinators.")
(define-public ocaml-bisect-ppx
(package
(name "ocaml-bisect-ppx")
- (version "1.4.2")
+ (version "2.6.1")
(source
(origin
(method git-fetch)
@@ -6119,24 +6562,14 @@ combinators.")
(file-name (git-file-name name version))
(sha256
(base32
- "0900vli5kw7s5kdam0n4cqsfsfqb7mdb3azn3i55595gilg1vyn8"))))
+ "1knglw1b2kjr9jnd8cpfzmm581abxxdcx9l3cd2balg6gnac7qk1"))))
(build-system dune-build-system)
(propagated-inputs
- `(("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
- ("ocaml-ppx-tools-versioned" ,ocaml-ppx-tools-versioned)
- ("ocaml-ounit" ,ocaml-ounit)))
+ `(("ocaml-ppxlib" ,ocaml-ppxlib)
+ ("ocaml-cmdliner" ,ocaml-cmdliner)))
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'build 'fix-deprecated
- (lambda _
- ;; Fixed upstream in 22dd1ad9a0c9629f60599c22d82c6488394d6d32, but
- ;; not in a release yet.
- (substitute* "src/ppx/instrument.ml"
- (("module Ast = Ast_405")
- "module Ast = Migrate_parsetree.Ast_405
-module Ast_405 = Ast"))
- #t)))))
+ ;; Tests require ocamlformat which would lead to circular dependencies
+ '(#:tests? #f))
(home-page "https://github.com/aantron/bisect_ppx")
(synopsis "Code coverage for OCaml")
(description "Bisect_ppx helps you test thoroughly. It is a small
@@ -6189,6 +6622,34 @@ advantage over ocamldoc is an accurate cross-referencer, which handles the
complexity of the OCaml module system.")
(license license:isc)))
+(define-public ocaml-odoc-parser
+ (package
+ (name "ocaml-odoc-parser")
+ (version "0.9.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml-doc/odoc-parser")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1jlc6dp3v90r1ra7r0jfw0xs8rylwdz9gymw4rd53h0p17cw1wnj"))))
+ (build-system dune-build-system)
+ (propagated-inputs
+ `(("ocaml-astring" ,ocaml-astring)
+ ("ocaml-result" ,ocaml-result)))
+ (native-inputs
+ `(("ocaml-ppx-expect" ,ocaml-ppx-expect)))
+ (home-page "https://github.com/ocaml-doc/odoc-parser")
+ (synopsis "Parser for ocaml documentation comments")
+ (description
+ "This package provides a library for parsing the contents of OCaml
+documentation comments, formatted using Odoc syntax, an extension of the
+language understood by ocamldoc.")
+ (license license:isc)))
+
;; version 1.5.2 requires ocaml-markdown 1.0.0 which does not compile
;; with old version of dune used in package-with-ocaml4.07
(define-public ocaml4.07-odoc
@@ -6268,7 +6729,7 @@ library FFTW.")
`(("openblas" ,openblas)
("lapack" ,lapack)
("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-stdio" ,ocaml4.07-stdio)))
+ ("ocaml-stdio" ,(package-with-ocaml4.07 ocaml-stdio))))
(home-page "https://mmottl.github.io/lacaml/")
(synopsis
"OCaml-bindings to BLAS and LAPACK")
@@ -6343,7 +6804,7 @@ variants.")
(define-public ocaml-mdx
(package
(name "ocaml-mdx")
- (version "1.7.0")
+ (version "1.11.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -6352,7 +6813,7 @@ variants.")
(file-name (git-file-name name version))
(sha256
(base32
- "10avyv99xkfqdq3gmq8gps770jpibbfslg97sbhgmp0dpwikz49d"))))
+ "1w2vx4my9z6n57vjvsa3b9vwkbdzs1kq0cc58rf088qrh2lrx2ba"))))
(build-system dune-build-system)
(inputs
`(("ocaml-fmt" ,ocaml-fmt)
@@ -6361,8 +6822,9 @@ variants.")
("ocaml-cmdliner" ,ocaml-cmdliner)
("ocaml-re" ,ocaml-re)
("ocaml-result" ,ocaml-result)
- ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree-1)
("ocaml-odoc" ,ocaml-odoc)
+ ("ocaml-odoc-parser" ,ocaml-odoc-parser)
("ocaml-version" ,ocaml-version)))
(native-inputs
`(("ocaml-cppo" ,ocaml-cppo)
@@ -6373,15 +6835,15 @@ variants.")
(synopsis
"Executable code blocks inside markdown files")
(description
- "@code{ocaml-mdx} allows to execute code blocks inside markdown files.
+ "@code{ocaml-mdx} executes code blocks inside markdown files.
There are (currently) two sub-commands, corresponding
to two modes of operations: pre-processing (@code{ocaml-mdx pp})
and tests (@code{ocaml-mdx test}]).
-The pre-processor mode allows to mix documentation and code,
+The pre-processor mode allows mixing documentation and code,
and to practice @dfn{literate programming} using markdown and OCaml.
-The test mode allows to ensure that shell scripts and OCaml fragments
+The test mode ensures that shell scripts and OCaml fragments
in the documentation always stays up-to-date.
@code{ocaml-mdx} is released as two binaries called @code{ocaml-mdx} and
@@ -6389,6 +6851,64 @@ in the documentation always stays up-to-date.
compatibility.")
(license license:isc)))
+(define-public ocaml-mparser
+ (package
+ (name "ocaml-mparser")
+ (version "1.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/murmour/mparser")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "16j19v16r42gcsii6a337zrs5cxnf12ig0vaysxyr7sq5lplqhkx"))))
+ (build-system dune-build-system)
+ (arguments
+ ;; No tests.
+ '(#:package "mparser"
+ #:tests? #f))
+ (home-page "https://github.com/murmour/mparser")
+ (synopsis "Simple monadic parser combinator library")
+ (description
+ "This library implements a rather complete and efficient monadic parser
+combinator library similar to the Parsec library for Haskell by Daan Leijen and
+the FParsec library for FSharp by Stephan Tolksdorf.")
+ ;; With static linking exception.
+ (license license:lgpl2.1+)))
+
+(define-public ocaml-mparser-re
+ (package
+ (inherit ocaml-mparser)
+ (name "ocaml-mparser-re")
+ (arguments
+ ;; No tests.
+ '(#:package "mparser-re"
+ #:tests? #f))
+ (propagated-inputs
+ `(("ocaml-mparser" ,ocaml-mparser)
+ ("ocaml-re" ,ocaml-re)))
+ (synopsis "MParser plugin for RE-based regular expressions")
+ (description "This package provides RE-based regular expressions
+support for Mparser.")))
+
+(define-public ocaml-mparser-pcre
+ (package
+ (inherit ocaml-mparser)
+ (name "ocaml-mparser-pcre")
+ (arguments
+ ;; No tests.
+ '(#:package "mparser-pcre"
+ #:tests? #f))
+ (propagated-inputs
+ `(("ocaml-mparser" ,ocaml-mparser)
+ ("ocaml-pcre" ,ocaml-pcre)))
+ (synopsis "MParser plugin for PCRE-based regular expressions")
+ (description "This package provides PCRE-based regular expressions
+support for Mparser.")))
+
(define-public lablgtk3
(package
(name "lablgtk")
@@ -6412,8 +6932,12 @@ compatibility.")
(lambda _
(for-each (lambda (file)
(chmod file #o644))
- (find-files "." "."))
- #t)))))
+ (find-files "." "."))))
+ (add-before 'build 'set-version
+ (lambda _
+ (substitute* "dune-project"
+ (("\\(name lablgtk3\\)")
+ (string-append "(name lablgtk3)\n(version " ,version ")"))))))))
(propagated-inputs
`(("ocaml-cairo2" ,ocaml-cairo2)))
(inputs
@@ -6478,3 +7002,439 @@ provides support to program with time varying values: declarative events and
signals. React doesn't define any primitive event or signal, it lets the
client chooses the concrete timeline.")
(license license:lgpl2.1+)))
+
+(define-public ocaml-uucd
+ (package
+ (name "ocaml-uucd")
+ (version "13.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://erratique.ch/software/uucd/releases/"
+ "uucd-" version ".tbz"))
+ (sha256
+ (base32
+ "1fg77hg4ibidkv1x8hhzl8z3rzmyymn8m4i35jrdibb8adigi8v2"))))
+ (build-system ocaml-build-system)
+ (arguments
+ '(#:build-flags '("build" "--tests" "true")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (propagated-inputs
+ `(("ocaml-xmlm" ,ocaml-xmlm)))
+ (native-inputs
+ `(("opam" ,opam)
+ ("ocaml-findlib" ,ocaml-findlib)
+ ("ocamlbuild" ,ocamlbuild)
+ ("ocaml-topkg" ,ocaml-topkg)))
+ (home-page "https://erratique.ch/software/uucd")
+ (synopsis "Unicode character database decoder for OCaml")
+ (description "Uucd is an OCaml module to decode the data of the Unicode
+character database from its XML representation. It provides high-level (but
+not necessarily efficient) access to the data so that efficient
+representations can be extracted.")
+ (license license:isc)))
+
+(define-public ocaml-uucp
+ (package
+ (name "ocaml-uucp")
+ (version "13.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://erratique.ch/software/uucp/releases/"
+ "uucp-" version ".tbz"))
+ (sha256
+ (base32
+ "19kf8ypxaakacgg1dwwfzkc2zicaj88cmw11fw2z7zl24dn4gyiq"))))
+ (build-system ocaml-build-system)
+ (arguments
+ '(#:build-flags '("build" "--tests" "true")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (native-inputs
+ `(("opam" ,opam)
+ ("ocaml-findlib" ,ocaml-findlib)
+ ("ocamlbuild" ,ocamlbuild)
+ ("ocaml-topkg" ,ocaml-topkg)
+ ("ocaml-uucd" ,ocaml-uucd)
+ ("ocaml-uunf" ,ocaml-uunf)
+ ("ocaml-uutf" ,ocaml-uutf)))
+ (home-page "https://erratique.ch/software/uucp")
+ (synopsis "Unicode character properties for OCaml")
+ (description "Uucp is an OCaml library providing efficient access to a
+selection of character properties of the Unicode character database.")
+ (license license:isc)))
+
+(define-public ocaml-uuseg
+ (package
+ (name "ocaml-uuseg")
+ (version "13.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://erratique.ch/software/uuseg/releases/"
+ "uuseg-" version ".tbz"))
+ (sha256
+ (base32
+ "1a635j8ra6p27g1ivfln3387lhwqmf6vq4r6bn7b6n1qsqyi1rls"))))
+ (build-system ocaml-build-system)
+ (arguments
+ '(#:build-flags '("build" "--tests" "true")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (propagated-inputs
+ `(("ocaml-uucp" ,ocaml-uucp)
+ ("ocaml-uutf" ,ocaml-uutf)
+ ("ocaml-cmdliner" ,ocaml-cmdliner)))
+ (native-inputs
+ `(("opam" ,opam)
+ ("ocaml-findlib" ,ocaml-findlib)
+ ("ocamlbuild" ,ocamlbuild)
+ ("ocaml-topkg" ,ocaml-topkg)))
+ (home-page "https://erratique.ch/software/uuseg")
+ (synopsis "Unicode text segmentation for OCaml")
+ (description "Uuseg is an OCaml library for segmenting Unicode text. It
+implements the locale independent Unicode text segmentation algorithms to
+detect grapheme cluster, word and sentence boundaries and the Unicode line
+breaking algorithm to detect line break opportunities.
+
+The library is independent from any IO mechanism or Unicode text data
+structure and it can process text without a complete in-memory
+representation.")
+ (license license:isc)))
+
+(define-public ocaml-fix
+ (package
+ (name "ocaml-fix")
+ (version "20201120")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.inria.fr/fpottier/fix")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1j40mg1gy03c0djzx3nzmpvnl984s14n04zwcmp2xnlidq48kvs4"))))
+ (build-system dune-build-system)
+ (arguments
+ ;; No tests.
+ '(#:tests? #f))
+ (home-page "https://gitlab.inria.fr/fpottier/fix")
+ (synopsis "Facilities for memoization and fixed points")
+ (description "This package provides helpers with various constructions
+that involve memoization and recursion.")
+ (license license:lgpl2.0)))
+
+(define-public ocaml-dune-build-info
+ (package
+ (inherit dune)
+ (name "ocaml-dune-build-info")
+ (build-system dune-build-system)
+ (arguments
+ '(#:package "dune-build-info"
+ ;; No separate test suite from dune.
+ #:tests? #f))
+ (propagated-inputs
+ `(("ocaml-odoc" ,ocaml-odoc)))
+ (synopsis "Embed build information inside an executable")
+ (description "This package allows one to access information about how the
+executable was built, such as the version of the project at which it was built
+or the list of statically linked libraries with their versions. It supports
+reporting the version from the version control system during development to
+get an precise reference of when the executable was built.")))
+
+(define-public ocamlformat
+ (package
+ (name "ocamlformat")
+ (version "0.19.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml-ppx/ocamlformat")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0dp4pkznz9yvqx9gxwbid1z2b8ajkr8i27zay9ghx69624hz3i4z"))))
+ (build-system dune-build-system)
+ (arguments
+ '(#:package "ocamlformat"
+ ;; FIXME: The expected format is slightly different than what the
+ ;; produced format is for test/cli/stdin.t
+ #:tests? #f))
+ (propagated-inputs
+ `(("ocaml-version" ,ocaml-version)
+ ("ocaml-base" ,ocaml-base)
+ ("ocaml-cmdliner" ,ocaml-cmdliner)
+ ("ocaml-dune-build-info" ,ocaml-dune-build-info)
+ ("ocaml-fix" ,ocaml-fix)
+ ("ocaml-fpath" ,ocaml-fpath)
+ ("ocaml-menhir" ,ocaml-menhir)
+ ("ocaml-odoc" ,ocaml-odoc)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)
+ ("ocaml-re" ,ocaml-re)
+ ("ocaml-odoc-parser" ,ocaml-odoc-parser)
+ ("ocaml-stdio" ,ocaml-stdio)
+ ("ocaml-uuseg" ,ocaml-uuseg)
+ ("ocaml-uutf" ,ocaml-uutf)))
+ (native-inputs
+ `(("ocaml-alcotest" ,ocaml-alcotest)
+ ("ocaml-ocp-indent" ,ocaml-ocp-indent)
+ ("ocaml-bisect-ppx" ,ocaml-bisect-ppx)))
+ (home-page "https://github.com/ocaml-ppx/ocamlformat")
+ (synopsis "Auto-formatter for OCaml code")
+ (description "OCamlFormat is a tool to automatically format OCaml code in
+a uniform style.")
+ (license license:expat)))
+
+(define-public ocaml-bigstringaf
+ (package
+ (name "ocaml-bigstringaf")
+ (version "0.7.0")
+ (home-page "https://github.com/inhabitedtype/bigstringaf")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1q1sqxzdnlrpl95ccrhl7lwy3zswgd9rbn19ildclh0lyi2vazbj"))))
+ (build-system dune-build-system)
+ (arguments
+ '(#:test-target "."))
+ (propagated-inputs
+ `(("ocaml-bigarray-compat" ,ocaml-bigarray-compat)))
+ (native-inputs
+ `(("ocaml-alcotest" ,ocaml-alcotest)
+ ("pkg-config" ,pkg-config)))
+ (synopsis
+ "Bigstring intrinsics and fast blits based on memcpy/memmove")
+ (description
+ "The OCaml compiler has a bunch of intrinsics for Bigstrings, but they're
+not widely-known, sometimes misused, and so programs that use Bigstrings are
+slower than they have to be. And even if a library got that part right and
+exposed the intrinsics properly, the compiler doesn't have any fast blits
+between Bigstrings and other string-like types. @code{bigstringaf} provides
+these missing pieces.")
+ (license license:bsd-3)))
+
+(define-public ocaml-syntax-shims
+ (package
+ (name "ocaml-syntax-shims")
+ (version "1.0.0")
+ (home-page "https://github.com/ocaml-ppx/ocaml-syntax-shims")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0l1i8z95qgb0lxlrv3yb5nkp391hqsiyi4r91p12k3xmggqixagf"))))
+ (build-system dune-build-system)
+ (properties
+ `((upstream-name . "ocaml-syntax-shims")))
+ (synopsis
+ "Backport new syntax to older OCaml versions")
+ (description
+ "This packages backports new features of the language to older
+compilers, such as let+.")
+ (license license:expat)))
+
+(define-public ocaml-angstrom
+ (package
+ (name "ocaml-angstrom")
+ (version "0.15.0")
+ (home-page "https://github.com/inhabitedtype/angstrom")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1hmrkdcdlkwy7rxhngf3cv3sa61cznnd9p5lmqhx20664gx2ibrh"))))
+ (build-system dune-build-system)
+ (arguments
+ ;; Only build the base angstrom package.
+ '(#:package "angstrom"
+ #:test-target "."))
+ (propagated-inputs
+ `(("ocaml-bigstringaf" ,ocaml-bigstringaf)))
+ (native-inputs
+ `(("ocaml-alcotest" ,ocaml-alcotest)
+ ("ocaml-ppx-let" ,ocaml-ppx-let)
+ ("ocaml-syntax-shims" ,ocaml-syntax-shims)))
+ (synopsis "Parser combinators built for speed and memory-efficiency")
+ (description
+ "Angstrom is a parser-combinator library that makes it easy to write
+efficient, expressive, and reusable parsers suitable for high-performance
+applications. It exposes monadic and applicative interfaces for composition,
+and supports incremental input through buffered and unbuffered interfaces.
+Both interfaces give the user total control over the blocking behavior of
+their application, with the unbuffered interface enabling zero-copy IO.
+Parsers are backtracking by default and support unbounded lookahead.")
+ (license license:bsd-3)))
+
+(define-public ocaml-graphics
+ (package
+ (name "ocaml-graphics")
+ (version "5.1.1")
+ (home-page "https://github.com/ocaml/graphics")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "14w07ydji2nbdk366nfp2pzs9484xp9vqv63n345id13v48z8bfi"))))
+ (build-system dune-build-system)
+ (propagated-inputs
+ `(("libx11" ,libx11)))
+ (synopsis "The OCaml graphics library")
+ (description
+ "The graphics library provides a set of portable drawing primitives.
+Drawing takes place in a separate window that is created when
+Graphics.open_graph is called. This library used to be distributed with OCaml
+up to OCaml 4.08.")
+ (license license:lgpl2.1+)))
+
+(define-public ocaml-uri-sexp
+ (package
+ (inherit ocaml-uri)
+ (name "ocaml-uri-sexp")
+ (arguments
+ '(#:package "uri-sexp"
+ #:test-target "."))
+ (propagated-inputs
+ `(("ocaml-uri" ,ocaml-uri)
+ ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+ ("ocaml-sexplib0" ,ocaml-sexplib0)))
+ (native-inputs `(("ocaml-ounit" ,ocaml-ounit)))
+ (synopsis "RFC3986 URI/URL parsing library")
+ (description "This package adds S-exp support to @code{ocaml-uri}.")))
+
+(define-public ocaml-cohttp
+ (package
+ (name "ocaml-cohttp")
+ (version "4.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mirage/ocaml-cohttp")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "02d7417yy1i62by368w3wyw3756047pbrw69spcvz3cd1z7vqaci"))))
+ (build-system dune-build-system)
+ (arguments
+ '(#:package "cohttp"
+ #:test-target "cohttp_test/src"))
+ (propagated-inputs
+ `(("ocaml-re" ,ocaml-re)
+ ("ocaml-uri" ,ocaml-uri)
+ ("ocaml-uri-sexp" ,ocaml-uri-sexp)
+ ("ocaml-sexplib0" ,ocaml-sexplib0)
+ ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+ ("ocaml-stringext" ,ocaml-stringext)
+ ("ocaml-base64" ,ocaml-base64)))
+ (native-inputs
+ `(("ocaml-fmt" ,ocaml-fmt)
+ ("ocaml-jsonm" ,ocaml-jsonm)
+ ("ocaml-alcotest" ,ocaml-alcotest)))
+ (home-page "https://github.com/mirage/ocaml-cohttp")
+ (synopsis "OCaml library for HTTP clients and servers")
+ (description
+ "Cohttp is an OCaml library for creating HTTP daemons. It has a portable
+HTTP parser, and implementations using various asynchronous programming
+libraries.")
+ (license license:isc)))
+
+(define-public js-of-ocaml
+ (package
+ (name "js-of-ocaml")
+ (version "3.9.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocsigen/js_of_ocaml")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "00hdjaj94j3nc6f6wbbpx59h4yc79siphs34i1hry11r56paaqyk"))))
+ (build-system dune-build-system)
+ (arguments `(#:test-target "."))
+ (propagated-inputs
+ `(("ocaml-ppxlib" ,ocaml-ppxlib)
+ ("ocaml-uchar" ,ocaml-uchar)
+ ("ocaml-menhir" ,ocaml-menhir)
+ ("ocaml-reactivedata" ,ocaml-reactivedata)
+ ("ocaml-cmdliner" ,ocaml-cmdliner)
+ ("ocaml-lwt" ,ocaml-lwt)
+ ("ocaml-tyxml" ,ocaml-tyxml)
+ ("ocaml-re" ,ocaml-re)
+ ("ocaml-uutf" ,ocaml-uutf)
+ ("ocaml-graphics" ,ocaml-graphics)
+ ("ocaml-yojson" ,ocaml-yojson)))
+ (native-inputs
+ ;; for tests
+ `(("node" ,node)
+ ("ocaml-ppx-expect" ,ocaml-ppx-expect)
+ ("ocaml-num" ,ocaml-num)))
+ (properties `((upstream-name . "js_of_ocaml")))
+ (home-page "https://ocsigen.org/js_of_ocaml/")
+ (synopsis "Compiler from OCaml bytecode to Javascript")
+ (description "Js_of_ocaml is a compiler from OCaml bytecode to JavaScript.
+It makes it possible to run pure OCaml programs in JavaScript environment like
+browsers and Node.js.")
+ (license license:lgpl2.1+)))
+
+(define-public ocaml-bibtex2html
+ (package
+ (name "ocaml-bibtex2html")
+ (version "1.99")
+ (source
+ (origin
+ (method url-fetch)
+ (uri "https://www.lri.fr/~filliatr/ftp/bibtex2html/bibtex2html-1.99.tar.gz")
+ (sha256 (base32 "07gzrs4lfrkvbn48cgn2gn6c7cx3jsanakkrb2irj0gmjzfxl96j"))))
+ (build-system ocaml-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-/bin/sh
+ (lambda _
+ (substitute* "configure" (("/bin/sh") (which "bash")))
+ (setenv "HOME" (getcwd)) ;; mktexfmt needs writable home directory
+ #t)))))
+ (native-inputs
+ `(("which" ,which)
+ ("texlive" ,(texlive-union (list texlive-fonts-ec texlive-preprint
+ texlive-latex-hyperref texlive-bibtex)))))
+ (propagated-inputs
+ `(("hevea" ,hevea)))
+ (home-page "https://www.lri.fr/~filliatr/bibtex2html/")
+ (synopsis "BibTeX to HTML translator")
+ (description "This package allows you to produce, from a set of
+bibliography files in BibTeX format, a bibliography in HTML format.")
+ (license license:gpl2)))