summary refs log tree commit diff
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)
downloadnixpkgs-5642f4ac6fad637e21616123354b6e9443a2557a.tar
nixpkgs-5642f4ac6fad637e21616123354b6e9443a2557a.tar.gz
nixpkgs-5642f4ac6fad637e21616123354b6e9443a2557a.tar.bz2
nixpkgs-5642f4ac6fad637e21616123354b6e9443a2557a.tar.lz
nixpkgs-5642f4ac6fad637e21616123354b6e9443a2557a.tar.xz
nixpkgs-5642f4ac6fad637e21616123354b6e9443a2557a.tar.zst
nixpkgs-5642f4ac6fad637e21616123354b6e9443a2557a.zip
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 d16c9f3dc87..43da6a3f49d 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>
-