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.scm1099
1 files changed, 730 insertions, 369 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 2b4673882b..4510affe0f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -20,6 +20,7 @@
;;; Copyright © 2020, 2021 pukkamustard <pukkamustard@posteo.net>
;;; Copyright © 2021 aecepoglu <aecepoglu@fastmail.fm>
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -61,6 +62,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)
@@ -957,7 +959,7 @@ written in Objective Caml.")
(define-public ocaml-num
(package
(name "ocaml-num")
- (version "1.1")
+ (version "1.4")
(source
(origin
(method git-fetch)
@@ -966,33 +968,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
@@ -1613,7 +1590,7 @@ full_split, cut, rcut, etc..")
(define dune-bootstrap
(package
(name "dune")
- (version "2.7.1")
+ (version "2.8.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1622,7 +1599,7 @@ full_split, cut, rcut, etc..")
(file-name (git-file-name name version))
(sha256
(base32
- "10qgx83fq8b522y9mpllrp0l5cgmr2bs5s7aix5img21hlbm34in"))))
+ "0a1jj6njzsfjgklsirs6a79079wg4jhy6n888vg3dgp44awwq5jn"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f; require odoc
@@ -2069,6 +2046,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")
@@ -3415,6 +3441,35 @@ 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.1.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))))
+ (sha256
+ (base32
+ "10bf28my1yhj8a2d7bkgbna9j20wq0ghp92k926y29bmjj2qh0l7"))))
+ (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")
@@ -3447,6 +3502,7 @@ JSON.")
`(("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.")
@@ -3773,7 +3829,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/")
@@ -4140,10 +4196,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 "ocaml4.07-ppx-inline-test")
- (version "0.12.0")
+ (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 "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
@@ -4154,29 +4275,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" ,(package-with-ocaml4.07 ocaml-compiler-libs))
- ("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))
- ("ocaml-stdio" ,(package-with-ocaml4.07 ocaml-stdio))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-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")
@@ -4193,7 +4337,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
@@ -4566,6 +4710,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"
@@ -4584,10 +4732,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/")
@@ -4999,31 +5150,21 @@ by making sure that you only compare comparable values.")
"06bq4m1bsm4jlx4g7wh5m99qky7xm4c2g52kaz6pv25hdn5agi2m"))))
(properties `((upstream-name . "ppx_compare"))))))
-(define-public ocaml4.07-fieldslib
+(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" ,(package-with-ocaml4.07 ocaml-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
@@ -5031,62 +5172,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" ,(package-with-ocaml4.07 ocaml-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" ,(package-with-ocaml4.07 ocaml-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
@@ -5094,6 +5251,16 @@ 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-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 "ocaml-ppx-sexp-conv")
@@ -5138,32 +5305,29 @@ definitions.")
"0pqwnqy1xp309wvdcaax4lg02yk64lq2w03mbgfvf6ps5ry4gis9"))))
(properties `((upstream-name . "ppx_sexp_conv"))))))
-(define-public ocaml4.07-ppx-variants-conv
+(define-public ocaml-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")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1yc0gsds5m2nv39zga8nnrca2n75rkqy5dz4xj1635ybz20hhbjd"))))
+ (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))))
+ (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" ,(package-with-ocaml4.07 ocaml-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")
(synopsis "Generation of accessor and iteration functions for OCaml variant types")
@@ -5172,36 +5336,63 @@ definitions.")
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" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-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")
@@ -5218,10 +5409,10 @@ string conversion.")
(inputs
`(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
("ocaml-ppx-compare" ,(package-with-ocaml4.07 ocaml-ppx-compare))
- ("ocaml-ppx-custom-printf" ,ocaml4.07-ppx-custom-printf)
- ("ocaml-ppx-fields-conv" ,ocaml4.07-ppx-fields-conv)
+ ("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" ,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))))
(arguments
@@ -5270,63 +5461,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" ,(package-with-ocaml4.07 ocaml-ppx-compare))
- ("ocaml-ppx-sexp-conv" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-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" ,(package-with-ocaml4.07 ocaml-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
@@ -5334,6 +5525,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")
@@ -5354,7 +5563,7 @@ 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" ,(package-with-ocaml4.07 ocaml-ppxlib))))
@@ -5515,31 +5724,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" ,(package-with-ocaml4.07 ocaml-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
@@ -5547,35 +5747,56 @@ 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.1")
+ (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
+ "0j5smqa0hig1yn8wfrb4mv0y59kkwsalmqkm5asbd7kcc6589ap4"))))
(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" ,(package-with-ocaml4.07 ocaml-stdio))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-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-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 "ocaml-ppx-let")
@@ -5659,72 +5880,72 @@ instruction cache on the hot path. See also
https://github.com/ocaml/ocaml/issues/8563.")
(license license:expat)))
-(define-public ocaml4.07-ppx-assert
+(define-public ocaml-ppx-assert
(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-assert")
+ (version "0.14.0")
+ (source
+ (janestreet-origin "ppx_assert" version
+ "1l2rr4jz2q5b35ryn2z146z7m9v6k8krp5gpn8ilib66mnz5zx15"))
(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-compare" ,(package-with-ocaml4.07 ocaml-ppx-compare))
- ("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" ,(package-with-ocaml4.07 ocaml-ppxlib))))
- (properties `((upstream-name . "ppx_assert")))
+ `(("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
+(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 "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"))))
+ (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" ,(package-with-ocaml4.07 ocaml-ppx-compare))
- ("ocaml-ppx-custom-printf" ,ocaml4.07-ppx-custom-printf)
- ("ocaml-ppx-fields-conv" ,ocaml4.07-ppx-fields-conv)
- ("ocaml-ppx-here" ,(package-with-ocaml4.07 ocaml-ppx-here))
- ("ocaml-ppx-inline-test" ,ocaml4.07-ppx-inline-test)
- ("ocaml-ppx-sexp-conv" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))
- ("ocaml-ppx-variants-conv" ,ocaml4.07-ppx-variants-conv)
- ("ocaml-stdio" ,(package-with-ocaml4.07 ocaml-stdio))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-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
@@ -5734,32 +5955,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" ,(package-with-ocaml4.07 ocaml-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
@@ -5767,6 +6002,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")
@@ -5799,34 +6044,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" ,(package-with-ocaml4.07 ocaml-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" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-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.
@@ -5835,6 +6074,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")
@@ -5888,24 +6146,24 @@ 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-fields-conv" ,(package-with-ocaml4.07 ocaml-ppx-fields-conv))
("ocaml-ppx-here" ,(package-with-ocaml4.07 ocaml-ppx-here))
- ("ocaml-ppx-inline-test" ,ocaml4.07-ppx-inline-test)
+ ("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" ,ocaml4.07-ppx-optcomp)
- ("ocaml-ppx-optional" ,ocaml4.07-ppx-optional)
+ ("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" ,(package-with-ocaml4.07 ocaml-ppxlib))))
@@ -6038,7 +6296,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
@@ -6084,7 +6342,7 @@ 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)
@@ -6124,12 +6382,12 @@ 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" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))
("ocaml-ppx-sexp-message" ,ocaml4.07-ppx-sexp-message)
@@ -6137,7 +6395,7 @@ standard library that was developed by Jane Street.")
("ocaml-splittable-random" ,ocaml4.07-splittable-random)
("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")))
@@ -6494,7 +6752,7 @@ variants.")
(define-public ocaml-mdx
(package
(name "ocaml-mdx")
- (version "1.7.0")
+ (version "1.9.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -6503,7 +6761,7 @@ variants.")
(file-name (git-file-name name version))
(sha256
(base32
- "10avyv99xkfqdq3gmq8gps770jpibbfslg97sbhgmp0dpwikz49d"))))
+ "0fhwaci8j73fx9xqapa9iv9xwjx73r6p8wh9xg6brnfbqkc38d5b"))))
(build-system dune-build-system)
(inputs
`(("ocaml-fmt" ,ocaml-fmt)
@@ -6688,3 +6946,106 @@ these missing pieces.")
"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 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+)))