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.scm663
1 files changed, 446 insertions, 217 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 7bebf3921b..6bb15dc5e9 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8,7 +8,7 @@
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016-2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
-;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; 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>
@@ -57,6 +57,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-xyz)
#:use-module (gnu packages sdl)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tex)
@@ -264,14 +265,15 @@ functional, imperative and object-oriented styles of programming.")
(package
(name "ocamlbuild")
(version "0.13.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/ocaml/ocamlbuild/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1320cfkixs1xlng5av04pa5qjb3ynvi2kl3k1ngqzg5fpi29b0vr"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml/ocamlbuild.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0v37vjvdqw35yvj8ipmlzmwf1jhip0hbsmcbdcn9cnj12p3mr6k7"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -302,33 +304,200 @@ functional, imperative and object-oriented styles of programming.")
for building OCaml library and programs.")
(license license:lgpl2.1+)))
+(define-public ocaml-extlib
+ (package
+ (name "ocaml-extlib")
+ (version "1.7.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ygrek.org.ua/p/release/ocaml-extlib/"
+ "extlib-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0wfs20v1yj5apdbj7214wdsr17ayh0qqq7ihidndvc8nmmwfa1dz"))))
+ (build-system ocaml-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (native-inputs
+ `(("ocaml-cppo" ,ocaml-cppo)))
+ (home-page "https://github.com/ygrek/ocaml-extlib")
+ (synopsis "Complete and small extension for OCaml standard library")
+ (description "This library adds new functions to OCaml standard library
+modules, modifies some functions in order to get better performances or
+safety (tail-recursive) and also provides new modules which should be useful
+for day to day programming.")
+ ;; With static-linking exception
+ (license license:lgpl2.1+)))
+
+(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 `(("ocaml-extlib" ,ocaml-extlib)))
+ (native-inputs
+ `(("perl" ,perl)
+ ("ocamlbuild" ,ocamlbuild)
+ ("ocaml-ounit" ,ocaml-ounit)))
+ (arguments
+ `(#:make-flags
+ (list
+ "all" "opt"
+ (string-append "BINDIR=" (assoc-ref %outputs "out")
+ "/bin"))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (home-page "http://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.")
+ ;; With static-linking exception
+ (license license:lgpl2.1+)))
+
+(define-public ocaml-mccs
+ (package
+ (name "ocaml-mccs")
+ (version "1.1+9")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/AltGr/ocaml-mccs")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1i0hhkrqi7rqlainlg5pc4hibbx6b5dp3x99gmav8c3sbfvlk9mc"))))
+ (build-system dune-build-system)
+ (propagated-inputs `(("ocaml-cudf" ,ocaml-cudf)))
+ (home-page "http://www.i3s.unice.fr/~cpjm/misc/")
+ (synopsis "Upgrade path problem solver")
+ (description "Mccs (Multi Criteria CUDF Solver) is a CUDF problem solver.
+Mccs take as input a CUDF problem and computes the best solution according to
+a set of criteria. It relies on a Integer Programming solver or a
+Pseudo Boolean solver to achieve its task. Mccs can use a wide set of
+underlying solvers like Cplex, Gurobi, Lpsolver, Glpk, CbC, SCIP or WBO.")
+ (license (list
+ license:bsd-3
+ license:gpl3+
+ ;; With static-linking exception
+ license:lgpl2.1+))))
+
+(define-public ocaml-dose3
+ (package
+ (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")
+ (sha256
+ (base32
+ "00yvyfm4j423zqndvgc1ycnmiffaa2l9ab40cyg23pf51qmzk2jm"))
+ (patches
+ (search-patches
+ "ocaml-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch"
+ "ocaml-dose3-Fix-for-ocaml-4.06.patch"
+ "ocaml-dose3-dont-make-printconf.patch"
+ "ocaml-dose3-Install-mli-cmx-etc.patch"))))
+ (build-system ocaml-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "SHELL="
+ (assoc-ref %build-inputs "bash")
+ "/bin/sh"))
+ #:make-flags
+ (list (string-append "LIBDIR="
+ (assoc-ref %outputs "out")
+ "/lib/ocaml/site-lib"))))
+ (propagated-inputs
+ `(("ocaml-graph" ,ocaml-graph)
+ ("ocaml-cudf" ,ocaml-cudf)
+ ("ocaml-extlib" ,ocaml-extlib)
+ ("ocaml-re" ,ocaml-re)))
+ (native-inputs
+ `(("perl" ,perl)
+ ("python" ,python-2) ; for a test script
+ ("python2-pyyaml" ,python2-pyyaml) ; for a test script
+ ("ocaml-extlib" ,ocaml-extlib)
+ ("ocamlbuild" ,ocamlbuild)
+ ("ocaml-cppo" ,ocaml-cppo)))
+ (home-page "http://www.mancoosi.org/software/")
+ (synopsis "Package distribution management framework")
+ (description "Dose3 is a framework made of several OCaml libraries for
+managing distribution packages and their dependencies. Though not tied to
+any particular distribution, dose3 constitutes a pool of libraries which
+enable analyzing packages coming from various distributions. Besides basic
+functionalities for querying and setting package properties, dose3 also
+implements algorithms for solving more complex problems such as monitoring
+package evolutions, correct and complete dependency resolution and
+repository-wide uninstallability checks.")
+ ;; with static-linking exception
+ (license license:lgpl2.1+)))
+
+(define-public ocaml-opam-file-format
+ (package
+ (name "ocaml-opam-file-format")
+ (version "2.0.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml/opam-file-format")
+ (commit version)))
+ (sha256
+ (base32
+ "0fqb99asnair0043hhc8r158d6krv5nzvymd0xwycr5y72yrp0hv"))))
+ (build-system ocaml-build-system)
+ (arguments
+ `(#:tests? #f; No tests
+ #:make-flags (list (string-append "LIBDIR=" (assoc-ref %outputs "out")
+ "/lib/ocaml/site-lib"))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (home-page "https://opam.ocaml.org")
+ (synopsis "Parser and printer for the opam file syntax")
+ (description "This package contains a parser and a pretty-printer for
+the opam file fomat.")
+ ;; With static-linking exception
+ (license license:lgpl2.1+)))
+
(define-public opam
(package
(name "opam")
- (version "2.0.3")
+ (version "2.0.4")
(source (origin
- (method url-fetch)
- ;; Use the '-full' version, which includes all the dependencies.
- (uri (string-append
- "https://github.com/ocaml/opam/releases/download/"
- version "/opam-full-" version ".tar.gz")
- ;; (string-append "https://github.com/ocaml/opam/archive/"
- ;; version ".tar.gz")
- )
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml/opam")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1qphm1grxx5j8li7f9qfpih4ylrnjl08b4ym8ma4ln44l56xm285"))))
- (build-system gnu-build-system)
+ "1yx5k8v5vnnc20fmz5zx8kqd242j48qcknlk6vmkr7rkq886ipq2"))))
+ (build-system ocaml-build-system)
(arguments
- '(;; Sometimes, 'make -jX' would fail right after ./configure with
- ;; "Fatal error: exception End_of_file".
- #:parallel-build? #f
+ `(#:configure-flags
+ (list (string-append "SHELL="
+ (assoc-ref %build-inputs "bash")
+ "/bin/sh"))
;; For some reason, 'ocp-build' needs $TERM to be set.
- #:make-flags `("TERM=screen"
- ,(string-append "SHELL="
- (assoc-ref %build-inputs "bash")
- "/bin/sh"))
+ #:make-flags
+ (list "TERM=screen"
+ (string-append "SHELL="
+ (assoc-ref %build-inputs "bash")
+ "/bin/sh"))
+
#:test-target "tests"
;; FIXME: There's an obscure test failure:
@@ -354,12 +523,10 @@ for building OCaml library and programs.")
;; isolated environment when building with opam.
;; This is necessary for packages to find external
;; dependencies, such as a C compiler, make, etc...
- (("^add_mounts ro /usr")
- "add_mounts ro /gnu /run/current-system /usr"))
+ (("^add_sys_mounts /usr")
+ "add_sys_mounts /gnu /run/current-system /usr"))
(substitute* "src/client/opamInitDefaults.ml"
(("\"bwrap\"") (string-append "\"" bwrap "\"")))
- ;; Build dependencies
- (apply invoke "make" "lib-ext" make-flags)
#t)))
(add-before 'check 'pre-check
(lambda _
@@ -368,7 +535,9 @@ for building OCaml library and programs.")
(invoke "git" "config" "--global" "user.name" "Guix")
#t)))))
(native-inputs
- `(("git" ,git) ;for the tests
+ `(("dune" ,dune)
+ ("git" ,git) ;for the tests
+ ("ocaml-cppo" ,ocaml-cppo)
("python" ,python) ;for the tests
("camlp4" ,camlp4)))
(inputs
@@ -376,6 +545,12 @@ for building OCaml library and programs.")
("ncurses" ,ncurses)
("curl" ,curl)
("bubblewrap" ,bubblewrap)))
+ (propagated-inputs
+ `(("ocaml-cmdliner" ,ocaml-cmdliner)
+ ("ocaml-dose3" ,ocaml-dose3)
+ ("ocaml-mccs" ,ocaml-mccs)
+ ("ocaml-opam-file-format" ,ocaml-opam-file-format)
+ ("ocaml-re" ,ocaml-re)))
(home-page "http://opam.ocamlpro.com/")
(synopsis "Package manager for OCaml")
(description
@@ -390,14 +565,15 @@ Git-friendly development workflow.")
(package
(name "camlp4")
(version "4.02+6")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/ocaml/camlp4/archive/"
- version ".tar.gz"))
- (sha256
- (base32
- "0icdfzhsbgf89925gc8gl3fm8z2xzszzlib0v9dj5wyzkyv3a342"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ (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 "06yl4q0qazl7g25b0axd1gdkfd4qpqzs1gr5fkvmkrcbz113h1hj"))))
(build-system gnu-build-system)
(native-inputs `(("ocaml" ,ocaml-4.02)
("which" ,which)))
@@ -447,14 +623,15 @@ syntax of OCaml.")
(inherit camlp4-4.02)
(name "camlp4")
(version "4.07+1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/ocaml/camlp4/archive/"
- version ".tar.gz"))
- (sha256
- (base32
- "143hhxv1i6aq413z0i1pynrjcfl2g5gnh5r3863v6h9z0riqknzc"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ (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"))))
(properties
`((ocaml4.02-variant . ,(delay camlp4-4.02))))
(native-inputs
@@ -470,14 +647,15 @@ syntax of OCaml.")
(package
(name "camlp5")
(version "7.07")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/camlp5/camlp5/archive/rel"
- (string-delete #\. version) ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "148r6p93xlxi6v7kbsqv8i70r6av04cyn0109pwss5xj6fw97i52"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/camlp5/camlp5.git")
+ (commit (string-append "rel" (string-delete #\. version)))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1c8v45553ccbqha2ypfranqlgw06rr5wjr2hlnrx5bf9jfq0h0dn"))))
(build-system gnu-build-system)
(inputs
`(("ocaml" ,ocaml)))
@@ -556,14 +734,15 @@ written in Objective Caml.")
(package
(name "ocaml-num")
(version "1.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/ocaml/num/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1xlkd0svc0mgq5s7nrm2rjrsvg15i9wxqkc1kvwjp6sv8vv8bb04"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml/num.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0a4mhxgs5hi81d227aygjx35696314swas0vzy3ig809jb7zq4h0"))))
(build-system ocaml-build-system)
(arguments
`(#:phases
@@ -600,20 +779,25 @@ the OCaml core distribution.")
(package
(name "emacs-tuareg")
(version "2.2.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/ocaml/tuareg/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1ynpfc170f9jqx49biji9npfkvfpflbm29xf24wc7fnxxayr49ig"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml/tuareg.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "06zxnn85fk5087iq0zxc5l5n9fz8r0367wylmynbfhc9711vccy6"))))
(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)
@@ -1094,14 +1278,15 @@ GNU CC attributes. It provides also a C pretty printer as an example of use.")
(package
(name "ocaml-qcheck")
(version "0.5.3.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/c-cube/qcheck/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1zs1pg5cb1iry554v3cdmmiglsrwmsqa9x8zxmzb118fnk5d3ha6"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/c-cube/qcheck.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0vl2asr7md99pv558nbszxvjj36b4l6rj05hyczfy524vihhl0gf"))))
(build-system ocaml-build-system)
(native-inputs
`(("ounit" ,ocaml-ounit)
@@ -1185,17 +1370,18 @@ full_split, cut, rcut, etc..")
(package
(name "ocaml-bisect")
(version "1.3.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/gasche/bisect/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0p67fppk5ifb63b00kxwrb1xg75hrqhknng3bsdyw3gxxqyjlpmx"))
- (patches
- (search-patches
- "ocaml-bisect-fix-camlp4-in-another-directory.patch"))))
+ (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)
@@ -1613,32 +1799,28 @@ spans without being subject to operating system calendar time adjustments.")
(define-public ocaml-cmdliner
(package
(name "ocaml-cmdliner")
- (version "1.0.2")
+ (version "1.0.3")
(source (origin
(method url-fetch)
(uri (string-append "http://erratique.ch/software/cmdliner/releases/"
"cmdliner-" version ".tbz"))
(sha256
(base32
- "18jqphjiifljlh9jg8zpl6310p3iwyaqphdkmf89acyaix0s4kj1"))))
+ "0g3w4hvc1cx9x2yp5aqn6m2rl8lf9x1dn754hfq8m1sc1102lxna"))))
(build-system ocaml-build-system)
(inputs
`(("ocaml-result" ,ocaml-result)))
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)))
+ `(("ocamlbuild" ,ocamlbuild)))
(arguments
`(#:tests? #f
- #:build-flags '("native=true" "native-dynlink=true")
+ #:make-flags (list (string-append "LIBDIR=" (assoc-ref %outputs "out")
+ "/lib/ocaml/site-lib/cmdliner"))
#:phases
(modify-phases %standard-phases
- (replace 'install
- ;; The makefile says 'adjust on cli invocation'
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (invoke "make" "install" (string-append "PREFIX=" out))
- #t)))
(delete 'configure))))
+ (properties
+ `((ocaml4.02-variant . ,(delay ocaml4.02-cmdliner))))
(home-page "http://erratique.ch/software/cmdliner")
(synopsis "Declarative definition of command line interfaces for OCaml")
(description "Cmdliner is a module for the declarative definition of command
@@ -1650,7 +1832,17 @@ most of the POSIX and GNU conventions.")
(license license:bsd-3)))
(define-public ocaml4.02-cmdliner
- (package-with-ocaml4.02 ocaml-cmdliner))
+ (let ((base (package-with-ocaml4.02 (strip-ocaml4.02-variant ocaml-cmdliner))))
+ (package
+ (inherit base)
+ (version "1.0.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://erratique.ch/software/cmdliner/releases/"
+ "cmdliner-" version ".tbz"))
+ (sha256
+ (base32
+ "18jqphjiifljlh9jg8zpl6310p3iwyaqphdkmf89acyaix0s4kj1")))))))
(define-public ocaml-fmt
(package
@@ -1764,18 +1956,19 @@ simple (yet expressive) query language to select the tests to run.")
(name "ocaml-ppx-tools")
(version "5.1+4.06.0")
(source
- (origin
- (method url-fetch)
- (uri (string-append "https://github.com/alainfrisch/ppx_tools/archive/"
- version ".tar.gz"))
- (sha256 (base32
- "0mncpy9v2mcjgnj7s2vqpp2b1ixv54djicfx66ic9wny9d202gj1"))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alainfrisch/ppx_tools.git")
+ (commit version)))
+ (sha256 (base32
+ "1ww4cspdpgjjsgiv71s0im5yjkr3544x96wsq1vpdacq7dr7zwiw"))))
(build-system ocaml-build-system)
(arguments
`(#:phases (modify-phases %standard-phases (delete 'configure))
#:tests? #f))
(properties
- `((ocaml4.02-variant . ,(delay ocaml4.02-ppx-tools))))
+ `((ocaml4.02-variant . ,(delay ocaml4.02-ppx-tools))))
(home-page "https://github.com/alainfrisch/ppx_tools")
(synopsis "Tools for authors of ppx rewriters and other syntactic tools")
(description "Tools for authors of ppx rewriters and other syntactic tools.")
@@ -1787,12 +1980,13 @@ simple (yet expressive) query language to select the tests to run.")
(inherit base)
(version "5.0+4.02.0")
(source
- (origin
- (method url-fetch)
- (uri (string-append "https://github.com/alainfrisch/ppx_tools/archive/"
- version ".tar.gz"))
- (sha256 (base32
- "0rjg4rngi8k9873z4zq95zn9hj8qyw1vcrf11y15aqasfpqq16rc")))))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alainfrisch/ppx_tools.git")
+ (commit version)))
+ (sha256
+ (base32 "16drjk0qafjls8blng69qiv35a84wlafpk16grrg2i3x19p8dlj8")))))))
(define-public ocaml-react
(package
@@ -2088,14 +2282,15 @@ representation of the data.")
(package
(name "ocaml-ulex")
(version "1.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/whitequark/ulex/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "16gnbhqs6y2v89vw4igzvxdf2g8ybh5643636824aldcv8sscac0"))))
+ (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)
(arguments
`(#:phases (modify-phases %standard-phases (delete 'configure))
@@ -2761,13 +2956,14 @@ programs. It allows the definition of simple macros and file inclusion. Cpp oi
(name "ocaml4.02-ppx-deriving")
(version "4.1")
(source
- (origin
- (method url-fetch)
- (uri (string-append "https://github.com/whitequark/ppx_deriving//archive/v"
- version ".tar.gz"))
- (sha256 (base32
- "1fr16g121j6zinwcprzlhx2py4271n9jzs2m9hq2f3qli2b1p0vl"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/whitequark/ppx_deriving.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0cy9p8d8cbcxvqyyv8fz2z9ypi121zrgaamdlp4ld9f3jnwz7my9"))))
(build-system ocaml-build-system)
(native-inputs
`(("js-build-tools" ,ocaml4.02-js-build-tools)
@@ -2782,13 +2978,17 @@ programs. It allows the definition of simple macros and file inclusion. Cpp oi
#:findlib ,ocaml4.02-findlib
#: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-environment
- (lambda* (#:key outputs #:allow-other-keys)
- ;; the installation procedures looks for the installed module
- (setenv "OCAMLPATH"
- (string-append (getenv "OCAMLPATH") ":"
- (getenv "OCAMLFIND_DESTDIR"))))))))
+ (add-before 'install 'fix-environment
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; the installation procedures looks for the installed module
+ (setenv "OCAMLPATH"
+ (string-append (getenv "OCAMLPATH") ":"
+ (getenv "OCAMLFIND_DESTDIR"))))))))
(home-page "https://github.com/whitequark/ppx_deriving/")
(synopsis "Type-driven code generation for OCaml >=4.02")
(description "Ppx_deriving provides common infrastructure for generating
@@ -3316,14 +3516,15 @@ new record values.")
(package
(name "ocaml-seq")
(version "0.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/c-cube/seq/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "02lb2d9i12bxrz2ba5wygk2bycan316skqlyri0597q7j9210g8r"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/c-cube/seq.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1cjpsc7q76yfgq9iyvswxgic4kfq2vcqdlmxjdjgd4lx87zvcwrv"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f
@@ -3342,9 +3543,9 @@ new record values.")
version=\"[distributed with ocaml]\"
description=\"dummy package for compatibility\"
requires=\"\"")))
- #t))))))
+ #t))))))
(properties
- `((ocaml4.02-variant . ,(delay ocaml4.02-seq))))
+ `((ocaml4.02-variant . ,(delay ocaml4.02-seq))))
(home-page "https://github.com/c-cube/seq")
(synopsis "OCaml's standard iterator type")
(description "This package is a compatibility package for OCaml's
@@ -3365,14 +3566,15 @@ standard iterator type starting from 4.07.")
(package
(name "ocaml-re")
(version "1.8.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/ocaml/ocaml-re//archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1pdb0mr6z5ax6szblr3f5lbdnqq9grm97cmsfjmdma60yrx2rqhd"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml/ocaml-re.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ch6hvmm4ym3w2vghjxf3ka5j1023a37980fqi4zcb7sx756z20i"))))
(build-system dune-build-system)
(arguments
`(#:tests? #f
@@ -3751,14 +3953,15 @@ writing to these structures, and they are accessed via the Bigarray module.")
(package
(name "ocaml4.02-ezjsonm")
(version "0.4.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/mirage/ezjsonm/archive/"
- version ".tar.gz"))
- (sha256
- (base32
- "1kag0z2xlk4rw73a240dmkxh9rj6psxxcxkm7d7z0rrj6hzjajgq"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mirage/ezjsonm.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1y6p3ga6vj1wx5dyns7hjgd0qgrrn2hnn323a7y5didgci5pybls"))))
(build-system ocaml-build-system)
(native-inputs
`(("alcotest" ,ocaml4.02-alcotest)))
@@ -3783,14 +3986,15 @@ JSON.")
(package
(name "ocaml4.02-uri")
(version "1.9.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/mirage/ocaml-uri/archive/v"
- version ".tar.gz"))
- (sha256
- (base32
- "02bzrag79prx261rxf9mlak749pwf4flpfl8p012x1xznv9m0clc"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mirage/ocaml-uri.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "137pg8j654x7r0d1664iy2zp3l82nki1kkh921lwdrwc5qqdl6jx"))))
(build-system ocaml-build-system)
(arguments
`(#:ocaml ,ocaml-4.02
@@ -3838,14 +4042,15 @@ Format module of the OCaml standard library.")
(package
(name "optcomp")
(version "1.6")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/diml/optcomp/archive/"
- version ".tar.gz"))
- (sha256
- (base32
- "0hhhb2gisah1h22zlg5iszbgqxdd7x85cwd57bd4mfkx9l7dh8jh"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/diml/optcomp.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0bm4f3fs9g1yiz48hdxvcjwnrgymwisqilxhmm87ndz81wp47zfy"))))
(build-system ocaml-build-system)
(arguments
`(#:ocaml ,ocaml-4.02
@@ -3867,14 +4072,15 @@ cpp-like directives.")
(package
(name "ocaml-piqilib")
(version "0.6.14")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/alavrik/piqi/archive/v"
- version ".tar.gz"))
- (sha256
- (base32
- "1ssccnwqzfyf7syfq2fv4zyhwayxwd75rhq9y28mvq1w6qbww4l7"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alavrik/piqi.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0lyqllmfsxmwlg7qidy92kvxi9n39lvachmydcyi81f8p07ykd2d"))))
(build-system ocaml-build-system)
(arguments
`(#:phases
@@ -4135,15 +4341,15 @@ library is currently designed for Unicode Standard 3.2.")
(package
(name "ocaml-jbuilder")
(version "1.0+beta16")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/janestreet/jbuilder/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1cy07pwvbrlysszs938yd74yyvvbgkffpb82qrjph77zf0h2gdi7"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/jbuilder.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1y3fgf570w3vrnhianrg26jy5j749zczq3f78s2dy5ylbp1hrx71"))))
(build-system ocaml-build-system)
(arguments
`(#:ocaml ,ocaml-4.02
@@ -4171,14 +4377,15 @@ is provide a description of your project and Jbuilder will do the rest.")
(package
(name "ocaml-zed")
(version "1.6")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/diml/zed/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "19m5vrj60vg1b63qfsv0aabdlzgn40cqmx65s3wafqi4fs9xp6jn"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/diml/zed.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "00hhxcjf3bj3w2qm8nzs9x6vrqkadf4i0277s5whzy2rmiknj63v"))))
(build-system ocaml-build-system)
(arguments
`(#:phases
@@ -4212,12 +4419,13 @@ connect an engine to your inputs and rendering functions to get an editor.")
(version "1.13")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/diml/lambda-term/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/diml/lambda-term.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1hy5ryagqclgdm9lzh1qil5mrynlypv7mn6qm858hdcnmz9zzn0l"))))
+ (base32 "0wwib20b2ir3h2g9zwhzn04cv160psb805skp8v23wqgyn5cnbh8"))))
(build-system dune-build-system)
(arguments
`(#:build-flags (list "--profile" "release")
@@ -4243,14 +4451,15 @@ instead of bindings to a C library.")
(package
(name "ocaml-utop")
(version "2.2.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/ocaml-community/utop/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1414snwmqaxs1x8wbpjf6fn3jsl01hq0phrr7639xmb5vh15mgd4"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml-community/utop.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "02hjkc0rdzfq3bqy9mqm5wmw312r3187v9cl66ynb6hxkj6s3glb"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -4824,6 +5033,26 @@ Atom.")
the OCaml language.")
(license license:gpl3+)))
+(define-public ocaml-gsl-1
+ (package
+ (inherit ocaml-gsl)
+ (version "1.19.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/mmottl/gsl-ocaml"
+ "/releases/download/v"
+ version "/gsl-ocaml-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0nzp43hp8pbjqkrxnwp5lgjrabxayf61h18fjaydi0s5faq6f3xh"))))
+ (build-system ocaml-build-system)
+ (inputs
+ `(("gsl" ,gsl)))
+ (native-inputs
+ `(("ocamlbuild" ,ocamlbuild)))
+ (arguments '())
+ (propagated-inputs '())))
+
(define-public cubicle
(package
(name "cubicle")