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.scm147
1 files changed, 144 insertions, 3 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 2988810fc7..3253d0285a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -13,6 +13,7 @@
;;; 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.
;;;
@@ -31,6 +32,7 @@
(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)
@@ -3070,7 +3072,7 @@ instead of bindings to a C library.")
(define-public ocaml-utop
(package
(name "ocaml-utop")
- (version "2.4.2")
+ (version "2.4.3")
(source
(origin
(method git-fetch)
@@ -3079,7 +3081,7 @@ instead of bindings to a C library.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0z8klqwqmq5i111p4awzvlvirhm1dxp0mbfagwfiwq1wg72v6zdm"))))
+ (base32 "1bl4943qpi3qy152dbdm5glhx19zsiylmn4rcxi8l66g58hikyjp"))))
(build-system dune-build-system)
(arguments
`(#:jbuild? #t
@@ -3092,7 +3094,7 @@ instead of bindings to a C library.")
("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
@@ -5177,3 +5179,142 @@ Text inside doc comments is marked up in ocamldoc syntax. Odoc's main
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)))