File: flake.nix

package info (click to toggle)
coq-deriving 0.2.2-2
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 256 kB
  • sloc: ml: 28; makefile: 22
file content (33 lines) | stat: -rw-r--r-- 1,123 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{
  description = ''
    Deriving provides generic instances of MathComp classes for
    inductive data types.  It includes native support for eqType,
    choiceType, countType and finType instances, and it allows users to
    define their own instances for other classes.
  '';

  inputs.flake-utils.url = "github:numtide/flake-utils";

  outputs = { self, nixpkgs, flake-utils }:
    flake-utils.lib.eachDefaultSystem (system:
      let pkgs = nixpkgs.legacyPackages.${system}; in rec {
            packages = rec {
              coq = pkgs.coq_8_19;
              coqPackages = pkgs.coqPackages_8_19.overrideScope (self: super:
                { mathcomp = super.mathcomp.override {
                    version = "2.2.0";
                  };
                  deriving = super.deriving.overrideAttrs {
                    version = "0.2.1";
                    src = ./.;
                  };
                });
              ocaml = pkgs.ocaml;
            };

            devShell = pkgs.mkShell {
              packages = with packages; [ coq coqPackages.mathcomp.ssreflect ocaml ];
            };
      }
    );
}