unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Garek Dyszel via Guix-patches via <guix-patches@gnu.org>
To: 57540@debbugs.gnu.org
Subject: [bug#57540] [PATCH 4/6] gnu: Add coq-mathcomp-hierarchy-builder.
Date: Fri, 02 Sep 2022 11:24:04 -0400	[thread overview]
Message-ID: <1729554f0ccf90383607cbbcf1be7323@disroot.org> (raw)
In-Reply-To: <79d544f7d8ba64b631a6f0f1d2ef0b08@disroot.org>

* 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




  parent reply	other threads:[~2022-09-02 15:31 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-02  1:44 [bug#57540] [PATCH] Add ocaml-elpi (a dependency of coq-mathcomp-analysis) Garek Dyszel via Guix-patches via
2022-09-02 15:20 ` [bug#57540] [PATCH 1/6] gnu: Add ocaml-atd Garek Dyszel via Guix-patches via
2022-09-02 15:22 ` [bug#57540] [PATCH 2/6] gnu: Add ocaml-ansiterminal Garek Dyszel via Guix-patches via
2022-09-02 15:23 ` [bug#57540] [PATCH 3/6] gnu: Add coq-elpi Garek Dyszel via Guix-patches via
2022-09-02 15:24 ` Garek Dyszel via Guix-patches via [this message]
2022-09-02 15:24 ` [bug#57540] [PATCH 5/6] gnu: Add coq-mathcomp-finmap Garek Dyszel via Guix-patches via
2022-09-02 15:25 ` [bug#57540] [PATCH 6/6] gnu: Add coq-mathcomp-bigenough and coq-mathcomp-analysis Garek Dyszel via Guix-patches via
2022-09-03 18:40 ` [bug#57540] [PATCH] Add ocaml-elpi (a dependency of coq-mathcomp-analysis) Julien Lepiller
2022-09-24 13:05   ` Ludovic Courtès
2022-09-24 18:39     ` Julien Lepiller
2022-09-07 18:31 ` [bug#57540] [RFC PATCH v2 01/19] gnu: Add ocaml-elpi Garek Dyszel via Guix-patches via
2022-09-26 16:52   ` [bug#57540] [PATCH] Please rebase (was: Add ocaml-elpi (a dependency of coq-mathcomp-analysis)) zimoun
2022-09-27 13:04     ` Garek Dyszel via Guix-patches via
2022-09-29 17:13       ` Garek Dyszel via Guix-patches via
2022-09-29 17:39         ` Julien Lepiller
2022-09-30 15:02           ` bug#57540: Splitting into several packages instead Garek Dyszel via Guix-patches via
2022-09-30 15:02           ` [bug#57540] [PATCH] Please rebase (was: Add ocaml-elpi (a dependency of coq-mathcomp-analysis)) Garek Dyszel via Guix-patches via
2022-09-30 12:06         ` zimoun
2022-10-02 20:52           ` Garek Dyszel via Guix-patches via
2022-10-02 22:22             ` zimoun
2022-09-07 18:32 ` [bug#57540] [RFC PATCH v2 02/19] gnu: Add ocaml-atd.* gnu/packages/ocaml.scm (ocaml-atd): New variable Garek Dyszel via Guix-patches via
2022-09-07 18:33 ` [bug#57540] [RFC PATCH v2 03/19] gnu: Add ocaml-ansiterminal.* gnu/packages/ocaml.scm (ocaml-ansiterminal): " Garek Dyszel via Guix-patches via
2022-09-07 18:33 ` [bug#57540] [RFC PATCH v2 04/19] gnu: Add coq-elpi.* gnu/packages/coq.scm (coq-elpi): " Garek Dyszel via Guix-patches via
2022-09-07 18:33 ` [bug#57540] [RFC PATCH v2 05/19] gnu: Add coq-mathcomp-hierarchy-builder.* gnu/packages/coq.scm (coq-mathcomp-hierarchy-builder): " Garek Dyszel via Guix-patches via
2022-09-07 18:33 ` [bug#57540] [RFC PATCH v2 06/19] gnu: Add coq-mathcomp-finmap.* gnu/packages/coq.scm (coq-mathcomp-finmap): " Garek Dyszel via Guix-patches via
2022-09-07 18:33 ` [bug#57540] [RFC PATCH v2 07/19] gnu: Add coq-mathcomp-bigenough.* gnu/packages/coq.scm (coq-mathcomp-bigenough): " Garek Dyszel via Guix-patches via
2022-09-07 18:33 ` [bug#57540] [RFC PATCH v2 08/19] gnu: Add coq-mathcomp-analysis.* gnu/packages/coq.scm (coq-mathcomp-analysis): " Garek Dyszel via Guix-patches via
2022-09-07 18:33 ` [bug#57540] [RFC PATCH v2 09/19] gnu: Add python-version.* gnu/packages/python-xyz.scm (python-version): " Garek Dyszel via Guix-patches via
2022-09-07 18:34 ` [bug#57540] [RFC PATCH v2 10/19] gnu: Add python-hatchling.* gnu/packages/python-xyz.scm (python-hatchling): " Garek Dyszel via Guix-patches via
2022-09-07 18:34 ` [bug#57540] [RFC PATCH v2 11/19] gnu: Add python-hatch-vcs.* gnu/packages/python-xyz.scm (python-hatch-vcs): " Garek Dyszel via Guix-patches via
2022-09-07 18:34 ` [bug#57540] [RFC PATCH v2 12/19] gnu: Add python-hatch-fancy-pypi-readme.* gnu/packages/python-xyz.scm (python-hatch-fancy-pypi-readme): " Garek Dyszel via Guix-patches via
2022-09-07 18:34 ` [bug#57540] [RFC PATCH v2 13/19] gnu: Add python-pprintpp.* gnu/packages/python-xyz.scm (python-pprintpp): " Garek Dyszel via Guix-patches via
2022-09-07 18:34 ` [bug#57540] [RFC PATCH v2 14/19] gnu: Add python-icdiff.* gnu/packages/python-xyz.scm (python-icdiff): " Garek Dyszel via Guix-patches via
2022-09-07 18:34 ` [bug#57540] [RFC PATCH v2 15/19] gnu: Add python-pytest-icdiff.* gnu/packages/python-check.scm (python-pytest-icdiff): " Garek Dyszel via Guix-patches via
2022-09-07 18:34 ` [bug#57540] [RFC PATCH v2 16/19] gnu: Add python-editables.* gnu/packages/python-build.scm (python-editables): " Garek Dyszel via Guix-patches via
2022-09-07 18:34 ` [bug#57540] [RFC PATCH v2 17/19] gnu: Add python-pluggy-1.0.* gnu/packages/python-xyz.scm (python-pluggy-1.0): " Garek Dyszel via Guix-patches via
2022-09-07 18:34 ` [bug#57540] [RFC PATCH v2 18/19] gnu: Add python-setuptools-scm-7.* gnu/packages/python.xyz.scm (python-setuptools-scm-7): " Garek Dyszel via Guix-patches via
2022-09-07 18:34 ` [bug#57540] [RFC PATCH v2 19/19] gnu: Add python-jsonschema-4.15.* gnu/packages/python-xyz.scm (python-jsonschema-4.15): " Garek Dyszel via Guix-patches via

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1729554f0ccf90383607cbbcf1be7323@disroot.org \
    --to=guix-patches@gnu.org \
    --cc=57540@debbugs.gnu.org \
    --cc=garekdyszel@disroot.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).