Add coqPackages.stdlib

This commit is contained in:
Pierre Roux 2024-07-19 13:38:54 +02:00 committed by Vincent Laporte
parent 0fb1b7d80c
commit 629830c8ff
25 changed files with 124 additions and 4 deletions

View File

@ -1,4 +1,4 @@
{ lib, mkCoqDerivation, coq, version ? null }: { lib, mkCoqDerivation, coq, stdlib, version ? null }:
mkCoqDerivation rec { mkCoqDerivation rec {
pname = "coq-ext-lib"; pname = "coq-ext-lib";
@ -33,6 +33,8 @@ mkCoqDerivation rec {
release."0.9.4".sha256 = "1y66pamgsdxlq2w1338lj626ln70cwj7k53hxcp933g8fdsa4hp0"; release."0.9.4".sha256 = "1y66pamgsdxlq2w1338lj626ln70cwj7k53hxcp933g8fdsa4hp0";
releaseRev = v: "v${v}"; releaseRev = v: "v${v}";
propagatedBuildInputs = [ stdlib ];
meta = { meta = {
description = "Collection of theories and plugins that may be useful in other Coq developments"; description = "Collection of theories and plugins that may be useful in other Coq developments";
maintainers = with lib.maintainers; [ jwiegley ptival ]; maintainers = with lib.maintainers; [ jwiegley ptival ];

View File

@ -2,6 +2,7 @@
lib, lib,
mkCoqDerivation, mkCoqDerivation,
coq, coq,
stdlib,
version ? null, version ? null,
}: }:
@ -25,4 +26,6 @@ mkCoqDerivation {
release."20230107".sha256 = "sha256-YMBzVIsLkIC+w2TeyHrKe29eWLIxrH3wIMZqhik8p9I="; release."20230107".sha256 = "sha256-YMBzVIsLkIC+w2TeyHrKe29eWLIxrH3wIMZqhik8p9I=";
release."20200131".rev = "203d4c20211d6b17741f1fdca46dbc091f5e961a"; release."20200131".rev = "203d4c20211d6b17741f1fdca46dbc091f5e961a";
release."20200131".sha256 = "0xylkdmb2dqnnqinf3pigz4mf4zmczcbpjnn59g5g76m7f2cqxl0"; release."20200131".sha256 = "0xylkdmb2dqnnqinf3pigz4mf4zmczcbpjnn59g5g76m7f2cqxl0";
propagatedBuildInputs = [ stdlib ];
} }

View File

@ -2,6 +2,7 @@
lib, lib,
mkCoqDerivation, mkCoqDerivation,
coq, coq,
stdlib,
version ? null, version ? null,
}: }:
let let
@ -32,6 +33,7 @@ let
"20211230".sha256 = "sha256-+ntl4ykkqJWEeJJzt6fO5r0X1J+4in2LJIj1N8R175w="; # coq 8.7 - 8.18 "20211230".sha256 = "sha256-+ntl4ykkqJWEeJJzt6fO5r0X1J+4in2LJIj1N8R175w="; # coq 8.7 - 8.18
"20200624".sha256 = "sha256-8lMqwmOsqxU/45Xr+GeyU2aIjrClVdv3VamCCkF76jY="; # coq 8.7 - 8.13 "20200624".sha256 = "sha256-8lMqwmOsqxU/45Xr+GeyU2aIjrClVdv3VamCCkF76jY="; # coq 8.7 - 8.13
}; };
propagatedBuildInputs = [ stdlib ];
preBuild = "cd coq-menhirlib/src"; preBuild = "cd coq-menhirlib/src";
meta = with lib; { meta = with lib; {
homepage = "https://gitlab.inria.fr/fpottier/menhir/-/tree/master/coq-menhirlib"; homepage = "https://gitlab.inria.fr/fpottier/menhir/-/tree/master/coq-menhirlib";

View File

@ -2,6 +2,7 @@
lib, lib,
mkCoqDerivation, mkCoqDerivation,
coq, coq,
stdlib,
version ? null, version ? null,
}: }:
@ -31,4 +32,6 @@ mkCoqDerivation {
release."20210328".sha256 = "sha256:1y5r1zm3hli10ah6lnj7n8hxad6rb6rgldd0g7m2fjibzvwqzhdg"; release."20210328".sha256 = "sha256:1y5r1zm3hli10ah6lnj7n8hxad6rb6rgldd0g7m2fjibzvwqzhdg";
release."20181102".rev = "82a85b7ec07e71fa6b30cfc05f6a7bfb09ef2510"; release."20181102".rev = "82a85b7ec07e71fa6b30cfc05f6a7bfb09ef2510";
release."20181102".sha256 = "08zry20flgj7qq37xk32kzmg4fg6d4wi9m7pf9aph8fd3j2a0b5v"; release."20181102".sha256 = "08zry20flgj7qq37xk32kzmg4fg6d4wi9m7pf9aph8fd3j2a0b5v";
propagatedBuildInputs = [ stdlib ];
} }

