aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Hondet <gabrielhondet@gmail.com>2018-12-25 16:31:10 +0100
committerJulien Lepiller <julien@lepiller.eu>2018-12-25 18:47:37 +0100
commit5895696e4c28938d9201e4527d3a007dd8b47e32 (patch)
treeccaae4c15f624f0fef4a30aea697e641f9a98f33
parentd8dcbcc91d066a48e585cdfb063b108778db1b37 (diff)
downloadguix-5895696e4c28938d9201e4527d3a007dd8b47e32.tar
guix-5895696e4c28938d9201e4527d3a007dd8b47e32.tar.gz
gnu: Add dedukti.
* gnu/packages/ocaml.scm (dedukti): New variable. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
-rw-r--r--gnu/packages/ocaml.scm55
1 files changed, 55 insertions, 0 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 3b1ddcb5b6..603db34dbd 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -10,6 +10,7 @@
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Peter Kreye <kreyepr@gmail.com>
+;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -4989,3 +4990,57 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.")
simplifying the proofs of inequalities on expressions of real numbers for the
Coq proof assistant.")
(license license:cecill-c)))
+
+(define-public dedukti
+ (package
+ (name "dedukti")
+ (version "2.6.0")
+ (home-page "https://deducteam.github.io/")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/deducteam/dedukti.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0frl3diff033i4fmq304b8wbsdnc9mvlhmwd7a3zd699ng2lzbxb"))))
+ (inputs
+ `(("menhir" ,ocaml-menhir)))
+ (native-inputs
+ `(("ocamlbuild" ,ocamlbuild)))
+ (build-system ocaml-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda _
+ (invoke "make")
+ #t))
+ (replace 'check
+ (lambda _
+ (invoke "make" "tests")
+ #t))
+ (add-before 'install 'set-binpath
+ ;; Change binary path in the makefile
+ (lambda _
+ (let ((out (assoc-ref %outputs "out")))
+ (substitute* "GNUmakefile"
+ (("BINDIR = (.*)$")
+ (string-append "BINDIR = " out "/bin"))))
+ #t))
+ (replace 'install
+ (lambda _
+ (invoke "make" "install")
+ #t)))))
+ (synopsis "Proof-checker for the λΠ-calculus modulo theory, an extension of
+the λ-calculus")
+ (description "Dedukti is a proof-checker for the λΠ-calculus modulo
+theory. The λΠ-calculus is an extension of the simply typed λ-calculus with
+dependent types. The λΠ-calculus modulo theory is itself an extension of the
+λΠ-calculus where the context contains variable declaration as well as rewrite
+rules. This system is not designed to develop proofs, but to check proofs
+developed in other systems. In particular, it enjoys a minimalistic syntax.")
+ (license license:cecill-c)))