;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
+;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
(define-public ocamlbuild
(package
(name "ocamlbuild")
- (version "0.14.1")
+ (version "0.14.2")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "00ma0g6ajll9awp2bp303bawac8ync4k9w2a6vix0k4nw3003gb4"))))
+ (base32 "16q8s22msyfq66i1sbz99wj04a9x9ad95x458ixxacxsv0qqh2j0"))))
(build-system ocaml-build-system)
(arguments
`(#:make-flags
(define-public ocaml-extlib
(package
(name "ocaml-extlib")
- (version "1.7.8")
+ (version "1.7.9")
(source (origin
(method url-fetch)
(uri (string-append "https://ygrek.org/p/release/ocaml-extlib/"
"extlib-" version ".tar.gz"))
(sha256
(base32
- "0npq4hq3zym8nmlyji7l5cqk6drx2rkcx73d60rxqh5g8dla8p4k"))))
+ "1jydzw2n84cfiz9y6lk4gih4wbr8jybanmiryfs01svd07g4vpjq"))))
(build-system ocaml-build-system)
(arguments
`(#:phases
(define-public ocaml-cudf
(package
(name "ocaml-cudf")
- (version "0.9")
- (source
- (origin
- (method url-fetch)
- (uri "https://gforge.inria.fr/frs/download.php/36602/cudf-0.9.tar.gz")
- (sha256
- (base32
- "0771lwljqwwn3cryl0plny5a5dyyrj4z6bw66ha5n8yfbpcy8clr"))))
- (build-system ocaml-build-system)
- (propagated-inputs (list ocaml-extlib))
- (native-inputs
- (list perl ocamlbuild ocaml-ounit))
+ (version "0.10")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/irill/cudf")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1lvrmpscbk1kjv5ag5bzlzv520xk5zw2haf6q7chvz98gcm9g0hk"))))
+ (build-system dune-build-system)
(arguments
- `(#:make-flags
- ,#~(list
- "all" "opt"
- (string-append "BINDIR=" #$output "/bin"))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure))))
+ '(#:test-target "."))
+ (propagated-inputs (list ocaml-extlib))
+ (native-inputs (list ocaml-ounit2))
(home-page "https://www.mancoosi.org/cudf/")
(synopsis "CUDF library (part of the Mancoosi tools)")
- (description "CUDF (for Common Upgradeability Description Format) is a
-format for describing upgrade scenarios in package-based Free and Open Source
-Software distribution.")
+ (description
+ "@acronym{CUDF, Common Upgradeability Description Format} is a format for
+describing upgrade scenarios in package-based software distributions.")
;; With static-linking exception
(license license:lgpl2.1+)))
(name "ocaml-dose3")
(version "5.0.1")
(source (origin
- (method url-fetch)
- (uri "https://gforge.inria.fr/frs/download.php/file/36063/dose3-5.0.1.tar.gz")
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/irill/dose3")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "00yvyfm4j423zqndvgc1ycnmiffaa2l9ab40cyg23pf51qmzk2jm"))
+ "0dxkw37gj8z45kd0dnrlfgpj8yycq0dphs8kjm9kvq9xc8rikxp3"))
(patches
(search-patches
"ocaml-dose3-add-unix-dependency.patch"
(define-public opam
(package
(name "opam")
- (version "2.1.2")
+ (version "2.1.3")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "0mdr32mg63yaw89p44zx8b9dxp1167ckmlxkp8svd6fwgb3z49yx"))))
+ "1mw535zsw7xlvpgwnk1dan76z3f7lh5imlg0s6kdyhfg0iqisjd7"))))
(build-system dune-build-system)
(arguments
`(#:test-target "."
;; home directory.
(mkdir-p "test-home")
(setenv "HOME" (string-append (getcwd) "/test-home"))
+ (with-output-to-file (string-append (getcwd) "/test-home/.gitconfig")
+ (lambda _
+ (display "[user]
+email = guix@localhost.none
+name = Guix Builder")
+ (newline)))
;; Opam tests require data from opam-repository. Instead of
;; downloading them with wget from the guix environment, copy the
(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"))
+ (("diff upgrade-format.test upgrade-format.out") "run true")
+ ;; Disable a failing test because it tries to figure out which
+ ;; distro this is, and it doesn't know Guix
+ (("diff pin.unix.test pin.unix.out") "run true")
+ ;; Disable a failing test because of a failed expansion
+ (("diff opamroot-versions.test opamroot-versions.out") "run true")
+ ;; Disable a failing test, probably because the repository we
+ ;; replaced is not as expected
+ (("diff opamrt-big-upgrade.test opamrt-big-upgrade.out") "run true"))
(substitute* "tests/reftests/dune"
;; Because of our changes to the previous file, we cannot check
;; it can be regenerated
;; Data for tests
("opam-repo-009e00fa" ,(opam-repo "009e00fa86300d11c311309a2544e5c6c3eb8de2"
"1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w"))
+ ("opam-repo-7090735c" ,(opam-repo "7090735c9d1dd2dc481c4128c5ef4d3667238f15"
+ "1bccsgjhlp64lmvfjfn6viywf3x73ji75myg9ssf1ij1fkmabn0z"))
+ ("opam-repo-a5d7cdc0" ,(opam-repo "a5d7cdc0c91452b0aef4fa71c331ee5237f6dddd"
+ "0z7kawqisy07088p5xjxwpvmvzlbj1d9cgdipsj90yx7nc5qh369"))
("opam-repo-ad4dd344" ,(opam-repo "ad4dd344fe5cd1cab49ced49d6758a9844549fb4"
"1a1qj47kj8xjdnc4zc50ijrix1kym1n7k20n3viki80a7518baw8"))
("opam-repo-c1d23f0e" ,(opam-repo "c1d23f0e17ec83a036ebfbad1c78311b898a2ca0"
(license license:lgpl2.1+))); with linking exception
(define-public emacs-tuareg
- ;; Last upstream release on Sept., 14th, 2018, since then "Package cl
- ;; deprecated" or 'lexical-binding' and others had been fixed.
- (let ((commit "ccde45bbc292123ec20617f1af7f7e19f7481545")
- (revision "0"))
- (package
- (name "emacs-tuareg")
- (version (git-version "2.2.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ocaml/tuareg")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1yxv4bnqarilnpg5j7wywall8170hwvm0q4xx06yqjgcn8pq1lac"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("emacs" ,emacs-minimal)
- ("opam" ,opam)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'make-git-checkout-writable
- (lambda _
- (for-each make-file-writable (find-files "."))
- #t))
- (delete 'configure)
- (add-before 'install 'fix-install-path
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "Makefile"
- (("/emacs/site-lisp")
- (string-append (assoc-ref %outputs "out")
- "/share/emacs/site-lisp/")))
- #t))
- (add-after 'install 'post-install
- (lambda* (#:key outputs #:allow-other-keys)
- (symlink "tuareg.el"
- (string-append (assoc-ref outputs "out")
- "/share/emacs/site-lisp/"
- "tuareg-autoloads.el"))
- #t)))))
- (home-page "https://github.com/ocaml/tuareg")
- (synopsis "OCaml programming mode, REPL, debugger for Emacs")
- (description "Tuareg helps editing OCaml code, to highlight important
+ (package
+ (name "emacs-tuareg")
+ (version "3.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml/tuareg")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1p3xpk78i8ywgdmc59w05wjjy9dg6gm5gicm08szmrlnx08v2ihm"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:imported-modules `(,@%gnu-build-system-modules
+ (guix build emacs-build-system)
+ (guix build emacs-utils))
+ #:modules '((guix build gnu-build-system)
+ ((guix build emacs-build-system) #:prefix emacs:)
+ (guix build emacs-utils)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'make-git-checkout-writable
+ (lambda _
+ (for-each make-file-writable (find-files "."))))
+ (delete 'configure)
+ (add-before 'install 'fix-install-path
+ (lambda _
+ (substitute* "Makefile"
+ (("/emacs/site-lisp")
+ (emacs:elpa-directory #$output)))))
+ (add-after 'install 'post-install
+ (lambda _
+ (symlink "tuareg.el"
+ (string-append (emacs:elpa-directory #$output)
+ "/tuareg-autoloads.el")))))))
+ (native-inputs
+ (list emacs-minimal opam))
+ (home-page "https://github.com/ocaml/tuareg")
+ (synopsis "OCaml programming mode, REPL, debugger for Emacs")
+ (description "Tuareg helps editing OCaml code, to highlight important
parts of the code, to run an OCaml REPL, and to run the OCaml debugger within
Emacs.")
- (license license:gpl2+))))
+ (license license:gpl2+)))
(define-public ocaml-menhir
(package
(define dune-bootstrap
(package
(name "dune")
- (version "3.3.1")
+ (version "3.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "0wdja70l7y1cj1d0sijm0q0cbics8xd9wqka7zyb29y1cc57pasa"))))
+ "10fpybiqqkmm7y9xmhy4qs451dydmffcjg13k7w8g2p9dd09jb6l"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f; require odoc
(define-public ocaml-linenoise
(package
(name "ocaml-linenoise")
- (version "1.3.1")
+ (version "1.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "0s98695skz1wvrak0rdlh80w3cv6piic1dxqpn9rv1yymbklafg4"))))
+ "1gk11pflal08kg2dz1b5zrlpnhbxpg2rwf8cknw3vzmq6gsmk2kc"))))
(build-system dune-build-system)
(arguments
;; No tests
(define-public ocaml-alcotest
(package
(name "ocaml-alcotest")
- (version "1.5.0")
+ (version "1.6.0")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1lgadc7p56677fi5gwl7r9bml4z87rzh50khhqaij7bwp37zrmpi"))))
+ "195612n7p8y5ba6n19glql7qffl8n3aqkl9nrlln5lb9739gpv4w"))))
(build-system dune-build-system)
(arguments
`(#:package "alcotest"
;; cmdliner changed the format and the tests fail
(substitute* "test/e2e/alcotest/failing/unknown_option.expected"
(("`") "'")
- (("COMMAND") "[COMMAND]")
(("\\.\\.\\.") "…")))))))
(native-inputs
(list ocamlbuild))
(define-public ocaml-ppx-tools
(package
(name "ocaml-ppx-tools")
- (version "6.5")
+ (version "6.6")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "0fwibah2hgllrnbdrmfqil5gr5raf6pb5h2zx6zs1h3d4ykvy8k8"))))
+ "1ms2i063cwsm8wcw7jixz3qx2f2prrmf0k44gbksvsgqvm1rl6s2"))))
(build-system dune-build-system)
(arguments
;; No tests
(define-public ocaml-ssl
(package
(name "ocaml-ssl")
- (version "0.5.10")
+ (version "0.5.12")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/savonet/ocaml-ssl")
- (commit (string-append "v" version))))
+ (commit version)))
(file-name (git-file-name name version))
(sha256 (base32
- "1rszqiqayh67xlwd5411k8vib47x9kapdr037z1majd2c14z3kcb"))))
+ "1dr7yghbv0wncvggd2105bj097msgrdzxd9wjkw1xxf2vvp0j1bi"))))
(build-system dune-build-system)
(arguments
`(#:test-target "."))
(native-inputs
- (list autoconf automake which))
+ (list autoconf automake ocaml-alcotest which))
(propagated-inputs (list openssl))
(home-page "https://github.com/savonet/ocaml-ssl/")
(synopsis "OCaml bindings for OpenSSL")
(define-public ocaml-lwt-log
(package
(name "ocaml-lwt-log")
- (version "1.1.1")
+ (version "1.1.2")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1n12i1rmn9cjn6p8yr6qn5dwbrwvym7ckr7bla04a1xnq8qlcyj7"))))
+ "0mbv5l9gj09jd1c4lr2axcl4v043ipmhjd9xrk27l4hylzfc6d1q"))))
(build-system dune-build-system)
(arguments
`(#:tests? #f)); require lwt_ppx
run command line programs.")
(license license:isc)))
+(define-public ocaml-xml-light
+ (package
+ (name "ocaml-xml-light")
+ (version "2.4")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ncannasse/xml-light")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "089ywjz84y4p5iln94y54vh03b5fm2zrl2dld1398dyrby96dp6s"))))
+ (build-system ocaml-build-system)
+ (arguments
+ (list #:tests? #f ; There are no tests.
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'prefix
+ (lambda _
+ (substitute* "Makefile"
+ (("`\\$\\(OCAMLC\\) -where`")
+ (string-append #$output "/lib/ocaml/site-lib/xml-light")))))
+ (delete 'configure) ; no configure
+ (add-before 'install 'mkdir
+ (lambda _
+ (mkdir-p (string-append #$output "/lib/ocaml/site-lib/xml-light"))))
+ (replace 'install
+ (lambda _
+ (invoke "make" "install_ocamlfind"))))))
+ (home-page "https://github.com/ncannasse/xml-light")
+ (synopsis "Minimal XML parser & printer for OCaml")
+ (description
+ "Xml-Light provides functions to parse an XML document into an OCaml data
+structure, work with it, and print it back to an XML document. It also
+supports DTD parsing and checking, and is entirely written in OCaml, hence it
+does not require additional C libraries.")
+ (license license:lgpl2.1+))) ; with linking exception
+
(define-public ocaml-xmlm
(package
(name "ocaml-xmlm")
(define-public ocaml-uunf
(package
(name "ocaml-uunf")
- (version "14.0.0")
+ (version "15.0.0")
(source
(origin
(method url-fetch)
version".tbz"))
(sha256
(base32
- "17wv0nm3vvwcbzb1b09akw8jblmigyhbfmh1sy9lkb5756ni94a2"))))
+ "1s5svvdqfbzw16rf1h0zm9n92xfdr0qciprd7lcjza8z1hy6pyh7"))))
(build-system ocaml-build-system)
(arguments
`(#:build-flags (list "build" "--tests" "true")
#:phases
(modify-phases %standard-phases
(delete 'configure)
+ ;; reported and fixed upstream, will be available in next version.
+ (add-before 'build 'fix-test
+ (lambda _
+ (substitute* "test/test.ml"
+ (("test/NormalizationTest.txt") "-"))))
(add-before 'check 'check-data
(lambda* (#:key inputs #:allow-other-keys)
(copy-file (assoc-ref inputs "NormalizationTest.txt")
"/ucd/NormalizationTest.txt"))
(file-name (string-append "NormalizationTest-" version ".txt"))
(sha256
- (base32 "0c93pqdkksf7b7zw8y2w0h9i5kkrsdjmh2cr5clrrhp6mg10rcvw"))))))
+ (base32 "09pkawfqpgy2xnv2nkkgmxv53rx4anprg65crbbcm02a2p6ci6pv"))))))
(propagated-inputs (list ocaml-uutf))
(home-page "https://erratique.ch/software/uunf")
(synopsis "Unicode text normalization for OCaml")
(define-public ocaml-fileutils
(package
(name "ocaml-fileutils")
- (version "0.6.3")
+ (version "0.6.4")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "0aa7p5qymi8p7iqym42yk2akjd1ff81fvaks82nhjc533zl01pnf"))))
+ "1s2az5lv52r0fig4624652zn3jj5dy30d1xlw6gzd0s086i4bvjh"))))
(build-system dune-build-system)
(propagated-inputs
(list ocaml-stdlib-shims))
(define-public ocaml-cstruct
(package
(name "ocaml-cstruct")
- (version "6.1.0")
+ (version "6.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1pwfkfs8zzr88slnvl5b28lx6w2k149ybgvrs6diay3qvwcmkhx5"))))
+ "0dpbirs6lzp0bclr3wcw407jjspll7iy66z18zks3mjccvlxd21w"))))
(build-system dune-build-system)
(arguments
`(#:package "cstruct"
(define-public ocaml-piqilib
(package
(name "ocaml-piqilib")
- (version "0.6.15")
+ (version "0.6.16")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0v04hs85xv6d4ysqxyv1dik34dx49yab9shpi4x7iv19qlzl7csb"))))
+ (base32 "0mbhfrfrik3jlzx9zz680g0qdvv0b7cbjz28cgdlryp7nk4v4kx8"))))
(build-system ocaml-build-system)
(arguments
`(#:phases
(define-public ocaml-piqi
(package
(name "ocaml-piqi")
- (version "0.7.7")
+ (version "0.7.8")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1913jpsb8mvqi8609j4g4sm5jhg50dq0xqxgy8nmvknfryyc89nm"))))
+ "12m9vxir0cs2155nxs0a3m3npf3w79kyxf9a5lmf18qvvgismfz8"))))
(build-system ocaml-build-system)
(arguments
`(#:make-flags
(define-public ocaml-zed
(package
(name "ocaml-zed")
- (version "3.1.0")
+ (version "3.2.0")
(home-page "https://github.com/ocaml-community/zed")
(source
(origin
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "04vr1a94imsghm98iigc35rhifsz0rh3qz2qm0wam2wvp6vmrx0p"))))
+ (base32 "1g171kk5wxnk66d4vwz2crh5i19vhqghp78iybl5am17gl9qf8pb"))))
(build-system dune-build-system)
+ (propagated-inputs
+ (list ocaml-react
+ ocaml-result
+ ocaml-uchar
+ ocaml-uutf
+ ocaml-uucp
+ ocaml-uuseg
+ ocaml-odoc))
(arguments
`(#:test-target "."))
- (propagated-inputs
- `(("ocaml-charInfo-width" ,ocaml-charinfo-width)
- ("ocaml-camomile" ,ocaml-camomile)
- ("ocaml-react" ,ocaml-react)))
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-zed))))
(synopsis "Abstract engine for text edition in OCaml")
(description
(sha256
(base32
"0pa9awinqr0plp4b2az78dwpvh01pwaljnn5ydg8mc6hi7rmir55"))))
+ (propagated-inputs
+ `(("ocaml-charInfo-width" ,ocaml-charinfo-width)
+ ("ocaml-camomile" ,ocaml-camomile)
+ ("ocaml-react" ,ocaml-react)))
(properties '()))))
(define-public ocaml-lambda-term
(package
(name "ocaml-lambda-term")
- (version "3.2.0")
+ (version "3.3.1")
(home-page "https://github.com/ocaml-community/lambda-term")
(source (origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "048k26644wq5wlwk0j179dxrxyz9nxqqq4vvhyh6pqpgxdajd44i"))))
+ "1pkamblc6h0rsbk901cqn3xr9gqa3g8wrwyx5zryaqvb2xpbhp8b"))))
(build-system dune-build-system)
(arguments
`(#:test-target "."))
(propagated-inputs
- (list ocaml-lwt
- ocaml-lwt-log
- ocaml-react
- ocaml-zed
- ocaml-camomile
+ (list ocaml-logs
+ ocaml-lwt
ocaml-lwt-react
- ocaml-mew-vi))
+ ocaml-mew-vi
+ ocaml-odoc
+ ocaml-react
+ ocaml-zed))
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-lambda-term))))
(synopsis "Terminal manipulation library for OCaml")
(description "Lambda-Term is a cross-platform library for manipulating the
(define-public ocaml-utop
(package
(name "ocaml-utop")
- (version "2.9.2")
+ (version "2.10.0")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0z5anakgbndhyzbi570pfs2fy69bnmgq9jflgfbly2rhbhwa7wgj"))))
+ (base32 "1pcix3h9f7is06581iax4i08zkd6sv8y5hy1vvxhqhcsd9z0qfl3"))))
(build-system dune-build-system)
(arguments
`(#:test-target "."))
(native-inputs
(list ocaml-cppo))
(propagated-inputs
- (list ocaml-lambda-term ocaml-lwt ocaml-lwt-react ocaml-camomile
- ocaml-react))
+ (list ocaml-lambda-term
+ ocaml-logs
+ ocaml-lwt
+ ocaml-lwt-react
+ ocaml-react
+ ocaml-zed))
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-utop))))
(home-page "https://github.com/ocaml-community/utop")
(synopsis "Improved interface to the OCaml toplevel")
("ocaml-zed" ,ocaml-zed)))
(properties '()))))
+(define-public ocaml-ansiterminal
+ (package
+ (name "ocaml-ansiterminal")
+ (version "0.8.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Chris00/ANSITerminal")
+ (commit version)
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "052qnc23vmxp90yympjz9q6lhqw98gs1yvb3r15kcbi1j678l51h"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:test-target "tests"))
+ (properties `((upstream-name . "ANSITerminal")))
+ (home-page "https://github.com/Chris00/ANSITerminal")
+ (synopsis
+ "Basic control of ANSI compliant terminals and the windows shell")
+ (description
+ "ANSITerminal is a module allowing to use the colors and cursor
+movements on ANSI terminals.")
+ ;; Variant of the LGPL3+ which permits
+ ;; static and dynamic linking when producing binary files.
+ ;; In other words, it allows one to link to the library
+ ;; when compiling nonfree software.
+ (license (license:non-copyleft "LICENSE.md"))))
+
(define-public ocaml-ptmap
(package
(name "ocaml-ptmap")
(define-public ocaml-timed
(package
(name "ocaml-timed")
- (version "1.0")
+ (version "1.1")
(home-page "https://github.com/rlepigre/ocaml-timed")
(source (origin
(method git-fetch)
(uri (git-reference
(url (string-append home-page ".git"))
- (commit (string-append name "_" version))))
+ (commit version)))
(sha256
(base32
- "0hfxz710faxy5yk97bkfnw87r732jcxxhmjppwrbfdb6pd0wks96"))
+ "1aqmkpjv5jk95lc2m3qyyrhw8ra7n9wj8pv3bfc83l737zv0hjn1"))
(file-name (git-file-name name version))))
- (build-system ocaml-build-system)
+ (build-system dune-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (replace 'build
- (lambda _
- (invoke "make")))
- (replace 'install
- (lambda _
- (invoke "make" "install")))
- (replace 'check
- (lambda _
- (invoke "make" "tests"))))))
+ '(#:test-target "."))
(synopsis "Timed references for imperative state")
(description "Timed references for imperative state. This module provides
an alternative type for references (or mutable cells) supporting undo/redo
(define-public ocaml-biniou
(package
(name "ocaml-biniou")
- (version "1.2.1")
+ (version "1.2.2")
(home-page "https://github.com/mjambon/biniou")
(source
(origin
(file-name (git-file-name name version))
(sha256
(base32
- "0x2kiy809n1j0yf32l7hj102y628jp5jdrkbi3z7ld8jq04h1790"))))
+ "1gd4nqffm9h7dzxyvpfpww24l61fqgazyh3p5f7k9jvgyv9y4vcn"))))
(build-system dune-build-system)
(arguments
`(#:phases
(add-before 'build 'make-writable
(lambda _ (for-each make-file-writable (find-files "." ".")))))))
(inputs
- (list ocaml-easy-format))
+ (list ocaml-easy-format ocaml-camlp-streams))
(native-inputs
(list which))
(synopsis "Data format designed for speed, safety, ease of use and backward
(define-public ocaml-yojson
(package
(name "ocaml-yojson")
- (version "1.7.0")
+ (version "2.0.2")
(home-page "https://github.com/ocaml-community/yojson")
(source
(origin
(file-name (git-file-name name version))
(sha256
(base32
- "0zncsw8bgbkh1pfvfc7nh628hfj84lgx6jwhp9ashj3z1z0w3xjn"))))
+ "1habsh00ihjhk1g1csxqg3hj8izk5zvgc7wm579wyjw35vzcmwr1"))))
(build-system dune-build-system)
(arguments
- `(#:test-target "."))
- (propagated-inputs
- (list ocaml-biniou ocaml-easy-format))
- (native-inputs
- (list ocaml-alcotest ocaml-cppo))
+ `(#:test-target "."
+ #:package "yojson"))
+ (propagated-inputs (list ocaml-seq))
+ (native-inputs (list ocaml-alcotest ocaml-cppo))
(synopsis "Low-level JSON library for OCaml")
(description "Yojson is an optimized parsing and printing library for the
JSON format. It addresses a few shortcomings of json-wheel including 2x
serializers and deserializers from type definitions.")
(license license:bsd-3)))
-(define-public ocaml-craml
+(define-public ocaml-merlin-lib
(package
- (name "ocaml-craml")
- (version "1.0.0")
- (home-page "https://github.com/realworldocaml/craml")
+ (name "ocaml-merlin-lib")
+ (version "4.6-414")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url (string-append home-page ".git"))
- (commit version)))
+ (url "https://github.com/ocaml/merlin")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "197xjp4vmzdymf2ndinw271ihpf45h04mx8gqj8ypspxdr5fj1a5"))))
+ "1cpa9x45w54l4mqqmc8z3s5gscggw37gb6z9i7wwss86fj1wgclh"))))
(build-system dune-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'build 'upgrade
- (lambda _
- (invoke "dune" "upgrade")
- #t)))))
- (inputs
- (list ocaml-fmt ocaml-astring ocaml-logs ocaml-cmdliner))
- (synopsis
- "CRAM-testing framework for testing command line applications")
- (description "CRAM is a is functional testing framework for command line
-applications. @code{craml} is freely inspired by the
-Mercurial's @code{https://www.selenic.com/blog/?p=663, unified test
-format}. @code{craml} is released as a single binary (called @code{craml}).")
- (license license:isc)))
+ (arguments '(#:package "merlin-lib"
+ #:tests? #f)) ; no tests
+ (propagated-inputs (list ocaml-csexp ocaml-menhir))
+ (home-page "https://ocaml.github.io/merlin/")
+ (synopsis "Merlin libraries")
+ (description "These libraries provides access to low-level compiler
+interfaces and the standard higher-level merlin protocol.")
+ (license license:expat)))
(define-public ocaml-dot-merlin-reader
(package
+ (inherit ocaml-merlin-lib)
(name "ocaml-dot-merlin-reader")
- (version "4.5-414")
- (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
- "125gyk63fg9plqkyrkl3wvpr3czjxgvshf4496fc4swldl7z587c"))))
- (build-system dune-build-system)
(arguments '(#:package "dot-merlin-reader"
#:tests? #f)) ; no tests
- (inputs
- (list ocaml-yojson ocaml-csexp ocaml-result))
- (home-page "https://ocaml.github.io/merlin/")
+ (propagated-inputs (list ocaml-merlin-lib))
(synopsis "Reads config files for @code{ocaml-merlin}")
(description "@code{ocaml-dot-merlin-reader} is an external reader for
-@code{ocaml-merlin} configurations.")
- (license license:expat)))
+@code{ocaml-merlin} configurations.")))
(define-public ocaml-merlin
(package
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "dune" "runtest" "-p" "merlin,dot-merlin-reader")))))))
- (inputs
- (list ocaml-yojson ocaml-csexp ocaml-result))
+ (propagated-inputs (list ocaml-merlin-lib ocaml-yojson))
(native-inputs
(list ocaml-dot-merlin-reader ; required for tests
ocaml-mdx jq))
(define-public ocaml-sexplib
(package
(name "ocaml-sexplib")
- (version "0.15.0")
+ (version "0.15.1")
(home-page "https://github.com/janestreet/sexplib")
- (source
- (janestreet-origin "sexplib" version
- "1xs55f11yhscnfrzpvy1vn05j6xi9kxy097465624l615j7k8qm5"))
+ (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
+ "1gcvcc0jw6pb69wwfjnaqz1jk5simap2kdb7g43v7v7mksg8sh9f"))))
(build-system dune-build-system)
(propagated-inputs
(list ocaml-base ocaml-num ocaml-parsexp ocaml-sexplib0))
(define-public ocaml-core
(package
(name "ocaml-core")
- (version "0.15.0")
+ (version "0.15.1")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1m2ybvlz9zlb2d0jc0j7wdgd18mx9sh3ds2ylkv0cfjx1pzi0l25"))))
+ (base32 "17vc2i5qb53dr0civ8pkrnnsn2nkydlq44ash7fhh93yb4sffy28"))))
(build-system dune-build-system)
(arguments
`(#:package "core"
(base32 "07zjkk455l51i29lcayzrc1q8j5bvbv97sscv8yhcj7x6h6q2nag"))))
(build-system dune-build-system)
(arguments
- `(#:phases
+ `(#:tests? #f; not compatible with current version of ocaml-yojson
+ #:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-test
(lambda _
(define-public ocaml-odoc-parser
(package
(name "ocaml-odoc-parser")
- (version "1.0.0")
+ (version "2.0.0")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "0mvwbnla0wd29bc7ckwpb494qv7p616cx8hnm0zg36np7v3zwy4w"))))
+ "1x48kf051xs98rd6cri591bk1ccp9hyp93n1rlf6qnxic55jw683"))))
(build-system dune-build-system)
(propagated-inputs
- (list ocaml-astring ocaml-result))
+ (list ocaml-astring ocaml-camlp-streams ocaml-result))
(native-inputs
(list ocaml-ppx-expect))
(home-page "https://github.com/ocaml-doc/odoc-parser")
(define-public ocaml-cairo2
(package
(name "ocaml-cairo2")
- (version "0.6.3")
+ (version "0.6.4")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1m0wh0s0sqjfa3mgq99lwk0dsg0bwxipaz93hq18m0lz5fqxib1m"))))
+ "06ag9b88ihhr7yd3s9l0ac7ysig02fmlmsswybbsvz71ni0mb105"))))
(build-system dune-build-system)
(arguments
`(#:test-target "tests"))
(define-public ocaml-version
(package
(name "ocaml-version")
- (version "3.4.0")
+ (version "3.5.0")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "1c13zk1qna59m5z9jx7da3p7cxd48scpyk7zg7gi6gc6hx5hhjx8"))))
+ "1pnw2ym021j48zknhbi1kdiyfv9si8p2l04rdzbv4g51fclsqs92"))))
(build-system dune-build-system)
(arguments `(#:tests? #f)) ; no tests
(properties '((upstream-name . "ocaml-version")))
(define-public lablgtk3
(package
(name "lablgtk")
- (version "3.1.1")
+ (version "3.1.3")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "11qfc39cmwfwfpwmjh6wh98zwdv6p73bv8hqwcsss869vs1r7gmn"))))
+ "0rhdr89w7yj8pkga5xc7iqmqvrs28034wb7sm7vx7faaxczwjifn"))))
(build-system dune-build-system)
(arguments
- `(#:test-target "."
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'make-writable
- (lambda _
- (for-each (lambda (file)
- (chmod file #o644))
- (find-files "." "."))))
- (add-before 'build 'set-version
- (lambda _
- (substitute* "dune-project"
- (("\\(name lablgtk3\\)")
- (string-append "(name lablgtk3)\n(version " ,version ")"))))))))
+ `(#:package "lablgtk3"
+ #:test-target "."))
(propagated-inputs
- (list ocaml-cairo2))
+ (list ocaml-cairo2 ocaml-camlp-streams))
(inputs
- (list camlp5 gtk+ gtksourceview-3 gtkspell3))
+ (list camlp5 gtk+))
(native-inputs
(list pkg-config))
(home-page "https://github.com/garrigue/lablgtk")
;; Version 2 only, with linking exception.
(license license:lgpl2.0)))
+(define-public ocaml-lablgtk3-sourceview3
+ (package
+ (inherit lablgtk3)
+ (name "ocaml-lablgtk3-sourceview3")
+ (propagated-inputs (list lablgtk3))
+ (native-inputs (list gtksourceview-3 pkg-config))
+ (arguments
+ `(#:package "lablgtk3-sourceview3"
+ #:test-target "."))
+ (synopsis "OCaml interface to GTK+ gtksourceview library")
+ (description "This package provides the lablgtk interface to the
+GTK+ gtksourceview library.")))
+
(define-public ocaml-reactivedata
(package
(name "ocaml-reactivedata")
(define-public ocaml-uucd
(package
(name "ocaml-uucd")
- (version "14.0.0")
+ (version "15.0.0")
(source
(origin
(method url-fetch)
"uucd-" version ".tbz"))
(sha256
(base32
- "0fc737v5gj3339jx4x9xr096lxrpwvp6vaiylhavcvsglcwbgm30"))))
+ "1g26237yqmxr7sd1n9fg65qm5mxz66ybk7hr336zfyyzl25h6jqf"))))
(build-system ocaml-build-system)
(arguments
'(#:build-flags '("build" "--tests" "true")
(define-public ocaml-uucp
(package
(name "ocaml-uucp")
- (version "14.0.0")
+ (version "15.0.0")
(source
(origin
(method url-fetch)
"uucp-" version ".tbz"))
(sha256
(base32
- "1yx9nih3d9prb9zizq8fzmmqylf24a6yifhf81h33znrj5xn1mpj"))))
+ "0c2k9gkg442l7hnc8rn1vqzn6qh68w9fx7h3nj03n2x90ps98ixc"))))
(build-system ocaml-build-system)
(arguments
'(#:build-flags '("build" "--tests" "true")
(define-public ocaml-uuseg
(package
(name "ocaml-uuseg")
- (version "14.0.0")
+ (version "15.0.0")
(source
(origin
(method url-fetch)
"uuseg-" version ".tbz"))
(sha256
(base32
- "1g9zyzjkhqxgbb9mh3cgaawscwdazv6y8kdqvmy6yhnimmfqv25p"))))
+ "1qz130wlmnvb6j7kpvgjlqmdm2jqid4wb1dmrsls4hdm4rp7gk5b"))))
(build-system ocaml-build-system)
(arguments
'(#:build-flags '("build" "--tests" "true")
(define-public ocamlformat
(package
(name "ocamlformat")
- (version "0.22.4")
+ (version "0.24.1")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "171lq3vx4y8xj4by5zy93isx8nhg6ysxg1hxmkqkq16fdaiz8mnc"))))
+ "0y1j5mwwrliy6a78cmpi6j8gw425shghqg9ylyl3qw5fx4b088pp"))))
(build-system dune-build-system)
(arguments
'(#:package "ocamlformat"
browsers and Node.js.")
(license license:lgpl2.1+)))
+(define-public ocaml-afl-persistent
+ (package
+ (name "ocaml-afl-persistent")
+ (version "1.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/stedolan/ocaml-afl-persistent")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "06yyds2vcwlfr2nd3gvyrazlijjcrd1abnvkfpkaadgwdw3qam1i"))))
+ (build-system ocaml-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda _
+ (invoke "./build.sh")))
+ ;; XXX: The tests are already run in the build.sh script.
+ (delete 'check))))
+ (native-inputs
+ `(("opam" ,opam)))
+ (home-page "https://github.com/stedolan/ocaml-afl-persistent")
+ (synopsis "Use afl-fuzz in persistent mode")
+ (description
+ "afl-fuzz normally works by repeatedly forking the program being tested.
+Using this package, you can run afl-fuzz in ``persistent mode'', which avoids
+repeated forking and is much faster.")
+ (license license:expat)))
+
+(define-public ocaml-pprint
+ (package
+ (name "ocaml-pprint")
+ (version "20220103")
+ (home-page "https://github.com/fpottier/pprint")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "09y6nwnjldifm47406q1r9987njlk77g4ifqg6qs54dckhr64vax"))))
+ (build-system dune-build-system)
+ (synopsis "OCaml pretty-printing combinator library and rendering
+engine")
+ (description "This OCaml library offers a set of combinators for building
+so-called documents as well as an efficient engine for converting documents to
+a textual, fixed-width format. The engine takes care of indentation and line
+breaks, while respecting the constraints imposed by the structure of the
+document and by the text width.")
+ (license license:lgpl2.0)))
+
+(define-public ocaml-crowbar
+ (package
+ (name "ocaml-crowbar")
+ (version "0.2.1")
+ (home-page "https://github.com/stedolan/crowbar")
+ (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
+ "11f3kiw58g8njx15akx16xcplzvzdw9y6c4jpyfxylkxws4g0f6j"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:test-target "."))
+ (propagated-inputs
+ (list ocaml-ocplib-endian
+ ocaml-cmdliner
+ ocaml-afl-persistent))
+ (native-inputs
+ (list ocaml-calendar
+ ocaml-fpath
+ ocaml-uucp
+ ocaml-uunf
+ ocaml-uutf
+ ocaml-pprint))
+ (synopsis "Ocaml library for tests, let a fuzzer find failing cases")
+ (description "Crowbar is a library for testing code, combining
+QuickCheck-style property-based testing and the magical bug-finding powers of
+@uref{http://lcamtuf.coredump.cx/afl/, afl-fuzz}.")
+ (license license:expat)))
+
+(define-public ocaml-eqaf
+ (package
+ (name "ocaml-eqaf")
+ (version "0.9")
+ (home-page "https://github.com/mirage/eqaf")
+ (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
+ "16ics56wiqyng70dy2hqikicm8ag1mv5w1h7hkiwvydw1x2j2rsl"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-cstruct))
+ (native-inputs (list ocaml-alcotest ocaml-crowbar))
+ (synopsis "OCaml library for constant-time equal function on string")
+ (description "This OCaml library provides an equal function on string in
+constant-time to avoid timing-attack with crypto stuff.")
+ (license license:expat)))
+
+(define-public ocaml-digestif
+ (package
+ (name "ocaml-digestif")
+ (version "1.1.2")
+ (home-page "https://github.com/mirage/digestif")
+ (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
+ "0mc233d63y04jznsn3bxncgv7fkvyngbv6hcka412iq0y3x4qsmq"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-eqaf))
+ (native-inputs
+ (list pkg-config
+ ocaml-fmt
+ ocaml-alcotest
+ ocaml-bos
+ ocaml-astring
+ ocaml-fpath
+ ocaml-rresult
+ ocaml-findlib))
+ (synopsis "Simple hash algorithms in OCaml")
+ (description
+ "Digestif is an OCaml library that provides implementations of hash
+algorithms. Implemented hash algorithms include MD5, SHA1, SHA224, SHA256,
+SHA384, SHA512, Blake2b, Blake2s and RIPEMD160.")
+ (license license:expat)))
+
(define-public ocaml-bibtex2html
(package
(name "ocaml-bibtex2html")
(description "This package allows you to produce, from a set of
bibliography files in BibTeX format, a bibliography in HTML format.")
(license license:gpl2)))
+
+(define-public ocaml-guile
+ (package
+ (name "ocaml-guile")
+ (version "1.0")
+ (home-page "https://github.com/gopiandcode/guile-ocaml")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0yxdkrhrrbwvay5sn0p26rh3f11876k6kdharmpi4afxknml74ql"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:tests? #f)) ; no tests
+ (propagated-inputs
+ (list ocaml-sexplib
+ ocaml-ctypes
+ ocaml-stdio
+ ocaml-odoc))
+ (inputs (list guile-3.0 libffi))
+ (native-inputs
+ (list ocaml-odoc
+ pkg-config))
+ (synopsis "Bindings to GNU Guile Scheme for OCaml")
+ (description
+ "The OCaml guile library provides high-level OCaml bindings to GNU Guile
+3.0, supporting easy interop between OCaml and GNU Guile Scheme.")
+ (license license:gpl3+)))
+
+;;;
+;;; Avoid adding new packages to the end of this file. To reduce the chances
+;;; of a merge conflict, place them above by existing packages with similar
+;;; functionality or similar names.
+;;;