View File

@ -2,6 +2,7 @@
lib, lib,
mkCoqDerivation, mkCoqDerivation,
coq, coq,
stdlib,
version ? null, version ? null,
}: }:
@ -97,6 +98,8 @@ mkCoqDerivation {
mlPlugin = true; mlPlugin = true;
propagatedBuildInputs = [ stdlib ];
meta = with lib; { meta = with lib; {
description = "Coq plugin providing tactics for rewriting universally quantified equations"; description = "Coq plugin providing tactics for rewriting universally quantified equations";
longDescription = '' longDescription = ''

View File

@ -2,6 +2,7 @@
lib, lib,
mkCoqDerivation, mkCoqDerivation,
coq, coq,
stdlib,
version ? null, version ? null,
}: }:
@ -23,6 +24,8 @@ mkCoqDerivation {
}; };
releaseRev = v: "v${v}"; releaseRev = v: "v${v}";
propagatedBuildInputs = [ stdlib ];
mlPlugin = true; mlPlugin = true;
meta = { meta = {

View File

@ -2,6 +2,7 @@
lib, lib,
mkCoqDerivation, mkCoqDerivation,
coq, coq,
stdlib,
version ? null, version ? null,
}: }:
@ -24,6 +25,8 @@ mkCoqDerivation {
}; };
releaseRev = v: "v${v}"; releaseRev = v: "v${v}";
propagatedBuildInputs = [ stdlib ];
meta = { meta = {
description = "An implementation of bitvectors in Coq."; description = "An implementation of bitvectors in Coq.";
license = lib.licenses.mit; license = lib.licenses.mit;

View File

@ -2,6 +2,7 @@
lib, lib,
mkCoqDerivation, mkCoqDerivation,
coq, coq,
stdlib,
version ? null, version ? null,
}: }:
@ -47,6 +48,8 @@ mkCoqDerivation {
mlPlugin = true; mlPlugin = true;
propagatedBuildInputs = [ stdlib ];
meta = { meta = {
license = lib.licenses.lgpl2; license = lib.licenses.lgpl2;
}; };

View File

@ -2,6 +2,7 @@
lib, lib,
mkCoqDerivation, mkCoqDerivation,
coq, coq,
stdlib,
version ? null, version ? null,
}: }:
@ -29,6 +30,8 @@ mkCoqDerivation {
useDuneifVersion = lib.versions.isGe "0.4.1"; useDuneifVersion = lib.versions.isGe "0.4.1";
propagatedBuildInputs = [ stdlib ];
meta = with lib; { meta = with lib; {
description = "Library for serialization to S-expressions"; description = "Library for serialization to S-expressions";
license = licenses.mit; license = licenses.mit;

View File

@ -2,6 +2,7 @@
lib, lib,
mkCoqDerivation, mkCoqDerivation,
coq, coq,
stdlib,
version ? null, version ? null,
}: }:
@ -24,6 +25,8 @@ mkCoqDerivation {
}; };
releaseRev = v: "v${v}"; releaseRev = v: "v${v}";
propagatedBuildInputs = [ stdlib ];
mlPlugin = true; mlPlugin = true;
meta = { meta = {

View File

@ -3,6 +3,7 @@
mkCoqDerivation, mkCoqDerivation,
which, which,
coq, coq,
stdlib,
version ? null, version ? null,
}: }:
@ -163,6 +164,7 @@ in
propagatedBuildInputs = [ propagatedBuildInputs = [
coq.ocamlPackages.findlib coq.ocamlPackages.findlib
elpi elpi
stdlib
]; ];
meta = { meta = {

View File

@ -2,6 +2,7 @@
lib, lib,
mkCoqDerivation, mkCoqDerivation,
coq, coq,
stdlib,
version ? null, version ? null,
}: }:
@ -61,6 +62,8 @@ mkCoqDerivation {
; ;
}; };
propagatedBuildInputs = [ stdlib ];
mlPlugin = true; mlPlugin = true;
buildFlags = [ "tactics" ]; buildFlags = [ "tactics" ];

