summaryrefslogtreecommitdiffstats
path: root/doc/languages-frameworks/coq.xml
diff options
context:
space:
mode:
authorVincent Laporte <Vincent.Laporte@gmail.com>2017-12-18 01:28:08 +0000
committerVincent Laporte <Vincent.Laporte@gmail.com>2017-12-18 15:30:37 +0000
commit5642f4ac6fad637e21616123354b6e9443a2557a (patch)
treea4ec4d081f146977878ad03dc0f6844f4998d115 /doc/languages-frameworks/coq.xml
parent4c454a320886751115a6c03764f407d8079ef886 (diff)
coqPackages: update documentation
Diffstat (limited to 'doc/languages-frameworks/coq.xml')
-rw-r--r--doc/languages-frameworks/coq.xml48
1 files changed, 35 insertions, 13 deletions
diff --git a/doc/languages-frameworks/coq.xml b/doc/languages-frameworks/coq.xml
index d16c9f3dc87f..43da6a3f49d6 100644
--- a/doc/languages-frameworks/coq.xml
+++ b/doc/languages-frameworks/coq.xml
@@ -11,31 +11,53 @@
in the Coq derivation.
</para>
<para>
- Some libraries require OCaml and sometimes also Camlp5. The exact
- versions that were used to build Coq are saved in the
+ Some libraries require OCaml and sometimes also Camlp5 or findlib.
+ The exact versions that were used to build Coq are saved in the
<literal>coq.ocaml</literal> and <literal>coq.camlp5</literal>
- attributes.
+ and <literal>coq.findlib</literal> attributes.
+ </para>
+ <para>
+ Coq libraries may be compatible with some specific versions of Coq only.
+ The <liberal>compatibleCoqVersions</liberal> attribute is used to
+ precisely select those versions of Coq that are compatible with this
+ derivation.
</para>
<para>
Here is a simple package example. It is a pure Coq library, thus it
- only depends on Coq. Its <literal>makefile</literal> has been
- generated using <literal>coq_makefile</literal> so we only have to
+ depends on Coq. It builds on the Mathematical Components library, thus it
+ also takes <literal>mathcomp</literal> as <literal>buildInputs</literal>.
+ Its <literal>Makefile</literal> has been generated using
+ <literal>coq_makefile</literal> so we only have to
set the <literal>$COQLIB</literal> variable at install time.
</para>
<programlisting>
-{stdenv, fetchurl, coq}:
-stdenv.mkDerivation {
- src = fetchurl {
- url = http://coq.inria.fr/pylons/contribs/files/Karatsuba/v8.4/Karatsuba.tar.gz;
- sha256 = "0ymfpv4v49k4fm63nq6gcl1hbnnxrvjjp7yzc4973n49b853c5b1";
- };
+{ stdenv, fetchFromGitHub, coq, mathcomp }:
- name = "coq-karatsuba";
+stdenv.mkDerivation rec {
+ name = "coq${coq.coq-version}-multinomials-${version}";
+ version = "1.0";
+ src = fetchFromGitHub {
+ owner = "math-comp";
+ repo = "multinomials";
+ rev = version;
+ sha256 = "1qmbxp1h81cy3imh627pznmng0kvv37k4hrwi2faa101s6bcx55m";
+ };
buildInputs = [ coq ];
+ propagatedBuildInputs = [ mathcomp ];
installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+
+ meta = {
+ description = "A Coq/SSReflect Library for Monoidal Rings and Multinomials";
+ inherit (src.meta) homepage;
+ license = stdenv.lib.licenses.cecill-b;
+ inherit (coq.meta) platforms;
+ };
+
+ passthru = {
+ compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" ];
+ };
}
</programlisting>
</section>
-