;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016-2018 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2016-2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Peter Kreye <kreyepr@gmail.com>
;;; Copyright © 2018, 2019 Gabriel Hondet <gabrielhondet@gmail.com>
;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
(define-module (gnu packages ocaml)
#:use-module (gnu packages)
+ #:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
"/lib/ocaml/site-lib"))
#:phases (modify-phases %standard-phases (delete 'configure))))
-(define-public ocaml-4.07
+(define-public ocaml-4.09
(package
(name "ocaml")
- (version "4.07.1")
+ (version "4.09.0")
(source (origin
(method url-fetch)
(uri (string-append
"/ocaml-" version ".tar.xz"))
(sha256
(base32
- "1f07hgj5k45cylj1q3k5mk8yi02cwzx849b1fwnwia8xlcfqpr6z"))))
+ "1v3z5ar326f3hzvpfljg4xj8b9lmbrl53fn57yih1bkbx3gr3yzj"))))
(build-system gnu-build-system)
(native-search-paths
(list (search-path-specification
("gcc:lib" ,(canonical-package gcc) "lib")
("zlib" ,zlib))) ;also needed for objdump support
(arguments
- `(#:modules ((guix build gnu-build-system)
- (guix build utils)
- (web server))
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-/bin/sh-references
(lambda* (#:key inputs #:allow-other-keys)
quoted-sh))))
(find-files "." "\\.ml$"))
#t))))
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (mandir (string-append out "/share/man")))
- ;; Custom configure script doesn't recognize
- ;; --prefix=<PREFIX> syntax (with equals sign).
- (invoke "./configure"
- "--prefix" out
- "--mandir" mandir))))
(replace 'build
(lambda _
(invoke "make" "-j" (number->string (parallel-job-count))
"world.opt")))
- (delete 'check)
- (add-after 'install 'check
+ (replace 'check
(lambda _
(with-directory-excursion "testsuite"
(invoke "make" "all")))))))
;; distributed under lgpl2.0.
(license (list license:qpl license:lgpl2.0))))
+(define-public ocaml-4.07
+ (package
+ (inherit ocaml-4.09)
+ (version "4.07.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://caml.inria.fr/pub/distrib/ocaml-"
+ (version-major+minor version)
+ "/ocaml-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1f07hgj5k45cylj1q3k5mk8yi02cwzx849b1fwnwia8xlcfqpr6z"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments ocaml-4.09)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (mandir (string-append out "/share/man")))
+ ;; Custom configure script doesn't recognize
+ ;; --prefix=<PREFIX> syntax (with equals sign).
+ (invoke "./configure"
+ "--prefix" out
+ "--mandir" mandir))))))))))
+
(define-public ocaml ocaml-4.07)
(define-public ocamlbuild
(define-public opam
(package
(name "opam")
- (version "2.0.5")
+ (version "2.0.6")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "0pf2smq2sdcxryq5i87hz3dv05pb3zasb1is3kxq1pi1s4cn55mx"))))
+ "1vyga2jllsfsikppxyzljm4isfnnnl8k0rb44h8xaddjzdg1d4m8"))))
(build-system ocaml-build-system)
(arguments
`(#:configure-flags
"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 'LICENSE' file waives some requirements compared to LGPLv3.
(license license:lgpl3)))
-(define-public camlp4-4.07
- (package
- (name "camlp4")
- (version "4.07+1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ocaml/camlp4.git")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0cxl4hkqcvspvkx4f2k83217rh6051fll9i2yz7cw6m3bq57mdvl"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("ocaml" ,ocaml-4.07)
- ("ocamlbuild" ,ocamlbuild)
- ("which" ,which)))
- (inputs `(("ocaml" ,ocaml-4.07)))
- (arguments
- '(#:tests? #f ;no documented test target
- ;; a race-condition will lead byte and native targets to mkdir _build
- ;; which fails on the second attempt.
- #:parallel-build? #f
- #:make-flags '("all")
- #:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- ;; This is a home-made 'configure' script.
- (let ((out (assoc-ref outputs "out")))
- (invoke "./configure"
- (string-append "--libdir=" out
- "/lib/ocaml/site-lib")
- (string-append "--bindir=" out "/bin")
- (string-append "--pkgdir=" out
- "/lib/ocaml/site-lib")))))
- (add-after 'install 'install-meta
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (substitute* "camlp4/META.in"
- (("directory = .*")
- (string-append "directory = \"" out
- "/lib/ocaml/site-lib/camlp4\"\n")))
- (invoke "make" "install-META")))))))
- (home-page "https://github.com/ocaml/camlp4")
- (synopsis "Write parsers in OCaml")
- (description
- "Camlp4 is a software system for writing extensible parsers for
-programming languages. It provides a set of OCaml libraries that are used to
-define grammars as well as loadable syntax extensions of such grammars.
-Camlp4 stands for Caml Preprocessor and Pretty-Printer and one of its most
-important applications is the definition of domain-specific extensions of the
-syntax of OCaml.")
-
- ;; This is LGPLv2 with an exception that allows packages statically-linked
- ;; against the library to be released under any terms.
- (license license:lgpl2.0)))
-
-(define-public camlp4 camlp4-4.07)
-
(define-public camlp5
(package
(name "camlp5")
- (version "7.07")
+ (version "7.10")
(source
(origin
(method git-fetch)
(commit (string-append "rel" (string-delete #\. version)))))
(file-name (git-file-name name version))
(sha256
- (base32 "1c8v45553ccbqha2ypfranqlgw06rr5wjr2hlnrx5bf9jfq0h0dn"))))
+ (base32 "1a1lgsc8350afdwmsznsys7m0c0cks4nw6irqz2f92g8g4vkk9b7"))))
(build-system gnu-build-system)
(inputs
`(("ocaml" ,ocaml)))
(uri (git-reference
(url "https://github.com/garrigue/lablgtk")
(commit "lablgtk2188")))
+ (file-name (git-file-name name version))
(sha256
(base32
"0gpww8bkwi5cl68kc006970zvzwvq73h1mwrnd239apmwlxc1l8a"))))
(define-public ocaml-findlib
(package
(name "ocaml-findlib")
- (version "1.8.0")
+ (version "1.8.1")
(source (origin
(method url-fetch)
(uri (string-append "http://download.camlcity.org/download/"
"findlib" "-" version ".tar.gz"))
(sha256
(base32
- "1b97zqjdriqd2ikgh4rmqajgxwdwn013riji5j53y3xvcmnpsyrb"))))
+ "00s3sfb02pnjmkax25pcnljcnhcggiliccfz69a72ic7gsjwz1cf"))))
(build-system gnu-build-system)
(native-inputs
- `(("camlp4" ,camlp4)
- ("m4" ,m4)
+ `(("m4" ,m4)
("ocaml" ,ocaml)))
(arguments
`(#:tests? #f ; no test suite
(let ((out (assoc-ref outputs "out")))
(invoke "make" "install"
(string-append "OCAML_CORE_STDLIB="
- out "/lib/ocaml/site-lib")))))
- (add-after 'install 'remove-camlp4
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (delete-file-recursively
- (string-append out "/lib/ocaml/site-lib/camlp4"))
- #t))))))
+ out "/lib/ocaml/site-lib"))))))))
(home-page "http://projects.camlcity.org/projects/findlib.html")
(synopsis "Management tool for OCaml libraries")
(description
(define-public ocaml-qcheck
(package
(name "ocaml-qcheck")
- (version "0.11")
+ (version "0.12")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0d2wih4zxn2zm7kxd9dnf5nlp838km3vz6wv80fa3m51609fb24i"))))
+ (base32 "1llnfynhlndwyjig7wrayjnds2b3mggp5lw20dwxhn2i2lkkb22m"))))
(build-system dune-build-system)
(arguments
- `(#:test-target "."))
- (native-inputs
+ `(#:test-target "."
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'fix-deprecated
+ (lambda _
+ (substitute* "src/core/QCheck.ml"
+ (("Pervasives.compare") "compare"))
+ #t)))))
+ (propagated-inputs
`(("ocaml-alcotest" ,ocaml-alcotest)
- ("ocaml-ounit" ,ocaml-ounit)
- ("ocamlbuild" ,ocamlbuild)))
+ ("ocaml-ounit" ,ocaml-ounit)))
+ (native-inputs
+ `(("ocamlbuild" ,ocamlbuild)))
(home-page "https://github.com/c-cube/qcheck")
(synopsis "QuickCheck inspired property-based testing for OCaml")
(description "QuickCheck inspired property-based testing for OCaml. This
(define-public ocaml-qtest
(package
(name "ocaml-qtest")
- (version "2.9")
+ (version "2.10.1")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1ifxc8jndwah82g5k8xaa7jskbv866j4zpd0w41f0pskg4y0z9g1"))))
+ "0gddzan4vzs0vklsxhirdjrvx3rp7hhh2yr20vi13nq8rwkn9w29"))))
(build-system dune-build-system)
(arguments
`(#:jbuild? #t
;; where it says `mit'.
(license license:expat)))
-(define-public ocaml-bisect
- (package
- (name "ocaml-bisect")
- (version "1.3.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/gasche/bisect.git")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0hm5za61qydda6ri3887b4zqqbqilh42x712xnclm1rr7ggga2nh"))
- (patches
- (search-patches
- "ocaml-bisect-fix-camlp4-in-another-directory.patch"))))
- (build-system ocaml-build-system)
- (native-inputs
- `(("camlp4" ,camlp4)
- ("libxml2" ,libxml2)
- ("ocamlbuild" ,ocamlbuild)
- ("which" ,which)))
- (propagated-inputs
- `(("camlp4" ,camlp4)))
- (arguments
- `(#:test-target "tests"
- #:make-flags
- (list "all" (string-append "CAMLP4_LIBDIR="
- (assoc-ref %build-inputs "camlp4")
- "/lib/ocaml/site-lib/camlp4"))
- #:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (invoke "./configure" "-prefix" (assoc-ref outputs "out")
- "-ocaml-prefix" (assoc-ref inputs "ocaml")
- "-camlp4-prefix" (assoc-ref inputs "camlp4"))
- #t)))))
- (home-page "http://bisect.x9c.fr")
- (synopsis "Code coverage tool for the OCaml language")
- (description "Bisect is a code coverage tool for the OCaml language. It is
-a camlp4-based tool that allows to instrument your application before running
-tests. After application execution, it is possible to generate a report in HTML
-format that is the replica of the application source code annotated with code
-coverage information.")
- (license license:gpl3+)))
-
(define-public dune
(package
(name "dune")
"15jjk2pq1vx311gl49s5ag6x5y0654x35w75z07g7kr2q334hqps"))))
(build-system dune-build-system)
(native-inputs
- `(("camlp4" ,camlp4)
- ("time" ,time)
+ `(("time" ,time)
("autoconf" ,autoconf)
- ("automake" ,automake)
- ("bisect" ,ocaml-bisect)))
+ ("automake" ,automake)))
(propagated-inputs
- `(("camlp4" ,camlp4)
- ("ocaml-ppx-tools-versioned" ,ocaml-ppx-tools-versioned)))
+ `(("ocaml-ppx-tools-versioned" ,ocaml-ppx-tools-versioned)))
(arguments
`(#:tests? #f; Tests fail to build
#:jbuild? #t))
(define-public ocaml-csv
(package
(name "ocaml-csv")
- (version "2.2")
+ (version "2.3")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "07qdw8bbvprk78x96pnm807rhs82ks6sxis1cf5nyng8b5nvm2mv"))))
+ "19k48517s8y1zb91a1312a0n94cbh5i5dixndcrqjmf87kkz61zx"))))
(build-system dune-build-system)
(arguments
`(#:package "csv"
by all major spreadsheets. This library implements pure OCaml functions to
read and write files in this format as well as some convenience functions to
manipulate such data.")
- (license (package-license camlp4))))
+ ;; This is LGPLv2.1 with an exception that allows packages statically-linked
+ ;; against the library to be released under any terms.
+ (license license:lgpl2.1)))
(define-public ocaml-mtime
(package
through Transport Layer Security (@dfn{TLS}) encrypted connections.")
(license license:lgpl2.1)))
+(define-public ocaml-mmap
+ (package
+ (name "ocaml-mmap")
+ (version "1.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mirage/mmap")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "1jaismy5d1bhbbanysmr2k79px0yv6ya265dri3949nha1l23i60"))))
+ (build-system dune-build-system)
+ (home-page "https://github.com/mirage/mmap")
+ (synopsis "File mapping for OCaml")
+ (description "This project provides a @command{Mmap.map_file} function
+for mapping files in memory. This function is the same as the
+@command{Unix.map_file} funciton added in OCaml >= 4.06.")
+ (license (list license:qpl license:lgpl2.0))))
+
(define-public ocaml-lwt
(package
(name "ocaml-lwt")
- (version "4.1.0")
+ (version "5.1.1")
(source
(origin
(method url-fetch)
".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256 (base32
- "0mhh019bjkg5xfvpy1pxs4xdxb759fyydmgb6l4j0qww1qgr8klp"))))
+ "0gwdmhn0qx03agc45dplj73ia5y1gb42aan64ywfxmll3lsnr2h7"))))
(build-system dune-build-system)
(arguments
- `(#:tests? #f; require lwt_ppx
- #:jbuild? #t
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'configure
- (lambda _
- (invoke "ocaml" "src/util/configure.ml" "-use-libev" "true")
- #t)))))
+ `(#:package "lwt"))
(native-inputs
- `(("ocaml-cppo" ,ocaml-cppo)
- ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
- ("pkg-config" ,pkg-config)
- ("ppx-tools-versioned" ,ocaml-ppx-tools-versioned)))
+ `(("ocaml-bisect-ppx" ,ocaml-bisect-ppx)
+ ("ocaml-cppo" ,ocaml-cppo)
+ ("pkg-config" ,pkg-config)))
(inputs
`(("libev" ,libev)
("glib" ,glib)))
(propagated-inputs
- `(("result" ,ocaml-result)
- ("ocaml-ssl" ,ocaml-ssl)
- ("ocaml-react" ,ocaml-react)))
+ `(("ocaml-mmap" ,ocaml-mmap)
+ ("ocaml-ocplib-endian" ,ocaml-ocplib-endian)
+ ("ocaml-result" ,ocaml-result)
+ ("ocaml-seq" ,ocaml-seq)))
(home-page "https://github.com/ocsigen/lwt")
(synopsis "Cooperative threads and I/O in monadic style")
(description "Lwt provides typed, composable cooperative threads. These
representation of the data.")
(license license:isc)))
-(define-public ocaml-ulex
+(define-public ocaml-gen
(package
- (name "ocaml-ulex")
- (version "1.2")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/whitequark/ulex.git")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "08yf2x9a52l2y4savjqfjd2xy4pjd1rpla2ylrr9qrz1drpfw4ic"))))
- (build-system ocaml-build-system)
+ (name "ocaml-gen")
+ (version "0.5.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/c-cube/gen")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1h9g508rnj2j8va5nvhamzscp954vrkh0hdf4pn3d10pcfyslfg2"))))
+ (build-system dune-build-system)
(arguments
- `(#:phases (modify-phases %standard-phases (delete 'configure))
- #:tests? #f
- #:make-flags
- (list "all.opt"
- (string-append "OCAMLBUILD=ocamlbuild -byte-plugin "
- "-cflags -I," (assoc-ref %build-inputs "camlp4")
- "/lib/ocaml/site-lib/camlp4"))))
+ `(#:tests? #f; no tests
+ #:package "gen"))
+ (propagated-inputs
+ `(("ocaml-odoc" ,ocaml-odoc)))
(native-inputs
- `(("camlp4" ,camlp4)
- ("ocamlbuild" ,ocamlbuild)))
+ `(("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 ocaml-sedlex
+ (package
+ (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"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#: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"
+ (for-each
+ (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)))))
+ (native-inputs
+ `(("ocamlbuild" ,ocamlbuild)))
+ (propagated-inputs
+ `(("ocaml-gen" ,ocaml-gen)
+ ("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
+ `(("DerivedCoreProperties.txt"
+ ,(origin
+ (method url-fetch)
+ (uri "https://www.unicode.org/Public/12.1.0/ucd/DerivedCoreProperties.txt")
+ (sha256
+ (base32
+ "0s6sn1yr9qmb2i6gf8dir2zpsbjv1frdfzy3i2yjylzvf637msx6"))))
+ ("DerivedGeneralCategory.txt"
+ ,(origin
+ (method url-fetch)
+ (uri "https://www.unicode.org/Public/12.1.0/ucd/extracted/DerivedGeneralCategory.txt")
+ (sha256
+ (base32
+ "1rifzq9ba6c58dn0lrmcb5l5k4ksx3zsdkira3m5p6h4i2wriy3q"))))
+ ("PropList.txt"
+ ,(origin
+ (method url-fetch)
+ (uri "https://www.unicode.org/Public/12.1.0/ucd/PropList.txt")
+ (sha256
+ (base32
+ "0gsb1jpj3mnqbjgbavi4l95gl6g4agq58j82km22fdfg63j3w3fk"))))))
(home-page "http://www.cduce.org/download.html#side")
(synopsis "Lexer generator for Unicode and OCaml")
(description "Lexer generator for Unicode and OCaml.")
(build-system ocaml-build-system)
(native-inputs
`(("ocamlbuild" ,ocamlbuild)
- ("qtest" ,ocaml-qtest)
- ("bisect" ,ocaml-bisect)
- ("ounit" ,ocaml-ounit)))
+ ("qtest" ,ocaml-qtest)))
(propagated-inputs
`(("ocaml-num" ,ocaml-num)))
(arguments
(define-public ocaml-piqilib
(package
(name "ocaml-piqilib")
- (version "0.6.14")
+ (version "0.6.15")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0lyqllmfsxmwlg7qidy92kvxi9n39lvachmydcyi81f8p07ykd2d"))
- (patches
- (search-patches "ocaml-piqilib-Update-base64.patch"))))
+ (base32 "0v04hs85xv6d4ysqxyv1dik34dx49yab9shpi4x7iv19qlzl7csb"))))
(build-system ocaml-build-system)
(arguments
`(#:phases
(string-append stubs "/dllpiqilib_stubs.so"))
#t))))))
(native-inputs
- `(("which" ,which)
- ("camlp4" ,camlp4)))
+ `(("which" ,which)))
(propagated-inputs
- `(("xmlm" ,ocaml-xmlm)
- ("ulex" ,ocaml-ulex)
- ("easy-format" ,ocaml-easy-format)
- ("base64" ,ocaml-base64)))
+ `(("ocaml-xmlm" ,ocaml-xmlm)
+ ("ocaml-sedlex" ,ocaml-sedlex)
+ ("ocaml-easy-format" ,ocaml-easy-format)
+ ("ocaml-base64" ,ocaml-base64)))
(home-page "http://piqi.org")
(synopsis "Data serialization and conversion library")
(description "Piqilib is the common library used by the piqi command-line
(define-public ocaml-piqi
(package
(name "ocaml-piqi")
- (version "0.7.6")
+ (version "0.7.7")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/alavrik/piqi-ocaml/"
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0da0v2v28aj65b0cwpvvmcqyrfvz94pp3j5zgfdr1jrl5s37c21g"))))
+ "1l0b4saxmwqgw9mb10mwrz31lvpj3l0abh3cwarqp0x4vdrzshbh"))))
(build-system ocaml-build-system)
(arguments
`(#:make-flags
(delete 'configure))))
(native-inputs
`(("which" ,which)
- ("camlp4" ,camlp4)
("protobuf" ,protobuf))) ; for tests
(propagated-inputs
- `(("num" ,ocaml-num)
- ("piqilib" ,ocaml-piqilib)))
+ `(("ocaml-num" ,ocaml-num)
+ ("ocaml-piqilib" ,ocaml-piqilib)
+ ("ocaml-stdlib-shims" ,ocaml-stdlib-shims)))
(home-page "https://github.com/alavrik/piqi-ocaml")
(synopsis "Protocol serialization system for OCaml")
(description "Piqi is a multi-format data serialization system for OCaml.
(base32
"0chn7ldqb3wyf95yhmsxxq65cif56smgz1mhhc7m0dpwmyq1k97h"))))
(build-system dune-build-system)
- (native-inputs
- `(("camlp4" ,camlp4)))
(arguments
`(#:build-flags (list "--profile" "release")
#:test-target "camomile-test"
(define-public ocaml-utop
(package
(name "ocaml-utop")
- (version "2.4.2")
+ (version "2.4.3")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0z8klqwqmq5i111p4awzvlvirhm1dxp0mbfagwfiwq1wg72v6zdm"))))
+ (base32 "1bl4943qpi3qy152dbdm5glhx19zsiylmn4rcxi8l66g58hikyjp"))))
(build-system dune-build-system)
(arguments
`(#:jbuild? #t
("react" ,ocaml-react)
("camomile" ,ocaml-camomile)
("zed" ,ocaml-zed)))
- (home-page "https://github.com/diml/utop")
+ (home-page "https://github.com/ocaml-community/utop")
(synopsis "Improved interface to the OCaml toplevel")
(description "UTop is an improved toplevel for OCaml. It can run in a
terminal or in Emacs. It supports line editing, history, real-time and context
(define-public ocaml-markup
(package
(name "ocaml-markup")
- (version "0.8.1")
+ (version "0.8.2")
(home-page "https://github.com/aantron/markup.ml")
(source
(origin
(file-name (git-file-name name version))
(sha256
(base32
- "0gzdjfnkv56vhmpvi9xpv1p05z50y55izhn156bkmb35s6izxds3"))))
+ "13zcrwzjmifniv3bvjbkd2ah8wwa3ld75bxh1d8hrzdvfxzh9szn"))))
(build-system dune-build-system)
+ (arguments
+ `(#:package "markup"))
+ (inputs
+ `(("libev" ,libev)))
(propagated-inputs
`(("ocaml-bisect-ppx" ,ocaml-bisect-ppx)
("ocaml-uchar" ,ocaml-uchar)
("ocaml-uutf" ,ocaml-uutf)
("ocaml-lwt" ,ocaml-lwt)))
- (native-inputs `(("ocaml-ounit" ,ocaml-ounit)))
+ (native-inputs
+ `(("ocaml-ounit" ,ocaml-ounit)
+ ("pkg-config" ,pkg-config)))
(synopsis "Error-recovering functional HTML5 and XML parsers and writers")
(description "Markup.ml provides an HTML parser and an XML parser. The
parsers are wrapped in a simple interface: they are functions that transform
(define-public ocaml-bisect-ppx
(package
(name "ocaml-bisect-ppx")
- (version "1.4.1")
+ (version "1.4.2")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "1vp3qvrkz7q25nbmvd40vhsnz2k9aqh17bnd21i3q8q0xlr5hdag"))))
+ "0900vli5kw7s5kdam0n4cqsfsfqb7mdb3azn3i55595gilg1vyn8"))))
(build-system dune-build-system)
(propagated-inputs
`(("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
advantage over ocamldoc is an accurate cross-referencer, which handles the
complexity of the OCaml module system.")
(license license:isc)))
+
+(define-public ocaml-fftw3
+ (package
+ (name "ocaml-fftw3")
+ (version "0.8.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Chris00/fftw-ocaml.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0l66yagjkwdcib6q55wd8wiap50vi23qiahkghlvm28z7nvbclfk"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:tests? #t
+ #:test-target "tests"))
+ (propagated-inputs
+ `(("fftw" ,fftw)
+ ("fftwf" ,fftwf)))
+ (native-inputs
+ `(("ocaml-cppo" ,ocaml-cppo)
+ ("ocaml-lacaml" ,ocaml-lacaml)))
+ (home-page
+ "https://github.com/Chris00/fftw-ocaml")
+ (synopsis
+ "Bindings to FFTW3")
+ (description
+ "Bindings providing OCaml support for the seminal Fast Fourier Transform
+library FFTW.")
+ (license license:lgpl2.1))) ; with static linking exception.
+
+(define-public ocaml-lacaml
+ (package
+ (name "ocaml-lacaml")
+ (version "11.0.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mmottl/lacaml.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "180yb79a3qgx067qcpm50q12hrimjygf06rgkzbish9d1zfm670c"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:tests? #f)) ; No test target.
+ (native-inputs
+ `(("openblas" ,openblas)
+ ("lapack" ,lapack)
+ ("ocaml-base" ,ocaml-base)
+ ("ocaml-stdio" ,ocaml-stdio)))
+ (home-page "https://mmottl.github.io/lacaml/")
+ (synopsis
+ "OCaml-bindings to BLAS and LAPACK")
+ (description
+ "Lacaml interfaces the BLAS-library (Basic Linear Algebra Subroutines) and
+LAPACK-library (Linear Algebra routines). It also contains many additional
+convenience functions for vectors and matrices.")
+ (license license:lgpl2.1)))
+
+(define-public ocaml-cairo2
+ (package
+ (name "ocaml-cairo2")
+ (version "0.6.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Chris00/ocaml-cairo.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0wzysis9fa850s68qh8vrvqc6svgllhwra3kzll2ibv0wmdqrich"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:test-target "tests"))
+ (inputs
+ `(("cairo" ,cairo)
+ ("gtk+-2" ,gtk+-2)
+ ("lablgtk" ,lablgtk)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://github.com/Chris00/ocaml-cairo")
+ (synopsis "Binding to Cairo, a 2D Vector Graphics Library")
+ (description "Ocaml-cairo2 is a binding to Cairo, a 2D graphics library
+with support for multiple output devices. Currently supported output targets
+include the X Window System, Quartz, Win32, image buffers, PostScript, PDF,
+and SVG file output.")
+ (license license:lgpl3+)))
+
+(define-public lablgtk3
+ (package
+ (name "lablgtk")
+ (version "3.0.beta8")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/garrigue/lablgtk.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "08pgwnia240i2rw1rbgiahg673kwa7b6bvhsg3z4b47xr5sh9pvz"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:tests? #t
+ #:test-target "."
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'make-writable
+ (lambda _
+ (for-each (lambda (file)
+ (chmod file #o644))
+ (find-files "." "."))
+ #t)))))
+ (propagated-inputs
+ `(("ocaml-cairo2" ,ocaml-cairo2)))
+ (inputs
+ `(("camlp5" ,camlp5)
+ ("gtk+" ,gtk+)
+ ("gtksourceview-3" ,gtksourceview-3)
+ ("gtkspell3" ,gtkspell3)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://github.com/garrigue/lablgtk")
+ (synopsis "OCaml interface to GTK+3")
+ (description "LablGtk is an OCaml interface to GTK+ 1.2, 2.x and 3.x. It
+provides a strongly-typed object-oriented interface that is compatible with the
+dynamic typing of GTK+. Most widgets and methods are available. LablGtk
+also provides bindings to gdk-pixbuf, the GLArea widget (in combination with
+LablGL), gnomecanvas, gnomeui, gtksourceview, gtkspell, libglade (and it can
+generate OCaml code from .glade files), libpanel, librsvg and quartz.")
+ ;; Version 2 only, with linking exception.
+ (license license:lgpl2.0)))