View File

@ -2,6 +2,7 @@
lib, lib,
mkCoqDerivation, mkCoqDerivation,
coq, coq,
stdlib,
version ? null, version ? null,
}: }:
@ -119,6 +120,8 @@
mlPlugin = true; mlPlugin = true;
propagatedBuildInputs = [ stdlib ];
meta = with lib; { meta = with lib; {
homepage = "https://mattam82.github.io/Coq-Equations/"; homepage = "https://mattam82.github.io/Coq-Equations/";
description = "Plugin for Coq to add dependent pattern-matching"; description = "Plugin for Coq to add dependent pattern-matching";

View File

@ -4,6 +4,7 @@
autoconf, autoconf,
mkCoqDerivation, mkCoqDerivation,
coq, coq,
stdlib,
version ? null, version ? null,
}: }:
@ -58,6 +59,8 @@ mkCoqDerivation {
mlPlugin = true; mlPlugin = true;
useMelquiondRemake.logpath = "Flocq"; useMelquiondRemake.logpath = "Flocq";
propagatedBuildInputs = [ stdlib ];
meta = with lib; { meta = with lib; {
description = "Floating-point formalization for the Coq system"; description = "Floating-point formalization for the Coq system";
license = licenses.lgpl3; license = licenses.lgpl3;

View File

@ -3,6 +3,7 @@
callPackage, callPackage,
mkCoqDerivation, mkCoqDerivation,
coq, coq,
stdlib,
version ? null, version ? null,
}: }:
@ -63,6 +64,8 @@
passthru.tests.suite = callPackage ./test.nix { }; passthru.tests.suite = callPackage ./test.nix { };
propagatedBuildInputs = [ stdlib ];
meta = with lib; { meta = with lib; {
description = "Reflexive SAT solver parameterised by a leaf tactic and Nelson-Oppen support"; description = "Reflexive SAT solver parameterised by a leaf tactic and Nelson-Oppen support";
maintainers = with maintainers; [ siraben ]; maintainers = with maintainers; [ siraben ];

View File

@ -12,7 +12,7 @@
{ lib, ncurses, graphviz, lua, fetchzip, { lib, ncurses, graphviz, lua, fetchzip,
mkCoqDerivation, withDoc ? false, single ? false, mkCoqDerivation, withDoc ? false, single ? false,
coq, hierarchy-builder, version ? null }@args: coq, hierarchy-builder, stdlib, version ? null }@args:
let let
repo = "math-comp"; repo = "math-comp";
@ -78,7 +78,7 @@ let
mlPlugin = lib.versions.isLe "8.6" coq.coq-version; mlPlugin = lib.versions.isLe "8.6" coq.coq-version;
nativeBuildInputs = lib.optionals withDoc [ graphviz lua ]; nativeBuildInputs = lib.optionals withDoc [ graphviz lua ];
buildInputs = [ ncurses ]; buildInputs = [ ncurses ];
propagatedBuildInputs = mathcomp-deps; propagatedBuildInputs = [ stdlib ] ++ mathcomp-deps;
buildFlags = lib.optional withDoc "doc"; buildFlags = lib.optional withDoc "doc";

View File

@ -2,6 +2,7 @@
lib, lib,
mkCoqDerivation, mkCoqDerivation,
coq, coq,
stdlib,
version ? null, version ? null,
}: }:
@ -40,6 +41,8 @@ mkCoqDerivation {
release."1.2.8".sha256 = "05fskx5x1qgaf9qv626m38y5izichzzqc7g2rglzrkygbskrrwsb"; release."1.2.8".sha256 = "05fskx5x1qgaf9qv626m38y5izichzzqc7g2rglzrkygbskrrwsb";
releaseRev = v: "v${v}"; releaseRev = v: "v${v}";
propagatedBuildInputs = [ stdlib ];
preBuild = "cd src"; preBuild = "cd src";
installPhase = '' installPhase = ''

View File

@ -2,6 +2,7 @@
lib, lib,
mkCoqDerivation, mkCoqDerivation,
coq, coq,
stdlib,
version ? null, version ? null,
}: }:
@ -24,6 +25,8 @@ mkCoqDerivation {
}; };
releaseRev = v: "v${v}"; releaseRev = v: "v${v}";
propagatedBuildInputs = [ stdlib ];
mlPlugin = true; mlPlugin = true;
meta = { meta = {

View File

@ -7,6 +7,7 @@
zchaff, zchaff,
fetchurl, fetchurl,
cvc5, cvc5,
stdlib,
version ? null, version ? null,
}: }:
@ -80,6 +81,7 @@ mkCoqDerivation {
cvc5 cvc5
veriT' veriT'
zchaff zchaff
stdlib
] ]
++ (with coq.ocamlPackages; [ ++ (with coq.ocamlPackages; [
findlib findlib

View File

@ -2,6 +2,7 @@
lib, lib,
mkCoqDerivation, mkCoqDerivation,
coq, coq,
stdlib,
version ? null, version ? null,
}: }:
@ -30,7 +31,7 @@ let
let let
pname = package; pname = package;
istac = package == "stalmarck-tactic"; istac = package == "stalmarck-tactic";
propagatedBuildInputs = lib.optional istac (stalmarck_ "stalmarck"); propagatedBuildInputs = if istac then [ (stalmarck_ "stalmarck") ] else [ stdlib ];
description = description =
if istac then if istac then
"Coq tactic and verified tool for proving tautologies using Stålmarck's algorithm" "Coq tactic and verified tool for proving tautologies using Stålmarck's algorithm"

View File

@ -0,0 +1,59 @@
{
coq,
mkCoqDerivation,
lib,
version ? null,
}@args:
(mkCoqDerivation {
pname = "stdlib";
repo = "coq";
owner = "coq";
opam-name = "coq-stdlib";
inherit version;
defaultVersion =
with lib.versions;
lib.switch
[ coq.version ]
[
{
cases = [ (isLt "8.21") ];
out = "8.20";
}
]
null;
releaseRev = v: "v${v}";
release."8.20".sha256 = "sha256-AcoS4edUYCfJME1wx8UbuSQRF3jmxhArcZyPIoXcfu0=";
useDune = true;
configurePhase = ''
echo "no configure phase"
''; # don't run Coq's configure
preBuild = ''
echo "(dirs stdlib)" > dune
'';
meta = {
description = "Coq Standard Library";
license = lib.licenses.lgpl21Only;
};
}).overrideAttrs
(
o:
# stdlib is already included in Coq <= 8.20
lib.optionalAttrs
(coq.version != null && coq.version != "dev" && lib.versions.isLt "8.21" coq.version)
{
buildPhase = ''
echo building nothing
'';
installPhase = ''
touch $out
'';
}
)

View File

@ -2,6 +2,7 @@
lib, lib,
mkCoqDerivation, mkCoqDerivation,
coq, coq,
stdlib,
version ? null, version ? null,
}: }:
@ -52,6 +53,8 @@ mkCoqDerivation rec {
release."1.4.0".sha256 = "1m6c7ibwc99jd4cv14v3r327spnfvdf3x2mnq51f9rz99rffk68r"; release."1.4.0".sha256 = "1m6c7ibwc99jd4cv14v3r327spnfvdf3x2mnq51f9rz99rffk68r";
releaseRev = v: "coq-stdpp-${v}"; releaseRev = v: "coq-stdpp-${v}";
propagatedBuildInputs = [ stdlib ];
preBuild = '' preBuild = ''
if [[ -f coq-lint.sh ]] if [[ -f coq-lint.sh ]]
then patchShebangs coq-lint.sh then patchShebangs coq-lint.sh

View File

@ -2,6 +2,7 @@
lib, lib,
mkCoqDerivation, mkCoqDerivation,
coq, coq,
stdlib,
version ? null, version ? null,
}: }:
@ -37,6 +38,8 @@
release."20200328".sha256 = "16vzild9gni8zhgb3qhmka47f8zagdh03k6nssif7drpim8233lx"; release."20200328".sha256 = "16vzild9gni8zhgb3qhmka47f8zagdh03k6nssif7drpim8233lx";
release."20181116".sha256 = "032lrbkxqm9d3fhf6nv1kq2z0mqd3czv3ijlbsjwnfh12xck4vpl"; release."20181116".sha256 = "032lrbkxqm9d3fhf6nv1kq2z0mqd3czv3ijlbsjwnfh12xck4vpl";
propagatedBuildInputs = [ stdlib ];
meta = with lib; { meta = with lib; {
homepage = "http://www.chargueraud.org/softs/tlc/"; homepage = "http://www.chargueraud.org/softs/tlc/";
description = "Non-constructive library for Coq"; description = "Non-constructive library for Coq";

View File

@ -2,6 +2,7 @@
lib, lib,
mkCoqDerivation, mkCoqDerivation,
coq, coq,
stdlib,
version ? null, version ? null,
}: }:
@ -24,6 +25,8 @@ mkCoqDerivation {
"2.1.1+8.18".sha256 = "sha256-jYuQ9SPFRefNCUfn6+jEaJ4399EnU0gXPPkEDCpJYOI="; "2.1.1+8.18".sha256 = "sha256-jYuQ9SPFRefNCUfn6+jEaJ4399EnU0gXPPkEDCpJYOI=";
}; };
propagatedBuildInputs = [ stdlib ];
mlPlugin = true; mlPlugin = true;
useDune = true; useDune = true;

View File

@ -150,6 +150,7 @@ let
ssprove = callPackage ../development/coq-modules/ssprove {}; ssprove = callPackage ../development/coq-modules/ssprove {};
stalmarck-tactic = callPackage ../development/coq-modules/stalmarck {}; stalmarck-tactic = callPackage ../development/coq-modules/stalmarck {};
stalmarck = self.stalmarck-tactic.stalmarck; stalmarck = self.stalmarck-tactic.stalmarck;
stdlib = callPackage ../development/coq-modules/stdlib {};
stdpp = callPackage ../development/coq-modules/stdpp { }; stdpp = callPackage ../development/coq-modules/stdpp { };
StructTact = callPackage ../development/coq-modules/StructTact {}; StructTact = callPackage ../development/coq-modules/StructTact {};
tlc = callPackage ../development/coq-modules/tlc {}; tlc = callPackage ../development/coq-modules/tlc {};