diff options
Diffstat (limited to 'gnu/packages/ocaml.scm')
-rw-r--r-- | gnu/packages/ocaml.scm | 228 |
1 files changed, 106 insertions, 122 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 07fcf92aea..9a807a4cb6 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -234,45 +234,6 @@ functional, imperative and object-oriented styles of programming.") ;; distributed under lgpl2.0. (license (list license:qpl license:lgpl2.0)))) -(define-public ocaml-4.01 - (package - (inherit ocaml-4.02) - (version "4.01.0") - (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 - "03d7ida94s1gpr3gadf4jyhmh5rrszd5s4m4z59daaib25rvfyv7")))) - (arguments - (substitute-keyword-arguments (package-arguments ocaml-4.02) - ((#:phases phases) - `(modify-phases ,phases - (replace 'build - (lambda _ - ;; Specifying '-j' at all causes the build to fail. - (invoke "make" "world.opt"))) - ,@(if (string=? "aarch64-linux" (%current-system)) - ;; Custom configure script doesn't recongnize aarch64. - '((replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (mandir (string-append out "/share/man"))) - (invoke "./configure" - "--prefix" out - "--mandir" mandir - "-host" "armv8l-unknown-linux-gnu"))))) - '()) - (replace 'check - (lambda _ - (with-directory-excursion "testsuite" - (invoke "make" "all" - (string-append - "TOPDIR=" (getcwd) "/.."))))))))))) - (define-public ocaml-4.07 (package (inherit ocaml-4.02) @@ -957,14 +918,6 @@ compilers that can directly deal with packages.") ("m4" ,m4) ("ocaml" ,ocaml-4.02))))) -(define-public ocaml4.01-findlib - (package - (inherit ocaml-findlib) - (name "ocaml4.01-findlib") - (native-inputs - `(("m4" ,m4) - ("ocaml" ,ocaml-4.01))))) - ;; note that some tests may hang for no obvious reason. (define-public ocaml-ounit (package @@ -990,9 +943,6 @@ compilers that can directly deal with packages.") other XUnit testing frameworks.") (license license:expat))) -(define-public ocaml4.01-ounit - (package-with-ocaml4.01 ocaml-ounit)) - (define-public ocaml4.02-ounit (package-with-ocaml4.02 ocaml-ounit)) @@ -1038,24 +988,6 @@ JAR format. It provides functions for reading from and writing to compressed files in these formats.") (license license:lgpl2.1+))) -(define-public ocaml4.01-camlzip - (let ((base (package-with-ocaml4.01 camlzip))) - (package - (inherit base) - (name "ocaml4.01-camlzip") - ;; Version 1.05 is the last version to support OCaml 4.01.0. - (version "1.05") - (source - (origin - (method url-fetch) - (uri - (string-append - "http://forge.ocamlcore.org/frs/download.php/1037/camlzip-" - version ".tar.gz")) - (sha256 - (base32 - "0syh72jk9s0qwjmmfrkqchaj98m020ii082jn38pwnmb6v3p02wk"))))))) - (define-public ocaml4.02-camlzip (package-with-ocaml4.02 camlzip)) @@ -1222,9 +1154,6 @@ qcheck library. The possibilities range from trivial tests -- extremely simple to use -- to sophisticated random generation of test cases.") (license license:lgpl3+))) -(define-public ocaml4.01-qtest - (package-with-ocaml4.01 ocaml-qtest)) - (define-public ocaml4.02-qtest (package-with-ocaml4.02 ocaml-qtest)) @@ -1301,39 +1230,9 @@ 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.") (properties - `((ocaml4.01-variant . ,(delay ocaml4.01-bisect)) - (ocaml4.02-variant . ,(delay ocaml4.02-bisect)))) + `((ocaml4.02-variant . ,(delay ocaml4.02-bisect)))) (license license:gpl3+))) -(define-public ocaml4.01-bisect - (let ((base (package-with-ocaml4.01 (strip-ocaml4.01-variant ocaml-bisect)))) - (package - (inherit base) - (version "1.3") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/gasche/bisect/archive/" - version ".tar.gz")) - (file-name (string-append "ocaml-bisect-" version ".tar.gz")) - (sha256 - (base32 - "1ip49jqf0kkbrqf8qspmfjbg9ap9fhvjkg718myzix88dg5rv8d4")))) - (arguments - `(#:ocaml ,ocaml-4.01 - ,@(substitute-keyword-arguments (package-arguments ocaml-bisect) - ((#:make-flags flags) - `(list "all")) - ((#:phases phases) - `(modify-phases ,phases - (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (invoke "./configure" - "-ocaml-prefix" (assoc-ref inputs "ocaml")) - #t))))))) - (native-inputs `(,@(alist-delete "camlp4" (package-native-inputs base)))) - (propagated-inputs - `(,@(alist-delete "camlp4" (package-propagated-inputs base))))))) - (define-public ocaml4.02-bisect (let ((base (package-with-ocaml4.02 (strip-ocaml4.02-variant ocaml-bisect)))) (package @@ -1648,9 +1547,6 @@ coexistence with the old (version 2) SQLite and its OCaml wrapper @code{ocaml-sqlite}.") (license license:expat))) -(define-public ocaml4.01-sqlite3 - (package-with-ocaml4.01 ocaml-sqlite3)) - (define-public ocaml4.02-sqlite3 (package-with-ocaml4.02 ocaml-sqlite3)) @@ -1680,9 +1576,6 @@ read and write files in this format as well as some convenience functions to manipulate such data.") (license (package-license camlp4)))) -(define-public ocaml4.01-csv - (package-with-ocaml4.01 ocaml-csv)) - (define-public ocaml4.02-csv (package-with-ocaml4.02 ocaml-csv)) @@ -2191,9 +2084,6 @@ format. It can process XML documents without a complete in-memory representation of the data.") (license license:isc))) -(define-public ocaml4.01-xmlm - (package-with-ocaml4.01 ocaml-xmlm)) - (define-public ocaml4.02-xmlm (package-with-ocaml4.02 ocaml-xmlm)) @@ -2530,8 +2420,7 @@ many additional enhancements, including: (invoke "make" "all") #t))))) (properties - `((ocaml4.01-variant . ,(delay ocaml4.01-batteries)) - (ocaml4.02-variant . ,(delay ocaml4.02-batteries)))) + `((ocaml4.02-variant . ,(delay ocaml4.02-batteries)))) (home-page "http://batteries.forge.ocamlcore.org/") (synopsis "Development platform for the OCaml programming language") (description "Define a standard set of libraries which may be expected on @@ -2552,12 +2441,6 @@ hierarchy of modules.") "1a97w3x2l1jr5x9kj5gqm1x6b0q9fjqdcsvls7arnl3bvzgsia0n")))) (propagated-inputs '())))) -(define-public ocaml4.01-batteries - (let ((base (package-with-ocaml4.01 (strip-ocaml4.01-variant ocaml4.02-batteries)))) - (package - (inherit base) - (name "ocaml4.01-batteries")))) - (define-public ocaml-pcre (package (name "ocaml-pcre") @@ -4683,6 +4566,110 @@ in-line tests in ocaml code. It is part of Jane Street's PPX rewriters collection.") (license license:expat))) +(define-public ocaml-bindlib + (package + (name "ocaml-bindlib") + (version "5.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rlepigre/ocaml-bindlib.git") + (commit (string-append "ocaml-bindlib_" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1f8kr81w8vsi4gv61xn1qbc6zrzkjp8l9ix0942vjh4gjxc74v75")))) + (build-system ocaml-build-system) + (arguments + `(#:tests? #f ;no tests + #:use-make? #t + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda _ + (invoke "make"))) + (replace 'install + (lambda _ + (invoke "make" "install")))))) + (native-inputs + `(("ocamlbuild" ,ocamlbuild) + ("ocaml-findlib" ,ocaml-findlib))) + (home-page "https://rlepigre.github.io/ocaml-bindlib/") + (synopsis "OCaml Bindlib library for bound variables") + (description "Bindlib is a library allowing the manipulation of data +structures with bound variables. It is particularly useful when writing ASTs +for programming languages, but also for manipulating terms of the λ-calculus +or quantified formulas.") + (license license:gpl3+))) + +(define-public ocaml-earley + (package + (name "ocaml-earley") + (version "2.0.0") + (home-page "https://github.com/rlepigre/ocaml-earley") + (source + (origin + (method git-fetch) + (uri (git-reference + (url (string-append home-page ".git")) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "18k7bi7krc4bvqnhijz1q0pfr0nfahghfjifci8rh1q4i5zd0xz5")))) + (build-system dune-build-system) + (arguments + `(#:test-target ".")) + (synopsis "Parsing library based on Earley Algorithm") + (description "Earley is a parser combinator library base on Earley's +algorithm. It is intended to be used in conjunction with an OCaml syntax +extension which allows the definition of parsers inside the language. There +is also support for writing OCaml syntax extensions in a camlp4 style.") + (license license:cecill-b))) + +(define-public ocaml-timed + (package + (name "ocaml-timed") + (version "1.0") + (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)))) + (sha256 + (base32 + "0hfxz710faxy5yk97bkfnw87r732jcxxhmjppwrbfdb6pd0wks96")) + (file-name (git-file-name name version)))) + (build-system ocaml-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")))))) + (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 +operations. In particular, an abstract notion of time is used to capture the +state of the references at any given point, so that it can be restored. Note +that usual reference operations only have a constant time / memory overhead +(compared to those of the standard library). + +Moreover, we provide an alternative implementation based on the references +of the standard library (Pervasives module). However, it is less efficient +than the first one.") + (license license:expat))) + (define-public ocaml-biniou (package (name "ocaml-biniou") @@ -4828,9 +4815,6 @@ Atom.") the OCaml language.") (license license:gpl3+))) -(define-public ocaml4.01-gsl - (package-with-ocaml4.01 ocaml-gsl)) - (define-public cubicle (package (name "cubicle") |