[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#57540] [PATCH 4/6] gnu: Add coq-mathcomp-hierarchy-builder.
From: |
Garek Dyszel |
Subject: |
[bug#57540] [PATCH 4/6] gnu: Add coq-mathcomp-hierarchy-builder. |
Date: |
Fri, 02 Sep 2022 11:24:04 -0400 |
* gnu/packages/coq.scm (coq-mathcomp-hierarchy-builder)
---
gnu/packages/coq.scm | 75 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 75 insertions(+)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 5a37432..bb4788a 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -759,3 +759,78 @@ (define-public coq-elpi
notation. Finally it provides a way to define new vernacular commands
and new tactics.")
(license license:lgpl2.1)))
+
+(define-public coq-mathcomp-hierarchy-builder
+ (package
+ (name "coq-mathcomp-hierarchy-builder")
+ ;; For more information on which version works with Coq 8.15,
+ ;; see the relevant issue:
+ ;; https://github.com/math-comp/hierarchy-builder/issues/297
+ ;; Here we use
+ ;; coq-elpi 1.14.0 + ocaml-elpi 1.15.2 +
+ ;; coq-mathcomp-hierarchy-builder 1.3.0 (Coq 8.15)
+ (version "1.3.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
"https://github.com/math-comp/hierarchy-builder")
+ (commit (string-append "v" version))
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+
"17k7rlxdx43qda6i1yafpgc64na8br285cb0mbxy5wryafcdrkrc"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags ,#~(list (string-append "COQBIN="
+ #$(this-package-input
"coq-core")
+ "/bin/")
+ (string-append "COQBININSTALL="
+ (assoc-ref %outputs "out")
"/bin/")
+ (string-append "DESTDIR="
+ (assoc-ref %outputs "out"))
+ (string-append "ELPIDIR="
+ #$(this-package-input
"ocaml-elpi")
+ "/lib/ocaml/site-lib/elpi")
+ (string-append "COQMF_COQLIB="
+ (assoc-ref %outputs "out")
+ "/lib/ocaml/site-lib/coq")
+ (string-append "COQLIBINSTALL="
+ (assoc-ref %outputs "out")
+ "/lib/coq/user-contrib"))
+ #:phases (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "build" make-flags)))
+ (replace 'check
+ (lambda* (#:key tests? make-flags
#:allow-other-keys)
+ (when tests?
+ (apply invoke "make" "test-suite"
make-flags)))))))
+ (inputs (list coq
+ coq-core
+ coq-mathcomp
+ which
+ ocaml
+ coq-elpi-1.14
+ ocaml-elpi-1.15))
+ (synopsis "Hierarchy structures for the Coq proof assistant")
+ (description
+ "Hierarchy Builder (HB) provides high level commands to declare a
+hierarchy of algebraic structure (or interfaces if you prefer the
+glossary of computer science) for the Coq system.
+
+Given a structure one can develop its theory, and that theory becomes
+automatically applicable to all the examples of the structure. One can
+also declare alternative interfaces, for convenience or backward
+compatibility, and provide glue code linking these interfaces to the
+structures part of the hierarchy.
+
+HB commands compile down to Coq modules, sections, records, coercions,
+canonical structure instances and notations following the packed
+classes discipline which is at the core of the Mathematical Components
+library. All that complexity is hidden behind a few concepts and a few
+declarative Coq commands.")
+ (home-page "https://math-comp.github.io/")
+ ;; MIT license
+ (license license:expat)))
--
2.37.2
- [bug#57540] [PATCH] Add ocaml-elpi (a dependency of coq-mathcomp-analysis), Garek Dyszel, 2022/09/02
- [bug#57540] [PATCH 1/6] gnu: Add ocaml-atd., Garek Dyszel, 2022/09/02
- [bug#57540] [PATCH 2/6] gnu: Add ocaml-ansiterminal., Garek Dyszel, 2022/09/02
- [bug#57540] [PATCH 4/6] gnu: Add coq-mathcomp-hierarchy-builder.,
Garek Dyszel <=
- [bug#57540] [PATCH 3/6] gnu: Add coq-elpi., Garek Dyszel, 2022/09/02
- [bug#57540] [PATCH 5/6] gnu: Add coq-mathcomp-finmap., Garek Dyszel, 2022/09/02
- [bug#57540] [PATCH 6/6] gnu: Add coq-mathcomp-bigenough and coq-mathcomp-analysis., Garek Dyszel, 2022/09/02
- [bug#57540] [PATCH] Add ocaml-elpi (a dependency of coq-mathcomp-analysis), Julien Lepiller, 2022/09/03
- [bug#57540] [RFC PATCH v2 01/19] gnu: Add ocaml-elpi., Garek Dyszel, 2022/09/07