all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Garek Dyszel via Guix-patches via <guix-patches@gnu.org>
To: 58310@debbugs.gnu.org
Subject: [bug#58310] [PATCH 12/14] gnu: Add coq-elpi.
Date: Wed, 05 Oct 2022 13:51:23 -0400	[thread overview]
Message-ID: <87o7uqp3ac.fsf@disroot.org> (raw)
In-Reply-To: <87h70iqji2.fsf@disroot.org>

diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 60937af750..313366cb11 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -771,3 +771,75 @@ (define-public coq-mathcomp-bigenough
 purposes as @code{bigenough} will be subsumed by the near tactics.  The
 formalization is based on the Mathematical Components library.")
     (license license:cecill-b)))
+
+(define-public coq-elpi
+  (package
+    (name "coq-elpi")
+    ;; For more information on which version works with Coq 8.16,
+    ;; see the relevant issue:
+    ;; https://github.com/math-comp/hierarchy-builder/issues/297
+    ;; Here we use
+    ;; coq-elpi 1.15.4 + ocaml-elpi 1.16.5 +
+    ;; coq-mathcomp-hierarchy-builder 1.3.0 (Coq 8.16)
+    (version "1.15.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/LPCIC/coq-elpi")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "115ll1g5dyn8z58x7xg6nsliga669875s560j5053flr6cvb8mq1"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags ,#~(list (string-append "COQBIN="
+                                            #$(this-package-input "coq-core")
+                                            "/bin/")
+                             (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)
+                  ;; --- old phase from version 1.14.0
+                  (add-before 'build 'remove-extra-src-file
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      ;; Remove the useless line "src/META.coq-elpi"
+                      ;; in file _CoqProject. The file
+                      ;; src/META.coq-elpi does not exist in the
+                      ;; repository, so this line inhibits compilation
+                      ;; unnecessarily.
+                      (invoke "sed" "-i" "s|src/META.coq-elpi||g"
+                              "_CoqProject")))
+                  (replace 'check
+                    ;; Error when running the "check" phase:
+                    ;; "make: *** No rule to make target 'check'.
+                    ;; Stop."
+                    ;; Tests run if we invoke "make test" instead.
+                    (lambda* (#:key tests? make-flags #:allow-other-keys)
+                      (when tests?
+                        (apply invoke "make" "test" make-flags)))))))
+    (propagated-inputs (list ocaml
+                             ocaml-stdlib-shims
+                             ocaml-elpi
+                             ocaml-zarith
+                             coq-core
+                             coq-stdlib))
+    (inputs (list python))
+    (home-page "https://github.com/LPCIC/coq-elpi")
+    (synopsis "Elpi extension language for Coq")
+    (description
+     "Coq-elpi provides a Coq plugin that embeds ELPI, an extension language
+for OCaml that is an implementation of λProlog.  It also provides a way to
+embed Coq's terms into λProlog using the Higher-Order Abstract Syntax approach
+and a way to read terms back.  In addition to that it exports to ELPI a set of
+Coq's primitives.  Finally it provides a way to define new vernacular commands
+and new tactics.")
+    (license license:lgpl2.1)))
-- 
2.37.3






  parent reply	other threads:[~2022-10-05 17:58 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-05 17:15 [bug#58310] [PATCH] Add coq-mathcomp-analysis Garek Dyszel via Guix-patches via
2022-10-05 17:40 ` [bug#58310] [PATCH 01/14] gnu: Add python-pprintpp Garek Dyszel via Guix-patches via
2022-10-05 17:41 ` [bug#58310] [PATCH 02/14] gnu: Add python-pluggy-1.0.* gnu/packages/python-xyz.scm (python-pluggy-1.0): New variable Garek Dyszel via Guix-patches via
2022-10-05 17:41 ` [bug#58310] [PATCH 03/14] gnu: Add python-setuptools-scm-7.* gnu/packages/python-build.scm (python-setuptools-scm-7): " Garek Dyszel via Guix-patches via
2022-11-02 17:08   ` [bug#58310] [PATCH 03/14] gnu: Add python-setuptools-scm-7 zimoun
2022-11-03  9:22     ` Lars-Dominik Braun
2022-11-03 11:14       ` zimoun
2022-11-03 11:57         ` Lars-Dominik Braun
2022-11-03 18:34           ` zimoun
2022-11-04  0:44             ` Lars-Dominik Braun
2022-10-05 17:41 ` [bug#58310] [PATCH 04/14] gnu: Add python-hatchling-bootstrap Garek Dyszel via Guix-patches via
2022-11-02 17:11   ` zimoun
2022-11-03  9:26     ` Lars-Dominik Braun
2022-11-03 11:18       ` zimoun
2022-11-03 11:59         ` Lars-Dominik Braun
2022-11-04 15:15           ` Garek Dyszel via Guix-patches via
2022-10-05 17:46 ` [bug#58310] [PATCH 05/14] gnu: Add python-hatch Garek Dyszel via Guix-patches via
2022-10-05 17:46 ` [bug#58310] [PATCH 06/14] gnu: Add python-hatch-vcs Garek Dyszel via Guix-patches via
2022-10-05 17:46 ` [bug#58310] [PATCH 07/14] gnu: Add python-pytest-icdiff Garek Dyszel via Guix-patches via
2022-10-05 17:46 ` [bug#58310] [PATCH 08/14] gnu: Add python-hatch-fancy-pypi-readme Garek Dyszel via Guix-patches via
2022-10-05 17:47 ` [bug#58310] [PATCH 09/14] gnu: python-jsonschema-next: Update to 4.16.0 Garek Dyszel via Guix-patches via
2022-10-05 17:47 ` [bug#58310] [PATCH 10/14] gnu: Add ocaml-atd Garek Dyszel via Guix-patches via
2022-10-05 17:51 ` [bug#58310] [PATCH 11/14] gnu: Add ocaml-elpi Garek Dyszel via Guix-patches via
2022-10-05 17:51 ` Garek Dyszel via Guix-patches via [this message]
2022-10-05 17:51 ` [bug#58310] [PATCH 13/14] gnu: Add coq-mathcomp-hierarchy-builder Garek Dyszel via Guix-patches via
2022-10-05 17:51 ` [bug#58310] [PATCH 14/14] gnu: Add coq-mathcomp-analysis Garek Dyszel via Guix-patches via
2022-10-18 15:42 ` [bug#58310] Temporary manifest for coq-mathcomp-analysis Garek Dyszel via Guix-patches via
     [not found] ` <handler.58310.B.166499048624567.ack@debbugs.gnu.org>
2022-11-12 23:48   ` [bug#58310] Manifest " Garek Dyszel via Guix-patches via
2022-11-13  9:17     ` Julien Lepiller
2022-11-13 10:53       ` Julien Lepiller
2022-11-13 18:54         ` Garek Dyszel via Guix-patches via
2022-11-13 19:40           ` Julien Lepiller

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

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

  git send-email \
    --in-reply-to=87o7uqp3ac.fsf@disroot.org \
    --to=guix-patches@gnu.org \
    --cc=58310@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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.