Merge branch 'master' into staging-next

Manually resolved a conflict in
pkgs/development/libraries/libbladeRF/default.nix.

+1705 -2350
+63 -26
doc/languages-frameworks/coq.section.md
··· 1 - # Coq {#sec-language-coq} 1 + # Coq and coq packages {#sec-language-coq} 2 2 3 - Coq libraries should be installed in `$(out)/lib/coq/${coq.coq-version}/user-contrib/`. Such directories are automatically added to the `$COQPATH` environment variable by the hook defined in the Coq derivation. 3 + ## Coq derivation: `coq` 4 4 5 - Some extensions (plugins) might require OCaml and sometimes other OCaml packages. The `coq.ocamlPackages` attribute can be used to depend on the same package set Coq was built against. 5 + The Coq derivation is overridable through the `coq.override overrides`, where overrides is an attribute set which contains the arguments to override. We recommend overriding either of the following 6 + + `version` (optional, defaults to the latest version of Coq selected for nixpkgs, see `pkgs/top-level/coq-packages` to witness this choice), which follows the conventions explained in the `coqPackages` section below, 7 + + `customOCamlPackage` (optional, defaults to `null`, which lets Coq choose a version automatically), which can be set to any of the ocaml packages attribute of `ocaml-ng` (such as `ocaml-ng.ocamlPackages_4_10` which is the default for Coq 8.11 for example). 8 + + `coq-version` (optional, defaults to the short version e.g. "8.10"), is a version number of the form "x.y" that indicates which Coq's version build behavior to mimic when using a source which is not a release. E.g. `coq.override { version = "d370a9d1328a4e1cdb9d02ee032f605a9d94ec7a"; coq-version = "8.10"; }`. 9 + 10 + ## Coq packages attribute sets: `coqPackages` 11 + 12 + The recommended way of defining a derivation for a Coq library, is to use the `coqPackages.mkCoqDerivation` function, which is essentially a specialization of `mkDerivation` taking into account most of the specifics of Coq libraries. The following attributes are supported: 13 + - `pname` (required) is the name of the package, 14 + - `version` (optional, defaults to `null`), is the version to fetch and build, 15 + this attribute is interpreted in several ways depending on its type and pattern: 16 + + if it is a known released version string, i.e. from the `release` attribute below, the according release is picked, and the `version` attribute of the resulting derivation is set to this release string, 17 + + if it is a majorMinor `"x.y"` prefix of a known released version (as defined above), then the latest `"x.y.z"` known released version is selected (for the ordering given by `versionAtLeast`), 18 + + if it is a path or a string representing an absolute path (i.e. starting with `"/"`), the provided path is selected as a source, and the `version` attribute of the resulting derivation is set to `"dev"`, 19 + + if it is a string of the form `owner:branch` then it tries to download the `branch` of owner `owner` for a project of the same name using the same vcs, and the `version` attribute of the resulting derivation is set to `"dev"`, additionally if the owner is not provided (i.e. if the `owner:` prefix is missing), it defaults to the original owner of the package (see below), 20 + + if it is a string of the form `"#N"`, and the domain is github, then it tries to download the current head of the pull request `#N` from github, 21 + - `defaultVersion` (optional). Coq libraries may be compatible with some specific versions of Coq only. The `defaultVersion` attribute is used when no `version` is provided (or if `version = null`) to select the version of the library to use by default, depending on the context. This selection will mainly depend on a `coq` version number but also possibly on other packages versions (e.g. `mathcomp`). If its value ends up to be `null`, the package is marked for removal in end-user `coqPackages` attribute set. 22 + - `release` (optional, defaults to `{}`), lists all the known releases of the library and for each of them provides an attribute set with at least a `sha256` attribute (you may use the shell command `nix-prefetch-url --unpack <archive-url>` to find it, where `<archive-url>` is for example `https://github.com/owner/repo/archive/version.tar.gz`), each attribute set of the list of releases also takes optional overloading arguments for the fetcher as below (i.e.`domain`, `owner`, `repo`, `rev` assuming the default fetcher is used) and optional overrides for the result of the fetcher (i.e. `version` and `src`). 23 + - `fetcher` (optional, default to a generic fetching mechanism supporting github or gitlab based infrastructures), is a function that takes at least an `owner`, a `repo`, a `rev`, and a `sha256` and returns an attribute set with a `version` and `src`. 24 + - `repo` (optional, defaults to the value of `pname`), 25 + - `owner` (optional, defaults to `"coq-community"`). 26 + - `domain` (optional, defaults to `"github.com"`), domains including the strings `"github"` or `"gitlab"` in their names are automatically supported, otherwise, one must change the `fetcher` argument to support them (cf `pkgs/development/coq-modules/heq/default.nix` for an example), 27 + - `releaseRev` (optional, defaults to `(v: v)`), provides a default mapping from release names to revision hashes/branch names/tags, 28 + - `displayVersion` (optional), provides a way to alter the computation of `name` from `pname`, by explaining how to display version numbers, 29 + - `namePrefix` (optional), provides a way to alter the computation of `name` from `pname`, by explaining which dependencies must occur in `name`, 30 + - `extraBuildInputs` (optional), by default `buildInputs` just contains `coq`, this allows to add more build inputs, 31 + - `mlPlugin` (optional, defaults to `false`). Some extensions (plugins) might require OCaml and sometimes other OCaml packages. Standard dependencies can be added by setting the current option to `true`. For a finer grain control, the `coq.ocamlPackages` attribute can be used in `extraBuildInputs` to depend on the same package set Coq was built against. 32 + - `enableParallelBuilding` (optional, defaults to `true`), since it is activated by default, we provide a way to disable it. 33 + - `extraInstallFlags` (optional), allows to extend `installFlags` which initializes the variable `COQMF_COQLIB` so as to install in the proper subdirectory. Indeed Coq libraries should be installed in `$(out)/lib/coq/${coq.coq-version}/user-contrib/`. Such directories are automatically added to the `$COQPATH` environment variable by the hook defined in the Coq derivation. 34 + - `setCOQBIN` (optional, defaults to `true`), by default, the environment variable `$COQBIN` is set to the current Coq's binary, but one can disable this behavior by setting it to `false`, 35 + - `useMelquiondRemake` (optional, default to `null`) is an attribute set, which, if given, overloads the `preConfigurePhases`, `configureFlags`, `buildPhase`, and `installPhase` attributes of the derivation for a specific use in libraries using `remake` as set up by Guillaume Melquiond for `flocq`, `gappalib`, `interval`, and `coquelicot` (see the corresponding derivation for concrete examples of use of this option). For backward compatibility, the attribute `useMelquiondRemake.logpath` must be set to the logical root of the library (otherwise, one can pass `useMelquiondRemake = {}` to activate this without backward compatibility). 36 + - `dropAttrs`, `keepAttrs`, `dropDerivationAttrs` are all optional and allow to tune which attribute is added or removed from the final call to `mkDerivation`. 6 37 7 - Coq libraries may be compatible with some specific versions of Coq only. The `compatibleCoqVersions` attribute is used to precisely select those versions of Coq that are compatible with this derivation. 38 + It also takes other standard `mkDerivation` attributes, they are added as such, except for `meta` which extends an automatically computed `meta` (where the `platform` is the same as `coq` and the homepage is automatically computed). 8 39 9 - Here is a simple package example. It is a pure Coq library, thus it depends on Coq. It builds on the Mathematical Components library, thus it also takes `mathcomp` as `buildInputs`. Its `Makefile` has been generated using `coq_makefile` so we only have to set the `$COQLIB` variable at install time. 40 + Here is a simple package example. It is a pure Coq library, thus it depends on Coq. It builds on the Mathematical Components library, thus it also takes some `mathcomp` derivations as `extraBuildInputs`. 10 41 11 42 ```nix 12 - { stdenv, fetchFromGitHub, coq, mathcomp }: 13 - 14 - stdenv.mkDerivation rec { 15 - name = "coq${coq.coq-version}-multinomials-${version}"; 16 - version = "1.0"; 17 - src = fetchFromGitHub { 18 - owner = "math-comp"; 19 - repo = "multinomials"; 20 - rev = version; 21 - sha256 = "1qmbxp1h81cy3imh627pznmng0kvv37k4hrwi2faa101s6bcx55m"; 43 + { coq, mkCoqDerivation, mathcomp, mathcomp-finmap, mathcomp-bigenough, 44 + lib, version ? null }: 45 + with lib; mkCoqDerivation { 46 + /* namePrefix leads to e.g. `name = coq8.11-mathcomp1.11-multinomials-1.5.2` */ 47 + namePrefix = [ "coq" "mathcomp" ]; 48 + pname = "multinomials"; 49 + owner = "math-comp"; 50 + inherit version; 51 + defaultVersion = with versions; switch [ coq.version mathcomp.version ] [ 52 + { cases = [ (range "8.7" "8.12") "1.11.0" ]; out = "1.5.2"; } 53 + { cases = [ (range "8.7" "8.11") (range "1.8" "1.10") ]; out = "1.5.0"; } 54 + { cases = [ (range "8.7" "8.10") (range "1.8" "1.10") ]; out = "1.4"; } 55 + { cases = [ "8.6" (range "1.6" "1.7") ]; out = "1.1"; } 56 + ] null; 57 + release = { 58 + "1.5.2".sha256 = "15aspf3jfykp1xgsxf8knqkxv8aav2p39c2fyirw7pwsfbsv2c4s"; 59 + "1.5.1".sha256 = "13nlfm2wqripaq671gakz5mn4r0xwm0646araxv0nh455p9ndjs3"; 60 + "1.5.0".sha256 = "064rvc0x5g7y1a0nip6ic91vzmq52alf6in2bc2dmss6dmzv90hw"; 61 + "1.5.0".rev = "1.5"; 62 + "1.4".sha256 = "0vnkirs8iqsv8s59yx1fvg1nkwnzydl42z3scya1xp1b48qkgn0p"; 63 + "1.3".sha256 = "0l3vi5n094nx3qmy66hsv867fnqm196r8v605kpk24gl0aa57wh4"; 64 + "1.2".sha256 = "1mh1w339dslgv4f810xr1b8v2w7rpx6fgk9pz96q0fyq49fw2xcq"; 65 + "1.1".sha256 = "1q8alsm89wkc0lhcvxlyn0pd8rbl2nnxg81zyrabpz610qqjqc3s"; 66 + "1.0".sha256 = "1qmbxp1h81cy3imh627pznmng0kvv37k4hrwi2faa101s6bcx55m"; 22 67 }; 23 68 24 - buildInputs = [ coq ]; 25 - propagatedBuildInputs = [ mathcomp ]; 26 - 27 - installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/"; 69 + propagatedBuildInputs = 70 + [ mathcomp.ssreflect mathcomp.algebra mathcomp-finmap mathcomp-bigenough ]; 28 71 29 72 meta = { 30 73 description = "A Coq/SSReflect Library for Monoidal Rings and Multinomials"; 31 - inherit (src.meta) homepage; 32 - license = stdenv.lib.licenses.cecill-b; 33 - inherit (coq.meta) platforms; 34 - }; 35 - 36 - passthru = { 37 - compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" ]; 74 + license = licenses.cecill-c; 38 75 }; 39 76 } 40 77 ```
+40 -14
nixos/modules/virtualisation/podman.nix
··· 1 1 { config, lib, pkgs, utils, ... }: 2 2 let 3 3 cfg = config.virtualisation.podman; 4 + toml = pkgs.formats.toml { }; 5 + nvidia-docker = pkgs.nvidia-docker.override { containerRuntimePath = "${pkgs.runc}/bin/runc"; }; 4 6 5 7 inherit (lib) mkOption types; 6 8 ··· 53 55 ''; 54 56 }; 55 57 58 + enableNvidia = mkOption { 59 + type = types.bool; 60 + default = false; 61 + description = '' 62 + Enable use of NVidia GPUs from within podman containers. 63 + ''; 64 + }; 65 + 56 66 extraPackages = mkOption { 57 67 type = with types; listOf package; 58 68 default = [ ]; ··· 78 88 79 89 }; 80 90 81 - config = lib.mkIf cfg.enable { 91 + config = lib.mkIf cfg.enable (lib.mkMerge [ 92 + { 93 + environment.systemPackages = [ cfg.package ] 94 + ++ lib.optional cfg.dockerCompat dockerCompat; 82 95 83 - environment.systemPackages = [ cfg.package ] 84 - ++ lib.optional cfg.dockerCompat dockerCompat; 85 - 86 - environment.etc."cni/net.d/87-podman-bridge.conflist".source = utils.copyFile "${pkgs.podman-unwrapped.src}/cni/87-podman-bridge.conflist"; 87 - 88 - # Enable common /etc/containers configuration 89 - virtualisation.containers.enable = true; 90 - 91 - assertions = [{ 92 - assertion = cfg.dockerCompat -> !config.virtualisation.docker.enable; 93 - message = "Option dockerCompat conflicts with docker"; 94 - }]; 96 + environment.etc."cni/net.d/87-podman-bridge.conflist".source = utils.copyFile "${pkgs.podman-unwrapped.src}/cni/87-podman-bridge.conflist"; 95 97 96 - }; 98 + virtualisation.containers = { 99 + enable = true; # Enable common /etc/containers configuration 100 + containersConf.extraConfig = lib.optionalString cfg.enableNvidia 101 + (builtins.readFile (toml.generate "podman.nvidia.containers.conf" { 102 + engine = { 103 + conmon_env_vars = [ "PATH=${lib.makeBinPath [ nvidia-docker ]}" ]; 104 + runtimes.nvidia = [ "${nvidia-docker}/bin/nvidia-container-runtime" ]; 105 + }; 106 + })); 107 + }; 97 108 109 + assertions = [ 110 + { 111 + assertion = cfg.dockerCompat -> !config.virtualisation.docker.enable; 112 + message = "Option dockerCompat conflicts with docker"; 113 + } 114 + { 115 + assertion = cfg.enableNvidia -> !config.virtualisation.docker.enableNvidia; 116 + message = "Option enableNvidia conflicts with docker.enableNvidia"; 117 + } 118 + ]; 119 + } 120 + (lib.mkIf cfg.enableNvidia { 121 + environment.etc."nvidia-container-runtime/config.toml".source = "${nvidia-docker}/etc/podman-config.toml"; 122 + }) 123 + ]); 98 124 }
+33
pkgs/applications/graphics/hello-wayland/default.nix
··· 1 + { stdenv, lib, fetchFromGitHub 2 + , imagemagick, pkg-config, wayland, wayland-protocols 3 + }: 4 + 5 + stdenv.mkDerivation { 6 + pname = "hello-wayland-unstable"; 7 + version = "2020-07-27"; 8 + 9 + src = fetchFromGitHub { 10 + owner = "emersion"; 11 + repo = "hello-wayland"; 12 + rev = "501d0851cfa7f21c780c0eb52f0a6b23f02918c5"; 13 + sha256 = "0dz6przqp57kw8ycja3gw6jp9x12217nwbwdpgmvw7jf0lzhk4xr"; 14 + }; 15 + 16 + nativeBuildInputs = [ imagemagick pkg-config ]; 17 + buildInputs = [ wayland wayland-protocols ]; 18 + 19 + installPhase = '' 20 + runHook preBuild 21 + mkdir -p $out/bin 22 + install hello-wayland $out/bin 23 + runHook postBuild 24 + ''; 25 + 26 + meta = with lib; { 27 + description = "Hello world Wayland client"; 28 + homepage = "https://github.com/emersion/hello-wayland"; 29 + maintainers = with maintainers; [ qyliss ]; 30 + license = licenses.mit; 31 + platforms = platforms.linux; 32 + }; 33 + }
+3 -3
pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "starboard-octant-plugin"; 5 - version = "0.7.1"; 5 + version = "0.8.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "aquasecurity"; 9 9 repo = pname; 10 10 rev = "v${version}"; 11 - sha256 = "11c8znbijhvxl2mas205mb18sqw868l6c86ah5hlkqh3niq2gmv3"; 11 + sha256 = "sha256-wMt/I2zpdM7l+YNwHkAA6sVRWUtlGpN+94jqx2Jy4HA="; 12 12 }; 13 13 14 - vendorSha256 = "0rmynfm5afjxc2lxy2rh9y6zhdd2q95wji2q8hcz78zank43rkcq"; 14 + vendorSha256 = "sha256-fhIIqirEEdqn/n8bBtLw07fEGfnpC/8SOLbkhnytyME="; 15 15 16 16 meta = with lib; { 17 17 description = "Octant plugin for viewing Starboard security information";
+3 -3
pkgs/applications/networking/cluster/terragrunt/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "terragrunt"; 5 - version = "0.26.7"; 5 + version = "0.27.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "gruntwork-io"; 9 9 repo = pname; 10 10 rev = "v${version}"; 11 - sha256 = "1431n6zs2mfkgh281xi0d7m9hxifrrsnd46fnpb54mr6lj9h0sdb"; 11 + sha256 = "sha256-MbhJ1f6Da+kkkCV85kH8Yv74cMzp7JvxeQb0By9aGp8="; 12 12 }; 13 13 14 - vendorSha256 = "18ix11g709fvh8h02k3p2bmzrq5fjzaqa50h3g74s3hyl2gc9s9h"; 14 + vendorSha256 = "sha256-AMxBzUHRsq1HOMtvgYqIw22Cky7gQ7/2hI8wQnxaXb0="; 15 15 16 16 doCheck = false; 17 17
+62 -58
pkgs/applications/science/logic/coq/default.nix
··· 5 5 # - The exact version can be specified through the `version` argument to 6 6 # the derivation; it defaults to the latest stable version. 7 7 8 - { stdenv, fetchFromGitHub, writeText, pkgconfig, gnumake42 9 - , ocamlPackages, ncurses 8 + { stdenv, fetchzip, writeText, pkgconfig, gnumake42 9 + , customOCamlPackages ? null 10 + , ocamlPackages_4_05, ocamlPackages_4_09, ocamlPackages_4_10, ncurses 10 11 , buildIde ? !(stdenv.isDarwin && stdenv.lib.versionAtLeast version "8.10") 11 12 , glib, gnome3, wrapGAppsHook 12 13 , csdp ? null 13 - , version 14 - }: 15 - 14 + , version, coq-version ? null, 15 + }@args: 16 + let lib = import ../../../../build-support/coq/extra-lib.nix {inherit (stdenv) lib;}; in 17 + with builtins; with lib; 16 18 let 17 - sha256 = { 18 - "8.5pl1" = "1976ki5xjg2r907xj9p7gs0kpdinywbwcqlgxqw75dgp0hkgi00n"; 19 - "8.5pl2" = "109rrcrx7mz0fj7725kjjghfg5ydwb24hjsa5hspa27b4caah7rh"; 20 - "8.5pl3" = "15c3rdk59nifzihsp97z4vjxis5xmsnrvpb86qiazj143z2fmdgw"; 21 - "8.6" = "148mb48zpdax56c0blfi7v67lx014lnmrvxxasi28hsibyz2lvg4"; 22 - "8.6.1" = "0llrxcxwy5j87vbbjnisw42rfw1n1pm5602ssx64xaxx3k176g6l"; 23 - "8.7.0" = "1h18b7xpnx3ix9vsi5fx4zdcbxy7bhra7gd5c5yzxmk53cgf1p9m"; 24 - "8.7.1" = "0gjn59jkbxwrihk8fx9d823wjyjh5m9gvj9l31nv6z6bcqhgdqi8"; 25 - "8.7.2" = "0a0657xby8wdq4aqb2xsxp3n7pmc2w4yxjmrb2l4kccs1aqvaj4w"; 26 - "8.8.0" = "13a4fka22hdxsjk11mgjb9ffzplfxyxp1sg5v1c8nk1grxlscgw8"; 27 - "8.8.1" = "1hlf58gwazywbmfa48219amid38vqdl94yz21i11b4map6jfwhbk"; 28 - "8.8.2" = "1lip3xja924dm6qblisk1bk0x8ai24s5xxqxphbdxj6djglj68fd"; 29 - "8.9.0" = "1dkgdjc4n1m15m1p724hhi5cyxpqbjw6rxc5na6fl3v4qjjfnizh"; 30 - "8.9.1" = "1xrq6mkhpq994bncmnijf8jwmwn961kkpl4mwwlv7j3dgnysrcv2"; 31 - "8.10.0" = "138jw94wp4mg5dgjc2asn8ng09ayz1mxdznq342n0m469j803gzg"; 32 - "8.10.1" = "072v2zkjzf7gj48137wpr3c9j0hg9pdhlr5l8jrgrwynld8fp7i4"; 33 - "8.10.2" = "0znxmpy71bfw0p6x47i82jf5k7v41zbz9bdpn901ysn3ir8l3wrz"; 34 - "8.11.0" = "1rfdic6mp7acx2zfwz7ziqk12g95bl9nyj68z4n20a5bcjv2pxpn"; 35 - "8.11.1" = "0qriy9dy36dajsv5qmli8gd6v55mah02ya334nw49ky19v7518m0"; 36 - "8.11.2" = "0f77ccyxdgbf1nrj5fa8qvrk1cyfy06fv8gj9kzfvlcgn0cf48sa"; 37 - "8.12.0" = "18dc7k0piv6v064zgdadpw6mkkxk7j663hb3svgj5236fihjr0cz"; 38 - "8.12.1" = "1rkcyjjrzcqw9xk93hsq0vvji4f8r5iq0f739mghk60bghkpnb7q"; 39 - "8.12.2" = "18gscfm039pqhq4msq01nraig5dm9ab98bjca94zldf8jvdv0x2n"; 40 - "8.13+beta1" = "1v4a6dpj41flspa4ihcr7m5ahqz10kbn62fmrldmv7gzq6jsyfyq"; 41 - }.${version}; 42 - coq-version = stdenv.lib.versions.majorMinor version; 43 - versionAtLeast = stdenv.lib.versionAtLeast coq-version; 44 - ideFlags = stdenv.lib.optionalString (buildIde && !versionAtLeast "8.10") 19 + release = { 20 + "8.5pl1".sha256 = "1976ki5xjg2r907xj9p7gs0kpdinywbwcqlgxqw75dgp0hkgi00n"; 21 + "8.5pl2".sha256 = "109rrcrx7mz0fj7725kjjghfg5ydwb24hjsa5hspa27b4caah7rh"; 22 + "8.5pl3".sha256 = "15c3rdk59nifzihsp97z4vjxis5xmsnrvpb86qiazj143z2fmdgw"; 23 + "8.6.0".sha256 = "148mb48zpdax56c0blfi7v67lx014lnmrvxxasi28hsibyz2lvg4"; 24 + "8.6.0".rev = "V8.6"; 25 + "8.6.1".sha256 = "0llrxcxwy5j87vbbjnisw42rfw1n1pm5602ssx64xaxx3k176g6l"; 26 + "8.7.0".sha256 = "1h18b7xpnx3ix9vsi5fx4zdcbxy7bhra7gd5c5yzxmk53cgf1p9m"; 27 + "8.7.1".sha256 = "0gjn59jkbxwrihk8fx9d823wjyjh5m9gvj9l31nv6z6bcqhgdqi8"; 28 + "8.7.2".sha256 = "0a0657xby8wdq4aqb2xsxp3n7pmc2w4yxjmrb2l4kccs1aqvaj4w"; 29 + "8.8.0".sha256 = "13a4fka22hdxsjk11mgjb9ffzplfxyxp1sg5v1c8nk1grxlscgw8"; 30 + "8.8.1".sha256 = "1hlf58gwazywbmfa48219amid38vqdl94yz21i11b4map6jfwhbk"; 31 + "8.8.2".sha256 = "1lip3xja924dm6qblisk1bk0x8ai24s5xxqxphbdxj6djglj68fd"; 32 + "8.9.0".sha256 = "1dkgdjc4n1m15m1p724hhi5cyxpqbjw6rxc5na6fl3v4qjjfnizh"; 33 + "8.9.1".sha256 = "1xrq6mkhpq994bncmnijf8jwmwn961kkpl4mwwlv7j3dgnysrcv2"; 34 + "8.10.0".sha256 = "138jw94wp4mg5dgjc2asn8ng09ayz1mxdznq342n0m469j803gzg"; 35 + "8.10.1".sha256 = "072v2zkjzf7gj48137wpr3c9j0hg9pdhlr5l8jrgrwynld8fp7i4"; 36 + "8.10.2".sha256 = "0znxmpy71bfw0p6x47i82jf5k7v41zbz9bdpn901ysn3ir8l3wrz"; 37 + "8.11.0".sha256 = "1rfdic6mp7acx2zfwz7ziqk12g95bl9nyj68z4n20a5bcjv2pxpn"; 38 + "8.11.1".sha256 = "0qriy9dy36dajsv5qmli8gd6v55mah02ya334nw49ky19v7518m0"; 39 + "8.11.2".sha256 = "0f77ccyxdgbf1nrj5fa8qvrk1cyfy06fv8gj9kzfvlcgn0cf48sa"; 40 + "8.12.0".sha256 = "18dc7k0piv6v064zgdadpw6mkkxk7j663hb3svgj5236fihjr0cz"; 41 + "8.12.1".sha256 = "1rkcyjjrzcqw9xk93hsq0vvji4f8r5iq0f739mghk60bghkpnb7q"; 42 + "8.12.2".sha256 = "18gscfm039pqhq4msq01nraig5dm9ab98bjca94zldf8jvdv0x2n"; 43 + "8.13+beta1".sha256 = "1v4a6dpj41flspa4ihcr7m5ahqz10kbn62fmrldmv7gzq6jsyfyq"; 44 + }; 45 + releaseRev = v: "V${v}"; 46 + fetched = import ../../../../build-support/coq/meta-fetch/default.nix 47 + { inherit stdenv fetchzip; } 48 + { inherit release releaseRev; location = { owner = "coq"; repo = "coq";}; } 49 + args.version; 50 + version = fetched.version; 51 + coq-version = args.coq-version or (if version != "dev" then versions.majorMinor version else "dev"); 52 + versionAtLeast = v: (coq-version == "dev") || (stdenv.lib.versionAtLeast coq-version v); 53 + ideFlags = optionalString (buildIde && !versionAtLeast "8.10") 45 54 "-lablgtkdir ${ocamlPackages.lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt"; 46 55 csdpPatch = if csdp != null then '' 47 56 substituteInPlace plugins/micromega/sos.ml --replace "; csdp" "; ${csdp}/bin/csdp" 48 57 substituteInPlace plugins/micromega/coq_micromega.ml --replace "System.is_in_system_path \"csdp\"" "true" 49 58 '' else ""; 59 + ocamlPackages = if !isNull customOCamlPackages then customOCamlPackages 60 + else with versions; switch coq-version [ 61 + { case = range "8.11" "8.13"; out = ocamlPackages_4_10; } 62 + { case = range "8.7" "8.10"; out = ocamlPackages_4_09; } 63 + { case = range "8.5" "8.6"; out = ocamlPackages_4_05; } 64 + ] ocamlPackages_4_10; 65 + ocamlBuildInputs = [ ocamlPackages.ocaml ocamlPackages.findlib ] 66 + ++ optional (!versionAtLeast "8.10") ocamlPackages.camlp5 67 + ++ optional (!versionAtLeast "8.13") ocamlPackages.num 68 + ++ optional (versionAtLeast "8.13") ocamlPackages.zarith; 50 69 self = stdenv.mkDerivation { 51 70 pname = "coq"; 52 - inherit version; 71 + inherit (fetched) version src; 53 72 54 73 passthru = { 55 74 inherit coq-version; 56 - inherit ocamlPackages; 75 + inherit ocamlPackages ocamlBuildInputs; 57 76 # For compatibility 58 - inherit (ocamlPackages) ocaml camlp5 findlib num; 77 + inherit (ocamlPackages) ocaml camlp5 findlib num ; 59 78 emacsBufferSetup = pkgs: '' 60 79 ; Propagate coq paths to children 61 80 (inherit-local-permanent coq-prog-name "${self}/bin/coqtop") ··· 67 86 (coq-prog-args)) 68 87 (mapc (lambda (arg) 69 88 (when (file-directory-p (concat arg "/lib/coq/${coq-version}/user-contrib")) 70 - (setenv "COQPATH" (concat (getenv "COQPATH") ":" arg "/lib/coq/${coq-version}/user-contrib")))) '(${stdenv.lib.concatStringsSep " " (map (pkg: "\"${pkg}\"") pkgs)})) 89 + (setenv "COQPATH" (concat (getenv "COQPATH") ":" arg "/lib/coq/${coq-version}/user-contrib")))) '(${concatStringsSep " " (map (pkg: "\"${pkg}\"") pkgs)})) 71 90 ; TODO Abstract this pattern from here and nixBufferBuilders.withPackages! 72 91 (defvar nixpkgs--coq-buffer-count 0) 73 92 (when (eq nixpkgs--coq-buffer-count 0) ··· 102 121 ''; 103 122 }; 104 123 105 - src = fetchFromGitHub { 106 - owner = "coq"; 107 - repo = "coq"; 108 - rev = "V${version}"; 109 - inherit sha256; 110 - }; 111 - 112 - nativeBuildInputs = [ pkgconfig ] 113 - ++ stdenv.lib.optional (!versionAtLeast "8.6") gnumake42 114 - ; 115 - buildInputs = [ ncurses ocamlPackages.ocaml ocamlPackages.findlib ] 116 - ++ stdenv.lib.optional (!versionAtLeast "8.10") ocamlPackages.camlp5 117 - ++ stdenv.lib.optional (!versionAtLeast "8.12") ocamlPackages.num 118 - ++ stdenv.lib.optionals buildIde 119 - (if versionAtLeast "8.10" 120 - then [ ocamlPackages.lablgtk3-sourceview3 glib gnome3.defaultIconTheme wrapGAppsHook ] 121 - else [ ocamlPackages.lablgtk ]); 122 - 123 - propagatedBuildInputs = 124 - stdenv.lib.optional (versionAtLeast "8.13") ocamlPackages.zarith 125 - ++ stdenv.lib.optional (coq-version == "8.12") ocamlPackages.num; 124 + nativeBuildInputs = [ pkgconfig ] ++ optional (!versionAtLeast "8.6") gnumake42; 125 + buildInputs = [ ncurses ] ++ ocamlBuildInputs 126 + ++ optionals buildIde 127 + (if versionAtLeast "8.10" 128 + then [ ocamlPackages.lablgtk3-sourceview3 glib gnome3.defaultIconTheme wrapGAppsHook ] 129 + else [ ocamlPackages.lablgtk ]); 126 130 127 131 postPatch = '' 128 132 UNAME=$(type -tp uname)
+18 -2
pkgs/applications/virtualization/nvidia-docker/default.nix
··· 6 6 , makeWrapper 7 7 , buildGoModule 8 8 , buildGoPackage 9 - , git 10 9 , glibc 10 + , docker 11 + , linkFarm 12 + , containerRuntimePath ? "${docker}/libexec/docker/runc" 11 13 }: 12 14 13 15 with lib; let 14 16 libnvidia-container = callPackage ./libnvc.nix { }; 17 + isolatedContainerRuntimePath = linkFarm "isolated_container_runtime_path" [ 18 + { 19 + name = "runc"; 20 + path = containerRuntimePath; 21 + } 22 + ]; 15 23 16 24 nvidia-container-runtime = buildGoPackage rec { 17 - pname = "nvidia-container-toolkit"; 25 + pname = "nvidia-container-runtime"; 18 26 version = "3.4.0"; 19 27 src = fetchFromGitHub { 20 28 owner = "NVIDIA"; ··· 74 82 installPhase = '' 75 83 mkdir -p $out/{bin,etc} 76 84 cp -r bin $out 85 + 77 86 wrapProgram $out/bin/nvidia-container-cli \ 78 87 --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:/run/opengl-driver-32/lib 88 + 89 + # nvidia-container-runtime invokes docker-runc or runc if that isn't available on PATH 90 + wrapProgram $out/bin/nvidia-container-runtime --prefix PATH : ${isolatedContainerRuntimePath} 91 + 79 92 cp ${./config.toml} $out/etc/config.toml 80 93 substituteInPlace $out/etc/config.toml --subst-var-by glibcbin ${lib.getBin glibc} 94 + 95 + cp ${./podman-config.toml} $out/etc/podman-config.toml 96 + substituteInPlace $out/etc/podman-config.toml --subst-var-by glibcbin ${lib.getBin glibc} 81 97 ''; 82 98 83 99 meta = {
+13
pkgs/applications/virtualization/nvidia-docker/podman-config.toml
··· 1 + disable-require = true 2 + #swarm-resource = "DOCKER_RESOURCE_GPU" 3 + 4 + [nvidia-container-cli] 5 + #root = "/run/nvidia/driver" 6 + #path = "/usr/bin/nvidia-container-cli" 7 + environment = [] 8 + #debug = "/var/log/nvidia-container-runtime-hook.log" 9 + ldcache = "/tmp/ld.so.cache" 10 + load-kmods = true 11 + no-cgroups = true 12 + #user = "root:video" 13 + ldconfig = "@@glibcbin@/bin/ldconfig"
+92
pkgs/build-support/coq/default.nix
··· 1 + { lib, stdenv, coqPackages, coq, fetchzip }@args: 2 + let lib = import ./extra-lib.nix {inherit (args) lib;}; in 3 + with builtins; with lib; 4 + let 5 + isGitHubDomain = d: match "^github.*" d != null; 6 + isGitLabDomain = d: match "^gitlab.*" d != null; 7 + in 8 + { pname, 9 + version ? null, 10 + fetcher ? null, 11 + owner ? "coq-community", 12 + domain ? "github.com", 13 + repo ? pname, 14 + defaultVersion ? null, 15 + releaseRev ? (v: v), 16 + displayVersion ? {}, 17 + release ? {}, 18 + extraBuildInputs ? [], 19 + namePrefix ? [], 20 + enableParallelBuilding ? true, 21 + extraInstallFlags ? [], 22 + setCOQBIN ? true, 23 + mlPlugin ? false, 24 + useMelquiondRemake ? null, 25 + dropAttrs ? [], 26 + keepAttrs ? [], 27 + dropDerivationAttrs ? [], 28 + ... 29 + }@args: 30 + let 31 + args-to-remove = foldl (flip remove) ([ 32 + "version" "fetcher" "repo" "owner" "domain" "releaseRev" 33 + "displayVersion" "defaultVersion" "useMelquiondRemake" 34 + "release" "extraBuildInputs" "extraPropagatedBuildInputs" "namePrefix" "meta" 35 + "extraInstallFlags" "setCOQBIN" "mlPlugin" 36 + "dropAttrs" "dropDerivationAttrs" "keepAttrs" ] ++ dropAttrs) keepAttrs; 37 + fetch = import ../coq/meta-fetch/default.nix 38 + { inherit stdenv fetchzip; } ({ 39 + inherit release releaseRev; 40 + location = { inherit domain owner repo; }; 41 + } // optionalAttrs (args?fetcher) {inherit fetcher;}); 42 + fetched = fetch (if !isNull version then version else defaultVersion); 43 + namePrefix = args.namePrefix or [ "coq" ]; 44 + display-pkg = n: sep: v: 45 + let d = displayVersion.${n} or (if sep == "" then ".." else true); in 46 + n + optionalString (v != "" && v != null) (switch d [ 47 + { case = true; out = sep + v; } 48 + { case = "."; out = sep + versions.major v; } 49 + { case = ".."; out = sep + versions.majorMinor v; } 50 + { case = "..."; out = sep + versions.majorMinorPatch v; } 51 + { case = isFunction; out = optionalString (d v != "") (sep + d v); } 52 + { case = isString; out = optionalString (d != "") (sep + d); } 53 + ] "") + optionalString (v == null) "-broken"; 54 + append-version = p: n: p + display-pkg n "" coqPackages.${n}.version + "-"; 55 + prefix-name = foldl append-version "" namePrefix; 56 + var-coqlib-install = (optionalString (versions.isGe "8.7" coq.coq-version) "COQMF_") + "COQLIB"; 57 + in 58 + 59 + stdenv.mkDerivation (removeAttrs ({ 60 + 61 + name = prefix-name + (display-pkg pname "-" fetched.version); 62 + 63 + inherit (fetched) version src; 64 + 65 + buildInputs = [ coq ] ++ optionals mlPlugin coq.ocamlBuildInputs ++ extraBuildInputs; 66 + inherit enableParallelBuilding; 67 + 68 + meta = ({ platforms = coq.meta.platforms; } // 69 + (switch domain [{ 70 + case = pred.union isGitHubDomain isGitLabDomain; 71 + out = { homepage = "https://${domain}/${owner}/${repo}"; }; 72 + }] {}) // 73 + optionalAttrs (fetched.broken or false) { coqFilter = true; broken = true; }) // 74 + (args.meta or {}) ; 75 + 76 + } // 77 + (optionalAttrs setCOQBIN { COQBIN = "${coq}/bin/"; }) // 78 + (optionalAttrs (!args?installPhase && !args?useMelquiondRemake) { 79 + installFlags = 80 + [ "${var-coqlib-install}=$(out)/lib/coq/${coq.coq-version}/" ] ++ 81 + optional (match ".*doc$" (args.installTargets or "") != null) 82 + "DOCDIR=$(out)/share/coq/${coq.coq-version}/" ++ 83 + extraInstallFlags; 84 + }) // 85 + (optionalAttrs (args?useMelquiondRemake) rec { 86 + COQUSERCONTRIB = "$out/lib/coq/${coq.coq-version}/user-contrib"; 87 + preConfigurePhases = "autoconf"; 88 + configureFlags = [ "--libdir=${COQUSERCONTRIB}/${useMelquiondRemake.logpath or ""}" ]; 89 + buildPhase = "./remake -j$NIX_BUILD_CORES"; 90 + installPhase = "./remake install"; 91 + }) // 92 + (removeAttrs args args-to-remove)) dropDerivationAttrs)
+145
pkgs/build-support/coq/extra-lib.nix
··· 1 + { lib }: 2 + with builtins; with lib; recursiveUpdate lib (rec { 3 + 4 + versions = 5 + let 6 + truncate = n: v: concatStringsSep "." (take n (splitVersion v)); 7 + opTruncate = op: v0: v: let n = length (splitVersion v0); in 8 + op (truncate n v) (truncate n v0); 9 + in rec { 10 + 11 + /* Get string of the first n parts of a version string. 12 + 13 + Example: 14 + - truncate 2 "1.2.3-stuff" 15 + => "1.2" 16 + 17 + - truncate 4 "1.2.3-stuff" 18 + => "1.2.3.stuff" 19 + */ 20 + 21 + inherit truncate; 22 + 23 + /* Get string of the first three parts (major, minor and patch) 24 + of a version string. 25 + 26 + Example: 27 + majorMinorPatch "1.2.3-stuff" 28 + => "1.2.3" 29 + */ 30 + majorMinorPatch = truncate 3; 31 + 32 + /* Version comparison predicates, 33 + - isGe v0 v <-> v is greater or equal than v0 [*] 34 + - isLe v0 v <-> v is lesser or equal than v0 [*] 35 + - isGt v0 v <-> v is strictly greater than v0 [*] 36 + - isLt v0 v <-> v is strictly lesser than v0 [*] 37 + - isEq v0 v <-> v is equal to v0 [*] 38 + - range low high v <-> v is between low and high [**] 39 + 40 + [*] truncating v to the same number of digits as v0 41 + [**] truncating v to low for the lower bound and high for the upper bound 42 + 43 + Examples: 44 + - isGe "8.10" "8.10.1" 45 + => true 46 + - isLe "8.10" "8.10.1" 47 + => true 48 + - isGt "8.10" "8.10.1" 49 + => false 50 + - isGt "8.10.0" "8.10.1" 51 + => true 52 + - isEq "8.10" "8.10.1" 53 + => true 54 + - range "8.10" "8.11" "8.11.1" 55 + => true 56 + - range "8.10" "8.11+" "8.11.0" 57 + => false 58 + - range "8.10" "8.11+" "8.11+beta1" 59 + => false 60 + 61 + */ 62 + isGe = opTruncate versionAtLeast; 63 + isGt = opTruncate (flip versionOlder); 64 + isLe = opTruncate (flip versionAtLeast); 65 + isLt = opTruncate versionOlder; 66 + isEq = opTruncate pred.equal; 67 + range = low: high: pred.inter (versions.isGe low) (versions.isLe high); 68 + }; 69 + 70 + /* Returns a list of list, splitting it using a predicate. 71 + This is analoguous to builtins.split sep list, 72 + with a predicate as a separator and a list instead of a string. 73 + 74 + Type: splitList :: (a -> bool) -> [a] -> [[a]] 75 + 76 + Example: 77 + splitList (x: x == "x") [ "y" "x" "z" "t" ] 78 + => [ [ "y" ] "x" [ "z" "t" ] ] 79 + */ 80 + splitList = pred: l: # put in file lists 81 + let loop = (vv: v: l: if l == [] then vv ++ [v] 82 + else let hd = head l; tl = tail l; in 83 + if pred hd then loop (vv ++ [ v hd ]) [] tl else loop vv (v ++ [hd]) tl); 84 + in loop [] [] l; 85 + 86 + pred = { 87 + /* Predicate intersection, union, and complement */ 88 + inter = p: q: x: p x && q x; 89 + union = p: q: x: p x || q x; 90 + compl = p: x: ! p x; 91 + true = p: true; 92 + false = p: false; 93 + 94 + /* predicate "being equal to y" */ 95 + equal = y: x: x == y; 96 + }; 97 + 98 + /* Emulate a "switch - case" construct, 99 + instead of relying on `if then else if ...` */ 100 + /* Usage: 101 + ```nix 102 + switch-if [ 103 + if-clause-1 104 + .. 105 + if-clause-k 106 + ] default-out 107 + ``` 108 + where a if-clause has the form `{ cond = b; out = r; }` 109 + the first branch such as `b` is true */ 110 + 111 + switch-if = c: d: (findFirst (getAttr "cond") {} c).out or d; 112 + 113 + /* Usage: 114 + ```nix 115 + switch x [ 116 + simple-clause-1 117 + .. 118 + simple-clause-k 119 + ] default-out 120 + ``` 121 + where a simple-clause has the form `{ case = p; out = r; }` 122 + the first branch such as `p x` is true 123 + or 124 + ```nix 125 + switch [ x1 .. xn ] [ 126 + complex-clause-1 127 + .. 128 + complex-clause-k 129 + ] default-out 130 + ``` 131 + where a complex-clause is either a simple-clause 132 + or has the form { cases = [ p1 .. pn ]; out = r; } 133 + in which case the first branch such as all `pi x` are true 134 + 135 + if the variables p are not functions, 136 + they are converted to a equal p 137 + if out is missing the default-out is taken */ 138 + 139 + switch = var: clauses: default: with pred; let 140 + compare = f: if isFunction f then f else equal f; 141 + combine = cl: var: 142 + if cl?case then compare cl.case var 143 + else all (equal true) (zipListsWith compare cl.cases var); in 144 + switch-if (map (cl: { cond = combine cl var; inherit (cl) out; }) clauses) default; 145 + })
+66
pkgs/build-support/coq/meta-fetch/default.nix
··· 1 + { stdenv, fetchzip }@args: 2 + let lib = import ../extra-lib.nix {inherit (args.stdenv) lib;}; in 3 + with builtins; with lib; 4 + let 5 + default-fetcher = {domain ? "github.com", owner ? "", repo, rev, name ? "source", sha256 ? null, ...}@args: 6 + let ext = if args?sha256 then "zip" else "tar.gz"; 7 + fmt = if args?sha256 then "zip" else "tarball"; 8 + pr = match "^#(.*)$" rev; 9 + url = switch-if [ 10 + { cond = isNull pr && !isNull (match "^github.*" domain); 11 + out = "https://${domain}/${owner}/${repo}/archive/${rev}.${ext}"; } 12 + { cond = !isNull pr && !isNull (match "^github.*" domain); 13 + out = "https://api.${domain}/repos/${owner}/${repo}/${fmt}/pull/${head pr}/head"; } 14 + { cond = isNull pr && !isNull (match "^gitlab.*" domain); 15 + out = "https://${domain}/${owner}/${repo}/-/archive/${rev}/${repo}-${rev}.${ext}"; } 16 + { cond = !isNull (match "(www.)?mpi-sws.org" domain); 17 + out = "https://www.mpi-sws.org/~${owner}/${repo}/download/${repo}-${rev}.${ext}";} 18 + ] (throw "meta-fetch: no fetcher found for domain ${domain} on ${rev}"); 19 + fetch = x: if args?sha256 then fetchzip (x // { inherit sha256; }) else fetchTarball x; 20 + in fetch { inherit url ; }; 21 + in 22 + { 23 + fetcher ? default-fetcher, 24 + location, 25 + release ? {}, 26 + releaseRev ? (v: v), 27 + }: 28 + let isVersion = x: isString x && match "^/.*" x == null && release?${x}; 29 + shortVersion = x: if (isString x && match "^/.*" x == null) 30 + then findFirst (v: versions.majorMinor v == x) null 31 + (sort versionAtLeast (attrNames release)) 32 + else null; 33 + isShortVersion = x: shortVersion x != null; 34 + isPathString = x: isString x && match "^/.*" x != null && pathExists x; in 35 + arg: 36 + switch arg [ 37 + { case = isNull; out = { version = "broken"; src = ""; broken = true; }; } 38 + { case = isPathString; out = { version = "dev"; src = arg; }; } 39 + { case = pred.union isVersion isShortVersion; 40 + out = let v = if isVersion arg then arg else shortVersion arg; in 41 + if !release.${v}?sha256 then throw "meta-fetch: a sha256 must be provided for each release" 42 + else { 43 + version = release.${v}.version or v; 44 + src = release.${v}.src or fetcher (location // { rev = releaseRev v; } // release.${v}); 45 + }; 46 + } 47 + { case = isString; 48 + out = let 49 + splitted = filter isString (split ":" arg); 50 + rev = last splitted; 51 + has-owner = length splitted > 1; 52 + version = "dev"; in { 53 + inherit version; 54 + src = fetcher (location // { inherit rev; } // 55 + (optionalAttrs has-owner { owner = head splitted; })); 56 + }; } 57 + { case = isAttrs; 58 + out = let 59 + { version = arg.version or "dev"; 60 + src = (arg.fetcher or fetcher) (location // (arg.location or {})); 61 + }; } 62 + { case = isPath; 63 + out = { 64 + version = "dev" ; 65 + src = builtins.path {path = arg; name = location.name or "source";}; }; } 66 + ] (throw "not a valid source description")
+53 -12
pkgs/build-support/rust/default-crate-overrides.nix
··· 1 - { stdenv, pkgconfig, curl, darwin, libiconv, libgit2, libssh2, 1 + { stdenv, pkg-config, curl, darwin, libiconv, libgit2, libssh2, 2 2 openssl, sqlite, zlib, dbus, dbus-glib, gdk-pixbuf, cairo, python3, 3 - libsodium, postgresql, gmp, foundationdb, ... }: 3 + libsodium, postgresql, gmp, foundationdb, capnproto, nettle, clang, 4 + llvmPackages, ... }: 4 5 5 6 let 6 7 inherit (darwin.apple_sdk.frameworks) CoreFoundation Security; ··· 8 9 { 9 10 cairo-rs = attrs: { 10 11 buildInputs = [ cairo ]; 12 + }; 13 + 14 + capnp-rpc = attrs: { 15 + nativeBuildInputs = [ capnproto ]; 11 16 }; 12 17 13 18 cargo = attrs: { ··· 16 21 }; 17 22 18 23 libz-sys = attrs: { 19 - nativeBuildInputs = [ pkgconfig ]; 24 + nativeBuildInputs = [ pkg-config ]; 20 25 buildInputs = [ zlib ]; 21 26 extraLinkFlags = ["-L${zlib.out}/lib"]; 22 27 }; 23 28 24 29 curl-sys = attrs: { 25 - nativeBuildInputs = [ pkgconfig ]; 30 + nativeBuildInputs = [ pkg-config ]; 26 31 buildInputs = [ zlib curl ]; 27 32 propagatedBuildInputs = [ curl zlib ]; 28 33 extraLinkFlags = ["-L${zlib.out}/lib"]; 29 34 }; 30 35 31 36 dbus = attrs: { 32 - nativeBuildInputs = [ pkgconfig ]; 37 + nativeBuildInputs = [ pkg-config ]; 33 38 buildInputs = [ dbus ]; 34 39 }; 35 40 ··· 65 70 66 71 libgit2-sys = attrs: { 67 72 LIBGIT2_SYS_USE_PKG_CONFIG = true; 68 - nativeBuildInputs = [ pkgconfig ]; 73 + nativeBuildInputs = [ pkg-config ]; 69 74 buildInputs = [ openssl zlib libgit2 ]; 70 75 }; 71 76 72 77 libsqlite3-sys = attrs: { 73 - nativeBuildInputs = [ pkgconfig ]; 78 + nativeBuildInputs = [ pkg-config ]; 74 79 buildInputs = [ sqlite ]; 75 80 }; 76 81 77 82 libssh2-sys = attrs: { 78 - nativeBuildInputs = [ pkgconfig ]; 83 + nativeBuildInputs = [ pkg-config ]; 79 84 buildInputs = [ openssl zlib libssh2 ]; 80 85 }; 81 86 82 87 libdbus-sys = attrs: { 83 - nativeBuildInputs = [ pkgconfig ]; 88 + nativeBuildInputs = [ pkg-config ]; 84 89 buildInputs = [ dbus ]; 85 90 }; 86 91 92 + nettle-sys = attrs: { 93 + nativeBuildInputs = [ pkg-config ]; 94 + buildInputs = [ nettle clang ]; 95 + LIBCLANG_PATH = "${llvmPackages.libclang}/lib"; 96 + }; 97 + 87 98 openssl = attrs: { 88 99 buildInputs = [ openssl ]; 89 100 }; 90 101 91 102 openssl-sys = attrs: { 92 - nativeBuildInputs = [ pkgconfig ]; 103 + nativeBuildInputs = [ pkg-config ]; 93 104 buildInputs = [ openssl ]; 94 105 }; 95 106 96 107 pq-sys = attr: { 97 - nativeBuildInputs = [ pkgconfig ]; 108 + nativeBuildInputs = [ pkg-config ]; 98 109 buildInputs = [ postgresql ]; 99 110 }; 100 111 ··· 107 118 propagatedBuildInputs = [ Security ]; 108 119 }; 109 120 121 + sequoia-openpgp = attrs: { 122 + buildInputs = [ gmp ]; 123 + }; 124 + 125 + sequoia-openpgp-ffi = attrs: { 126 + buildInputs = [ gmp ]; 127 + }; 128 + 129 + sequoia-ipc = attrs: { 130 + buildInputs = [ gmp ]; 131 + }; 132 + 133 + sequoia-guide = attrs: { 134 + buildInputs = [ gmp ]; 135 + }; 136 + 137 + sequoia-store = attrs: { 138 + nativeBuildInputs = [ capnproto ]; 139 + buildInputs = [ sqlite gmp ]; 140 + }; 141 + 142 + sequoia-sq = attrs: { 143 + buildInputs = [ sqlite gmp ]; 144 + }; 145 + 146 + sequoia-tool = attrs: { 147 + nativeBuildInputs = [ capnproto ]; 148 + buildInputs = [ sqlite gmp ]; 149 + }; 150 + 110 151 serde_derive = attrs: { 111 152 buildInputs = stdenv.lib.optional stdenv.isDarwin Security; 112 153 }; 113 154 114 155 thrussh-libsodium = attrs: { 115 - nativeBuildInputs = [ pkgconfig ]; 156 + nativeBuildInputs = [ pkg-config ]; 116 157 buildInputs = [ libsodium ]; 117 158 }; 118 159
+1 -1
pkgs/development/compilers/rust/1_45.nix
··· 33 33 # building 34 34 bootstrapVersion = "1.44.1"; 35 35 36 - # fetch hashes by running `print-hashes.sh 1.45.0` 36 + # fetch hashes by running `print-hashes.sh ${bootstrapVersion}` 37 37 bootstrapHashes = { 38 38 i686-unknown-linux-gnu = "e69689b0a1b66599cf83e7dd54f839419007e44376195e93e301a3175da3d854"; 39 39 x86_64-unknown-linux-gnu = "a41df89a461a580536aeb42755e43037556fba2e527dd13a1e1bb0749de28202";
+1 -1
pkgs/development/compilers/rust/1_48.nix
··· 35 35 # building 36 36 bootstrapVersion = "1.47.0"; 37 37 38 - # fetch hashes by running `print-hashes.sh 1.45.2` 38 + # fetch hashes by running `print-hashes.sh ${bootstrapVersion}` 39 39 bootstrapHashes = { 40 40 i686-unknown-linux-gnu = "84bf092130ea5216fc701871e633563fc1c01b6528f60cb0767e96cd8eec30bf"; 41 41 x86_64-unknown-linux-gnu = "d0e11e1756a072e8e246b05d54593402813d047d12e44df281fbabda91035d96";
+8 -27
pkgs/development/coq-modules/Cheerios/default.nix
··· 1 - { stdenv, fetchFromGitHub, coq, StructTact }: 1 + { lib, mkCoqDerivation, coq, StructTact, version ? null }: 2 2 3 - let param = 4 - { 5 - version = "20200201"; 6 - rev = "9c7f66e57b91f706d70afa8ed99d64ed98ab367d"; 7 - sha256 = "1h55s6lk47bk0lv5ralh81z55h799jbl9mhizmqwqzy57y8wqgs1"; 8 - }; 9 - in 10 - 11 - stdenv.mkDerivation { 12 - name = "coq${coq.coq-version}-Cheerios-${param.version}"; 13 - 14 - src = fetchFromGitHub { 15 - owner = "uwplse"; 16 - repo = "cheerios"; 17 - inherit (param) rev sha256; 18 - }; 19 - 20 - buildInputs = [ coq ]; 3 + with lib; mkCoqDerivation { 4 + pname = "cheerios"; 5 + owner = "uwplse"; 6 + inherit version; 7 + defaultVersion = if versions.isGe "8.6" coq.coq-version then "20200201" else null; 8 + release."20200201".rev = "9c7f66e57b91f706d70afa8ed99d64ed98ab367d"; 9 + release."20200201".sha256 = "1h55s6lk47bk0lv5ralh81z55h799jbl9mhizmqwqzy57y8wqgs1"; 21 10 22 11 propagatedBuildInputs = [ StructTact ]; 23 - enableParallelBuilding = true; 24 - 25 12 preConfigure = "patchShebangs ./configure"; 26 - 27 - installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; 28 - 29 - passthru = { 30 - compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" "8.8" "8.9" "8.10" "8.11" "8.12" ]; 31 - }; 32 13 }
+18 -48
pkgs/development/coq-modules/CoLoR/default.nix
··· 1 - { stdenv, fetchFromGitHub, coq, bignums }: 1 + { lib, mkCoqDerivation, coq, bignums, version ? null }: 2 2 3 - let 4 - coqVersions = { 5 - "8.6" = "1.4.0"; 6 - "8.7" = "1.4.0"; 7 - "8.8" = "1.6.0"; 8 - "8.9" = "1.6.0"; 9 - "8.10" = "1.7.0"; 10 - "8.11" = "1.7.0"; 11 - }; 12 - params = { 13 - "1.4.0" = { 14 - version = "1.4.0"; 15 - rev = "168c6b86c7d3f87ee51791f795a8828b1521589a"; 16 - sha256 = "1d2whsgs3kcg5wgampd6yaqagcpmzhgb6a0hp6qn4lbimck5dfmm"; 17 - }; 18 - "1.6.0" = { 19 - version = "1.6.0"; 20 - rev = "328aa06270584b578edc0d2925e773cced4f14c8"; 21 - sha256 = "07sy9kw1qlynsqy251adgi8b3hghrc9xxl2rid6c82mxfsp329sd"; 22 - }; 23 - "1.7.0" = { 24 - version = "1.7.0"; 25 - rev = "08b5481ed6ea1a5d2c4c068b62156f5be6d82b40"; 26 - sha256 = "1w7fmcpf0691gcwq00lm788k4ijlwz3667zj40j5jjc8j8hj7cq3"; 27 - }; 28 - }; 29 - param = params.${coqVersions.${coq.coq-version}}; 30 - in 31 - 32 - stdenv.mkDerivation { 33 - name = "coq${coq.coq-version}-CoLoR-${param.version}"; 3 + with lib; mkCoqDerivation { 4 + pname = "color"; 5 + owner = "fblanqui"; 6 + inherit version; 7 + defaultVersion = with versions; switch coq.coq-version [ 8 + {case = range "8.10" "8.11"; out = "1.7.0"; } 9 + {case = range "8.8" "8.9"; out = "1.6.0"; } 10 + {case = range "8.6" "8.7"; out = "1.4.0"; } 11 + ] null; 34 12 35 - src = fetchFromGitHub { 36 - owner = "fblanqui"; 37 - repo = "color"; 38 - inherit (param) rev sha256; 39 - }; 13 + release."1.7.0".rev = "08b5481ed6ea1a5d2c4c068b62156f5be6d82b40"; 14 + release."1.7.0".sha256 = "1w7fmcpf0691gcwq00lm788k4ijlwz3667zj40j5jjc8j8hj7cq3"; 15 + release."1.6.0".rev = "328aa06270584b578edc0d2925e773cced4f14c8"; 16 + release."1.6.0".sha256 = "07sy9kw1qlynsqy251adgi8b3hghrc9xxl2rid6c82mxfsp329sd"; 17 + release."1.4.0".rev = "168c6b86c7d3f87ee51791f795a8828b1521589a"; 18 + release."1.4.0".sha256 = "1d2whsgs3kcg5wgampd6yaqagcpmzhgb6a0hp6qn4lbimck5dfmm"; 40 19 41 - buildInputs = [ coq bignums ]; 20 + extraBuildInputs = [ bignums ]; 42 21 enableParallelBuilding = false; 43 22 44 - installPhase = '' 45 - make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install 46 - ''; 47 - 48 - meta = with stdenv.lib; { 23 + meta = { 49 24 homepage = "http://color.inria.fr/"; 50 25 description = "CoLoR is a library of formal mathematical definitions and proofs of theorems on rewriting theory and termination whose correctness has been mechanically checked by the Coq proof assistant."; 51 26 maintainers = with maintainers; [ jpas jwiegley ]; 52 - platforms = coq.meta.platforms; 53 - }; 54 - 55 - passthru = { 56 - compatibleCoqVersions = v: builtins.hasAttr v coqVersions; 57 27 }; 58 28 }
+10 -23
pkgs/development/coq-modules/HoTT/default.nix
··· 1 - { stdenv, fetchFromGitHub, autoconf, automake, coq }: 2 - 3 - stdenv.mkDerivation rec { 4 - name = "coq${coq.coq-version}-HoTT-${version}"; 5 - version = "20170921"; 1 + { lib, mkCoqDerivation, autoconf, automake, coq, version ? null }: 6 2 7 - src = fetchFromGitHub { 8 - owner = "HoTT"; 9 - repo = "HoTT"; 10 - rev = "e3557740a699167e6adb1a65855509d55a392fa1"; 11 - sha256 = "0zwfp8g62b50vmmbb2kmskj3v6w7qx1pbf43yw0hr7asdz2zbx5v"; 12 - }; 3 + with lib; mkCoqDerivation { 4 + pname = "HoTT"; 5 + owner = "HoTT"; 6 + inherit version; 7 + defaultVersion = if coq.coq-version == "8.6" then "20170921" else null; 8 + release."20170921".rev = "e3557740a699167e6adb1a65855509d55a392fa1"; 9 + release."20170921".sha256 = "0zwfp8g62b50vmmbb2kmskj3v6w7qx1pbf43yw0hr7asdz2zbx5v"; 13 10 14 - buildInputs = [ autoconf automake coq ]; 15 - enableParallelBuilding = true; 11 + extraBuildInputs = [ autoconf automake ]; 16 12 17 13 preConfigure = '' 18 14 patchShebangs ./autogen.sh ··· 44 40 rmdir $out/share 45 41 ''; 46 42 47 - installFlags = [ 48 - "COQBIN=${coq}/bin" 49 - ]; 50 - 51 - meta = with stdenv.lib; { 43 + meta = { 52 44 homepage = "http://homotopytypetheory.org/"; 53 45 description = "Homotopy type theory"; 54 46 maintainers = with maintainers; [ siddharthist ]; 55 - platforms = coq.meta.platforms; 56 - }; 57 - 58 - passthru = { 59 - compatibleCoqVersions = v: v == "8.6"; 60 47 }; 61 48 }
+8 -28
pkgs/development/coq-modules/InfSeqExt/default.nix
··· 1 - { stdenv, fetchFromGitHub, coq }: 2 - 3 - let param = 4 - { 5 - version = "20200131"; 6 - rev = "203d4c20211d6b17741f1fdca46dbc091f5e961a"; 7 - sha256 = "0xylkdmb2dqnnqinf3pigz4mf4zmczcbpjnn59g5g76m7f2cqxl0"; 8 - }; 9 - in 10 - 11 - stdenv.mkDerivation { 12 - name = "coq${coq.coq-version}-InfSeqExt-${param.version}"; 13 - 14 - src = fetchFromGitHub { 15 - owner = "DistributedComponents"; 16 - repo = "InfSeqExt"; 17 - inherit (param) rev sha256; 18 - }; 1 + { lib, mkCoqDerivation, coq, version ? null }: 19 2 20 - buildInputs = [ coq ]; 21 - 22 - enableParallelBuilding = true; 23 - 3 + mkCoqDerivation { 4 + pname = "InfSeqExt"; 5 + owner = "DistributedComponents"; 6 + inherit version; 7 + defaultVersion = if lib.versions.isGe "8.5" coq.coq-version then "20200131" else null; 8 + release."20200131".rev = "203d4c20211d6b17741f1fdca46dbc091f5e961a"; 9 + release."20200131".sha256 = "0xylkdmb2dqnnqinf3pigz4mf4zmczcbpjnn59g5g76m7f2cqxl0"; 24 10 preConfigure = "patchShebangs ./configure"; 25 - 26 - installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; 27 - 28 - passthru = { 29 - compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" "8.9" "8.10" "8.11" "8.12" ]; 30 - }; 31 11 }
+34 -84
pkgs/development/coq-modules/QuickChick/default.nix
··· 1 - { stdenv, fetchFromGitHub, coq, ssreflect, coq-ext-lib, simple-io }: 2 - 3 - let params = 4 - { 5 - "8.5" = { 6 - version = "20170512"; 7 - rev = "31eb050ae5ce57ab402db9726fb7cd945a0b4d03"; 8 - sha256 = "033ch10i5wmqyw8j6wnr0dlbnibgfpr1vr0c07q3yj6h23xkmqpg"; 9 - }; 10 - 11 - "8.6" = { 12 - version = "20171102"; 13 - rev = "0fdb769e1dc87a278383b44a9f5102cc7ccbafcf"; 14 - sha256 = "0fri4nih40vfb0fbr82dsi631ydkw48xszinq43lyinpknf54y17"; 15 - }; 16 - 17 - "8.8" = { 18 - version = "20190311"; 19 - rev = "22af9e9a223d0038f05638654422e637e863b355"; 20 - sha256 = "00rnr19lg6lg0haq1sy4ld38p7imzand6fc52fvfq27gblxkp2aq"; 21 - }; 22 - 23 - "8.9" = rec { 24 - version = "1.1.0"; 25 - rev = "v${version}"; 26 - sha256 = "1c34v1k37rk7v0xk2czv5n79mbjxjrm6nh3llg2mpfmdsqi68wf3"; 27 - }; 28 - 29 - "8.10" = rec { 30 - version = "1.2.1"; 31 - rev = "v${version}"; 32 - sha256 = "17vz88xjzxh3q7hs6hnndw61r3hdfawxp5awqpgfaxx4w6ni8z46"; 33 - }; 34 - 35 - "8.11" = rec { 36 - version = "1.3.2"; 37 - rev = "v${version}"; 38 - sha256 = "0lciwaqv288dh2f13xk2x0lrn6zyrkqy6g4yy927wwzag2gklfrs"; 39 - }; 40 - 41 - "8.12" = rec { 42 - version = "1.4.0"; 43 - rev = "v${version}"; 44 - sha256 = "068p48pm5yxjc3yv8qwzp25bp9kddvxj81l31mjkyx3sdrsw3kyc"; 45 - }; 46 - }; 47 - param = params.${coq.coq-version}; 48 - in 49 - 50 - let inherit (stdenv.lib) maintainers optional optionals versionAtLeast; in 51 - 52 - let recent = versionAtLeast coq.coq-version "8.8"; in 53 - 54 - stdenv.mkDerivation { 55 - 56 - name = "coq${coq.coq-version}-QuickChick-${param.version}"; 57 - 58 - src = fetchFromGitHub { 59 - owner = "QuickChick"; 60 - repo = "QuickChick"; 61 - inherit (param) rev sha256; 62 - }; 1 + { lib, mkCoqDerivation, coq, ssreflect, coq-ext-lib, simple-io }: 2 + with lib; 3 + let recent = versions.isGe "8.7" coq.coq-version; in 4 + mkCoqDerivation { 5 + pname = "QuickChick"; 6 + owner = "QuickChick"; 7 + defaultVersion = with versions; switch [ coq.coq-version ssreflect.version ] [ 8 + { cases = [ "8.12" pred.true ]; out = "1.4.0"; } 9 + { cases = [ "8.11" pred.true ]; out = "1.3.2"; } 10 + { cases = [ "8.10" pred.true ]; out = "1.2.1"; } 11 + { cases = [ "8.9" pred.true ]; out = "1.1.0"; } 12 + { cases = [ "8.8" pred.true ]; out = "20190311"; } 13 + { cases = [ "8.7" isLe "1.8" ]; out = "1.0.0"; } 14 + { cases = [ "8.6" pred.true ]; out = "20171102"; } 15 + { cases = [ "8.5" pred.true ]; out = "20170512"; } 16 + ] null; 17 + release."1.4.0".sha256 = "068p48pm5yxjc3yv8qwzp25bp9kddvxj81l31mjkyx3sdrsw3kyc"; 18 + release."1.3.2".sha256 = "0lciwaqv288dh2f13xk2x0lrn6zyrkqy6g4yy927wwzag2gklfrs"; 19 + release."1.2.1".sha256 = "17vz88xjzxh3q7hs6hnndw61r3hdfawxp5awqpgfaxx4w6ni8z46"; 20 + release."1.1.0".sha256 = "1c34v1k37rk7v0xk2czv5n79mbjxjrm6nh3llg2mpfmdsqi68wf3"; 21 + release."1.0.0".sha256 = "1gqy9a4yavd0sa7kgysf9gf2lq4p8dmn4h89y8081f2j8zli0w5y"; 22 + release."20190311".rev = "22af9e9a223d0038f05638654422e637e863b355"; 23 + release."20190311".sha256 = "00rnr19lg6lg0haq1sy4ld38p7imzand6fc52fvfq27gblxkp2aq"; 24 + release."20171102".rev = "0fdb769e1dc87a278383b44a9f5102cc7ccbafcf"; 25 + release."20171102".sha256 = "0fri4nih40vfb0fbr82dsi631ydkw48xszinq43lyinpknf54y17"; 26 + release."20170512".rev = "31eb050ae5ce57ab402db9726fb7cd945a0b4d03"; 27 + release."20170512".sha256 = "033ch10i5wmqyw8j6wnr0dlbnibgfpr1vr0c07q3yj6h23xkmqpg"; 28 + releaseRev = v: "v${v}"; 63 29 64 - preConfigure = stdenv.lib.optionalString recent 30 + preConfigure = optionalString recent 65 31 "substituteInPlace Makefile --replace quickChickTool.byte quickChickTool.native"; 66 32 67 - buildInputs = [ coq ] 68 - ++ (with coq.ocamlPackages; [ ocaml findlib ]) 69 - ++ optionals (recent && !versionAtLeast coq.coq-version "8.10") 70 - (with coq.ocamlPackages; [ camlp5 ocamlbuild ]) 71 - ++ optional recent coq.ocamlPackages.num 72 - ; 33 + mlPlugin = true; 34 + extraBuildInputs = optional recent coq.ocamlPackages.num; 73 35 propagatedBuildInputs = [ ssreflect ] 74 - ++ optionals recent [ coq-ext-lib simple-io ] 75 - ++ optional (versionAtLeast coq.coq-version "8.10") 76 - coq.ocamlPackages.ocamlbuild 77 - ; 36 + ++ optionals recent [ coq-ext-lib simple-io ] 37 + ++ optional recent coq.ocamlPackages.ocamlbuild; 38 + extraInstallFlags = [ "-f Makefile.coq" ]; 78 39 79 40 enableParallelBuilding = false; 80 - 81 - installPhase = '' 82 - make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install 83 - ''; 84 41 85 42 meta = { 86 - homepage = "https://github.com/QuickChick/QuickChick"; 87 43 description = "Randomized property-based testing plugin for Coq; a clone of Haskell QuickCheck"; 88 44 maintainers = with maintainers; [ jwiegley ]; 89 - platforms = coq.meta.platforms; 90 45 }; 91 - 92 - passthru = { 93 - compatibleCoqVersions = v: builtins.hasAttr v params; 94 - }; 95 - 96 46 }
+8 -28
pkgs/development/coq-modules/StructTact/default.nix
··· 1 - { stdenv, fetchFromGitHub, coq }: 2 - 3 - let param = 4 - { 5 - version = "20181102"; 6 - rev = "82a85b7ec07e71fa6b30cfc05f6a7bfb09ef2510"; 7 - sha256 = "08zry20flgj7qq37xk32kzmg4fg6d4wi9m7pf9aph8fd3j2a0b5v"; 8 - }; 9 - in 10 - 11 - stdenv.mkDerivation { 12 - name = "coq${coq.coq-version}-StructTact-${param.version}"; 13 - 14 - src = fetchFromGitHub { 15 - owner = "uwplse"; 16 - repo = "StructTact"; 17 - inherit (param) rev sha256; 18 - }; 1 + { lib, mkCoqDerivation, coq, version ? null }: 19 2 20 - buildInputs = [ coq ]; 21 - 22 - enableParallelBuilding = true; 23 - 3 + with lib; mkCoqDerivation { 4 + pname = "StructTact"; 5 + owner = "uwplse"; 6 + inherit version; 7 + defaultVersion = if versions.isGe "8.5" coq.coq-version then "20181102" else null; 8 + release."20181102".rev = "82a85b7ec07e71fa6b30cfc05f6a7bfb09ef2510"; 9 + release."20181102".sha256 = "08zry20flgj7qq37xk32kzmg4fg6d4wi9m7pf9aph8fd3j2a0b5v"; 24 10 preConfigure = "patchShebangs ./configure"; 25 - 26 - installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; 27 - 28 - passthru = { 29 - compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.5"; 30 - }; 31 11 }
+10 -17
pkgs/development/coq-modules/VST/default.nix
··· 1 - { stdenv, fetchFromGitHub, coq, compcert }: 1 + { lib, mkCoqDerivation, coq, compcert, version ? null }: 2 2 3 - stdenv.mkDerivation rec { 3 + with lib; mkCoqDerivation { 4 4 pname = "coq${coq.coq-version}-VST"; 5 - version = "2.6"; 6 - 7 - src = fetchFromGitHub { 8 - owner = "PrincetonUniversity"; 9 - repo = "VST"; 10 - rev = "v${version}"; 11 - sha256 = "00bf9hl4pvmsqa08lzjs1mrxyfgfxq4k6778pnldmc8ichm90jgk"; 12 - }; 13 - 14 - buildInputs = [ coq ]; 5 + namePrefix = []; 6 + displayVersion = { coq = false; }; 7 + owner = "PrincetonUniversity"; 8 + repo = "VST"; 9 + inherit version; 10 + defaultVersion = if coq.coq-version == "8.11" then "2.6" else null; 11 + release."2.6".sha256 = "00bf9hl4pvmsqa08lzjs1mrxyfgfxq4k6778pnldmc8ichm90jgk"; 12 + releaseRev = v: "v${v}"; 15 13 propagatedBuildInputs = [ compcert ]; 16 14 17 15 preConfigure = "patchShebangs util"; ··· 30 28 done 31 29 ''; 32 30 33 - enableParallelBuilding = true; 34 - 35 - passthru.compatibleCoqVersions = stdenv.lib.flip builtins.elem [ "8.11" ]; 36 - 37 31 meta = { 38 32 description = "Verified Software Toolchain"; 39 33 homepage = "https://vst.cs.princeton.edu/"; 40 34 inherit (compcert.meta) platforms; 41 35 }; 42 - 43 36 }
+9 -40
pkgs/development/coq-modules/Velisarios/default.nix
··· 1 - { stdenv, fetchFromGitHub, coq }: 1 + { lib, mkCoqDerivation, coq, version ? null }: 2 2 3 - let params = 4 - { 5 - "8.6" = { 6 - version = "20180221"; 7 - rev = "e1eee1f10d5d46331a560bd8565ac101229d0d6b"; 8 - sha256 = "0l9885nxy0n955fj1gnijlxl55lyxiv9yjfmz8hmfrn9hl8vv1m2"; 9 - }; 3 + with lib; mkCoqDerivation { 4 + pname = "Velisarios"; 5 + owner = "vrahli"; 6 + inherit version; 7 + defaultVersion = if versions.range "8.6" "8.8" coq.coq-version then "20180221" else null; 10 8 11 - "8.7" = { 12 - version = "20180221"; 13 - rev = "e1eee1f10d5d46331a560bd8565ac101229d0d6b"; 14 - sha256 = "0l9885nxy0n955fj1gnijlxl55lyxiv9yjfmz8hmfrn9hl8vv1m2"; 15 - }; 16 - 17 - "8.8" = { 18 - version = "20180221"; 19 - rev = "e1eee1f10d5d46331a560bd8565ac101229d0d6b"; 20 - sha256 = "0l9885nxy0n955fj1gnijlxl55lyxiv9yjfmz8hmfrn9hl8vv1m2"; 21 - }; 22 - }; 23 - param = params.${coq.coq-version}; 24 - in 25 - 26 - stdenv.mkDerivation { 27 - name = "coq${coq.coq-version}-Velisarios-${param.version}"; 28 - 29 - src = fetchFromGitHub { 30 - owner = "vrahli"; 31 - repo = "Velisarios"; 32 - inherit (param) rev sha256; 33 - }; 34 - 35 - buildInputs = [ 36 - coq coq.ocaml coq.camlp5 coq.findlib 37 - ]; 38 - enableParallelBuilding = true; 9 + release."20180221".rev = "e1eee1f10d5d46331a560bd8565ac101229d0d6b"; 10 + release."20180221".sha256 = "0l9885nxy0n955fj1gnijlxl55lyxiv9yjfmz8hmfrn9hl8vv1m2"; 11 + mlPlugin = true; 39 12 40 13 buildPhase = "make -j$NIX_BUILD_CORES"; 41 14 preBuild = "./create-makefile.sh"; ··· 43 16 mkdir -p $out/lib/coq/${coq.coq-version}/Velisarios 44 17 cp -pR model/*.vo $out/lib/coq/${coq.coq-version}/Velisarios 45 18 ''; 46 - 47 - passthru = { 48 - compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" "8.8" ]; 49 - }; 50 19 }
+13 -31
pkgs/development/coq-modules/Verdi/default.nix
··· 1 - { stdenv, fetchFromGitHub, coq, Cheerios, InfSeqExt, ssreflect }: 2 - 3 - let param = 4 - if stdenv.lib.versionAtLeast coq.coq-version "8.7" then 5 - { 6 - version = "20200131"; 7 - rev = "fdb4ede19d2150c254f0ebcfbed4fb9547a734b0"; 8 - sha256 = "1a2k19f9q5k5djbxplqmmpwck49kw3lrm3aax920h4yb40czkd8m"; 9 - } else { 10 - version = "20181102"; 11 - rev = "25b79cf1be5527ab8dc1b8314fcee93e76a2e564"; 12 - sha256 = "1vw47c37k5vaa8vbr6ryqy8riagngwcrfmb3rai37yi9xhdqg55z"; 13 - }; 14 - in 1 + { lib, mkCoqDerivation, coq, Cheerios, InfSeqExt, ssreflect, version ? null }: 15 2 16 - stdenv.mkDerivation { 17 - name = "coq${coq.coq-version}-verdi-${param.version}"; 18 3 19 - src = fetchFromGitHub { 20 - owner = "uwplse"; 21 - repo = "verdi"; 22 - inherit (param) rev sha256; 23 - }; 4 + with lib; mkCoqDerivation { 5 + pname = "verdi"; 6 + owner = "uwplse"; 7 + inherit version; 8 + defaultVersion = with versions; switch coq.coq-version [ 9 + { case = isGe "8.7"; out = "20200131"; } 10 + { case = isEq "8.6"; out = "20181102"; } 11 + ] null; 12 + release."20200131".rev = "fdb4ede19d2150c254f0ebcfbed4fb9547a734b0"; 13 + release."20200131".sha256 = "1a2k19f9q5k5djbxplqmmpwck49kw3lrm3aax920h4yb40czkd8m"; 14 + release."20181102".rev = "25b79cf1be5527ab8dc1b8314fcee93e76a2e564"; 15 + release."20181102".sha256 = "1vw47c37k5vaa8vbr6ryqy8riagngwcrfmb3rai37yi9xhdqg55z"; 24 16 25 - buildInputs = [ coq ]; 26 17 propagatedBuildInputs = [ Cheerios InfSeqExt ssreflect ]; 27 - 28 - enableParallelBuilding = true; 29 - 30 18 preConfigure = "patchShebangs ./configure"; 31 - 32 - installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; 33 - 34 - passthru = { 35 - compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" "8.8" "8.9" "8.10" "8.11" "8.12" ]; 36 - }; 37 19 }
+11 -22
pkgs/development/coq-modules/autosubst/default.nix
··· 1 - { stdenv, fetchgit, coq, mathcomp }: 1 + { lib, mkCoqDerivation, coq, mathcomp, version ? null }: 2 2 3 - stdenv.mkDerivation rec { 3 + with lib; mkCoqDerivation { 4 + pname = "autosubst"; 5 + owner = "uds-psl"; 6 + inherit version; 7 + defaultVersion = with versions; 8 + if range "8.5" "8.7" coq.coq-version then "5b40a32e" else null; 4 9 5 - name = "coq-autosubst-${coq.coq-version}-${version}"; 6 - version = "5b40a32e"; 10 + release."5b40a32e".rev = "1c3bb3bbf5477e3b33533a0fc090399f45fe3034"; 11 + release."5b40a32e".sha256 = "1wqfzc9az85fvx71xxfii502jgc3mp0r3xwfb8vnb03vkk625ln0"; 7 12 8 - src = fetchgit { 9 - url = "git://github.com/uds-psl/autosubst.git"; 10 - rev = "1c3bb3bbf5477e3b33533a0fc090399f45fe3034"; 11 - sha256 = "06pcjbngzwqyncvfwzz88j33wvdj9kizxyg5adp7y6186h8an341"; 12 - }; 13 - 14 - buildInputs = [ coq ]; 15 - propagatedBuildInputs = [ mathcomp ]; 13 + propagatedBuildInputs = [ mathcomp.ssreflect ]; 16 14 17 15 patches = [./0001-changes-to-work-with-Coq-8.6.patch]; 18 16 19 - installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; 20 - 21 - meta = with stdenv.lib; { 17 + meta = { 22 18 homepage = "https://www.ps.uni-saarland.de/autosubst/"; 23 19 description = "Automation for de Bruijn syntax and substitution in Coq"; 24 20 maintainers = with maintainers; [ jwiegley ]; 25 - platforms = coq.meta.platforms; 26 21 }; 27 - 28 - passthru = { 29 - compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" ]; 30 - }; 31 - 32 - 33 22 }
+20 -59
pkgs/development/coq-modules/bignums/default.nix
··· 1 - { stdenv, fetchFromGitHub, coq }: 1 + { lib, mkCoqDerivation, coq, version ? null }: 2 2 3 - let params = { 4 - "8.6" = { 5 - rev = "v8.6.0"; 6 - sha256 = "0553pcsy21cyhmns6k9qggzb67az8kl31d0lwlnz08bsqswigzrj"; 7 - }; 8 - "8.7" = { 9 - rev = "V8.7.0"; 10 - sha256 = "11c4sdmpd3l6jjl4v6k213z9fhrmmm1xnly3zmzam1wrrdif4ghl"; 11 - }; 12 - "8.8" = { 13 - rev = "V8.8.0"; 14 - sha256 = "1ymxyrvjygscxkfj3qkq66skl3vdjhb670rzvsvgmwrjkrakjnfg"; 15 - }; 16 - "8.9" = { 17 - rev = "V8.9.0"; 18 - sha256 = "03qz1w2xb2j5p06liz5yyafl0fl9vprcqm6j0iwi7rxwghl00p01"; 19 - }; 20 - "8.10" = { 21 - rev = "V8.10.0"; 22 - sha256 = "0bpb4flckn4nqxbs3wjiznyx1k7r8k93qdigp3qwmikp2lxvcbw5"; 23 - }; 24 - "8.11" = { 25 - rev = "V8.11.0"; 26 - sha256 = "1xcd7c7qlvs0narfba6px34zq0mz8rffnhxw0kzhhg6i4iw115dp"; 27 - }; 28 - "8.12" = { 29 - rev = "V8.12.0"; 30 - sha256 = "14ijb3qy2hin3g4djx437jmnswxxq7lkfh3dwh9qvrds9a015yg8"; 31 - }; 32 - "8.13" = { 33 - rev = "V8.13.0"; 34 - sha256 = "1n66i7hd9222b2ks606mak7m4f0dgy02xgygjskmmav6h7g2sx7y"; 35 - }; 36 - }; 37 - param = params.${coq.coq-version}; 38 - in 3 + with lib; mkCoqDerivation { 4 + pname = "bignums"; 5 + owner = "coq"; 6 + displayVersion = { bignums = ""; }; 7 + inherit version; 8 + defaultVersion = if versions.isGe "8.5" coq.coq-version 9 + then "${coq.coq-version}.0" else null; 39 10 40 - stdenv.mkDerivation { 11 + release."8.13.0".sha256 = "1n66i7hd9222b2ks606mak7m4f0dgy02xgygjskmmav6h7g2sx7y"; 12 + release."8.12.0".sha256 = "14ijb3qy2hin3g4djx437jmnswxxq7lkfh3dwh9qvrds9a015yg8"; 13 + release."8.11.0".sha256 = "1xcd7c7qlvs0narfba6px34zq0mz8rffnhxw0kzhhg6i4iw115dp"; 14 + release."8.10.0".sha256 = "0bpb4flckn4nqxbs3wjiznyx1k7r8k93qdigp3qwmikp2lxvcbw5"; 15 + release."8.9.0".sha256 = "03qz1w2xb2j5p06liz5yyafl0fl9vprcqm6j0iwi7rxwghl00p01"; 16 + release."8.8.0".sha256 = "1ymxyrvjygscxkfj3qkq66skl3vdjhb670rzvsvgmwrjkrakjnfg"; 17 + release."8.7.0".sha256 = "11c4sdmpd3l6jjl4v6k213z9fhrmmm1xnly3zmzam1wrrdif4ghl"; 18 + release."8.6.0".rev = "v8.6.0"; 19 + release."8.6.0".sha256 = "0553pcsy21cyhmns6k9qggzb67az8kl31d0lwlnz08bsqswigzrj"; 20 + releaseRev = v: "V${v}"; 41 21 42 - name = "coq${coq.coq-version}-bignums"; 22 + mlPlugin = true; 43 23 44 - src = fetchFromGitHub { 45 - owner = "coq"; 46 - repo = "bignums"; 47 - inherit (param) rev sha256; 48 - }; 49 - 50 - buildInputs = with coq.ocamlPackages; [ ocaml findlib coq ] 51 - ++ stdenv.lib.optional (!stdenv.lib.versionAtLeast coq.coq-version "8.10") camlp5 52 - ; 53 - 54 - installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; 55 - 56 - meta = with stdenv.lib; { 57 - license = licenses.lgpl2; 58 - platforms = coq.meta.platforms; 59 - }; 60 - 61 - passthru = { 62 - compatibleCoqVersions = v: builtins.hasAttr v params; 63 - }; 24 + meta = { license = licenses.lgpl2; }; 64 25 }
+15 -43
pkgs/development/coq-modules/category-theory/default.nix
··· 1 - { stdenv, fetchgit, coq, ssreflect, equations }: 1 + { lib, mkCoqDerivation, coq, ssreflect, equations, version ? null }: 2 2 3 - let 4 - params = 5 - let 6 - v20180709 = { 7 - version = "20180709"; 8 - rev = "3b9ba7b26a64d49a55e8b6ccea570a7f32c11ead"; 9 - sha256 = "0f2nr8dgn1ab7hr7jrdmr1zla9g9h8216q4yf4wnff9qkln8sbbs"; 10 - }; 11 - v20190414 = { 12 - version = "20190414"; 13 - rev = "706fdb4065cc2302d92ac2bce62cb59713253119"; 14 - sha256 = "16lg4xs2wzbdbsn148xiacgl4wq4xwfqjnjkdhfr3w0qh1s81hay"; 15 - }; 16 - in { 17 - "8.6" = v20180709; 18 - "8.7" = v20180709; 19 - "8.8" = v20190414; 20 - "8.9" = v20190414; 21 - }; 22 - param = params.${coq.coq-version}; 23 - in 3 + with lib; mkCoqDerivation { 24 4 25 - stdenv.mkDerivation { 5 + pname = "category-theory"; 6 + owner = "jwiegley"; 26 7 27 - name = "coq${coq.coq-version}-category-theory-${param.version}"; 8 + release."20190414".rev = "706fdb4065cc2302d92ac2bce62cb59713253119"; 9 + release."20190414".sha256 = "16lg4xs2wzbdbsn148xiacgl4wq4xwfqjnjkdhfr3w0qh1s81hay"; 10 + release."20180709".rev = "3b9ba7b26a64d49a55e8b6ccea570a7f32c11ead"; 11 + release."20180709".sha256 = "0f2nr8dgn1ab7hr7jrdmr1zla9g9h8216q4yf4wnff9qkln8sbbs"; 28 12 29 - src = fetchgit { 30 - url = "git://github.com/jwiegley/category-theory.git"; 31 - inherit (param) rev sha256; 32 - }; 13 + inherit version; 14 + defaultVersion = with versions; switch coq.coq-version [ 15 + { case = range "8.8" "8.9"; out = "20190414"; } 16 + { case = range "8.6" "8.7"; out = "20180709"; } 17 + ] null; 33 18 34 - buildInputs = [ coq ] ++ (with coq.ocamlPackages; [ ocaml camlp5 findlib ]); 19 + mlPlugin = true; 35 20 propagatedBuildInputs = [ ssreflect equations ]; 36 21 37 - buildFlags = [ "JOBS=$(NIX_BUILD_CORES)" ]; 38 - 39 - installPhase = '' 40 - make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install 41 - ''; 42 - 43 - meta = with stdenv.lib; { 44 - homepage = "https://github.com/jwiegley/category-theory"; 22 + meta = { 45 23 description = "A formalization of category theory in Coq for personal study and practical work"; 46 24 maintainers = with maintainers; [ jwiegley ]; 47 - platforms = coq.meta.platforms; 48 25 }; 49 - 50 - passthru = { 51 - compatibleCoqVersions = v: builtins.hasAttr v params; 52 - }; 53 - 54 26 }
+16 -32
pkgs/development/coq-modules/contribs/default.nix
··· 1 - { stdenv, fetchFromGitHub, coq }: 1 + { lib, mkCoqDerivation, coq, callPackage }: 2 2 3 - let mkContrib = repo: revs: param: 4 - stdenv.mkDerivation rec { 5 - name = "coq${coq.coq-version}-${repo}-${version}"; 6 - version = param.version; 7 - 8 - src = fetchFromGitHub { 3 + with lib; let mkContrib = pname: coqs: param: 4 + let contribVersion = {version ? null}: mkCoqDerivation ({ 5 + inherit pname version; 9 6 owner = "coq-contribs"; 10 - repo = repo; 11 - rev = param.rev; 12 - sha256 = param.sha256; 13 - }; 14 - 15 - buildInputs = with coq.ocamlPackages; [ ocaml camlp5 findlib coq ]; 16 - 17 - installFlags = 18 - stdenv.lib.optional (stdenv.lib.versionAtLeast coq.coq-version "8.9") "-f Makefile.coq" 19 - ++ [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; 20 - 21 - passthru = { 22 - compatibleCoqVersions = v: builtins.elem v revs; 23 - }; 24 - }; in 7 + mlPlugin = true; 8 + } // optionalAttrs (builtins.elem coq.coq-version coqs) ({ 9 + defaultVersion = param.version; 10 + release = { "${param.version}" = { inherit (param) rev sha256; }; }; 11 + } // (removeAttrs param [ "version" "rev" "sha256" ])) 12 + ); in 13 + makeOverridable contribVersion {} ; in 25 14 { 26 15 aac-tactics = mkContrib "aac-tactics" [ "8.7" "8.8" ] { 27 16 "8.7" = { ··· 353 342 sha256 = "02jcp74i5icv92xkq3mcx91786d56622ghgnjiz3b51wfqs6ldic"; 354 343 }; 355 344 356 - firing-squad = mkContrib "firing-squad" [ "8.6" "8.7" ] { 357 - version = "v8.5.0-9-gbe728cd"; 358 - rev = "be728cddbee58088809b51c25425d2a4bdf9b823"; 359 - sha256 = "0i0v5x6lncjasxk22pras3644ff026q8jai45dbimf2fz73312c9"; 345 + firing-squad = mkContrib "firing-squad" [ "8.6" ] { 346 + version = "v8.5.0-9-gbe728cd"; 347 + rev = "be728cddbee58088809b51c25425d2a4bdf9b823"; 348 + sha256 = "0i0v5x6lncjasxk22pras3644ff026q8jai45dbimf2fz73312c9"; 360 349 }; 361 350 362 351 float = mkContrib "float" [ "8.7" ] { ··· 525 514 version = "v8.6.0"; 526 515 rev = "6279ed83244dc4aec2e23ffb4c87e3f10a50326d"; 527 516 sha256 = "1yvlnqwa7ka4a0yg0j7zrzvayhsm1shvsjjawjv552sxc9519aag"; 517 + installFlags = [ "COQBIN=$(out)/lib/coq/${coq.coq-version}/bin/" ]; # hack 528 518 }; 529 519 530 520 ipc = mkContrib "ipc" [ "8.6" "8.7" ] { ··· 633 623 version = "v8.5.0-7-ge54c9a8"; 634 624 rev = "e54c9a86df5cb90ef6ea04d3753273186bb2d906"; 635 625 sha256 = "19csz50846gvfwmhhc37nmlvf70g53cpb1kpmcnjlj82y8r63ajz"; 636 - }; 637 - 638 - math-classes = mkContrib "math-classes" [ "8.6" ] { 639 - version = "v8.6.0-19-ge2c6453"; 640 - rev = "e2c6453e2f6cc1b7f0e1371675f4a76b19fab2c7"; 641 - sha256 = "0das56i8wi7v0s30lbadjlfqas1jlq0mm13yxq6s7zqqbdl5r0bk"; 642 626 }; 643 627 644 628 maths = mkContrib "maths" [ "8.5" "8.6" "8.7" ] {
+10 -24
pkgs/development/coq-modules/coq-bits/default.nix
··· 1 - { stdenv, fetchFromGitHub, coq, mathcomp-algebra }: 1 + { lib, mkCoqDerivation, coq, mathcomp, version ? null }: 2 2 3 - let 4 - version = "20190812"; 5 - in 6 - 7 - stdenv.mkDerivation { 8 - name = "coq${coq.coq-version}-coq-bits-${version}"; 9 - 10 - src = fetchFromGitHub { 11 - owner = "coq-community"; 12 - repo = "bits"; 13 - rev = "1.0.0"; 14 - sha256 = "0nv5mdgrd075dpd8bc7h0xc5i95v0pkm0bfyq5rj6ii1s54dwcjl"; 15 - }; 3 + with lib; mkCoqDerivation { 4 + pname = "coq-bits"; 5 + repo = "bits"; 6 + inherit version; 7 + defaultVersion = if versions.isGe "8.7" coq.version then "20190812" else null; 16 8 17 - buildInputs = [ coq ]; 18 - propagatedBuildInputs = [ mathcomp-algebra ]; 9 + release."20190812".rev = "1.0.0"; 10 + release."20190812".sha256 = "0nv5mdgrd075dpd8bc7h0xc5i95v0pkm0bfyq5rj6ii1s54dwcjl"; 19 11 20 - enableParallelBuilding = true; 12 + propagatedBuildInputs = [ mathcomp.algebra ]; 21 13 22 14 installPhase = '' 23 15 make -f Makefile CoqMakefile 24 16 make -f CoqMakefile COQLIB=$out/lib/coq/${coq.coq-version}/ install 25 17 ''; 26 18 27 - meta = with stdenv.lib; { 28 - homepage = "https://github.com/coq-community/bits"; 19 + meta = { 29 20 description = "A formalization of bitset operations in Coq"; 30 21 license = licenses.asl20; 31 22 maintainers = with maintainers; [ ptival ]; 32 - platforms = coq.meta.platforms; 33 - }; 34 - 35 - passthru = { 36 - compatibleCoqVersions = v: builtins.elem v [ "8.7" "8.8" "8.9" "8.10" "8.11" "8.12" ]; 37 23 }; 38 24 }
+25 -35
pkgs/development/coq-modules/coq-elpi/default.nix
··· 1 - { stdenv, fetchFromGitHub, which, coq }: 2 - 3 - let params = { 4 - "8.11" = rec { 5 - version = "1.6.0_8.11"; 6 - rev = "v${version}"; 7 - sha256 = "0ahxjnzmd7kl3gl38kyjqzkfgllncr2ybnw8bvgrc6iddgga7bpq"; 8 - }; 9 - "8.12" = rec { 10 - version = "1.6.0"; 11 - rev = "v${version}"; 12 - sha256 = "0kf99i43mlf750fr7fric764mm495a53mg5kahnbp6zcjcxxrm0b"; 13 - }; 14 - }; 15 - param = params.${coq.coq-version}; 16 - in 1 + { lib, mkCoqDerivation, which, coq, version ? null }: 17 2 18 - stdenv.mkDerivation rec { 19 - name = "coq${coq.coq-version}-elpi-${param.version}"; 20 - 21 - src = fetchFromGitHub { 22 - owner = "LPCIC"; 23 - repo = "coq-elpi"; 24 - inherit (param) rev sha256; 25 - }; 3 + with builtins; with lib; let 4 + elpi = coq.ocamlPackages.elpi.override ( 5 + optionalAttrs (coq.coq-version == "8.11") { version = "1.11.4"; } 6 + ); 7 + in mkCoqDerivation { 8 + pname = "elpi"; 9 + repo = "coq-elpi"; 10 + owner = "LPCIC"; 11 + inherit version; 12 + defaultVersion = lib.switch coq.coq-version [ 13 + { case = "8.13"; out = "1.8.1"; } 14 + { case = "8.12"; out = "1.8.0"; } 15 + { case = "8.11"; out = "1.6.0_8.11"; } 16 + ] null; 17 + release."1.8.1".sha256 = "1fbbdccdmr8g4wwpihzp4r2xacynjznf817lhijw6kqfav75zd0r"; 18 + release."1.8.0".sha256 = "13ywjg94zkbki22hx7s4gfm9rr87r4ghsgan23xyl3l9z8q0idd1"; 19 + release."1.7.0".sha256 = "1ws5cqr0xawv69prgygbl3q6dgglbaw0vc397h9flh90kxaqgyh8"; 20 + release."1.6.0_8.11".sha256 = "0ahxjnzmd7kl3gl38kyjqzkfgllncr2ybnw8bvgrc6iddgga7bpq"; 21 + release."1.6.0".sha256 = "0kf99i43mlf750fr7fric764mm495a53mg5kahnbp6zcjcxxrm0b"; 22 + releaseRev = v: "v${v}"; 26 23 27 24 nativeBuildInputs = [ which ]; 28 - buildInputs = [ coq coq.ocaml ] ++ (with coq.ocamlPackages; [ findlib elpi ]); 29 - 30 - installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; 25 + mlPlugin = true; 26 + extraBuildInputs = [ elpi ]; 31 27 32 28 meta = { 33 29 description = "Coq plugin embedding ELPI."; 34 - maintainers = [ stdenv.lib.maintainers.cohencyril ]; 35 - license = stdenv.lib.licenses.lgpl21; 36 - inherit (coq.meta) platforms; 37 - inherit (src.meta) homepage; 38 - }; 39 - 40 - passthru = { 41 - compatibleCoqVersions = stdenv.lib.flip builtins.hasAttr params; 30 + maintainers = [ maintainers.cohencyril ]; 31 + license = licenses.lgpl21; 42 32 }; 43 33 }
+23 -57
pkgs/development/coq-modules/coq-ext-lib/default.nix
··· 1 - { stdenv, fetchFromGitHub, coq, ...}@args: 2 - 3 - let 4 - hashes = { 5 - "0.9.4" = "1y66pamgsdxlq2w1338lj626ln70cwj7k53hxcp933g8fdsa4hp0"; 6 - "0.9.5" = "1b4cvz3llxin130g13calw5n1zmvi6wdd5yb8a41q7yyn2hd3msg"; 7 - "0.9.7" = "00v4bm4glv1hy08c8xsm467az6d1ashrznn8p2bmbmmp52lfg7ag"; 8 - "0.10.0" = "1kxi5bmjwi5zqlqgkyzhhxwgcih7wf60cyw9398k2qjkmi186r4a"; 9 - "0.10.1" = "0r1vspad8fb8bry3zliiz4hfj4w1iib1l2gm115a94m6zbiksd95"; 10 - "0.10.2" = "1b150rc5bmz9l518r4m3vwcrcnnkkn9q5lrwygkh0a7mckgg2k9f"; 11 - "0.10.3" = "0795gs2dlr663z826mp63c8h2zfadn541dr8q0fvnvi2z7kfyslb"; 12 - "0.11.1" = "0dmf1p9j8lm0hwaq0af18jxdwg869xi2jm8447zng7krrq3kvkg5"; 13 - "0.11.2" = "0iyka81g26x5n99xic7kqn8vxqjw8rz7vw9rs27iw04lf137vzv6"; 14 - "0.11.3" = "1w99nzpk72lffxis97k235axss5lmzhy5z3lga2i0si95mbpil42"; 15 - }; 16 - 17 - default-versions = { 18 - "8.5" = "0.9.4"; 19 - "8.6" = "0.9.5"; 20 - "8.7" = "0.9.7"; 21 - "8.8" = "0.11.3"; 22 - "8.9" = "0.11.3"; 23 - "8.10" = "0.11.3"; 24 - "8.11" = "0.11.3"; 25 - "8.12" = "0.11.3"; 26 - }; 27 - 28 - param = rec { 29 - version = args.version or default-versions.${coq.coq-version}; 30 - sha256 = hashes.${version}; 31 - }; 32 - 33 - in 34 - 35 - stdenv.mkDerivation rec { 36 - 37 - name = "coq${coq.coq-version}-coq-ext-lib-${version}"; 38 - inherit (param) version; 39 - 40 - src = fetchFromGitHub { 41 - owner = "coq-community"; 42 - repo = "coq-ext-lib"; 43 - rev = "v${version}"; 44 - inherit (param) sha256; 45 - }; 46 - 47 - buildInputs = [ coq ]; 48 - 49 - enableParallelBuilding = true; 1 + { lib, mkCoqDerivation, coq, version ? null }: 50 2 51 - installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; 3 + with lib; mkCoqDerivation rec { 4 + pname = "coq-ext-lib"; 5 + owner = "coq-ext-lib"; 6 + inherit version; 7 + defaultVersion = with versions; switch coq.coq-version [ 8 + { case = range "8.8" "8.12"; out = "0.11.3"; } 9 + { case = "8.7"; out = "0.9.7"; } 10 + { case = "8.6"; out = "0.9.5"; } 11 + { case = "8.5"; out = "0.9.4"; } 12 + ] null; 13 + release."0.11.3".sha256 = "1w99nzpk72lffxis97k235axss5lmzhy5z3lga2i0si95mbpil42"; 14 + release."0.11.2".sha256 = "0iyka81g26x5n99xic7kqn8vxqjw8rz7vw9rs27iw04lf137vzv6"; 15 + release."0.10.3".sha256 = "0795gs2dlr663z826mp63c8h2zfadn541dr8q0fvnvi2z7kfyslb"; 16 + release."0.11.1".sha256 = "0dmf1p9j8lm0hwaq0af18jxdwg869xi2jm8447zng7krrq3kvkg5"; 17 + release."0.10.2".sha256 = "1b150rc5bmz9l518r4m3vwcrcnnkkn9q5lrwygkh0a7mckgg2k9f"; 18 + release."0.10.1".sha256 = "0r1vspad8fb8bry3zliiz4hfj4w1iib1l2gm115a94m6zbiksd95"; 19 + release."0.10.0".sha256 = "1kxi5bmjwi5zqlqgkyzhhxwgcih7wf60cyw9398k2qjkmi186r4a"; 20 + release."0.9.7".sha256 = "00v4bm4glv1hy08c8xsm467az6d1ashrznn8p2bmbmmp52lfg7ag"; 21 + release."0.9.5".sha256 = "1b4cvz3llxin130g13calw5n1zmvi6wdd5yb8a41q7yyn2hd3msg"; 22 + release."0.9.4".sha256 = "1y66pamgsdxlq2w1338lj626ln70cwj7k53hxcp933g8fdsa4hp0"; 23 + releaseRev = v: "v${v}"; 52 24 53 - meta = with stdenv.lib; { 54 - homepage = "https://github.com/coq-ext-lib/coq-ext-lib"; 25 + meta = { 55 26 description = "A collection of theories and plugins that may be useful in other Coq developments"; 56 27 maintainers = with maintainers; [ jwiegley ptival ]; 57 - platforms = coq.meta.platforms; 58 - }; 59 - 60 - passthru = { 61 - compatibleCoqVersions = v: builtins.hasAttr v default-versions; 62 28 }; 63 29 }
+11 -50
pkgs/development/coq-modules/coq-haskell/default.nix
··· 1 - { stdenv, fetchgit, coq, ssreflect }: 1 + { lib, mkCoqDerivation, coq, ssreflect, version ? null }: 2 2 3 - let params = 4 - { 5 - "8.5" = { 6 - version = "20171215"; 7 - rev = "e2cf8b270c2efa3b56fab1ef6acc376c2c3de968"; 8 - sha256 = "09dq1vvshhlhgjccrhqgbhnq2hrys15xryfszqq11rzpgvl2zgdv"; 9 - }; 3 + with lib; mkCoqDerivation { 10 4 11 - "8.6" = { 12 - version = "20171215"; 13 - rev = "e2cf8b270c2efa3b56fab1ef6acc376c2c3de968"; 14 - sha256 = "09dq1vvshhlhgjccrhqgbhnq2hrys15xryfszqq11rzpgvl2zgdv"; 15 - }; 5 + pname = "coq-haskell"; 6 + owner = "jwiegley"; 7 + inherit version; 8 + defaultVersion = if versions.range "8.5" "8.8" coq.coq-version then "20171215" else null; 9 + release."20171215".rev = "e2cf8b270c2efa3b56fab1ef6acc376c2c3de968"; 10 + release."20171215".sha256 = "09dq1vvshhlhgjccrhqgbhnq2hrys15xryfszqq11rzpgvl2zgdv"; 16 11 17 - "8.7" = { 18 - version = "20171215"; 19 - rev = "e2cf8b270c2efa3b56fab1ef6acc376c2c3de968"; 20 - sha256 = "09dq1vvshhlhgjccrhqgbhnq2hrys15xryfszqq11rzpgvl2zgdv"; 21 - }; 22 - 23 - "8.8" = { 24 - version = "20171215"; 25 - rev = "e2cf8b270c2efa3b56fab1ef6acc376c2c3de968"; 26 - sha256 = "09dq1vvshhlhgjccrhqgbhnq2hrys15xryfszqq11rzpgvl2zgdv"; 27 - }; 28 - }; 29 - param = params.${coq.coq-version}; 30 - in 31 - 32 - stdenv.mkDerivation { 33 - 34 - name = "coq${coq.coq-version}-coq-haskell-${param.version}"; 35 - 36 - src = fetchgit { 37 - url = "git://github.com/jwiegley/coq-haskell.git"; 38 - inherit (param) rev sha256; 39 - }; 40 - 41 - buildInputs = with coq.ocamlPackages; [ ocaml camlp5 findlib ]; 12 + mlPlugin = true; 13 + extraInstallFlags = [ "-f Makefile.coq" ]; 42 14 propagatedBuildInputs = [ coq ssreflect ]; 43 - 44 15 enableParallelBuilding = false; 45 16 46 - installPhase = '' 47 - make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install 48 - ''; 49 - 50 - meta = with stdenv.lib; { 51 - homepage = "https://github.com/jwiegley/coq-haskell"; 17 + meta = { 52 18 description = "A library for formalizing Haskell types and functions in Coq"; 53 19 maintainers = with maintainers; [ jwiegley ]; 54 - platforms = coq.meta.platforms; 55 - }; 56 - 57 - passthru = { 58 - compatibleCoqVersions = v: builtins.hasAttr v params; 59 20 }; 60 21 }
+24
pkgs/development/coq-modules/coqeal/default.nix
··· 1 + { coq, mkCoqDerivation, mathcomp, bignums, paramcoq, multinomials, 2 + lib, which, version ? null }: 3 + 4 + with lib; mkCoqDerivation { 5 + 6 + pname = "CoqEAL"; 7 + owner = "CoqEAL"; 8 + inherit version; 9 + defaultVersion = with versions; switch [ coq.version mathcomp.version ] [ 10 + { cases = [ (isGe "8.7") "1.11.0" ]; out = "1.0.4"; } 11 + { cases = [ (isGe "8.7") "1.10.0" ]; out = "1.0.3"; } 12 + ] null; 13 + 14 + release."1.0.4".sha256 = "1g5m26lr2lwxh6ld2gykailhay4d0ayql4bfh0aiwqpmmczmxipk"; 15 + release."1.0.3".sha256 = "0hc63ny7phzbihy8l7wxjvn3haxx8jfnhi91iw8hkq8n29i23v24"; 16 + 17 + extraBuildInputs = [ which ]; 18 + propagatedBuildInputs = [ mathcomp.algebra bignums paramcoq multinomials ]; 19 + 20 + meta = { 21 + description = "CoqEAL - The Coq Effective Algebra Library"; 22 + license = licenses.mit; 23 + }; 24 + }
+26 -51
pkgs/development/coq-modules/coqhammer/default.nix
··· 1 - { stdenv, fetchFromGitHub, coq }: 1 + { lib, mkCoqDerivation, coq, version ? null }: 2 2 3 - let 4 - params = { 5 - "8.8" = { 6 - version = "1.1"; 7 - sha256 = "0ms086wp4jmrzyglb8wymchzyflflk01nsfsk4r6qv8rrx81nx9h"; 8 - buildInputs = [ coq.ocamlPackages.camlp5 ]; 9 - }; 10 - "8.9" = { 11 - version = "1.1.1"; 12 - sha256 = "1knjmz4hr8vlp103j8n4fyb2lfxysnm512gh3m2kp85n6as6fvb9"; 13 - buildInputs = [ coq.ocamlPackages.camlp5 ]; 14 - }; 15 - "8.10" = { 16 - version = "1.3"; 17 - sha256 = "1fj8497ir4m79hyrmmmmrag01001wrby0h24wv6525vz0w5py3cd"; 18 - }; 19 - "8.11" = { 20 - version = "1.3"; 21 - sha256 = "08zf8qfna7b9p2myfaz4g7bas3a1q1156x78n5isqivlnqfrjc1b"; 22 - }; 23 - "8.12" = { 24 - version = "1.3"; 25 - sha256 = "1q1y3cwhd98pkm98g71fsdjz85bfwgcz2xn7s7wwmiraifv5l6z8"; 26 - }; 27 - }; 28 - param = params.${coq.coq-version}; 29 - in 3 + with lib; mkCoqDerivation { 4 + inherit version; 5 + pname = "coqhammer"; 6 + owner = "lukaszcz"; 7 + defaultVersion = with versions; switch coq.coq-version [ 8 + { case = "8.12"; out = "1.3-coq8.12"; } 9 + { case = "8.11"; out = "1.3-coq8.11"; } 10 + { case = "8.10"; out = "1.3-coq8.10"; } 11 + { case = "8.9"; out = "1.1.1-coq8.9"; } 12 + { case = "8.8"; out = "1.1-coq8.8"; } 13 + ] null; 14 + release."1.3-coq8.12".sha256 = "1q1y3cwhd98pkm98g71fsdjz85bfwgcz2xn7s7wwmiraifv5l6z8"; 15 + release."1.3-coq8.11".sha256 = "08zf8qfna7b9p2myfaz4g7bas3a1q1156x78n5isqivlnqfrjc1b"; 16 + release."1.3-coq8.10".sha256 = "1fj8497ir4m79hyrmmmmrag01001wrby0h24wv6525vz0w5py3cd"; 17 + release."1.1.1-coq8.9".sha256 = "1knjmz4hr8vlp103j8n4fyb2lfxysnm512gh3m2kp85n6as6fvb9"; 18 + release."1.1-coq8.8".sha256 = "0ms086wp4jmrzyglb8wymchzyflflk01nsfsk4r6qv8rrx81nx9h"; 30 19 31 - stdenv.mkDerivation rec { 32 - inherit (param) version; 33 - name = "coq${coq.coq-version}-coqhammer-${version}"; 34 - 35 - src = fetchFromGitHub { 36 - owner = "lukaszcz"; 37 - repo = "coqhammer"; 38 - rev = "v${version}-coq${coq.coq-version}"; 39 - inherit (param) sha256; 40 - }; 20 + release."1.3-coq8.12".version = "1.3"; 21 + release."1.3-coq8.11".version = "1.3"; 22 + release."1.3-coq8.10".version = "1.3"; 23 + release."1.1.1-coq8.9".version = "1.1.1"; 24 + release."1.1-coq8.9".version = "1.1"; 25 + releaseRev = v: "v${v}"; 41 26 42 27 postPatch = '' 43 28 substituteInPlace Makefile.coq.local --replace \ ··· 46 31 substituteInPlace Makefile.coq.local --replace 'g++' 'c++' --replace 'gcc' 'cc' 47 32 ''; 48 33 49 - buildInputs = [ coq ] ++ (with coq.ocamlPackages; [ 50 - ocaml findlib 51 - ]) ++ (param.buildInputs or []); 52 - 53 34 preInstall = '' 54 35 mkdir -p $out/bin 55 36 ''; 56 37 57 - installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; 38 + mlPlugin = true; 58 39 59 40 meta = { 60 41 homepage = "http://cl-informatik.uibk.ac.at/cek/coqhammer/"; 61 42 description = "Automation for Dependent Type Theory"; 62 - license = stdenv.lib.licenses.lgpl21; 63 - inherit (coq.meta) platforms; 64 - maintainers = [ stdenv.lib.maintainers.vbgl ]; 43 + license = licenses.lgpl21; 44 + maintainers = [ maintainers.vbgl ]; 65 45 }; 66 - 67 - passthru = { 68 - compatibleCoqVersions = v: builtins.hasAttr v params; 69 - }; 70 - 71 46 }
+19 -50
pkgs/development/coq-modules/coqprime/default.nix
··· 1 - { stdenv, which, fetchFromGitHub, coq, bignums }: 1 + { which, lib, mkCoqDerivation, coq, bignums, version ? null }: 2 2 3 - let 4 - params = 5 - let v_8_8 = { 6 - version = "8.8"; 7 - sha256 = "075yjczk79pf1hd3lgdjiz84ilkzfxjh18lgzrhhqp7d3kz5lxp5"; 8 - }; 9 - v_8_10 = { 10 - version = "8.10"; 11 - sha256 = "0r9gnh5a5ykiiz5h1i8xnzgiydpwc4z9qhndxyya85xq0f910qaz"; 12 - }; 13 - in 14 - { 15 - "8.7" = { 16 - version = "8.7.2"; 17 - sha256 = "15zlcrx06qqxjy3nhh22wzy0rb4npc8l4nx2bbsfsvrisbq1qb7k"; 18 - }; 19 - "8.8" = v_8_8; 20 - "8.9" = v_8_8; 21 - "8.10" = v_8_10; 22 - "8.11" = v_8_10; 23 - "8.12" = { 24 - version = "8.12"; 25 - sha256 = "1slka4w0pya15js4drx9frj7lxyp3k2lzib8v23givzpnxs8ijdj"; 26 - }; 27 - }; 28 - param = params.${coq.coq-version}; 29 - in 3 + with lib; mkCoqDerivation { 30 4 31 - stdenv.mkDerivation rec { 5 + pname = "coqprime"; 6 + owner = "thery"; 7 + inherit version; 8 + defaultVersion = with versions; switch coq.coq-version [ 9 + { case = "8.12"; out = "8.12"; } 10 + { case = range "8.10" "8.11"; out = "8.10"; } 11 + { case = range "8.8" "8.9"; out = "8.8"; } 12 + { case = "8.7"; out = "8.7.2"; } 13 + ] null; 32 14 33 - inherit (param) version; 34 - name = "coq${coq.coq-version}-coqprime-${version}"; 35 - 36 - src = fetchFromGitHub { 37 - owner = "thery"; 38 - repo = "coqprime"; 39 - rev = "v${version}"; 40 - inherit (param) sha256; 41 - }; 42 - 43 - buildInputs = [ which coq ]; 15 + release."8.12".sha256 = "1slka4w0pya15js4drx9frj7lxyp3k2lzib8v23givzpnxs8ijdj"; 16 + release."8.10".sha256 = "0r9gnh5a5ykiiz5h1i8xnzgiydpwc4z9qhndxyya85xq0f910qaz"; 17 + release."8.8".sha256 = "075yjczk79pf1hd3lgdjiz84ilkzfxjh18lgzrhhqp7d3kz5lxp5"; 18 + release."8.7.2".sha256 = "15zlcrx06qqxjy3nhh22wzy0rb4npc8l4nx2bbsfsvrisbq1qb7k"; 19 + releaseRev = v: "v${v}"; 44 20 21 + extraBuildInputs = [ which ]; 45 22 propagatedBuildInputs = [ bignums ]; 46 23 47 - installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; 48 - 49 - meta = with stdenv.lib; { 24 + meta = with lib; { 50 25 description = "Library to certify primality using Pocklington certificate and Elliptic Curve Certificate"; 51 26 license = licenses.lgpl21; 52 - maintainers = [ stdenv.lib.maintainers.vbgl ]; 53 - inherit (coq.meta) platforms; 54 - inherit (src.meta) homepage; 55 - }; 56 - 57 - passthru = { 58 - compatibleCoqVersions = v: builtins.hasAttr v params; 27 + maintainers = [ maintainers.vbgl ]; 59 28 }; 60 29 }
+20 -34
pkgs/development/coq-modules/coquelicot/default.nix
··· 1 - { stdenv, fetchurl, which, coq, ssreflect }: 1 + { lib, mkCoqDerivation, which, autoconf, 2 + coq, ssreflect, version ? null }: 2 3 3 - let param = 4 - if stdenv.lib.versionAtLeast coq.coq-version "8.8" 5 - then { 6 - version = "3.1.0"; 7 - uid = "38287"; 8 - sha256 = "07436wkvnq9jyf7wyhp77bpl157s3qhba1ay5xrkxdi26qdf3h14"; 9 - } else { 10 - version = "3.0.2"; 11 - uid = "37523"; 12 - sha256 = "1biia7nfqf7vaqq5gmykl4rwjyvrcwss6r2jdf0in5pvp2rnrj2w"; 13 - } 14 - ; in 15 - 16 - stdenv.mkDerivation { 17 - name = "coq${coq.coq-version}-coquelicot-${param.version}"; 18 - src = fetchurl { 19 - url = "https://gforge.inria.fr/frs/download.php/file/${param.uid}/coquelicot-${param.version}.tar.gz"; 20 - inherit (param) sha256; 21 - }; 4 + with lib; mkCoqDerivation { 5 + pname = "coquelicot"; 6 + owner = "coquelicot"; 7 + domain = "gitlab.inria.fr"; 8 + inherit version; 9 + defaultVersion = with versions; switch coq.coq-version [ 10 + { case = isGe "8.8" ; out = "3.2.0"; } 11 + { case = range "8.8" "8.13"; out = "3.1.0"; } 12 + { case = range "8.5" "8.9"; out = "3.0.2"; } 13 + ] null; 14 + release."3.2.0".sha256 = "07w7dbl8x7xxnbr2q39wrdh054gvi3daqjpdn1jm53crsl1fjxm4"; 15 + release."3.1.0".sha256 = "02i0djar13yk01hzaqprcldhhscn9843x9nf6x3jkv4wv1jwnx9f"; 16 + release."3.0.2".sha256 = "1rqfbbskgz7b1bcpva8wh3v3456sq2364y804f94sc8y5sij23nl"; 17 + releaseRev = v: "coquelicot-${v}"; 22 18 23 - nativeBuildInputs = [ which ]; 24 - buildInputs = [ coq ]; 19 + nativeBuildInputs = [ which autoconf ]; 25 20 propagatedBuildInputs = [ ssreflect ]; 26 - 27 - configureFlags = [ "--libdir=$out/lib/coq/${coq.coq-version}/user-contrib/Coquelicot" ]; 28 - buildPhase = "./remake"; 29 - installPhase = "./remake install"; 21 + useMelquiondRemake.logpath = "Coquelicot"; 30 22 31 23 meta = { 32 24 homepage = "http://coquelicot.saclay.inria.fr/"; 33 25 description = "A Coq library for Reals"; 34 - license = stdenv.lib.licenses.lgpl3; 35 - maintainers = [ stdenv.lib.maintainers.vbgl ]; 36 - inherit (coq.meta) platforms; 26 + license = licenses.lgpl3; 27 + maintainers = [ maintainers.vbgl ]; 37 28 }; 38 - 39 - passthru = { 40 - compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" "8.9" "8.10" "8.11" "8.12" ]; 41 - }; 42 - 43 29 }
+7 -24
pkgs/development/coq-modules/corn/default.nix
··· 1 - { stdenv, fetchFromGitHub, coq, bignums, math-classes }: 1 + { lib, mkCoqDerivation, coq, bignums, math-classes, version ? null }: 2 2 3 - stdenv.mkDerivation rec { 3 + with lib; mkCoqDerivation rec { 4 4 pname = "corn"; 5 - version = "8.8.1"; 6 - name = "coq${coq.coq-version}-${pname}-${version}"; 7 - src = fetchFromGitHub { 8 - owner = "coq-community"; 9 - repo = pname; 10 - rev = version; 11 - sha256 = "0gh32j0f18vv5lmf6nb87nr5450w6ai06rhrnvlx2wwi79gv10wp"; 12 - }; 13 - 14 - buildInputs = [ coq ]; 5 + inherit version; 6 + defaultVersion = if versions.range "8.6" "8.9" coq.coq-version then "8.8.1" else null; 7 + release."8.8.1".sha256 = "0gh32j0f18vv5lmf6nb87nr5450w6ai06rhrnvlx2wwi79gv10wp"; 15 8 16 9 preConfigure = "patchShebangs ./configure.sh"; 17 10 configureScript = "./configure.sh"; ··· 19 12 20 13 propagatedBuildInputs = [ bignums math-classes ]; 21 14 22 - enableParallelBuilding = true; 23 - 24 - installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; 25 - 26 15 meta = { 27 16 homepage = "http://c-corn.github.io/"; 28 - license = stdenv.lib.licenses.gpl2; 17 + license = licenses.gpl2; 29 18 description = "A Coq library for constructive analysis"; 30 - maintainers = [ stdenv.lib.maintainers.vbgl ]; 31 - inherit (coq.meta) platforms; 19 + maintainers = [ maintainers.vbgl ]; 32 20 }; 33 - 34 - passthru = { 35 - compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" "8.8" "8.9" ]; 36 - }; 37 - 38 21 }
+37 -67
pkgs/development/coq-modules/dpdgraph/default.nix
··· 1 - { stdenv, fetchFromGitHub, autoreconfHook, coq }: 1 + { lib, mkCoqDerivation, autoreconfHook, coq, version ? null }: 2 2 3 - let params = { 4 - "8.12" = { 5 - version = "0.6.8"; 6 - sha256 = "1mj6sknsd53xfb387sp3kdwvl4wn80ck24bfzf3s6mgw1a12vyps"; 7 - }; 8 - "8.11" = { 9 - version = "0.6.7"; 10 - sha256 = "01vpi7scvkl4ls1z2k2x9zd65wflzb667idj759859hlz3ps9z09"; 11 - }; 12 - "8.10" = { 13 - version = "0.6.6"; 14 - sha256 = "1gjrm5zjzw4cisiwdr5b3iqa7s4cssa220xr0k96rwgk61rcjd8w"; 15 - }; 16 - "8.9" = { 17 - version = "0.6.5"; 18 - sha256 = "1f34z24yg05b1096gqv36jr3vffkcjkf9qncii3pzhhvagxd0w2f"; 19 - }; 20 - "8.8" = { 21 - version = "0.6.3"; 22 - rev = "0acbd0a594c7e927574d5f212cc73a486b5305d2"; 23 - sha256 = "0c95b0bz2kjm6swr5na4gs06lxxywradszxbr5ldh2zx02r3f3rx"; 24 - }; 25 - "8.7" = { 26 - version = "0.6.2"; 27 - rev = "d76ddde37d918569945774733b7997e8b24daf51"; 28 - sha256 = "04lnf4b25yarysj848cfl8pd3i3pr3818acyp9hgwdgd1rqmhjwm"; 29 - }; 30 - "8.6" = { 31 - version = "0.6.1"; 32 - rev = "c3b87af6bfa338e18b83f014ebd0e56e1f611663"; 33 - sha256 = "1jaafkwsb5450378nprjsds1illgdaq60gryi8kspw0i25ykz2c9"; 34 - }; 35 - "8.5" = { 36 - version = "0.6"; 37 - sha256 = "0qvar8gfbrcs9fmvkph5asqz4l5fi63caykx3bsn8zf0xllkwv0n"; 38 - }; 39 - }; 40 - param = params.${coq.coq-version}; 41 - in 3 + with lib; 4 + let hasWarning = versionAtLeast coq.ocamlPackages.ocaml.version "4.08"; in 42 5 43 - let hasWarning = stdenv.lib.versionAtLeast coq.ocamlPackages.ocaml.version "4.08"; in 6 + mkCoqDerivation { 7 + pname = "dpdgraph"; 8 + owner = "Karmaki"; 9 + repo = "coq-dpdgraph"; 10 + inherit version; 11 + defaultVersion = switch coq.coq-version [ 12 + { case = "8.12"; out = "0.6.8"; } 13 + { case = "8.11"; out = "0.6.7"; } 14 + { case = "8.10"; out = "0.6.6"; } 15 + { case = "8.9"; out = "0.6.5"; } 16 + { case = "8.8"; out = "0.6.3"; } 17 + { case = "8.7"; out = "0.6.2"; } 18 + { case = "8.6"; out = "0.6.1"; } 19 + { case = "8.5"; out = "0.6"; } 20 + ] null; 44 21 45 - stdenv.mkDerivation { 46 - name = "coq${coq.coq-version}-dpdgraph-${param.version}"; 47 - src = fetchFromGitHub { 48 - owner = "Karmaki"; 49 - repo = "coq-dpdgraph"; 50 - rev = param.rev or "v${param.version}"; 51 - inherit (param) sha256; 52 - }; 22 + release."0.6.8".sha256 = "1mj6sknsd53xfb387sp3kdwvl4wn80ck24bfzf3s6mgw1a12vyps"; 23 + release."0.6.7".sha256 = "01vpi7scvkl4ls1z2k2x9zd65wflzb667idj759859hlz3ps9z09"; 24 + release."0.6.6".sha256 = "1gjrm5zjzw4cisiwdr5b3iqa7s4cssa220xr0k96rwgk61rcjd8w"; 25 + release."0.6.5".sha256 = "1f34z24yg05b1096gqv36jr3vffkcjkf9qncii3pzhhvagxd0w2f"; 26 + release."0.6.3".rev = "0acbd0a594c7e927574d5f212cc73a486b5305d2"; 27 + release."0.6.3".sha256 = "0c95b0bz2kjm6swr5na4gs06lxxywradszxbr5ldh2zx02r3f3rx"; 28 + release."0.6.2".rev = "d76ddde37d918569945774733b7997e8b24daf51"; 29 + release."0.6.2".sha256 = "04lnf4b25yarysj848cfl8pd3i3pr3818acyp9hgwdgd1rqmhjwm"; 30 + release."0.6.1".rev = "c3b87af6bfa338e18b83f014ebd0e56e1f611663"; 31 + release."0.6.1".sha256 = "1jaafkwsb5450378nprjsds1illgdaq60gryi8kspw0i25ykz2c9"; 32 + release."0.6".sha256 = "0qvar8gfbrcs9fmvkph5asqz4l5fi63caykx3bsn8zf0xllkwv0n"; 33 + releaseRev = v: "v${v}"; 53 34 54 35 nativeBuildInputs = [ autoreconfHook ]; 55 - buildInputs = [ coq ] 56 - ++ (with coq.ocamlPackages; [ ocaml findlib ocamlgraph ] 57 - ++ stdenv.lib.optional (!stdenv.lib.versionAtLeast coq.coq-version "8.10") camlp5); 36 + mlPlugin = true; 37 + extraBuildInputs = [ coq.ocamlPackages.ocamlgraph ]; 58 38 59 39 # dpd_compute.ml uses deprecated Pervasives.compare 60 40 # Versions prior to 0.6.5 do not have the WARN_ERR build flag 61 - preConfigure = stdenv.lib.optionalString hasWarning '' 41 + preConfigure = optionalString hasWarning '' 62 42 substituteInPlace Makefile.in --replace "-warn-error +a " "" 63 43 ''; 64 44 65 - buildFlags = stdenv.lib.optional hasWarning "WARN_ERR="; 45 + buildFlags = optional hasWarning "WARN_ERR="; 66 46 67 47 preInstall = '' 68 48 mkdir -p $out/bin 69 49 ''; 70 50 71 - installFlags = [ 72 - "COQLIB=$(out)/lib/coq/${coq.coq-version}/" 73 - "BINDIR=$(out)/bin" 74 - ]; 51 + extraInstallFlags = [ "BINDIR=$(out)/bin" ]; 75 52 76 53 meta = { 77 54 description = "Build dependency graphs between Coq objects"; 78 - license = stdenv.lib.licenses.lgpl21; 79 - homepage = "https://github.com/Karmaki/coq-dpdgraph/"; 80 - maintainers = with stdenv.lib.maintainers; [ vbgl ]; 81 - platforms = coq.meta.platforms; 55 + license = licenses.lgpl21; 56 + maintainers = with maintainers; [ vbgl ]; 82 57 }; 83 - 84 - passthru = { 85 - compatibleCoqVersions = v: builtins.hasAttr v params; 86 - }; 87 - 88 58 }
+38 -69
pkgs/development/coq-modules/equations/default.nix
··· 1 - { stdenv, fetchFromGitHub, coq }: 1 + { lib, mkCoqDerivation, coq, version ? null }: 2 2 3 - let 4 - params = { 5 - "8.6" = { 6 - version = "1.0"; 7 - rev = "v1.0"; 8 - sha256 = "19ylw9v9g35607w4hm86j7mmkghh07hmkc1ls5bqlz3dizh5q4pj"; 9 - }; 3 + with lib; mkCoqDerivation { 4 + pname = "equations"; 5 + owner = "mattam82"; 6 + repo = "Coq-Equations"; 7 + inherit version; 8 + defaultVersion = switch coq.coq-version [ 9 + { case = "8.12"; out = "1.2.3+coq8.12"; } 10 + { case = "8.11"; out = "1.2.3+coq8.11"; } 11 + { case = "8.10"; out = "1.2.1+coq8.10-2"; } 12 + { case = "8.9"; out = "1.2.1+coq8.9"; } 13 + { case = "8.8"; out = "1.2+coq8.8"; } 14 + { case = "8.7"; out = "1.0+coq8.7"; } 15 + { case = "8.6"; out = "1.0+coq8.6"; } 16 + ] null; 10 17 11 - "8.7" = { 12 - version = "1.0"; 13 - rev = "v1.0-8.7"; 14 - sha256 = "1bavg4zl1xn0jqrdq8iw7xqzdvdf39ligj9saz5m9c507zri952h"; 15 - }; 18 + release."1.0+coq8.6".version = "1.0"; 19 + release."1.0+coq8.6".rev = "v1.0"; 20 + release."1.0+coq8.6".sha256 = "19ylw9v9g35607w4hm86j7mmkghh07hmkc1ls5bqlz3dizh5q4pj"; 21 + release."1.0+coq8.7".version = "1.0"; 22 + release."1.0+coq8.7".rev = "v1.0-8.7"; 23 + release."1.0+coq8.7".sha256 = "1bavg4zl1xn0jqrdq8iw7xqzdvdf39ligj9saz5m9c507zri952h"; 24 + release."1.2+coq8.8".version = "1.2"; 25 + release."1.2+coq8.8".rev = "v1.2-8.8"; 26 + release."1.2+coq8.8".sha256 = "06452fyzalz7zcjjp73qb7d6xvmqb6skljkivf8pfm55fsc8s7kx"; 27 + release."1.2.1+coq8.9".version = "1.2.1"; 28 + release."1.2.1+coq8.9".rev = "v1.2.1-8.9"; 29 + release."1.2.1+coq8.9".sha256 = "0d8ddj6nc6p0k25cd8fs17cq427zhzbc3v9pk2wd2fnvk70nlfij"; 30 + release."1.2.1+coq8.10-2".version = "1.2.1"; 31 + release."1.2.1+coq8.10-2".rev = "v1.2.1-8.10-2"; 32 + release."1.2.1+coq8.10-2".sha256 = "0j3z4l5nrbyi9zbbyqkc6kassjanwld2188mwmrbqspaypm2ys68"; 33 + release."1.2.3+coq8.11".version = "1.2.3"; 34 + release."1.2.3+coq8.11".rev = "v1.2.3-8.11"; 35 + release."1.2.3+coq8.11".sha256 = "1srxz1rws8jsh7402g2x2vcqgjbbsr64dxxj5d2zs48pmhb20csf"; 36 + release."1.2.3+coq8.12".version = "1.2.3"; 37 + release."1.2.3+coq8.12".rev = "v1.2.3-8.12"; 38 + release."1.2.3+coq8.12".sha256 = "1y0jkvzyz5ssv5vby41p1i8zs7nsdc8g3pzyq73ih9jz8h252643"; 16 39 17 - "8.8" = { 18 - version = "1.2"; 19 - rev = "v1.2-8.8"; 20 - sha256 = "06452fyzalz7zcjjp73qb7d6xvmqb6skljkivf8pfm55fsc8s7kx"; 21 - }; 22 - 23 - "8.9" = { 24 - version = "1.2.1"; 25 - rev = "v1.2.1-8.9"; 26 - sha256 = "0d8ddj6nc6p0k25cd8fs17cq427zhzbc3v9pk2wd2fnvk70nlfij"; 27 - }; 28 - 29 - "8.10" = { 30 - version = "1.2.1"; 31 - rev = "v1.2.1-8.10-2"; 32 - sha256 = "0j3z4l5nrbyi9zbbyqkc6kassjanwld2188mwmrbqspaypm2ys68"; 33 - }; 34 - 35 - "8.11" = { 36 - version = "1.2.3"; 37 - rev = "v1.2.3-8.11"; 38 - sha256 = "1srxz1rws8jsh7402g2x2vcqgjbbsr64dxxj5d2zs48pmhb20csf"; 39 - }; 40 - 41 - "8.12" = { 42 - version = "1.2.3"; 43 - rev = "v1.2.3-8.12"; 44 - sha256 = "1y0jkvzyz5ssv5vby41p1i8zs7nsdc8g3pzyq73ih9jz8h252643"; 45 - }; 46 - }; 47 - param = params.${coq.coq-version}; 48 - in 49 - 50 - stdenv.mkDerivation rec { 51 - 52 - name = "coq${coq.coq-version}-equations-${version}"; 53 - version = param.version; 54 - 55 - src = fetchFromGitHub { 56 - owner = "mattam82"; 57 - repo = "Coq-Equations"; 58 - rev = param.rev; 59 - sha256 = param.sha256; 60 - }; 61 - 62 - buildInputs = with coq.ocamlPackages; [ ocaml camlp5 findlib coq ]; 63 - 40 + mlPlugin = true; 64 41 preBuild = "coq_makefile -f _CoqProject -o Makefile"; 65 42 66 - installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; 67 - 68 - meta = with stdenv.lib; { 43 + meta = { 69 44 homepage = "https://mattam82.github.io/Coq-Equations/"; 70 45 description = "A plugin for Coq to add dependent pattern-matching"; 71 46 maintainers = with maintainers; [ jwiegley ]; 72 - platforms = coq.meta.platforms; 73 47 }; 74 - 75 - passthru = { 76 - compatibleCoqVersions = v: builtins.hasAttr v params; 77 - }; 78 - 79 48 }
+13 -18
pkgs/development/coq-modules/fiat/HEAD.nix
··· 1 - {stdenv, fetchgit, coq, python27}: 1 + {lib, mkCoqDerivation, coq, python27, version ? null }: 2 2 3 - stdenv.mkDerivation rec { 3 + with lib; mkCoqDerivation rec { 4 + pname = "fiat"; 5 + owner = "mit-plv"; 6 + repo = "fiat"; 7 + displayVersion = { fiat = v: "unstable-${v}"; }; 8 + inherit version; 9 + defaultVersion = if coq.coq-version == "8.5" then "2016-10-24" else null; 10 + release."2016-10-24".rev = "7feb6c64be9ebcc05924ec58fe1463e73ec8206a"; 11 + release."2016-10-24".sha256 = "0griqc675yylf9rvadlfsabz41qy5f5idya30p5rv6ysiakxya64"; 4 12 5 - name = "coq-fiat-${coq.coq-version}-unstable-${version}"; 6 - version = "2016-10-24"; 7 - 8 - src = fetchgit { 9 - url = "https://github.com/mit-plv/fiat.git"; 10 - rev = "7feb6c64be9ebcc05924ec58fe1463e73ec8206a"; 11 - sha256 = "0griqc675yylf9rvadlfsabz41qy5f5idya30p5rv6ysiakxya64"; 12 - }; 13 - 14 - buildInputs = [ coq python27 ] ++ (with coq.ocamlPackages; [ ocaml camlp5 ]); 13 + mlPlugin = true; 14 + extraBuildInputs = [ python27 ]; 15 15 16 16 prePatch = "patchShebangs etc/coq-scripts"; 17 17 ··· 26 26 cp -pR src/* $COQLIB/user-contrib/Fiat 27 27 ''; 28 28 29 - meta = with stdenv.lib; { 29 + meta = { 30 30 homepage = "http://plv.csail.mit.edu/fiat/"; 31 31 description = "A library for the Coq proof assistant for synthesizing efficient correct-by-construction programs from declarative specifications"; 32 32 maintainers = with maintainers; [ jwiegley ]; 33 - platforms = coq.meta.platforms; 34 - }; 35 - 36 - passthru = { 37 - compatibleCoqVersions = v: v == "8.5"; 38 33 }; 39 34 }
+18 -41
pkgs/development/coq-modules/flocq/default.nix
··· 1 - { stdenv, bash, which, autoconf, automake, fetchzip, coq }: 1 + { lib, bash, which, autoconf, automake, 2 + mkCoqDerivation, coq, version ? null }: 2 3 3 - let params = 4 - if stdenv.lib.versionAtLeast coq.coq-version "8.7" then { 5 - version = "3.3.1"; 6 - sha256 = "0k1nfgiszmai5dihhpfa5mgq9rwigl0n38dw10jn79x89xbdpyh5"; 7 - } else { 8 - version = "2.6.1"; 9 - sha256 = "0q5a038ww5dn72yvwn5298d3ridkcngb1dik8hdyr3xh7gr5qibj"; 10 - } 11 - ; in 4 + with lib; mkCoqDerivation { 5 + pname = "flocq"; 6 + owner = "flocq"; 7 + domain = "gitlab.inria.fr"; 8 + inherit version; 9 + defaultVersion = with versions; switch coq.coq-version [ 10 + { case = isGe "8.7"; out = "3.3.1"; } 11 + { case = range "8.5" "8.8"; out = "2.6.1"; } 12 + ] null; 13 + release."3.3.1".sha256 = "1mk8adhi5hrllsr0hamzk91vf2405sjr4lh5brg9201mcw11abkz"; 14 + release."2.6.1".sha256 = "0q5a038ww5dn72yvwn5298d3ridkcngb1dik8hdyr3xh7gr5qibj"; 15 + releaseRev = v: "flocq-${v}"; 12 16 13 - stdenv.mkDerivation rec { 17 + nativeBuildInputs = [ bash which autoconf ]; 18 + mlPlugin = true; 19 + useMelquiondRemake.logpath = "Flocq"; 14 20 15 - name = "coq${coq.coq-version}-flocq-${version}"; 16 - inherit (params) version; 17 - 18 - src = fetchzip { 19 - url = "https://gitlab.inria.fr/flocq/flocq/-/archive/flocq-${version}.tar.gz"; 20 - inherit (params) sha256; 21 - }; 22 - 23 - nativeBuildInputs = [ bash which autoconf automake ]; 24 - buildInputs = [ coq ] ++ (with coq.ocamlPackages; [ 25 - ocaml camlp5 26 - ]); 27 - 28 - buildPhase = '' 29 - ${bash}/bin/bash autogen.sh || autoconf 30 - ${bash}/bin/bash configure --libdir=$out/lib/coq/${coq.coq-version}/user-contrib/Flocq 31 - ./remake 32 - ''; 33 - 34 - installPhase = '' 35 - ./remake install 36 - ''; 37 - 38 - meta = with stdenv.lib; { 39 - homepage = "http://flocq.gforge.inria.fr/"; 21 + meta = { 40 22 description = "A floating-point formalization for the Coq system"; 41 23 license = licenses.lgpl3; 42 24 maintainers = with maintainers; [ jwiegley ]; 43 - platforms = coq.meta.platforms; 44 - }; 45 - 46 - passthru = { 47 - compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" "8.9" "8.10" "8.11" "8.12" ]; 48 25 }; 49 26 }
+16 -22
pkgs/development/coq-modules/gappalib/default.nix
··· 1 - { stdenv, fetchurl, which, coq, flocq }: 1 + { which, lib, mkCoqDerivation, autoconf, coq, flocq, version ? null }: 2 2 3 - stdenv.mkDerivation { 4 - name = "coq${coq.coq-version}-gappalib-1.4.4"; 5 - src = fetchurl { 6 - url = "https://gforge.inria.fr/frs/download.php/file/38338/gappalib-coq-1.4.4.tar.gz"; 7 - sha256 = "1ds9qp3ml07w5ali0rsczlwgdx4xcgasgbcnpi2lssgj1xpxgfpn"; 8 - }; 3 + with lib; mkCoqDerivation { 4 + pname = "gappalib"; 5 + repo = "coq"; 6 + owner = "gappa"; 7 + domain = "gitlab.inria.fr"; 8 + inherit version; 9 + defaultVersion = if versions.isGe "8.8" coq.coq-version then "1.4.5" else null; 10 + release."1.4.5".sha256 = "081hib1d9wfm29kis390qsqch8v6fs3q71g2rgbbzx5y5cf48n9k"; 11 + release."1.4.4".sha256 = "114q2hgw64j6kqa9mg3qcp1nlf0ia46z2xadq81fnkxqm856ml7l"; 12 + releaseRev = v: "gappalib-coq-${v}"; 9 13 10 - nativeBuildInputs = [ which ]; 11 - buildInputs = [ coq coq.ocamlPackages.ocaml ]; 14 + nativeBuildInputs = [ which autoconf ]; 15 + mlPlugin = true; 12 16 propagatedBuildInputs = [ flocq ]; 13 - 14 - configurePhase = "./configure --libdir=$out/lib/coq/${coq.coq-version}/user-contrib/Gappa"; 15 - buildPhase = "./remake"; 16 - installPhase = "./remake install"; 17 + useMelquiondRemake.logpath = "Gappa"; 17 18 18 19 meta = { 19 20 description = "Coq support library for Gappa"; 20 - license = stdenv.lib.licenses.lgpl21; 21 - homepage = "http://gappa.gforge.inria.fr/"; 22 - maintainers = [ stdenv.lib.maintainers.vbgl ]; 23 - inherit (coq.meta) platforms; 21 + license = licenses.lgpl21; 22 + maintainers = [ maintainers.vbgl ]; 24 23 }; 25 - 26 - passthru = { 27 - compatibleCoqVersions = stdenv.lib.flip builtins.elem [ "8.8" "8.9" "8.10" "8.11" "8.12" ]; 28 - }; 29 - 30 24 }
+12 -19
pkgs/development/coq-modules/heq/default.nix
··· 1 - {stdenv, fetchurl, coq, unzip}: 2 - 3 - stdenv.mkDerivation rec { 1 + {lib, fetchzip, mkCoqDerivation, coq, version ? null }: 4 2 5 - name = "coq-heq-${coq.coq-version}-${version}"; 6 - version = "0.92"; 3 + with lib; mkCoqDerivation { 4 + pname = "heq"; 5 + repo = "Heq"; 6 + owner = "gil"; 7 + domain = "mpi-sws.org"; 8 + inherit version fetcher; 9 + defaultVersion = if versions.isLt "8.8" coq.coq-version then "0.92" else null; 10 + release."0.92".sha256 = "0cf8y6728n81wwlbpq3vi7l2dbzi7759klypld4gpsjjp1y1fj74"; 7 11 8 - src = fetchurl { 9 - url = "https://www.mpi-sws.org/~gil/Heq/download/Heq-${version}.zip"; 10 - sha256 = "03y71c4qs6cmy3s2hjs05g7pcgk9sqma6flj15394yyxbvr9is1p"; 11 - }; 12 - 13 - buildInputs = with coq.ocamlPackages; [ ocaml camlp5 unzip ]; 12 + mlPlugin = true; 14 13 propagatedBuildInputs = [ coq ]; 15 14 15 + extraInstallFlags = [ "COQLIB=$out/lib/coq/${coq.coq-version}" ]; 16 16 preBuild = "cd src"; 17 17 18 - installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}" ]; 19 - 20 - meta = with stdenv.lib; { 18 + meta = { 21 19 homepage = "https://www.mpi-sws.org/~gil/Heq/"; 22 20 description = "Heq : a Coq library for Heterogeneous Equality"; 23 21 maintainers = with maintainers; [ jwiegley ]; 24 - platforms = coq.meta.platforms; 25 - }; 26 - 27 - passthru = { 28 - compatibleCoqVersions = v: !stdenv.lib.versionAtLeast v "8.8"; 29 22 }; 30 23 }
+15 -34
pkgs/development/coq-modules/hierarchy-builder/default.nix
··· 1 - { stdenv, fetchFromGitHub, which, coq, coq-elpi }: 1 + { lib, mkCoqDerivation, which, coq, coq-elpi, version ? null }: 2 2 3 - let 4 - versions = { 5 - "0.10.0" = { 6 - rev = "v0.10.0"; 7 - sha256 = "1a3vry9nzavrlrdlq3cys3f8kpq3bz447q8c4c7lh2qal61wb32h"; 8 - }; 9 - }; 10 - version = x: versions.${x} // {version = x;}; 11 - params = { 12 - "8.11" = version "0.10.0"; 13 - "8.12" = version "0.10.0"; 14 - }; 15 - param = params.${coq.coq-version}; 16 - in 17 - 18 - stdenv.mkDerivation rec { 19 - name = "coq${coq.coq-version}-hierarchy-builder-${param.version}"; 20 - 21 - src = fetchFromGitHub { 22 - owner = "math-comp"; 23 - repo = "hierarchy-builder"; 24 - inherit (param) rev sha256; 25 - }; 3 + with lib; mkCoqDerivation { 4 + pname = "hierarchy-builder"; 5 + owner = "math-comp"; 6 + inherit version; 7 + defaultVersion = with versions; switch coq.coq-version [ 8 + { case = isGe "8.12"; out = "1.0.0"; } 9 + { case = range "8.11" "8.12"; out = "0.10.0"; } 10 + ] null; 11 + release."1.0.0".sha256 = "0yykygs0z6fby6vkiaiv3azy1i9yx4rqg8xdlgkwnf2284hffzpp"; 12 + release."0.10.0".sha256 = "1a3vry9nzavrlrdlq3cys3f8kpq3bz447q8c4c7lh2qal61wb32h"; 13 + releaseRev = v: "v${v}"; 26 14 27 15 propagatedBuildInputs = [ coq-elpi ]; 28 - buildInputs = [ coq coq.ocaml coq.ocamlPackages.elpi ]; 29 16 30 - installPhase = ''make -f Makefile.coq VFILES=structures.v COQLIB=$out/lib/coq/${coq.coq-version}/ install''; 17 + extraInstallFlags = [ "VFILES=structures.v" ]; 31 18 32 19 meta = { 33 20 description = "Coq plugin embedding ELPI."; 34 - maintainers = [ stdenv.lib.maintainers.cohencyril ]; 35 - license = stdenv.lib.licenses.lgpl21; 36 - inherit (coq.meta) platforms; 37 - inherit (src.meta) homepage; 38 - }; 39 - 40 - passthru = { 41 - compatibleCoqVersions = stdenv.lib.flip builtins.hasAttr params; 21 + maintainers = [ maintainers.cohencyril ]; 22 + license = licenses.lgpl21; 42 23 }; 43 24 }
+22 -53
pkgs/development/coq-modules/interval/default.nix
··· 1 - { stdenv, fetchurl, which, coq, coquelicot, flocq, mathcomp 2 - , bignums ? null }: 1 + { lib, mkCoqDerivation, which, autoconf 2 + , coq, coquelicot, flocq, mathcomp 3 + , bignums ? null, version ? null }: 3 4 4 - let params = 5 - let 6 - v3_3 = { 7 - version = "3.3.0"; 8 - uid = "37077"; 9 - sha256 = "08fdcf3hbwqphglvwprvqzgkg0qbimpyhnqsgv3gac4y1ap0f903"; 10 - }; 11 - v3_4 = { 12 - version = "3.4.2"; 13 - uid = "38288"; 14 - sha256 = "00bgzbji0gkazwxhs4q8gz4ccqsa1y1r0m0ravr18ps2h8a8qva5"; 15 - }; 16 - v4_0 = { 17 - version = "4.0.0"; 18 - uid = "38339"; 19 - sha256 = "19sbrv7jnzyxji7irfslhr9ralc0q3gx20nymig5vqbn3vssmgpz"; 20 - }; 21 - in { 22 - "8.5" = v3_3; 23 - "8.6" = v3_3; 24 - "8.7" = v3_4; 25 - "8.8" = v4_0; 26 - "8.9" = v4_0; 27 - "8.10" = v4_0; 28 - "8.11" = v4_0; 29 - "8.12" = v4_0; 30 - }; 31 - param = params."${coq.coq-version}"; 32 - in 5 + with lib; mkCoqDerivation { 6 + pname = "interval"; 7 + owner = "coqinterval"; 8 + domain = "gitlab.inria.fr"; 9 + inherit version; 10 + defaultVersion = with versions; switch coq.coq-version [ 11 + { case = isGe "8.8" ; out = "4.1.0"; } 12 + { case = range "8.8" "8.12"; out = "4.0.0"; } 13 + { case = range "8.7" "8.11"; out = "3.4.2"; } 14 + { case = range "8.5" "8.6"; out = "3.3.0"; } 15 + ] null; 16 + release."4.1.0".sha256 = "1jv27n5c4f3a9d8sizraa920iqi35x8cik8lm7pjp1dkiifz47nb"; 17 + release."4.0.0".sha256 = "1hhih6zmid610l6c8z3x4yzdzw9jniyjiknd1vpkyb2rxvqm3gzp"; 18 + release."3.4.2".sha256 = "07ngix32qarl3pjnm9d0vqc9fdrgm08gy7zp306hwxjyq7h1v7z0"; 19 + release."3.3.0".sha256 = "0lz2hgggzn4cvklvm8rpaxvwaryf37i8mzqajqgdxdbd8f12acsz"; 20 + releaseRev = v: "interval-${v}"; 33 21 34 - stdenv.mkDerivation { 35 - name = "coq${coq.coq-version}-interval-${param.version}"; 36 - 37 - src = fetchurl { 38 - url = "https://gforge.inria.fr/frs/download.php/file/${param.uid}/interval-${param.version}.tar.gz"; 39 - inherit (param) sha256; 40 - }; 41 - 42 - nativeBuildInputs = [ which ]; 43 - buildInputs = [ coq ]; 22 + nativeBuildInputs = [ which autoconf ]; 44 23 propagatedBuildInputs = [ bignums coquelicot flocq ]; 45 - 46 - configurePhase = "./configure --libdir=$out/lib/coq/${coq.coq-version}/user-contrib/Interval"; 47 - buildPhase = "./remake"; 48 - installPhase = "./remake install"; 24 + useMelquiondRemake.logpath = "Interval"; 49 25 50 - meta = with stdenv.lib; { 51 - homepage = "http://coq-interval.gforge.inria.fr/"; 26 + meta = with lib; { 52 27 description = "Tactics for simplifying the proofs of inequalities on expressions of real numbers for the Coq proof assistant"; 53 28 license = licenses.cecill-c; 54 29 maintainers = with maintainers; [ vbgl ]; 55 - platforms = coq.meta.platforms; 56 30 }; 57 - 58 - passthru = { 59 - compatibleCoqVersions = stdenv.lib.flip builtins.hasAttr params; 60 - }; 61 - 62 31 }
+11 -25
pkgs/development/coq-modules/iris/default.nix
··· 1 - { stdenv, fetchFromGitLab, coq, stdpp }: 1 + { lib, mkCoqDerivation, coq, stdpp, version ? null }: 2 2 3 - stdenv.mkDerivation rec { 4 - version = "3.3.0"; 5 - name = "coq${coq.coq-version}-iris-${version}"; 6 - src = fetchFromGitLab { 7 - domain = "gitlab.mpi-sws.org"; 8 - owner = "iris"; 9 - repo = "iris"; 10 - rev = "iris-${version}"; 11 - sha256 = "0az4gkp5m8sq0p73dlh0r7ckkzhk7zkg5bndw01bdsy5ywj0vilp"; 12 - }; 3 + with lib; mkCoqDerivation rec { 4 + pname = "iris"; 5 + domain = "gitlab.mpi-sws.org"; 6 + owner = "iris"; 7 + inherit version; 8 + defaultVersion = if versions.range "8.9" "8.12" coq.coq-version then "3.3.0" else null; 9 + release."3.3.0".sha256 = "0az4gkp5m8sq0p73dlh0r7ckkzhk7zkg5bndw01bdsy5ywj0vilp"; 10 + releaseRev = v: "iris-${v}"; 13 11 14 - buildInputs = [ coq ]; 15 12 propagatedBuildInputs = [ stdpp ]; 16 13 17 - enableParallelBuilding = true; 18 - 19 - installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; 20 - 21 14 meta = { 22 - homepage = "https://gitlab.mpi-sws.org/FP/iris-coq"; 23 15 description = "The Coq development of the Iris Project"; 24 - inherit (coq.meta) platforms; 25 - license = stdenv.lib.licenses.bsd3; 26 - maintainers = [ stdenv.lib.maintainers.vbgl ]; 16 + license = licenses.bsd3; 17 + maintainers = [ maintainers.vbgl ]; 27 18 }; 28 - 29 - passthru = { 30 - compatibleCoqVersions = v: builtins.elem v [ "8.9" "8.10" "8.11" "8.12" ]; 31 - }; 32 - 33 19 }
+20 -49
pkgs/development/coq-modules/ltac2/default.nix
··· 1 - { stdenv, fetchFromGitHub, which, coq }: 1 + { lib, mkCoqDerivation, which, coq, version ? null }: 2 2 3 - let params = { 4 - "8.7" = { 5 - version = "0.1"; 6 - rev = "v0.1-8.7"; 7 - sha256 = "0l6wiwi4cvd0i324fb29i9mdh0ijlxzggw4mrjjy695l2qdnlgg0"; 8 - }; 9 - "8.8" = { 10 - version = "0.1"; 11 - rev = "0.1"; 12 - sha256 = "1zz26cyv99whj7rrpgnhhm9dfqnpmrx5pqizn8ihf8jkq8d4drz7"; 13 - }; 14 - "8.9" = rec { 15 - version = "0.2"; 16 - rev = version; 17 - sha256 = "0xby1kb26r9gcvk5511wqj05fqm9paynwfxlfqkmwkgnfmzk0x73"; 18 - }; 19 - "8.10" = rec { 20 - version = "0.3"; 21 - rev = version; 22 - sha256 = "0pzs5nsakh4l8ffwgn4ryxbnxdv2x0r1i7bc598ij621haxdirrr"; 23 - }; 24 - }; 25 - param = params.${coq.coq-version}; 26 - in 27 - 28 - stdenv.mkDerivation rec { 29 - inherit (param) version; 30 - name = "coq${coq.coq-version}-ltac2-${version}"; 31 - 32 - src = fetchFromGitHub { 33 - owner = "coq"; 34 - repo = "ltac2"; 35 - inherit (param) rev sha256; 36 - }; 3 + with lib; mkCoqDerivation { 4 + pname = "ltac2"; 5 + owner = "coq"; 6 + inherit version; 7 + defaultVersion = with versions; switch coq.coq-version [ 8 + { case = "8.10"; out = "0.3"; } 9 + { case = "8.9"; out = "0.2"; } 10 + { case = "8.8"; out = "0.1"; } 11 + { case = "8.7"; out = "0.1-8.7"; } 12 + ] null; 13 + release."0.3".sha256 = "0pzs5nsakh4l8ffwgn4ryxbnxdv2x0r1i7bc598ij621haxdirrr"; 14 + release."0.2".sha256 = "0xby1kb26r9gcvk5511wqj05fqm9paynwfxlfqkmwkgnfmzk0x73"; 15 + release."0.1".sha256 = "1zz26cyv99whj7rrpgnhhm9dfqnpmrx5pqizn8ihf8jkq8d4drz7"; 16 + release."0.1-8.7".version = "0.1"; 17 + release."0.1-8.7".rev = "v0.1-8.7"; 18 + release."0.1-8.7".sha256 = "0l6wiwi4cvd0i324fb29i9mdh0ijlxzggw4mrjjy695l2qdnlgg0"; 37 19 38 20 nativeBuildInputs = [ which ]; 39 - buildInputs = [ coq ] ++ (with coq.ocamlPackages; [ ocaml findlib ]) 40 - ++ stdenv.lib.optional (!stdenv.lib.versionAtLeast coq.coq-version "8.10") 41 - coq.ocamlPackages.camlp5 42 - ; 43 - 44 - installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; 21 + mlPlugin = true; 45 22 46 23 meta = { 47 24 description = "A robust and expressive tactic language for Coq"; 48 - maintainers = [ stdenv.lib.maintainers.vbgl ]; 49 - license = stdenv.lib.licenses.lgpl21; 50 - inherit (coq.meta) platforms; 51 - inherit (src.meta) homepage; 52 - }; 53 - 54 - passthru = { 55 - compatibleCoqVersions = stdenv.lib.flip builtins.hasAttr params; 25 + maintainers = [ maintainers.vbgl ]; 26 + license = licenses.lgpl21; 56 27 }; 57 28 }
+8 -21
pkgs/development/coq-modules/math-classes/default.nix
··· 1 - { stdenv, fetchFromGitHub, coq, bignums }: 1 + { lib, mkCoqDerivation, coq, bignums, version ? null }: 2 2 3 - stdenv.mkDerivation rec { 3 + with lib; mkCoqDerivation { 4 4 5 - name = "coq${coq.coq-version}-math-classes-${version}"; 6 - version = "8.11.0"; 5 + pname = "math-classes"; 6 + inherit version; 7 + defaultVersion = if versions.range "8.6" "8.11" coq.coq-version then "8.11.0" else null; 8 + release."8.11.0".sha256 = "1hjgncvm1m46lw6264w4dqsy8dbh74vhmzq52x0fba2yqlvy94sf"; 7 9 8 - src = fetchFromGitHub { 9 - owner = "coq-community"; 10 - repo = "math-classes"; 11 - rev = version; 12 - sha256 = "1hjgncvm1m46lw6264w4dqsy8dbh74vhmzq52x0fba2yqlvy94sf"; 13 - }; 10 + extraBuildInputs = [ bignums ]; 14 11 15 - buildInputs = [ coq bignums ]; 16 - enableParallelBuilding = true; 17 - installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; 18 - 19 - meta = with stdenv.lib; { 12 + meta = { 20 13 homepage = "https://math-classes.github.io"; 21 14 description = "A library of abstract interfaces for mathematical structures in Coq."; 22 15 maintainers = with maintainers; [ siddharthist jwiegley ]; 23 - platforms = coq.meta.platforms; 24 16 }; 25 - 26 - passthru = { 27 - compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" "8.8" "8.9" "8.10" "8.11" ]; 28 - }; 29 - 30 17 }
+27
pkgs/development/coq-modules/mathcomp-analysis/default.nix
··· 1 + { coq, mkCoqDerivation, mathcomp, mathcomp-finmap, mathcomp-bigenough, mathcomp-real-closed, 2 + lib, version ? null }: 3 + 4 + with lib; mkCoqDerivation { 5 + 6 + namePrefix = [ "coq" "mathcomp" ]; 7 + pname = "analysis"; 8 + owner = "math-comp"; 9 + 10 + release."0.3.1".sha256 = "1iad288yvrjv8ahl9v18vfblgqb1l5z6ax644w49w9hwxs93f2k8"; 11 + release."0.2.3".sha256 = "0p9mr8g1qma6h10qf7014dv98ln90dfkwn76ynagpww7qap8s966"; 12 + 13 + inherit version; 14 + defaultVersion = with versions; switch [ coq.version mathcomp.version ] [ 15 + { cases = [ (range "8.10" "8.11") "1.11.0" ]; out = "0.3.1"; } 16 + { cases = [ (range "8.8" "8.11") (range "1.8" "1.10") ]; out = "0.2.3"; } 17 + ] null; 18 + 19 + propagatedBuildInputs = 20 + [ mathcomp.ssreflect mathcomp.field 21 + mathcomp-finmap mathcomp-bigenough mathcomp-real-closed ]; 22 + 23 + meta = { 24 + description = "Analysis library compatible with Mathematical Components"; 25 + license = licenses.cecill-c; 26 + }; 27 + }
+19
pkgs/development/coq-modules/mathcomp-bigenough/default.nix
··· 1 + { coq, mkCoqDerivation, mathcomp, lib, version ? null }: 2 + 3 + with lib; mkCoqDerivation { 4 + 5 + namePrefix = [ "coq" "mathcomp" ]; 6 + pname = "bigenough"; 7 + owner = "math-comp"; 8 + 9 + release = { "1.0.0".sha256 = "10g0gp3hk7wri7lijkrqna263346wwf6a3hbd4qr9gn8hmsx70wg"; }; 10 + inherit version; 11 + defaultVersion = "1.0.0"; 12 + 13 + propagatedBuildInputs = [ mathcomp.ssreflect ]; 14 + 15 + meta = { 16 + description = "A small library to do epsilon - N reasonning"; 17 + license = licenses.cecill-b; 18 + }; 19 + }
+36
pkgs/development/coq-modules/mathcomp-finmap/default.nix
··· 1 + { coq, mkCoqDerivation, mathcomp, lib, version ? null }: 2 + 3 + with lib; mkCoqDerivation { 4 + 5 + namePrefix = [ "coq" "mathcomp" ]; 6 + pname = "finmap"; 7 + owner = "math-comp"; 8 + inherit version; 9 + defaultVersion = with versions; switch [ coq.version mathcomp.version ] [ 10 + { cases = [ (isGe "8.10") (range "1.11" "1.12") ]; out = "1.5.1"; } 11 + { cases = [ (range "8.7" "8.11") "1.11.0" ]; out = "1.5.0"; } 12 + { cases = [ (isEq "8.11") (range "1.8" "1.10") ]; out = "1.4.0+coq-8.11"; } 13 + { cases = [ (range "8.7" "8.11.0") (range "1.8" "1.10") ]; out = "1.4.0"; } 14 + { cases = [ (range "8.7" "8.11.0") (range "1.8" "1.10") ]; out = "1.3.4"; } 15 + { cases = [ (range "8.7" "8.9") "1.7.0" ]; out = "1.1.0"; } 16 + { cases = [ (range "8.6" "8.7") (range "1.6.1" "1.7") ]; out = "1.0.0"; } 17 + ] null; 18 + release = { 19 + "1.5.1".sha256 = "0ryfml4pf1dfya16d8ma80favasmrygvspvb923n06kfw9v986j7"; 20 + "1.5.0".sha256 = "0vx9n1fi23592b3hv5p5ycy7mxc8qh1y5q05aksfwbzkk5zjkwnq"; 21 + "1.4.1".sha256 = "0kx4nx24dml1igk0w0qijmw221r5bgxhwhl5qicnxp7ab3c35s8p"; 22 + "1.4.0+coq-8.11".sha256 = "1fd00ihyx0kzq5fblh9vr8s5mr1kg7p6pk11c4gr8svl1n69ppmb"; 23 + "1.4.0".sha256 = "0mp82mcmrs424ff1vj3cvd8353r9vcap027h3p0iprr1vkkwjbzd"; 24 + "1.3.4".sha256 = "0f5a62ljhixy5d7gsnwd66gf054l26k3m79fb8nz40i2mgp6l9ii"; 25 + "1.2.1".sha256 = "0jryb5dq8js3imbmwrxignlk5zh8gwfb1wr4b1s7jbwz410vp7zf"; 26 + "1.1.0".sha256 = "05df59v3na8jhpsfp7hq3niam6asgcaipg2wngnzxzqnl86srp2a"; 27 + "1.0.0".sha256 = "0sah7k9qm8sw17cgd02f0x84hki8vj8kdz7h15i7rmz08rj0whpa"; 28 + }; 29 + 30 + propagatedBuildInputs = [ mathcomp.ssreflect ]; 31 + 32 + meta = { 33 + description = "A finset and finmap library"; 34 + license = licenses.cecill-b; 35 + }; 36 + }
+33
pkgs/development/coq-modules/mathcomp-real-closed/default.nix
··· 1 + { coq, mkCoqDerivation, mathcomp, mathcomp-bigenough, 2 + lib, version ? null }: 3 + 4 + with lib; mkCoqDerivation { 5 + 6 + namePrefix = [ "coq" "mathcomp" ]; 7 + pname = "real-closed"; 8 + owner = "math-comp"; 9 + inherit version; 10 + release = { 11 + "1.1.2".sha256 = "0907x4nf7nnvn764q3x9lx41g74rilvq5cki5ziwgpsdgb98pppn"; 12 + "1.1.1".sha256 = "0ksjscrgq1i79vys4zrmgvzy2y4ylxa8wdsf4kih63apw6v5ws6b"; 13 + "1.0.5".sha256 = "0q8nkxr9fba4naylr5xk7hfxsqzq2pvwlg1j0xxlhlgr3fmlavg2"; 14 + "1.0.4".sha256 = "058v9dj973h9kfhqmvcy9a6xhhxzljr90cf99hdfcdx68fi2ha1b"; 15 + "1.0.3".sha256 = "1xbzkzqgw5p42dx1liy6wy8lzdk39zwd6j14fwvv5735k660z7yb"; 16 + "1.0.1".sha256 = "0j81gkjbza5vg89v4n9z598mfdbql416963rj4b8fzm7dp2r4rxg"; 17 + }; 18 + 19 + defaultVersion = with versions; switch [ coq.version mathcomp.version ] [ 20 + { cases = [ (isGe "8.10") "1.12.0" ]; out = "1.1.2"; } 21 + { cases = [ (isGe "8.7") "1.11.0" ]; out = "1.1.1"; } 22 + { cases = [ (isGe "8.7") (range "1.9.0" "1.10.0") ]; out = "1.0.4"; } 23 + { cases = [ (isGe "8.7") "1.8.0" ]; out = "1.0.3"; } 24 + { cases = [ (isGe "8.7") "1.7.0" ]; out = "1.0.1"; } 25 + ] null; 26 + 27 + propagatedBuildInputs = [ mathcomp.ssreflect mathcomp.field mathcomp-bigenough ]; 28 + 29 + meta = { 30 + description = "Mathematical Components Library on real closed fields"; 31 + license = licenses.cecill-c; 32 + }; 33 + }
+68 -240
pkgs/development/coq-modules/mathcomp/default.nix
··· 1 - ############################# 2 - # Main derivation: mathcomp # 3 - ######################################################################## 4 - # This file mainly provides the `mathcomp` derivation, which is # 5 - # essentially a meta-package containing all core mathcomp libraries # 6 - # (ssreflect fingroup algebra solvable field character). They can be # 7 - # accessed individually through the paththrough attributes of mathcomp # 8 - # bearing the same names (mathcomp.ssreflect, etc). # 9 - # # 10 - # Do not use overrideAttrs, but overrideMathcomp instead, which # 11 - # regenerate a full mathcomp derivation with sub-derivations, and # 12 - # behave the same as `mathcomp_`, described below. # 13 - ######################################################################## 1 + ############################################################################ 2 + # This file mainly provides the `mathcomp` derivation, which is # 3 + # essentially a meta-package containing all core mathcomp libraries # 4 + # (ssreflect fingroup algebra solvable field character). They can be # 5 + # accessed individually through the passthrough attributes of mathcomp # 6 + # bearing the same names (mathcomp.ssreflect, etc). # 7 + ############################################################################ 8 + # Compiling a custom version of mathcomp using `mathcomp.override`. # 9 + # This is the replacement for the former `mathcomp_ config` function. # 10 + # See the documentation at doc/languages-frameworks/coq.section.md. # 11 + ############################################################################ 14 12 15 - ############################################################ 16 - # Compiling a custom version of mathcomp using `mathcomp_` # 17 - ############################################################################## 18 - # The prefered way to compile a custom version of mathcomp (other than a # 19 - # released version which should be added to `mathcomp-config-initial` # 20 - # and pushed to nixpkgs), is to apply the function `coqPackages.mathcomp_` # 21 - # to either: # 22 - # - a string without slash, which is interpreted as a github revision, # 23 - # i.e. either a tag, a branch or a commit hash # 24 - # - a string with slashes "owner/p_1/.../p_n", which is interpreted as # 25 - # github owner "owner" and revision "p_1/.../p_n". # 26 - # - a path which is interpreted as a local source for the repository, # 27 - # the name of the version is taken to be the basename of the path # 28 - # i.e. if the path is /home/you/git/package/branch/, # 29 - # then "branch" is the name of the version # 30 - # - an attribute set which overrides some attributes (e.g. the src) # 31 - # if the version is updated, the name is automatically regenerated using # 32 - # the conventional schema "coq${coq.coq-version}-${pkgname}-${version}" # 33 - # - a "standard" override function (old: new_attrs) to override the default # 34 - # attribute set, so that you can use old.${field} to patch the derivation. # 35 - ############################################################################## 36 - 37 - ######################################################################### 38 - # Example of use: https://github.com/math-comp/math-comp/wiki/Using-nix # 39 - ######################################################################### 40 - 41 - ################################# 42 - # Adding a new mathcomp version # 43 - ############################################################################# 44 - # When adding a new version of mathcomp, add an attribute to `sha256` (use # 45 - # ```sh # 46 - # nix-prefetch-url --unpack # 47 - # https://github.com/math-comp/math-comp/archive/version.tar.gz # 48 - # ``` # 49 - # to get the corresponding `sha256`) and to `coq-version` (read the release # 50 - # notes to check which versions of coq it is compatible with). Then add # 51 - # it in `preference version`, if not all mathcomp-extra packages are # 52 - # ready, you might want to give new release secondary priority. # 53 - ############################################################################# 54 - 55 - 56 - { stdenv, fetchFromGitHub, ncurses, which, graphviz, 57 - recurseIntoAttrs, withDoc ? false, 58 - coqPackages, 59 - mathcomp_, mathcomp, mathcomp-config, 60 - }: 61 - with builtins // stdenv.lib; 13 + { lib, ncurses, which, graphviz, lua, 14 + mkCoqDerivation, recurseIntoAttrs, withDoc ? false, single ? false, 15 + coqPackages, coq, ocamlPackages, version ? null }@args: 16 + with builtins // lib; 62 17 let 63 - mathcomp-config-initial = rec { 64 - ####################################################################### 65 - # CONFIGURATION (please edit this), it is exported as mathcomp-config # 66 - ####################################################################### 67 - # sha256 of released mathcomp versions 68 - sha256 = { 69 - "1.12.0" = "1ccfny1vwgmdl91kz5xlmhq4wz078xm4z5wpd0jy5rn890dx03wp"; 70 - "1.11.0" = "06a71d196wd5k4wg7khwqb7j7ifr7garhwkd54s86i0j7d6nhl3c"; 71 - "1.11+beta1" = "12i3zznwajlihzpqsiqniv20rklj8d8401lhd241xy4s21fxkkjm"; 72 - "1.10.0" = "1b9m6pwxxyivw7rgx82gn5kmgv2mfv3h3y0mmjcjfypi8ydkrlbv"; 73 - "1.9.0" = "0lid9zaazdi3d38l8042lczb02pw5m9wq0yysiilx891hgq2p81r"; 74 - "1.8.0" = "07l40is389ih8bi525gpqs3qp4yb2kl11r9c8ynk1ifpjzpnabwp"; 75 - "1.7.0" = "0wnhj9nqpx2bw6n1l4i8jgrw3pjajvckvj3lr4vzjb3my2lbxdd1"; 76 - "1.6.1" = "1ilw6vm4dlsdv9cd7kmf0vfrh2kkzr45wrqr8m37miy0byzr4p9i"; 77 - }; 78 - # versions of coq compatible with released mathcomp versions 79 - coq-versions = { 80 - "1.12.0" = flip elem [ "8.13" ]; 81 - "1.11.0" = flip elem [ "8.7" "8.8" "8.9" "8.10" "8.11" "8.12" ]; 82 - "1.11+beta1" = flip elem [ "8.7" "8.8" "8.9" "8.10" "8.11" "8.12" ]; 83 - "1.10.0" = flip elem [ "8.7" "8.8" "8.9" "8.10" "8.11" ]; 84 - "1.9.0" = flip elem [ "8.7" "8.8" "8.9" "8.10" ]; 85 - "1.8.0" = flip elem [ "8.7" "8.8" "8.9" ]; 86 - "1.7.0" = flip elem [ "8.6" "8.7" "8.8" "8.9" ]; 87 - "1.6.1" = flip elem [ "8.5"]; 88 - }; 89 - 90 - # sets the default version of mathcomp given a version of Coq 91 - # this is currently computed using version-perference below 92 - # but it can be set to a fixed version number 93 - preferred-version = let v = head ( 94 - filter (mc: mathcomp-config.coq-versions.${mc} coq.coq-version) 95 - mathcomp-config.version-preferences ++ ["0.0.0"]); 96 - in if v == "0.0.0" then head mathcomp-config.version-preferences else v; 97 - 98 - # mathcomp preferred versions by decreasing order 99 - # (the first version in the list will be tried first) 100 - version-preferences = 101 - [ "1.12.0" "1.10.0" "1.11.0" "1.9.0" "1.8.0" "1.7.0" "1.6.1" ]; 102 - 103 - # list of core mathcomp packages sorted by dependency order 104 - packages = _version: # unused in current versions of mathcomp 105 - # because the following list of packages is fixed for 106 - # all versions of mathcomp up to 1.11.0 107 - [ "ssreflect" "fingroup" "algebra" "solvable" "field" "character" "all" ]; 108 - 109 - # compute the dependencies of the core package pkg 110 - # (assuming the total ordering above, change if necessary) 111 - deps = version: pkg: if pkg == "single" then [] else 112 - (pred-split-list (x: x == pkg) (mathcomp-config.packages version)).left; 113 - }; 114 - 115 - ############################################################## 116 - # COMPUTED using the configuration above (edit with caution) # 117 - ############################################################## 118 - 119 - # generic split function (TODO: move to lib?) 120 - pred-split-list = pred: l: 121 - let loop = v: l: if l == [] then {left = v; right = [];} 122 - else let hd = builtins.head l; tl = builtins.tail l; in 123 - if pred hd then {left = v; right = tl;} else loop (v ++ [hd]) tl; 124 - in loop [] l; 125 - 126 - pkgUp = l: r: l // r // { 127 - meta = (l.meta or {}) // (r.meta or {}); 128 - passthru = (l.passthru or {}) // (r.passthru or {}); 18 + repo = "math-comp"; 19 + owner = "math-comp"; 20 + withDoc = single && (args.withDoc or false); 21 + defaultVersion = with versions; switch coq.coq-version [ 22 + { case = isGe "8.13"; out = "1.12.0"; } # lower version of coq to 8.10 when all mathcomp packages are ported 23 + { case = range "8.7" "8.12"; out = "1.11.0"; } 24 + { case = range "8.7" "8.11"; out = "1.10.0"; } 25 + { case = range "8.7" "8.11"; out = "1.9.0"; } 26 + { case = range "8.7" "8.9"; out = "1.8.0"; } 27 + { case = range "8.6" "8.9"; out = "1.7.0"; } 28 + { case = range "8.5" "8.7"; out = "1.6.4"; } 29 + ] null; 30 + release = { 31 + "1.12.0".sha256 = "1ccfny1vwgmdl91kz5xlmhq4wz078xm4z5wpd0jy5rn890dx03wp"; 32 + "1.11.0".sha256 = "06a71d196wd5k4wg7khwqb7j7ifr7garhwkd54s86i0j7d6nhl3c"; 33 + "1.10.0".sha256 = "1b9m6pwxxyivw7rgx82gn5kmgv2mfv3h3y0mmjcjfypi8ydkrlbv"; 34 + "1.9.0".sha256 = "0lid9zaazdi3d38l8042lczb02pw5m9wq0yysiilx891hgq2p81r"; 35 + "1.8.0".sha256 = "07l40is389ih8bi525gpqs3qp4yb2kl11r9c8ynk1ifpjzpnabwp"; 36 + "1.7.0".sha256 = "0wnhj9nqpx2bw6n1l4i8jgrw3pjajvckvj3lr4vzjb3my2lbxdd1"; 37 + "1.6.4".sha256 = "09ww48qbjsvpjmy1g9yhm0rrkq800ffq21p6fjkbwd34qvd82raz"; 38 + "1.6.1".sha256 = "1ilw6vm4dlsdv9cd7kmf0vfrh2kkzr45wrqr8m37miy0byzr4p9i"; 129 39 }; 40 + releaseRev = v: "mathcomp-${v}"; 130 41 131 - coq = coqPackages.coq; 132 - mathcomp-deps = mathcomp-config.deps mathcomp.config.preferred-version; 42 + # list of core mathcomp packages sorted by dependency order 43 + packages = [ "ssreflect" "fingroup" "algebra" "solvable" "field" "character" "all" ]; 133 44 134 - # default set of attributes given a 'package' name. 135 - # this attribute set will be extended using toOverrideFun 136 - default-attrs = package: 137 - let 45 + mathcomp_ = package: let 46 + mathcomp-deps = if package == "single" then [] 47 + else map mathcomp_ (head (splitList (pred.equal package) packages)); 138 48 pkgpath = if package == "single" then "mathcomp" else "mathcomp/${package}"; 139 - pkgname = if package == "single" then "mathcomp" else "mathcomp-${package}"; 49 + pname = if package == "single" then "mathcomp" else "mathcomp-${package}"; 140 50 pkgallMake = '' 141 51 echo "all.v" > Make 142 52 echo "-I ." >> Make 143 53 echo "-R . mathcomp.all" >> Make 144 54 ''; 145 - in 146 - rec { 147 - version = "master"; 148 - name = "coq${coq.coq-version}-${pkgname}-${version}"; 55 + derivation = mkCoqDerivation ({ 56 + inherit version pname defaultVersion release releaseRev repo owner; 149 57 150 - nativeBuildInputs = optionals withDoc [ graphviz ]; 151 - buildInputs = [ ncurses which ] ++ (with coq.ocamlPackages; [ ocaml findlib camlp5 ]); 152 - propagatedBuildInputs = [ coq ]; 153 - enableParallelBuilding = true; 58 + nativeBuildInputs = optional withDoc graphviz; 59 + mlPlugin = versions.isLe "8.6" coq.coq-version; 60 + extraBuildInputs = [ ncurses which ] ++ optional withDoc lua; 61 + propagatedBuildInputs = mathcomp-deps; 154 62 155 63 buildFlags = optional withDoc "doc"; 156 64 157 - COQBIN = "${coq}/bin/"; 158 - 159 65 preBuild = '' 160 66 patchShebangs etc/utils/ssrcoqdep || true 67 + '' + '' 161 68 cd ${pkgpath} 162 69 '' + optionalString (package == "all") pkgallMake; 163 70 164 - installPhase = '' 165 - make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install 166 - '' + optionalString withDoc '' 167 - make -f Makefile.coq install-doc DOCDIR=$out/share/coq/${coq.coq-version}/ 168 - ''; 71 + installTargets = "install" + optionalString withDoc " doc"; 169 72 170 - meta = with stdenv.lib; { 73 + meta = { 171 74 homepage = "https://math-comp.github.io/"; 172 75 license = licenses.cecill-b; 173 - maintainers = [ maintainers.vbgl maintainers.jwiegley maintainers.cohencyril ]; 174 - platforms = coq.meta.platforms; 175 - }; 176 - 177 - passthru = { 178 - mathcompDeps = mathcomp-deps package; 179 - inherit package mathcomp-config; 180 - compatibleCoqVersions = _: true; 181 - }; 182 - }; 183 - 184 - # converts a string, path or attribute set into an override function 185 - toOverrideFun = overrides: 186 - if isFunction overrides then overrides else old: 187 - let 188 - pkgname = if old.passthru.package == "single" then "mathcomp" 189 - else "mathcomp-${old.passthru.package}"; 190 - 191 - string-attrs = if hasAttr overrides mathcomp-config.sha256 then 192 - let version = overrides; 193 - in { 194 - inherit version; 195 - src = fetchFromGitHub { 196 - owner = "math-comp"; 197 - repo = "math-comp"; 198 - rev = "mathcomp-${version}"; 199 - sha256 = mathcomp-config.sha256.${version}; 200 - }; 201 - passthru = old.passthru // { 202 - compatibleCoqVersions = mathcomp-config.coq-versions.${version}; 203 - mathcompDeps = mathcomp-config.deps version old.passthru.package; 204 - }; 205 - } 206 - else 207 - let splitted = filter isString (split "/" overrides); 208 - owner = head splitted; 209 - ref = concatStringsSep "/" (tail splitted); 210 - version = head (reverseList splitted); 211 - in if length splitted == 1 then { 212 - inherit version; 213 - src = fetchTarball "https://github.com/math-comp/math-comp/archive/${version}.tar.gz"; 214 - } else { 215 - inherit version; 216 - src = fetchTarball "https://github.com/${owner}/math-comp/archive/${ref}.tar.gz"; 217 - }; 218 - 219 - attrs = 220 - if overrides == null || overrides == "" then _: {} 221 - else if isString overrides then string-attrs 222 - else if isPath overrides then { version = baseNameOf overrides; src = overrides; } 223 - else if isAttrs overrides then pkgUp old overrides 224 - else let overridesStr = toString overrides; in 225 - abort "${overridesStr} not a legitimate overrides"; 226 - in 227 - attrs // (if attrs?version && ! (attrs?name) 228 - then { name = "coq${coq.coq-version}-${pkgname}-${attrs.version}"; } else {}); 229 - 230 - # generates {ssreflect = «derivation ...» ; ... ; character = «derivation ...», ...} 231 - mkMathcompGenSet = pkgs: o: 232 - fold (pkg: pkgs: pkgs // {${pkg} = mkMathcompGen pkg o;}) {} pkgs; 233 - # generates the derivation of one mathcomp package. 234 - mkMathcompGen = package: overrides: 235 - let 236 - up = x: o: x // (toOverrideFun o x); 237 - fixdeps = attrs: 238 - let version = attrs.version or "master"; 239 - mcdeps = if package == "single" then {} 240 - else mkMathcompGenSet (filter isString attrs.passthru.mathcompDeps) overrides; 241 - allmc = mkMathcompGenSet (mathcomp-config.packages version ++ [ "single" ]) overrides; 242 - in { 243 - propagatedBuildInputs = [ coq ] 244 - ++ filter isDerivation attrs.passthru.mathcompDeps 245 - ++ attrValues mcdeps 246 - ; 247 - passthru = allmc // 248 - { overrideMathcomp = o: mathcomp_ (old: up (up old overrides) o); }; 76 + maintainers = with maintainers; [ vbgl jwiegley cohencyril ]; 249 77 }; 250 - in 251 - stdenv.mkDerivation (up (up (default-attrs package) overrides) fixdeps); 78 + } // optionalAttrs (package != "single") { passthru = genAttrs packages mathcomp_; }); 79 + patched-derivation1 = derivation.overrideAttrs (o: 80 + optionalAttrs (o.pname != null && o.pname == "mathcomp-all" && 81 + o.version != null && o.version != "dev" && versions.isLt "1.7" o.version) 82 + { preBuild = ""; buildPhase = ""; installPhase = "echo doing nothing"; } 83 + ); 84 + patched-derivation = patched-derivation1.overrideAttrs (o: 85 + optionalAttrs (versions.isLe "8.7" coq.coq-version || 86 + (o.version != "dev" && versions.isLe "1.7" o.version)) 87 + { 88 + installFlags = o.installFlags ++ [ "-f Makefile.coq" ]; 89 + } 90 + ); 91 + in patched-derivation; 252 92 in 253 - { 254 - mathcomp-config = mathcomp-config-initial; 255 - mathcomp_ = mkMathcompGen "all"; 256 - mathcomp = mathcomp_ mathcomp-config.preferred-version; 257 - # mathcomp-single = mathcomp.single; 258 - ssreflect = mathcomp.ssreflect; 259 - mathcomp-ssreflect = mathcomp.ssreflect; 260 - mathcomp-fingroup = mathcomp.fingroup; 261 - mathcomp-algebra = mathcomp.algebra; 262 - mathcomp-solvable = mathcomp.solvable; 263 - mathcomp-field = mathcomp.field; 264 - mathcomp-character = mathcomp.character; 265 - } 93 + mathcomp_ (if single then "single" else "all")
-391
pkgs/development/coq-modules/mathcomp/extra.nix
··· 1 - ########################################################## 2 - # Main derivation: # 3 - # mathcomp-finmap mathcomp-analysis mathcomp-bigenough # 4 - # mathcomp-multinomials mathcomp-real-closed coqeal # 5 - # Additionally: # 6 - # mathcomp-extra-all contains all the extra packages # 7 - # mathcomp-extra-fast contains the one not marked slow # 8 - ######################################################################## 9 - # This file mainly provides the above derivations, which are packages # 10 - # extra mathcomp libraries based on mathcomp. # 11 - ######################################################################## 12 - 13 - ##################################################### 14 - # Compiling customs versions using `mathcomp-extra` # 15 - ############################################################################## 16 - # The prefered way to compile a custom version of mathcomp extra packages # 17 - # (other than released versions which should be added to # 18 - # `rec-mathcomp-extra-config` and pushed to nixpkgs, see below), # 19 - # is to use `coqPackages.mathcomp-extra name version` where # 20 - # 1. `name` is a string representing the name of a declared package # 21 - # OR undeclared package. # 22 - # 2. `version` is either: # 23 - # - a string without slash, which is interpreted as a github revision, # 24 - # i.e. either a tag, a branch or a commit hash # 25 - # - a string with slashes "owner/p_1/.../p_n", which is interpreted as # 26 - # github owner "owner" and revision "p_1/.../p_n". # 27 - # - a path which is interpreted as a local source for the repository, # 28 - # the name of the version is taken to be the basename of the path # 29 - # i.e. if the path is /home/you/git/package/branch/, # 30 - # then "branch" is the name of the version # 31 - # - an attribute set which overrides some attributes (e.g. the src) # 32 - # if the version is updated, the name is automatically regenerated using # 33 - # the conventional schema "coq${coq.coq-version}-${pkgname}-${version}" # 34 - # - a "standard" override function (old: new_attrs) to override the default # 35 - # attribute set, so that you can use old.${field} to patch the derivation. # 36 - # # 37 - # Should you choose to use `pkg.overrideAttrs` instead, we provide the # 38 - # function mathcomp-extra-override which takes a name and a version exactly # 39 - # as above and returns an override function. # 40 - ############################################################################## 41 - 42 - ######################################################################### 43 - # Example of use: https://github.com/math-comp/math-comp/wiki/Using-nix # 44 - ######################################################################### 45 - 46 - ########################################### 47 - # Adding a new package or package version # 48 - ################################################################################ 49 - # 1. Update or add a `package` entry to `initial`, it must be a function # 50 - # taking the version as argument and returning an attribute set. Everything # 51 - # is optional and the default for the sources of the repository and the # 52 - # homepage will be https://github.com/math-comp/${package}. # 53 - # # 54 - # 2. Update or add a `package` entry to `sha256` for each release. # 55 - # You may use # 56 - # ```sh # 57 - # nix-prefetch-url --unpack # 58 - # https://github.com/math-comp/math-comp/archive/version.tar.gz # 59 - # ``` # 60 - # # 61 - # 3. Update or create a new consistent set of extra packages. # 62 - # /!\ They must all be co-compatible. /!\ # 63 - # Do not use versions that may disappear: it must either be # 64 - # - a tag from the main repository (e.g. version or tag), or # 65 - # - a revision hash that has been *merged in master* # 66 - ################################################################################ 67 - 68 - { stdenv, fetchFromGitHub, recurseIntoAttrs, 69 - which, mathcomp, coqPackages, 70 - mathcomp-extra-config, mathcomp-extra-override, 71 - mathcomp-extra, current-mathcomp-extra, 72 - }: 73 - with builtins // stdenv.lib; 74 - let 75 - ############################## 76 - # CONFIGURATION, please edit # 77 - ############################## 78 - ############################ 79 - # Packages base delaration # 80 - ############################ 81 - rec-mathcomp-extra-config = { 82 - initial = { 83 - mathcomp-finmap = {version, coqPackages}: { 84 - meta = { 85 - description = "A finset and finmap library"; 86 - repo = "finmap"; 87 - homepage = "https://github.com/math-comp/finmap"; 88 - }; 89 - passthru.compatibleCoqVersions = flip elem [ "8.8" "8.9" "8.10" "8.11" ]; 90 - }; 91 - 92 - mathcomp-bigenough = {version, coqPackages}: { 93 - meta = { 94 - description = "A small library to do epsilon - N reasonning"; 95 - repo = "bigenough"; 96 - homepage = "https://github.com/math-comp/bigenough"; 97 - }; 98 - passthru.compatibleCoqVersions = flip elem [ "8.7" "8.8" "8.9" "8.10" "8.11" ]; 99 - }; 100 - 101 - multinomials = {version, coqPackages}: { 102 - buildInputs = [ which ]; 103 - propagatedBuildInputs = with coqPackages; 104 - [ mathcomp.algebra mathcomp-finmap mathcomp-bigenough ]; 105 - meta = { 106 - description = "A Coq/SSReflect Library for Monoidal Rings and Multinomials"; 107 - repo = "multinomials"; 108 - homepage = "https://github.com/math-comp/multinomials"; 109 - }; 110 - passthru.compatibleCoqVersions = flip elem [ "8.9" "8.10" "8.11" ]; 111 - }; 112 - 113 - mathcomp-analysis = {version, coqPackages}: { 114 - propagatedBuildInputs = with coqPackages; 115 - [ mathcomp.field mathcomp-finmap mathcomp-bigenough mathcomp-real-closed ]; 116 - meta = { 117 - description = "Analysis library compatible with Mathematical Components"; 118 - homepage = "https://github.com/math-comp/analysis"; 119 - repo = "analysis"; 120 - license = stdenv.lib.licenses.cecill-c; 121 - }; 122 - passthru.compatibleCoqVersions = flip elem ["8.8" "8.9" "8.10" "8.11" ]; 123 - }; 124 - 125 - mathcomp-real-closed = {version, coqPackages}: { 126 - propagatedBuildInputs = with coqPackages; 127 - [ mathcomp.field mathcomp-bigenough ]; 128 - meta = { 129 - description = "Mathematical Components Library on real closed fields"; 130 - repo = "real-closed"; 131 - homepage = "https://github.com/math-comp/real-closed"; 132 - }; 133 - passthru.compatibleCoqVersions = flip elem ["8.8" "8.9" "8.10" "8.11" ]; 134 - }; 135 - 136 - coqeal = {version, coqPackages}: { 137 - buildInputs = [ which ]; 138 - propagatedBuildInputs = with coqPackages; 139 - [ mathcomp-algebra bignums paramcoq multinomials ]; 140 - meta = { 141 - description = "CoqEAL - The Coq Effective Algebra Library"; 142 - homepage = "https://github.com/coqeal/coqeal"; 143 - license = stdenv.lib.licenses.mit; 144 - owner = "CoqEAL"; 145 - }; 146 - passthru.compatibleCoqVersions = flip elem [ "8.9" "8.10" "8.11" ]; 147 - }; 148 - }; 149 - 150 - ############################### 151 - # sha256 of released versions # 152 - ############################### 153 - sha256 = { 154 - mathcomp-finmap = { 155 - "1.5.0" = "0vx9n1fi23592b3hv5p5ycy7mxc8qh1y5q05aksfwbzkk5zjkwnq"; 156 - "1.4.1" = "0kx4nx24dml1igk0w0qijmw221r5bgxhwhl5qicnxp7ab3c35s8p"; 157 - "1.4.0+coq-8.11" = "1fd00ihyx0kzq5fblh9vr8s5mr1kg7p6pk11c4gr8svl1n69ppmb"; 158 - "1.4.0" = "0mp82mcmrs424ff1vj3cvd8353r9vcap027h3p0iprr1vkkwjbzd"; 159 - "1.3.4" = "0f5a62ljhixy5d7gsnwd66gf054l26k3m79fb8nz40i2mgp6l9ii"; 160 - "1.3.3" = "1n844zjhv354kp4g4pfbajix0plqh7yxv6471sgyb46885298am5"; 161 - "1.3.1" = "14rvm0rm5hd3pd0srgak3jqmddzfv6n7gdpjwhady5xcgrc7gsx7"; 162 - "1.2.1" = "0jryb5dq8js3imbmwrxignlk5zh8gwfb1wr4b1s7jbwz410vp7zf"; 163 - "1.2.0" = "0b6wrdr0d7rcnv86s37zm80540jl2wmiyf39ih7mw3dlwli2cyj4"; 164 - "1.1.0" = "05df59v3na8jhpsfp7hq3niam6asgcaipg2wngnzxzqnl86srp2a"; 165 - "1.0.0" = "0sah7k9qm8sw17cgd02f0x84hki8vj8kdz7h15i7rmz08rj0whpa"; 166 - }; 167 - mathcomp-bigenough = { 168 - "1.0.0" = "10g0gp3hk7wri7lijkrqna263346wwf6a3hbd4qr9gn8hmsx70wg"; 169 - }; 170 - mathcomp-analysis = { 171 - "0.3.1" = "1iad288yvrjv8ahl9v18vfblgqb1l5z6ax644w49w9hwxs93f2k8"; 172 - "0.3.0" = "03klwi4fja0cqb4myp3kgycfbmdv00bznmxf8yg3zzzzw997hjqc"; 173 - "0.2.3" = "0p9mr8g1qma6h10qf7014dv98ln90dfkwn76ynagpww7qap8s966"; 174 - "0.2.2" = "1d5dwg9di2ppdzfg21zr0a691zigb5kz0lcw263jpyli1nrq7cvk"; 175 - "0.2.0" = "1186xjxgns4ns1szyi931964bjm0mp126qzlv10mkqqgfw07nhrd"; 176 - "0.1.0" = "0hwkr2wzy710pcyh274fcarzdx8sv8myp16pv0vq5978nmih46al"; 177 - }; 178 - multinomials = { 179 - "1.5.2" = "15aspf3jfykp1xgsxf8knqkxv8aav2p39c2fyirw7pwsfbsv2c4s"; 180 - "1.5.1" = "13nlfm2wqripaq671gakz5mn4r0xwm0646araxv0nh455p9ndjs3"; 181 - "1.5" = "064rvc0x5g7y1a0nip6ic91vzmq52alf6in2bc2dmss6dmzv90hw"; 182 - "1.4" = "0vnkirs8iqsv8s59yx1fvg1nkwnzydl42z3scya1xp1b48qkgn0p"; 183 - "1.3" = "0l3vi5n094nx3qmy66hsv867fnqm196r8v605kpk24gl0aa57wh4"; 184 - "1.2" = "1mh1w339dslgv4f810xr1b8v2w7rpx6fgk9pz96q0fyq49fw2xcq"; 185 - "1.1" = "1q8alsm89wkc0lhcvxlyn0pd8rbl2nnxg81zyrabpz610qqjqc3s"; 186 - "1.0" = "1qmbxp1h81cy3imh627pznmng0kvv37k4hrwi2faa101s6bcx55m"; 187 - }; 188 - mathcomp-real-closed = { 189 - "1.1.1" = "0ksjscrgq1i79vys4zrmgvzy2y4ylxa8wdsf4kih63apw6v5ws6b"; 190 - "1.1.0" = "0zgfmrlximw77bw5w6w0xg2nampp02pmrwnrzx8m1n5pqljnv8fh"; 191 - "1.0.5" = "0q8nkxr9fba4naylr5xk7hfxsqzq2pvwlg1j0xxlhlgr3fmlavg2"; 192 - "1.0.4" = "058v9dj973h9kfhqmvcy9a6xhhxzljr90cf99hdfcdx68fi2ha1b"; 193 - "1.0.3" = "1xbzkzqgw5p42dx1liy6wy8lzdk39zwd6j14fwvv5735k660z7yb"; 194 - "1.0.2" = "0097pafwlmzd0gyfs31bxpi1ih04i72nxhn99r93aj20mn7mcsgl"; 195 - "1.0.1" = "0j81gkjbza5vg89v4n9z598mfdbql416963rj4b8fzm7dp2r4rxg"; 196 - }; 197 - coqeal = { 198 - "1.0.4" = "1g5m26lr2lwxh6ld2gykailhay4d0ayql4bfh0aiwqpmmczmxipk"; 199 - "1.0.3" = "0hc63ny7phzbihy8l7wxjvn3haxx8jfnhi91iw8hkq8n29i23v24"; 200 - "1.0.2" = "1brmf3gj03iky1bcl3g9vx8vknny7xfvs0y2rfr85am0296sxsfj"; 201 - "1.0.1" = "19jhdrv2yp9ww0h8q73ihb2w1z3glz4waf2d2n45klafxckxi7bm"; 202 - "1.0.0" = "1had6f1n85lmh9x31avbmgl3m0rsiw9f8ma95qzk5b57fjg5k1ii"; 203 - }; 204 - }; 205 - 206 - ################################ 207 - # CONSISTENT sets of packages. # 208 - ################################ 209 - for-coq-and-mc = let 210 - v6 = { 211 - mathcomp-finmap = "1.5.0"; 212 - mathcomp-bigenough = "1.0.0"; 213 - mathcomp-analysis = "0.3.1"; 214 - multinomials = "1.5.2"; 215 - mathcomp-real-closed = "1.1.1"; 216 - coqeal = "1.0.4"; 217 - }; 218 - v5 = { 219 - mathcomp-finmap = "1.5.0"; 220 - mathcomp-bigenough = "1.0.0"; 221 - mathcomp-analysis = "0.3.0"; 222 - multinomials = "1.5.1"; 223 - mathcomp-real-closed = "1.0.5"; 224 - coqeal = "1.0.4"; 225 - }; 226 - v4 = v3 // { coqeal = "1.0.3"; }; 227 - v3 = { 228 - mathcomp-finmap = "1.4.0"; 229 - mathcomp-bigenough = "1.0.0"; 230 - mathcomp-analysis = "0.2.3"; 231 - multinomials = "1.5"; 232 - mathcomp-real-closed = "1.0.4"; 233 - coqeal = "1.0.0"; 234 - }; 235 - v2 = { 236 - mathcomp-finmap = "1.3.4"; 237 - mathcomp-bigenough = "1.0.0"; 238 - mathcomp-analysis = "0.2.3"; 239 - multinomials = "1.4"; 240 - mathcomp-real-closed = "1.0.3"; 241 - coqeal = "1.0.0"; 242 - }; 243 - v1 = { 244 - mathcomp-finmap = "1.1.0"; 245 - mathcomp-bigenough = "1.0.0"; 246 - multinomials = "1.1"; 247 - mathcomp-real-closed = "1.0.1"; 248 - coqeal = "1.0.0"; 249 - }; 250 - in 251 - { 252 - "8.11" = { 253 - "1.11.0" = v6; 254 - "1.11+beta1" = v5; 255 - "1.10.0" = v4 // {mathcomp-finmap = "1.4.0+coq-8.11";}; 256 - }; 257 - "8.10" = { 258 - "1.11.0" = removeAttrs v6 ["coqeal"]; 259 - "1.11+beta1" = removeAttrs v5 ["coqeal"]; 260 - "1.10.0" = v4; 261 - "1.9.0" = removeAttrs v3 ["coqeal"]; 262 - }; 263 - "8.9" = { 264 - "1.11.0" = removeAttrs v6 ["mathcomp-analysis"]; 265 - "1.11+beta1" = removeAttrs v5 ["mathcomp-analysis"]; 266 - "1.10.0" = v4; 267 - "1.9.0" = removeAttrs v3 ["coqeal"]; 268 - "1.8.0" = removeAttrs v2 ["coqeal"]; 269 - }; 270 - "8.8" = { 271 - "1.11.0" = removeAttrs v6 ["mathcomp-analysis"]; 272 - "1.11+beta1" = removeAttrs v5 ["mathcomp-analysis"]; 273 - "1.10.0" = removeAttrs v4 ["mathcomp-analysis"]; 274 - "1.9.0" = removeAttrs v3 ["coqeal"]; 275 - "1.8.0" = removeAttrs v2 ["coqeal"]; 276 - "1.7.0" = removeAttrs v1 ["coqeal" "multinomials"]; 277 - }; 278 - "8.7" = { 279 - "1.11.0" = removeAttrs v6 ["mathcomp-analysis"]; 280 - "1.11+beta1" = removeAttrs v5 ["mathcomp-analysis"]; 281 - "1.10.0" = removeAttrs v4 ["mathcomp-analysis"]; 282 - "1.9.0" = removeAttrs v3 ["coqeal" "mathcomp-analysis"]; 283 - "1.8.0" = removeAttrs v2 ["coqeal" "mathcomp-analysis"]; 284 - "1.7.0" = removeAttrs v1 ["coqeal" "multinomials"]; 285 - }; 286 - }; 287 - }; 288 - 289 - ############################## 290 - # GENERATION, EDIT WITH CARE # 291 - ############################## 292 - coq = coqPackages.coq; 293 - 294 - default-attrs = { 295 - version = "master"; 296 - buildInputs = []; 297 - propagatedBuildInputs = (with coqPackages; [ ssreflect ]); 298 - installFlags = [ "-f" "Makefile.coq" "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; 299 - meta = { 300 - inherit (mathcomp.meta) platforms license; 301 - owner = "math-comp"; 302 - maintainers = [ maintainers.vbgl maintainers.cohencyril ]; 303 - }; 304 - passthru.compatibleCoqVersions = (_: true); 305 - }; 306 - 307 - pkgUp = recursiveUpdateUntil (path: l: r: !(isAttrs l && isAttrs r) || path == ["src"]); 308 - 309 - # Fixes a partial attribute set using the configuration 310 - # in the style of the above mathcomp-extra-config.initial, 311 - # and generates a name according to the conventional naming scheme below 312 - fix-attrs = pkgcfg: 313 - let attrs = pkgUp default-attrs pkgcfg; in 314 - pkgUp attrs (rec { 315 - name = "coq${coq.coq-version}mathcomp${mathcomp.version}-${attrs.meta.repo or attrs.meta.package or "anonymous"}-${attrs.version}"; 316 - src = attrs.src or (fetchTarball "${meta.homepage}/archive/${attrs.version}.tar.gz"); 317 - meta = rec { 318 - homepage = attrs.meta.homepage or attrs.src.meta.homepage or "https://github.com/${owner}/${repo}"; 319 - owner = attrs.meta.owner or "math-comp"; 320 - repo = attrs.meta.repo or attrs.meta.package or "math-comp-nix"; 321 - }; 322 - }); 323 - 324 - # Gets a version out of a string, path or attribute set. 325 - getVersion = arg: 326 - if isFunction arg then (arg {}).version 327 - else if arg == "" then "master" 328 - else if isDerivation arg then arg.drvAttrs.version or "master" 329 - else if isAttrs arg then arg.version or "master" 330 - else if isString arg then head (reverseList (split "/" arg)) 331 - else if isPath arg then (baseNameOf arg) 332 - else "master"; 333 - 334 - # Converts a string, path or attribute set into an override function 335 - # It tries to fill the `old` argument of the override function using 336 - # `mathcomp-extra-config.initial` first and finishes with `fix-attrs` 337 - rec-mathcomp-extra-override = generic: old: let 338 - version = getVersion generic; 339 - package = old.meta.package or "math-comp-nix"; 340 - cfg = pkgUp ((mathcomp-extra-config.initial.${package} or (_: {})) 341 - { inherit version coqPackages; }) old 342 - // { inherit version; }; 343 - fix = attrs: fix-attrs (pkgUp cfg attrs); 344 - in 345 - if isFunction generic then fix (generic cfg) 346 - else if generic == null || generic == "" then fix {} 347 - else if isDerivation generic then generic.drvAttrs 348 - else if isAttrs generic then fix generic 349 - else if generic == "broken" then fix { meta.broken = true; passthru.compatibleCoqVersions = _: false; } 350 - else let fixedcfg = fix cfg; in fixedcfg // ( 351 - if isString generic then 352 - if (mathcomp-extra-config.sha256.${package} or {})?${generic} then { 353 - src = fetchFromGitHub { 354 - inherit (fixedcfg.meta) owner repo; 355 - rev = version; 356 - sha256 = mathcomp-extra-config.sha256.${package}.${version}; 357 - }; 358 - } 359 - else let splitted = filter isString (split "/" generic); in { 360 - src = fetchTarball 361 - ("https://github.com/" + 362 - (if length splitted == 1 then "${fixedcfg.meta.owner}/${fixedcfg.meta.repo}/archive/${version}.tar.gz" 363 - else "${head splitted}/${fixedcfg.meta.repo}/archive/${concatStringsSep "/" (tail splitted)}.tar.gz")); 364 - } 365 - else if isPath generic then { src = generic; } 366 - else abort "${toString generic} not a legitimate generic version/override"); 367 - 368 - # applies mathcomp-extra-config.for-coq-and-mc to the current mathcomp version 369 - for-this = mathcomp-extra-config.for-coq-and-mc.${coq.coq-version}.${mathcomp.version} or {}; 370 - 371 - # specializes mathcomp-extra to the current mathcomp version. 372 - rec-current-mathcomp-extra = package: mathcomp-extra package (for-this.${package} or {}); 373 - in 374 - { 375 - mathcomp-extra-override = rec-mathcomp-extra-override; 376 - mathcomp-extra-config = rec-mathcomp-extra-config; 377 - current-mathcomp-extra = rec-current-mathcomp-extra; 378 - mathcomp-extra = package: version: 379 - stdenv.mkDerivation (mathcomp-extra-override version {meta = {inherit package;};}); 380 - 381 - mathcomp-finmap = current-mathcomp-extra "mathcomp-finmap"; 382 - mathcomp-analysis = current-mathcomp-extra "mathcomp-analysis"; 383 - mathcomp-bigenough = current-mathcomp-extra "mathcomp-bigenough"; 384 - multinomials = current-mathcomp-extra "multinomials"; 385 - mathcomp-real-closed = current-mathcomp-extra "mathcomp-real-closed"; 386 - coqeal = current-mathcomp-extra "coqeal"; 387 - 388 - mathcomp-extra-fast = map current-mathcomp-extra 389 - (attrNames (filterAttrs (pkg: config: !(config?slow && config.slow)) for-this)); 390 - mathcomp-extra-all = map current-mathcomp-extra (attrNames for-this); 391 - }
+9 -24
pkgs/development/coq-modules/metalib/default.nix
··· 1 - { stdenv, fetchFromGitHub, coq }: 1 + { lib, mkCoqDerivation, coq, version ? null }: 2 2 3 - stdenv.mkDerivation rec { 4 - name = "coq${coq.coq-version}-metalib-${version}"; 5 - version = "20200527"; 6 - 7 - src = fetchFromGitHub { 8 - owner = "plclub"; 9 - repo = "metalib"; 10 - rev = "597fd7d0c93eb159274e84a39d554f10f1efccf8"; 11 - sha256 = "0wbypc05d2lqfm9qaw98ynr5yc1p0ipsvyc3bh1rk9nz7zwirmjs"; 12 - }; 3 + with lib; mkCoqDerivation { 4 + pname = "metalib"; 5 + owner = "plclub"; 6 + inherit version; 7 + defaultVersion = if versions.range "8.10" "8.12" coq.coq-version then "20200527" else null; 8 + release."20200527".rev = "597fd7d0c93eb159274e84a39d554f10f1efccf8"; 9 + release."20200527".sha256 = "0wbypc05d2lqfm9qaw98ynr5yc1p0ipsvyc3bh1rk9nz7zwirmjs"; 13 10 14 11 sourceRoot = "source/Metalib"; 15 - 16 - buildInputs = [ coq ]; 17 - 18 - enableParallelBuilding = true; 19 - 20 12 installFlags = "COQMF_COQLIB=$(out)/lib/coq/${coq.coq-version}"; 21 13 22 - meta = with stdenv.lib; { 23 - homepage = "https://github.com/plclub/metalib"; 14 + meta = { 24 15 license = licenses.mit; 25 16 maintainers = [ maintainers.jwiegley ]; 26 - platforms = coq.meta.platforms; 27 17 }; 28 - 29 - passthru = { 30 - compatibleCoqVersions = v: builtins.elem v [ "8.10" "8.11" "8.12" ]; 31 - }; 32 - 33 18 }
+34
pkgs/development/coq-modules/multinomials/default.nix
··· 1 + { coq, mkCoqDerivation, mathcomp, mathcomp-finmap, mathcomp-bigenough, 2 + lib, version ? null }: 3 + with lib; mkCoqDerivation { 4 + 5 + namePrefix = [ "coq" "mathcomp" ]; 6 + pname = "multinomials"; 7 + owner = "math-comp"; 8 + inherit version; 9 + defaultVersion = with versions; switch [ coq.version mathcomp.version ] [ 10 + { cases = [ (range "8.7" "8.12") "1.11.0" ]; out = "1.5.2"; } 11 + { cases = [ (range "8.7" "8.11") (range "1.8" "1.10") ]; out = "1.5.0"; } 12 + { cases = [ (range "8.7" "8.10") (range "1.8" "1.10") ]; out = "1.4"; } 13 + { cases = [ "8.6" (range "1.6" "1.7") ]; out = "1.1"; } 14 + ] null; 15 + release = { 16 + "1.5.2".sha256 = "15aspf3jfykp1xgsxf8knqkxv8aav2p39c2fyirw7pwsfbsv2c4s"; 17 + "1.5.1".sha256 = "13nlfm2wqripaq671gakz5mn4r0xwm0646araxv0nh455p9ndjs3"; 18 + "1.5.0".sha256 = "064rvc0x5g7y1a0nip6ic91vzmq52alf6in2bc2dmss6dmzv90hw"; 19 + "1.5.0".rev = "1.5"; 20 + "1.4".sha256 = "0vnkirs8iqsv8s59yx1fvg1nkwnzydl42z3scya1xp1b48qkgn0p"; 21 + "1.3".sha256 = "0l3vi5n094nx3qmy66hsv867fnqm196r8v605kpk24gl0aa57wh4"; 22 + "1.2".sha256 = "1mh1w339dslgv4f810xr1b8v2w7rpx6fgk9pz96q0fyq49fw2xcq"; 23 + "1.1".sha256 = "1q8alsm89wkc0lhcvxlyn0pd8rbl2nnxg81zyrabpz610qqjqc3s"; 24 + "1.0".sha256 = "1qmbxp1h81cy3imh627pznmng0kvv37k4hrwi2faa101s6bcx55m"; 25 + }; 26 + 27 + propagatedBuildInputs = 28 + [ mathcomp.ssreflect mathcomp.algebra mathcomp-finmap mathcomp-bigenough ]; 29 + 30 + meta = { 31 + description = "A Coq/SSReflect Library for Monoidal Rings and Multinomials"; 32 + license = licenses.cecill-c; 33 + }; 34 + }
+13 -45
pkgs/development/coq-modules/paco/default.nix
··· 1 - {stdenv, fetchFromGitHub, coq, unzip}: 2 - 3 - let 4 - versions = { 5 - pre_8_6 = rec { 6 - rev = "v${version}"; 7 - version = "1.2.8"; 8 - sha256 = "05fskx5x1qgaf9qv626m38y5izichzzqc7g2rglzrkygbskrrwsb"; 9 - }; 10 - post_8_6 = rec { 11 - rev = "v${version}"; 12 - version = "4.0.2"; 13 - sha256 = "1q96bsxclqx84xn5vkid501jkwlc1p6fhb8szrlrp82zglj58b0b"; 14 - }; 15 - }; 16 - params = { 17 - "8.5" = versions.pre_8_6; 18 - "8.6" = versions.post_8_6; 19 - "8.7" = versions.post_8_6; 20 - "8.8" = versions.post_8_6; 21 - "8.9" = versions.post_8_6; 22 - "8.10" = versions.post_8_6; 23 - "8.11" = versions.post_8_6; 24 - "8.12" = versions.post_8_6; 25 - }; 26 - param = params.${coq.coq-version}; 27 - in 28 - 29 - stdenv.mkDerivation rec { 30 - inherit (param) version; 31 - name = "coq${coq.coq-version}-paco-${version}"; 1 + { lib, mkCoqDerivation, coq, version ? null }: 32 2 33 - src = fetchFromGitHub { 34 - inherit (param) rev sha256; 35 - owner = "snu-sf"; 36 - repo = "paco"; 37 - }; 38 - 39 - buildInputs = [ coq ]; 3 + with lib; mkCoqDerivation { 4 + pname = "paco"; 5 + owner = "snu-sf"; 6 + inherit version; 7 + defaultVersion = with versions; switch coq.coq-version [ 8 + { case = isGe "8.6"; out = "4.0.2"; } 9 + { case = range "8.5" "8.8"; out = "1.2.8"; } 10 + ] null; 11 + release."4.0.2".sha256 = "1q96bsxclqx84xn5vkid501jkwlc1p6fhb8szrlrp82zglj58b0b"; 12 + release."1.2.8".sha256 = "05fskx5x1qgaf9qv626m38y5izichzzqc7g2rglzrkygbskrrwsb"; 13 + releaseRev = v: "v${v}"; 40 14 41 15 preBuild = "cd src"; 42 16 ··· 46 20 cp -pR *.vo $COQLIB/user-contrib/Paco 47 21 ''; 48 22 49 - meta = with stdenv.lib; { 23 + meta = { 50 24 homepage = "http://plv.mpi-sws.org/paco/"; 51 25 description = "A Coq library implementing parameterized coinduction"; 52 26 maintainers = with maintainers; [ jwiegley ptival ]; 53 - platforms = coq.meta.platforms; 54 27 }; 55 - 56 - passthru = { 57 - compatibleCoqVersions = stdenv.lib.flip builtins.hasAttr params; 58 - }; 59 - 60 28 }
+17 -53
pkgs/development/coq-modules/paramcoq/default.nix
··· 1 - { stdenv, fetchFromGitHub, coq }: 2 - 3 - let params = 4 - { 5 - "8.7" = { 6 - sha256 = "09n0ky7ldb24by7yf5j3hv410h85x50ksilf7qacl7xglj4gy5hj"; 7 - buildInputs = [ coq.ocamlPackages.camlp5 ]; 8 - }; 9 - "8.8" = { 10 - sha256 = "0rc4lshqvnfdsph98gnscvpmlirs9wx91qcvffggg73xw0p1g9s0"; 11 - buildInputs = [ coq.ocamlPackages.camlp5 ]; 12 - }; 13 - "8.9" = { 14 - sha256 = "1jjzgpff09xjn9kgp7w69r096jkj0x2ksng3pawrmhmn7clwivbk"; 15 - buildInputs = [ coq.ocamlPackages.camlp5 ]; 16 - }; 17 - "8.10" = { 18 - sha256 = "1lq1mw15w4yky79qg3rm0mpzqi2ir51b6ak04ismrdr7ixky49y8"; 19 - }; 20 - "8.11" = { 21 - sha256 = "09c6813988nvq4fpa45s33k70plnhxsblhm7cxxkg0i37mhvigsa"; 22 - }; 23 - "8.12" = { 24 - sha256 = "0qd72r45if4h7c256qdfiimv75zyrs0w0xqij3m866jxaq591v4i"; 25 - }; 26 - }; 27 - param = params.${coq.coq-version}; 28 - in 29 - 30 - stdenv.mkDerivation rec { 31 - version = "1.1.2"; 32 - name = "coq${coq.coq-version}-paramcoq-${version}"; 33 - src = fetchFromGitHub { 34 - owner = "coq-community"; 35 - repo = "paramcoq"; 36 - rev = "v${version}+coq${coq.coq-version}"; 37 - inherit (param) sha256; 38 - }; 1 + { lib, mkCoqDerivation, coq, version ? null }: 39 2 40 - buildInputs = [ coq ] 41 - ++ (with coq.ocamlPackages; [ ocaml findlib ]) 42 - ++ (param.buildInputs or []) 43 - ; 44 - 45 - installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; 46 - 47 - passthru = { 48 - compatibleCoqVersions = v: builtins.hasAttr v params; 49 - }; 50 - 3 + with lib; mkCoqDerivation { 4 + pname = "paramcoq"; 5 + inherit version; 6 + defaultVersion = if versions.range "8.7" "8.12" coq.coq-version 7 + then "1.1.2+coq${coq.coq-version}" else null; 8 + displayVersion = { paramcoq = "1.1.2"; }; 9 + release."1.1.2+coq8.12".sha256 = "0qd72r45if4h7c256qdfiimv75zyrs0w0xqij3m866jxaq591v4i"; 10 + release."1.1.2+coq8.11".sha256 = "09c6813988nvq4fpa45s33k70plnhxsblhm7cxxkg0i37mhvigsa"; 11 + release."1.1.2+coq8.10".sha256 = "1lq1mw15w4yky79qg3rm0mpzqi2ir51b6ak04ismrdr7ixky49y8"; 12 + release."1.1.2+coq8.9".sha256 = "1jjzgpff09xjn9kgp7w69r096jkj0x2ksng3pawrmhmn7clwivbk"; 13 + release."1.1.2+coq8.8".sha256 = "0rc4lshqvnfdsph98gnscvpmlirs9wx91qcvffggg73xw0p1g9s0"; 14 + release."1.1.2+coq8.7".sha256 = "09n0ky7ldb24by7yf5j3hv410h85x50ksilf7qacl7xglj4gy5hj"; 15 + releaseRev = v: "v${v}"; 16 + mlPlugin = true; 51 17 meta = { 52 18 description = "Coq plugin for parametricity"; 53 - inherit (src.meta) homepage; 54 - license = stdenv.lib.licenses.mit; 55 - maintainers = [ stdenv.lib.maintainers.vbgl ]; 56 - inherit (coq.meta) platforms; 19 + license = licenses.mit; 20 + maintainers = [ maintainers.vbgl ]; 57 21 }; 58 22 }
+11 -24
pkgs/development/coq-modules/simple-io/default.nix
··· 1 - { stdenv, fetchFromGitHub, coq, coq-ext-lib }: 1 + { lib, mkCoqDerivation, coq, coq-ext-lib, version ? null }: 2 2 3 - stdenv.mkDerivation rec { 4 - version = "1.3.0"; 5 - name = "coq${coq.coq-version}-simple-io-${version}"; 6 - src = fetchFromGitHub { 7 - owner = "Lysxia"; 8 - repo = "coq-simple-io"; 9 - rev = version; 10 - sha256 = "1yp7ca36jyl9kz35ghxig45x6cd0bny2bpmy058359p94wc617ax"; 11 - }; 12 - 13 - buildInputs = [ coq ] ++ (with coq.ocamlPackages; [ ocaml ocamlbuild ]); 14 - 3 + with lib; mkCoqDerivation { 4 + pname = "simple-io"; 5 + owner = "Lysxia"; 6 + repo = "coq-simple-io"; 7 + inherit version; 8 + defaultVersion = if versions.range "8.7" "8.12" coq.coq-version then "1.3.0" else null; 9 + release."1.3.0".sha256 = "1yp7ca36jyl9kz35ghxig45x6cd0bny2bpmy058359p94wc617ax"; 10 + extraBuildInputs = (with coq.ocamlPackages; [ ocaml ocamlbuild ]); 15 11 propagatedBuildInputs = [ coq-ext-lib ]; 16 12 17 13 doCheck = true; 18 14 checkTarget = "test"; 19 15 20 - installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; 21 - 22 16 meta = { 23 17 description = "Purely functional IO for Coq"; 24 - inherit (src.meta) homepage; 25 - inherit (coq.meta) platforms; 26 - license = stdenv.lib.licenses.mit; 27 - maintainers = [ stdenv.lib.maintainers.vbgl ]; 18 + license = licenses.mit; 19 + maintainers = [ maintainers.vbgl ]; 28 20 }; 29 - 30 - passthru = { 31 - compatibleCoqVersions = v: builtins.elem v [ "8.7" "8.8" "8.9" "8.10" "8.11" "8.12" ]; 32 - }; 33 - 34 21 }
+11 -26
pkgs/development/coq-modules/stdpp/default.nix
··· 1 - { stdenv, fetchFromGitLab, coq }: 1 + { lib, mkCoqDerivation, coq, version ? null }: 2 2 3 - stdenv.mkDerivation rec { 4 - name = "coq${coq.coq-version}-stdpp-${version}"; 5 - version = "1.4.0"; 6 - src = fetchFromGitLab { 7 - domain = "gitlab.mpi-sws.org"; 8 - owner = "iris"; 9 - repo = "stdpp"; 10 - rev = "coq-stdpp-${version}"; 11 - sha256 = "1m6c7ibwc99jd4cv14v3r327spnfvdf3x2mnq51f9rz99rffk68r"; 12 - }; 13 - 14 - buildInputs = [ coq ]; 15 - 16 - enableParallelBuilding = true; 17 - 18 - installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; 3 + with lib; mkCoqDerivation rec { 4 + pname = "stdpp"; 5 + inherit version; 6 + domain = "gitlab.mpi-sws.org"; 7 + owner = "iris"; 8 + defaultVersion = if versions.range "8.8" "8.12" coq.coq-version then "1.4.0" else null; 9 + release."1.4.0".sha256 = "1m6c7ibwc99jd4cv14v3r327spnfvdf3x2mnq51f9rz99rffk68r"; 10 + releaseRev = v: "coq-stdpp-${v}"; 19 11 20 12 meta = { 21 - inherit (src.meta) homepage; 22 13 description = "An extended “Standard Library” for Coq"; 23 - inherit (coq.meta) platforms; 24 - license = stdenv.lib.licenses.bsd3; 25 - maintainers = [ stdenv.lib.maintainers.vbgl ]; 14 + license = licenses.bsd3; 15 + maintainers = [ maintainers.vbgl ]; 26 16 }; 27 - 28 - passthru = { 29 - compatibleCoqVersions = v: builtins.elem v [ "8.8" "8.9" "8.10" "8.11" "8.12" ]; 30 - }; 31 - 32 17 }
+14 -32
pkgs/development/coq-modules/tlc/default.nix
··· 1 - { stdenv, fetchurl, fetchFromGitHub, coq }: 2 - 3 - let params = 4 - if stdenv.lib.versionAtLeast coq.coq-version "8.10" 5 - then rec { 6 - version = "20200328"; 7 - src = fetchFromGitHub { 8 - owner = "charguer"; 9 - repo = "tlc"; 10 - rev = version; 11 - sha256 = "16vzild9gni8zhgb3qhmka47f8zagdh03k6nssif7drpim8233lx"; 12 - }; 13 - } else rec { 14 - version = "20181116"; 15 - src = fetchurl { 16 - url = "http://tlc.gforge.inria.fr/releases/tlc-${version}.tar.gz"; 17 - sha256 = "0iv6f6zmrv2lhq3xq57ipmw856ahsql754776ymv5wjm88ld63nm"; 18 - }; 19 - } 20 - ; in 21 - 22 - stdenv.mkDerivation { 23 - inherit (params) version src; 24 - pname = "coq${coq.coq-version}-tlc"; 1 + { lib, mkCoqDerivation, coq, version ? null }: 25 2 26 - buildInputs = [ coq ]; 3 + with lib; mkCoqDerivation { 4 + pname = "tlc"; 5 + owner = "charguer"; 6 + inherit version; 7 + displayVersion = { tlc = false; }; 8 + defaultVersion = with versions; switch coq.coq-version [ 9 + { case = range "8.10" "8.12"; out = "20200328"; } 10 + { case = range "8.6" "8.12"; out = "20181116"; } 11 + ] null; 12 + release."20200328".sha256 = "16vzild9gni8zhgb3qhmka47f8zagdh03k6nssif7drpim8233lx"; 13 + release."20181116".sha256 = "032lrbkxqm9d3fhf6nv1kq2z0mqd3czv3ijlbsjwnfh12xck4vpl"; 27 14 28 15 installFlags = [ "CONTRIB=$(out)/lib/coq/${coq.coq-version}/user-contrib" ]; 29 16 30 17 meta = { 31 18 homepage = "http://www.chargueraud.org/softs/tlc/"; 32 19 description = "A non-constructive library for Coq"; 33 - license = stdenv.lib.licenses.free; 34 - maintainers = [ stdenv.lib.maintainers.vbgl ]; 35 - inherit (coq.meta) platforms; 36 - }; 37 - 38 - passthru = { 39 - compatibleCoqVersions = stdenv.lib.flip builtins.elem [ "8.6" "8.7" "8.8" "8.9" "8.10" "8.11" "8.12" ]; 20 + license = licenses.free; 21 + maintainers = [ maintainers.vbgl ]; 40 22 }; 41 23 }
+5
pkgs/development/haskell-modules/configuration-common.nix
··· 1503 1503 sha256 = "0g2m0y46zr3xs9fswkm4h9adhsg6gzl5zwgidshsjh3k3rq4h7b1"; 1504 1504 }); 1505 1505 1506 + # https://github.com/ekmett/half/issues/35 1507 + half = if pkgs.stdenv.isAarch64 1508 + then dontCheck super.half 1509 + else super.half; 1510 + 1506 1511 # 2020-11-19: Jailbreaking until: https://github.com/snapframework/heist/pull/124 1507 1512 heist = doJailbreak super.heist; 1508 1513
+10 -1
pkgs/development/libraries/libbladeRF/default.nix
··· 1 - { stdenv, lib, fetchFromGitHub, pkg-config, cmake, git, doxygen, help2man, ncurses, tecla 1 + { stdenv, lib, fetchFromGitHub, fetchpatch, pkg-config, cmake, git, doxygen, help2man, ncurses, tecla 2 2 , libusb1, udev }: 3 3 4 4 let ··· 22 22 rev = "libbladeRF_v${version}"; 23 23 sha256 = "0g89al4kwfbx1l3zjddgb9ay4mhr7zk0ndchca3sm1vq2j47nf4l"; 24 24 }; 25 + 26 + # This patch is required for version 2.2.1. As the patch is already part of 27 + # upstream master, it will be incorporated into the next release. The patch 28 + # fixes a (well-justified) compiler warning which breaks the build because 29 + # we compile with -Werror. 30 + patches = [ (fetchpatch { 31 + url = "https://github.com/Nuand/bladeRF/commit/163425d48a3b7d8c100d7295220d3648c050d0dd.patch"; 32 + sha256 = "1swsymlyxm3yk2k8l71z1fv0a5k2rmab02f0c7xkrvk683mq6yxw"; 33 + }) ]; 25 34 26 35 nativeBuildInputs = [ cmake pkg-config git doxygen help2man ]; 27 36 # ncurses used due to https://github.com/Nuand/bladeRF/blob/ab4fc672c8bab4f8be34e8917d3f241b1d52d0b8/host/utilities/bladeRF-cli/CMakeLists.txt#L208
+14 -10
pkgs/development/ocaml-modules/elpi/default.nix
··· 1 - { lib, fetchzip, buildDunePackage, camlp5 1 + { stdenv, lib, fetchzip, buildDunePackage, camlp5 2 2 , ppxlib, ppx_deriving, re, perl, ncurses 3 + , version ? "1.12.0" 3 4 }: 4 - 5 + with lib; 6 + let fetched = import ../../../build-support/coq/meta-fetch/default.nix 7 + {inherit stdenv fetchzip; } ({ 8 + release."1.12.0".sha256 = "1agisdnaq9wrw3r73xz14yrq3wx742i6j8i5icjagqk0ypmly2is"; 9 + release."1.11.4".sha256 = "1m0jk9swcs3jcrw5yyw5343v8mgax238cjb03s8gc4wipw1fn9f5"; 10 + releaseRev = v: "v${v}"; 11 + location = { domain = "github.com"; owner = "LPCIC"; repo = "elpi"; }; 12 + }) version; 13 + in 5 14 buildDunePackage rec { 6 15 pname = "elpi"; 7 - version = "1.11.4"; 8 - 9 - src = fetchzip { 10 - url = "https://github.com/LPCIC/elpi/releases/download/v${version}/elpi-v${version}.tbz"; 11 - sha256 = "1hmjp2z52j17vwhhdkj45n9jx11jxkdg2dwa0n04yyw0qqy4m7c1"; 12 - }; 16 + inherit (fetched) version src; 13 17 14 18 minimumOCamlVersion = "4.04"; 15 19 ··· 19 23 20 24 meta = { 21 25 description = "Embeddable λProlog Interpreter"; 22 - license = lib.licenses.lgpl21Plus; 23 - maintainers = [ lib.maintainers.vbgl ]; 26 + license = licenses.lgpl21Plus; 27 + maintainers = [ maintainers.vbgl ]; 24 28 homepage = "https://github.com/LPCIC/elpi"; 25 29 }; 26 30
+12 -6
pkgs/development/python-modules/apprise/default.nix
··· 1 - { lib, buildPythonPackage, fetchPypi 1 + { lib, buildPythonPackage, fetchPypi, installShellFiles 2 2 , Babel, requests, requests_oauthlib, six, click, markdown, pyyaml 3 - , pytestrunner, coverage, flake8, mock, pytest, pytestcov, tox, gntp, sleekxmpp 3 + , pytestrunner, coverage, flake8, mock, pytestCheckHook, pytestcov, tox, gntp, sleekxmpp 4 4 }: 5 5 6 6 buildPythonPackage rec { 7 7 pname = "apprise"; 8 - version = "0.8.9"; 8 + version = "0.9.0"; 9 9 10 10 src = fetchPypi { 11 11 inherit pname version; 12 - sha256 = "024db00c6a80dbc8c9038b2de211c9fd32963046612882f3f54ad78930f3e0f7"; 12 + sha256 = "bab3563bc1e0c64938c4c7700112797bd99f20eb5d4a3e6038338bc8f060e153"; 13 13 }; 14 14 15 - nativeBuildInputs = [ Babel ]; 15 + nativeBuildInputs = [ Babel installShellFiles ]; 16 16 17 17 propagatedBuildInputs = [ 18 18 requests requests_oauthlib six click markdown pyyaml 19 19 ]; 20 20 21 21 checkInputs = [ 22 - pytestrunner coverage flake8 mock pytest pytestcov tox gntp sleekxmpp 22 + pytestrunner coverage flake8 mock pytestCheckHook pytestcov tox gntp sleekxmpp 23 23 ]; 24 + 25 + disabledTests = [ "test_apprise_cli_nux_env" ]; 26 + 27 + postInstall = '' 28 + installManPage packaging/man/apprise.1 29 + ''; 24 30 25 31 meta = with lib; { 26 32 homepage = "https://github.com/caronc/apprise";
+32
pkgs/development/python-modules/archinfo/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , pytestCheckHook 5 + , nose 6 + }: 7 + 8 + buildPythonPackage rec { 9 + pname = "archinfo"; 10 + version = "9.0.5327"; 11 + 12 + src = fetchFromGitHub { 13 + owner = "angr"; 14 + repo = pname; 15 + rev = "v${version}"; 16 + sha256 = "0r7nj2hf51c954ihfxyhpbz1sd9lrc6i9zfkz11s22wpggvp06mz"; 17 + }; 18 + 19 + checkInputs = [ 20 + nose 21 + pytestCheckHook 22 + ]; 23 + 24 + pythonImportsCheck = [ "archinfo" ]; 25 + 26 + meta = with lib; { 27 + description = "Classes with architecture-specific information"; 28 + homepage = "https://github.com/angr/archinfo"; 29 + license = with licenses; [ bsd2 ]; 30 + maintainers = [ maintainers.fab ]; 31 + }; 32 + }
+25
pkgs/development/python-modules/minidump/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchPypi 4 + }: 5 + 6 + buildPythonPackage rec { 7 + pname = "minidump"; 8 + version = "0.0.13"; 9 + 10 + src = fetchPypi { 11 + inherit pname version; 12 + sha256 = "1w93yh2dz7llxjgv0jn7gf9praz7d5952is7idgh0lsyj67ri2ms"; 13 + }; 14 + 15 + # Upstream doesn't have tests 16 + doCheck = false; 17 + pythonImportsCheck = [ "minidump" ]; 18 + 19 + meta = with lib; { 20 + description = "Python library to parse and read Microsoft minidump file format"; 21 + homepage = "https://github.com/skelsec/minidump"; 22 + license = with licenses; [ mit ]; 23 + maintainers = [ maintainers.fab ]; 24 + }; 25 + }
+98 -86
pkgs/misc/vim-plugins/generated.nix
··· 65 65 66 66 ale = buildVimPluginFrom2Nix { 67 67 pname = "ale"; 68 - version = "2021-01-05"; 68 + version = "2021-01-06"; 69 69 src = fetchFromGitHub { 70 70 owner = "dense-analysis"; 71 71 repo = "ale"; 72 - rev = "7e4c125d38181a0e0d0c7883091e2fe683243ce4"; 73 - sha256 = "0ngmcdbsqxjc00c1jab0h3dic5q1l781bhih30m5xx8qylqhf4g2"; 72 + rev = "4c454c96a9d142475b155a94cc24fad34eca26b2"; 73 + sha256 = "0xjacj8pw25qrzasgiwpisrc2fbh4k7ljpn1pq07z2h756cn54lf"; 74 74 }; 75 75 meta.homepage = "https://github.com/dense-analysis/ale/"; 76 76 }; ··· 233 233 234 234 barbar-nvim = buildVimPluginFrom2Nix { 235 235 pname = "barbar-nvim"; 236 - version = "2020-12-28"; 236 + version = "2021-01-05"; 237 237 src = fetchFromGitHub { 238 238 owner = "romgrk"; 239 239 repo = "barbar.nvim"; 240 - rev = "383ffc0712c71481a068e49430321366c53585f2"; 241 - sha256 = "14s42n4nl94nygszihgji01dwviw1ykqylpm2akdgfhwv1nz1ljn"; 240 + rev = "e0b4935d5956025ab595195d935a5bac00f1a973"; 241 + sha256 = "0h723j5zhj8mzwghykd84rxdr0l4ngvyy692d6sl2zz940mvwlkw"; 242 242 }; 243 243 meta.homepage = "https://github.com/romgrk/barbar.nvim/"; 244 244 }; ··· 293 293 294 294 brainfuck-vim = buildVimPluginFrom2Nix { 295 295 pname = "brainfuck-vim"; 296 - version = "2021-01-04"; 296 + version = "2021-01-07"; 297 297 src = fetchFromGitHub { 298 298 owner = "fruit-in"; 299 299 repo = "brainfuck-vim"; 300 - rev = "4b85810e1e826dcbb9a38122d4c52e85e470e81a"; 301 - sha256 = "1q25w1v7kimq0cnjk8afy8ackfshhs25ra8w11l7qra3lrxkwj9b"; 300 + rev = "ada4fce239ab5386aee51a9453cb0fafc7c2626d"; 301 + sha256 = "1mm82m7p3khykd1fkag4ppvf2xgnqj8jbhdq7gq06ys1wxzw9rhj"; 302 302 }; 303 303 meta.homepage = "https://github.com/fruit-in/brainfuck-vim/"; 304 304 }; ··· 497 497 498 498 coc-nvim = buildVimPluginFrom2Nix { 499 499 pname = "coc-nvim"; 500 - version = "2021-01-04"; 500 + version = "2021-01-07"; 501 501 src = fetchFromGitHub { 502 502 owner = "neoclide"; 503 503 repo = "coc.nvim"; 504 - rev = "5b4b18d2ed2b18870034c7ee853164e1274ab158"; 505 - sha256 = "0bgprss79nbwc3wd8yi0j90prxmh8saxswfpvpp3x8hilvwiyrrq"; 504 + rev = "5b8af3eaee714f2c390f2f8e83ea47b78d24eab8"; 505 + sha256 = "1x088m180wk6b0gk1xdw8crmrhp7s05yshj8nigqyhafm589a7vf"; 506 506 }; 507 507 meta.homepage = "https://github.com/neoclide/coc.nvim/"; 508 508 }; ··· 652 652 meta.homepage = "https://github.com/Shougo/context_filetype.vim/"; 653 653 }; 654 654 655 + coq-vim = buildVimPluginFrom2Nix { 656 + pname = "coq-vim"; 657 + version = "2013-01-16"; 658 + src = fetchFromGitHub { 659 + owner = "jvoorhis"; 660 + repo = "coq.vim"; 661 + rev = "9b229f5872854dadfb8ba4b67a6a273f37eca4b8"; 662 + sha256 = "0hpfwcm8lvv831b7i27lw72nqxfy7jymq6a6g3xmf0ycb0l3pnky"; 663 + }; 664 + meta.homepage = "https://github.com/jvoorhis/coq.vim/"; 665 + }; 666 + 655 667 Coqtail = buildVimPluginFrom2Nix { 656 668 pname = "Coqtail"; 657 669 version = "2021-01-03"; ··· 798 810 799 811 defx-nvim = buildVimPluginFrom2Nix { 800 812 pname = "defx-nvim"; 801 - version = "2021-01-05"; 813 + version = "2021-01-06"; 802 814 src = fetchFromGitHub { 803 815 owner = "Shougo"; 804 816 repo = "defx.nvim"; 805 - rev = "f44e9486509482ae20c785d39be05581c3dbad15"; 806 - sha256 = "1s1qmn5v3ghy79da03pf805zdg8j5w0ybri3z36fr2y5s9k7mj4d"; 817 + rev = "6bf297376aa9ad76500778081ed2ff92fef72301"; 818 + sha256 = "0k0iyvyg1cbalml1sv8vvs47k4af8vvz0gk6vba6yzjf72v6vj2d"; 807 819 }; 808 820 meta.homepage = "https://github.com/Shougo/defx.nvim/"; 809 821 }; ··· 1088 1100 1089 1101 deoplete-nvim = buildVimPluginFrom2Nix { 1090 1102 pname = "deoplete-nvim"; 1091 - version = "2020-12-24"; 1103 + version = "2021-01-07"; 1092 1104 src = fetchFromGitHub { 1093 1105 owner = "Shougo"; 1094 1106 repo = "deoplete.nvim"; 1095 - rev = "b098a5286e95c456d91eed3589a2850aae421219"; 1096 - sha256 = "0y2ijzyn8jqpx5dkbglpa4ivsz6yml49xby7bbz6675rlcawlsq9"; 1107 + rev = "028ebd60d5ad963bf8f77e13c2a85e9edb190f48"; 1108 + sha256 = "0qy6knv5c4v568lvz3fh3ca2lcaym19hi0ywwvj6xyrllil2kk4b"; 1097 1109 }; 1098 1110 meta.homepage = "https://github.com/Shougo/deoplete.nvim/"; 1099 1111 }; ··· 1294 1306 1295 1307 fern-vim = buildVimPluginFrom2Nix { 1296 1308 pname = "fern-vim"; 1297 - version = "2021-01-04"; 1309 + version = "2021-01-06"; 1298 1310 src = fetchFromGitHub { 1299 1311 owner = "lambdalisue"; 1300 1312 repo = "fern.vim"; 1301 - rev = "9783dff6ac69c4e99b78807b08912c4c34100e22"; 1302 - sha256 = "141bifgf06bi43blw6wz7bdsb9l52iqxm9v7b609y49cz71z7n2c"; 1313 + rev = "591e2001fe0546ba28cc7dd614c40f5d92050f92"; 1314 + sha256 = "0cwzsqfyj4bk8f3y9aw9rmfx99gg760apkj7ppww14drc6lzfq09"; 1303 1315 }; 1304 1316 meta.homepage = "https://github.com/lambdalisue/fern.vim/"; 1305 1317 }; ··· 1403 1415 1404 1416 fzf-vim = buildVimPluginFrom2Nix { 1405 1417 pname = "fzf-vim"; 1406 - version = "2020-12-30"; 1418 + version = "2021-01-07"; 1407 1419 src = fetchFromGitHub { 1408 1420 owner = "junegunn"; 1409 1421 repo = "fzf.vim"; 1410 - rev = "811b8607c653afe365bb97e6568501b0ad498017"; 1411 - sha256 = "16g0p2gadbw22qlsqrla3nv4a1bipzj00j4qsr2nb2ci13c1831z"; 1422 + rev = "d43df0ea2f099836c2e3499756101e87bcbd3e25"; 1423 + sha256 = "1hclx6c476i523qa5r27r2jbdfdrlbgan1j7aczzwgj3lahbdlvx"; 1412 1424 }; 1413 1425 meta.homepage = "https://github.com/junegunn/fzf.vim/"; 1414 1426 }; ··· 1872 1884 1873 1885 julia-vim = buildVimPluginFrom2Nix { 1874 1886 pname = "julia-vim"; 1875 - version = "2020-12-07"; 1887 + version = "2021-01-07"; 1876 1888 src = fetchFromGitHub { 1877 1889 owner = "JuliaEditorSupport"; 1878 1890 repo = "julia-vim"; 1879 - rev = "e14fd34409de39025af93873adc6d26a831d70f9"; 1880 - sha256 = "1s1n74dn53aww6mjb87jcjpmipk2k2ayimimss7kg9c6n15jkqkg"; 1891 + rev = "ce48f42f1fd1d4566503ae26307026c895905a10"; 1892 + sha256 = "08yk47pvyh550iqv6zvrxcjdinn0w9p5al1v49m7p49jfqck3h1m"; 1881 1893 }; 1882 1894 meta.homepage = "https://github.com/JuliaEditorSupport/julia-vim/"; 1883 1895 }; ··· 2016 2028 2017 2029 lh-brackets = buildVimPluginFrom2Nix { 2018 2030 pname = "lh-brackets"; 2019 - version = "2021-01-04"; 2031 + version = "2021-01-06"; 2020 2032 src = fetchFromGitHub { 2021 2033 owner = "LucHermitte"; 2022 2034 repo = "lh-brackets"; 2023 - rev = "7af393f8212759aaea2d2721855fb2f46345ba3e"; 2024 - sha256 = "0wzd1q26bd6b6adaxn9vnr0xd2l8sk73av0b35ga3yv9kfr2j4qb"; 2035 + rev = "547fc9ab14ecf6ecc0d81e8bbb1cc1fec314b6aa"; 2036 + sha256 = "0344ap5fkp1d0g91rv9pn0p28xqz8as48d3m6kxc99w229sj6p2q"; 2025 2037 }; 2026 2038 meta.homepage = "https://github.com/LucHermitte/lh-brackets/"; 2027 2039 }; 2028 2040 2029 2041 lh-vim-lib = buildVimPluginFrom2Nix { 2030 2042 pname = "lh-vim-lib"; 2031 - version = "2020-11-19"; 2043 + version = "2021-01-06"; 2032 2044 src = fetchFromGitHub { 2033 2045 owner = "LucHermitte"; 2034 2046 repo = "lh-vim-lib"; 2035 - rev = "0edb04acd77b9e5e498314b6345d422d93921ffa"; 2036 - sha256 = "1cndwbwx9pg6550k7j2z0pw91dll0idspd0jpd0kycpxm4330jy9"; 2047 + rev = "65614730a667144a444fbd4a028a81171481c537"; 2048 + sha256 = "1vxm3ym51qa63zbrkdz2pvwafr3kmdxgpxrdwb1g8i7qsxjsvgl1"; 2037 2049 }; 2038 2050 meta.homepage = "https://github.com/LucHermitte/lh-vim-lib/"; 2039 2051 }; ··· 2640 2652 2641 2653 nlua-nvim = buildVimPluginFrom2Nix { 2642 2654 pname = "nlua-nvim"; 2643 - version = "2020-11-16"; 2655 + version = "2021-01-05"; 2644 2656 src = fetchFromGitHub { 2645 2657 owner = "tjdevries"; 2646 2658 repo = "nlua.nvim"; 2647 - rev = "92fdfb1eb791e79ff1d6403dd26b59ce61dd09c6"; 2648 - sha256 = "1ka8k8rxn406glrc0qz8rk3zrxhpdaky040v1a65g5alb50af9hz"; 2659 + rev = "c0e8fbcaf8bcf5571a9e1d780a72094aad3f3094"; 2660 + sha256 = "0q5aw3n4dsszk5iw7qg01xx1rbrr18jh1wqs6k9dd1kcr6yq22rq"; 2649 2661 }; 2650 2662 meta.homepage = "https://github.com/tjdevries/nlua.nvim/"; 2651 2663 }; ··· 2772 2784 2773 2785 nvim-lspconfig = buildVimPluginFrom2Nix { 2774 2786 pname = "nvim-lspconfig"; 2775 - version = "2021-01-04"; 2787 + version = "2021-01-07"; 2776 2788 src = fetchFromGitHub { 2777 2789 owner = "neovim"; 2778 2790 repo = "nvim-lspconfig"; 2779 - rev = "384e512a640b2b18f3d2c3e9dcb6e870814ed1eb"; 2780 - sha256 = "1fkmnkvpp27azi3g3iqkrhch0a4q6in16cp29zs0dvgrk7iv0cg1"; 2791 + rev = "fa2ccc10d5a7b390c1d808ddf74dce5158debca4"; 2792 + sha256 = "1mdnk4vvxk9qzcinzw64fck87a3dg5f21jm8203zhgj94ylc851y"; 2781 2793 }; 2782 2794 meta.homepage = "https://github.com/neovim/nvim-lspconfig/"; 2783 2795 }; ··· 2800 2812 src = fetchFromGitHub { 2801 2813 owner = "dstein64"; 2802 2814 repo = "nvim-scrollview"; 2803 - rev = "f729b1dd9077f8b1818752adc7416f357c057325"; 2804 - sha256 = "0fdwgzn329y9mdrl98wl4aa14sh4l0my0kch5gszk5b9872zir69"; 2815 + rev = "99e153bb534f5ec5e24ef6d35366d9b29f409ee3"; 2816 + sha256 = "1p0an1j7qw1rl5hkv6mvqvdzihxanf0vxf2ryih2cnmmys3cw9v1"; 2805 2817 }; 2806 2818 meta.homepage = "https://github.com/dstein64/nvim-scrollview/"; 2807 2819 }; ··· 2832 2844 2833 2845 nvim-treesitter = buildVimPluginFrom2Nix { 2834 2846 pname = "nvim-treesitter"; 2835 - version = "2021-01-04"; 2847 + version = "2021-01-07"; 2836 2848 src = fetchFromGitHub { 2837 2849 owner = "nvim-treesitter"; 2838 2850 repo = "nvim-treesitter"; 2839 - rev = "f2c219cddcaf6d7237bdc957c84ef4cdb9072a89"; 2840 - sha256 = "0b2a9rcbp647z620brcchw83dkdsar3d0j881dr0qcxxf496w9cz"; 2851 + rev = "2e8621ff1afa2284de3df316ecd0baf8e9195927"; 2852 + sha256 = "0yb5lf29j3ddi9ia7lld8ps662r7kw2znxhp2pyyjlgnd76m08nr"; 2841 2853 }; 2842 2854 meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/"; 2843 2855 }; ··· 2856 2868 2857 2869 nvim-treesitter-refactor = buildVimPluginFrom2Nix { 2858 2870 pname = "nvim-treesitter-refactor"; 2859 - version = "2020-10-07"; 2871 + version = "2021-01-07"; 2860 2872 src = fetchFromGitHub { 2861 2873 owner = "nvim-treesitter"; 2862 2874 repo = "nvim-treesitter-refactor"; 2863 - rev = "9d4b9daf2f138a5de538ee094bd899591004f8e2"; 2864 - sha256 = "0ma5zsl70mi92b9y8nhgkppdiqfjj0bl3gklhjv1c3lg7kny7511"; 2875 + rev = "16bbe963d044ec94316679868e0988caa7b5b4c3"; 2876 + sha256 = "0jgasxphwi222ga73y3jh5zq9m95n74331jn8r3nv741lk2g0772"; 2865 2877 }; 2866 2878 meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-refactor/"; 2867 2879 }; ··· 2880 2892 2881 2893 nvim-ts-rainbow = buildVimPluginFrom2Nix { 2882 2894 pname = "nvim-ts-rainbow"; 2883 - version = "2020-12-18"; 2895 + version = "2021-01-05"; 2884 2896 src = fetchFromGitHub { 2885 2897 owner = "p00f"; 2886 2898 repo = "nvim-ts-rainbow"; 2887 - rev = "32d4b898989e504345c91ee802f5faeb7d12fc39"; 2888 - sha256 = "1k4c1hsc1gwm6lv5k9lhpqx6dcbyc273aikm9j1q5i21mzrvl15f"; 2899 + rev = "68eee9b031432de6a1964315235d3cf265243a77"; 2900 + sha256 = "0zjhyd02sj17i0yrmffzzja2s0y9fa37v1nvqa17kap9vmcgyh7h"; 2889 2901 }; 2890 2902 meta.homepage = "https://github.com/p00f/nvim-ts-rainbow/"; 2891 2903 }; ··· 3096 3108 3097 3109 popfix = buildVimPluginFrom2Nix { 3098 3110 pname = "popfix"; 3099 - version = "2020-12-29"; 3111 + version = "2021-01-07"; 3100 3112 src = fetchFromGitHub { 3101 3113 owner = "RishabhRD"; 3102 3114 repo = "popfix"; 3103 - rev = "3e78c1c638d6330f77989321e1c68c55aa8a5e67"; 3104 - sha256 = "1ahffc58a0ps1hmnaqc1rzvisn2axrcd5wbxi6n7z5hmbx86fw99"; 3115 + rev = "9ab0aa5f186a2a2429c55f1512e2fd8b536183f0"; 3116 + sha256 = "0ks9hxc506ybwrvk5qkl1qkj634ms5icy8cg0w3b1q5qzgz5k0wn"; 3105 3117 fetchSubmodules = true; 3106 3118 }; 3107 3119 meta.homepage = "https://github.com/RishabhRD/popfix/"; ··· 3722 3734 3723 3735 tagbar = buildVimPluginFrom2Nix { 3724 3736 pname = "tagbar"; 3725 - version = "2020-12-21"; 3737 + version = "2021-01-07"; 3726 3738 src = fetchFromGitHub { 3727 3739 owner = "preservim"; 3728 3740 repo = "tagbar"; 3729 - rev = "eaadf90b61fd039415b2e5e8b9c38598e9b2daed"; 3730 - sha256 = "0283cn4cpdgdclmpc21dcwhign03h0mmahpmr34dp8fa286vlirv"; 3741 + rev = "978e1fe761de8be1f4d6c8469deba74a3cc0872f"; 3742 + sha256 = "0y9bd1y23z9w7ibn761yx5wq02liazv5dgxfqyy6xfxr17zvd514"; 3731 3743 }; 3732 3744 meta.homepage = "https://github.com/preservim/tagbar/"; 3733 3745 }; ··· 3770 3782 3771 3783 telescope-nvim = buildVimPluginFrom2Nix { 3772 3784 pname = "telescope-nvim"; 3773 - version = "2021-01-05"; 3785 + version = "2021-01-06"; 3774 3786 src = fetchFromGitHub { 3775 3787 owner = "nvim-telescope"; 3776 3788 repo = "telescope.nvim"; 3777 - rev = "f750159203077b00cecdd9f68c254aa70d10f879"; 3778 - sha256 = "01m5ydj56y87b05ppaxr1697f2ncbm28w6njvd3gh0z3nhdmd69n"; 3789 + rev = "1d6195ff643ed153eb0f233b32f1becc68c79ee6"; 3790 + sha256 = "1ma2m0jx50kdkvdibagqlqqap0phkjnascimfiandpzcsl3r6939"; 3779 3791 }; 3780 3792 meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/"; 3781 3793 }; ··· 4503 4515 4504 4516 vim-clap = buildVimPluginFrom2Nix { 4505 4517 pname = "vim-clap"; 4506 - version = "2021-01-01"; 4518 + version = "2021-01-05"; 4507 4519 src = fetchFromGitHub { 4508 4520 owner = "liuchengxu"; 4509 4521 repo = "vim-clap"; 4510 - rev = "b9ca65dbcc89dfb2702fb2ab0e98c7119f4e6bbf"; 4511 - sha256 = "0j9xh0yf224fsnm9ksml9m8jfx4m9iji0a6h8q0mk8zglvh6qksc"; 4522 + rev = "83cac4972caef144d0e947025ff43af6fd2becac"; 4523 + sha256 = "18cackh5rrkyg7ffhwp4vca6srr1hlj3gximjdwc6krcgq0v0r0s"; 4512 4524 }; 4513 4525 meta.homepage = "https://github.com/liuchengxu/vim-clap/"; 4514 4526 }; ··· 5079 5091 5080 5092 vim-floaterm = buildVimPluginFrom2Nix { 5081 5093 pname = "vim-floaterm"; 5082 - version = "2021-01-05"; 5094 + version = "2021-01-07"; 5083 5095 src = fetchFromGitHub { 5084 5096 owner = "voldikss"; 5085 5097 repo = "vim-floaterm"; 5086 - rev = "e8f65534e607d8bd82ba2c4a8ada1adc6cb36c96"; 5087 - sha256 = "010zr13y3016zfd6fqmknqg1ld19n9isfbgwl8hqgfrgjh9mn9p3"; 5098 + rev = "5e218d8387b7ca1ade1c625a1b81d45996cc21ae"; 5099 + sha256 = "1sgdyjwq5h0m6d40aapz9n2z59jc92vpgj04d5ciisifwh54aaga"; 5088 5100 }; 5089 5101 meta.homepage = "https://github.com/voldikss/vim-floaterm/"; 5090 5102 }; ··· 5488 5500 5489 5501 vim-illuminate = buildVimPluginFrom2Nix { 5490 5502 pname = "vim-illuminate"; 5491 - version = "2021-01-04"; 5503 + version = "2021-01-07"; 5492 5504 src = fetchFromGitHub { 5493 5505 owner = "RRethy"; 5494 5506 repo = "vim-illuminate"; 5495 - rev = "f52857989c14c2f27d72ffa78d6af906fa436cd1"; 5496 - sha256 = "1sbb3nkd3n3y9r5gs03lmwrmra7j8w8450q444g7b3h5hhx4b92l"; 5507 + rev = "f8d01ab7417be5e3878678acd46e4d17e8d8d9b6"; 5508 + sha256 = "1vnhvnxw7a4v583pw80lqcc9bb9lmcfzm1vhnskxrfxhz01r9ina"; 5497 5509 }; 5498 5510 meta.homepage = "https://github.com/RRethy/vim-illuminate/"; 5499 5511 }; ··· 6966 6978 6967 6979 vim-snipmate = buildVimPluginFrom2Nix { 6968 6980 pname = "vim-snipmate"; 6969 - version = "2020-10-02"; 6981 + version = "2021-01-06"; 6970 6982 src = fetchFromGitHub { 6971 6983 owner = "garbas"; 6972 6984 repo = "vim-snipmate"; 6973 - rev = "68eebf9dabe5c1d1964e78dda188765f224bab34"; 6974 - sha256 = "1mxa373ry17zwszd089k99lbgr5pg46x5dlahpk0l68ksxpkbxir"; 6985 + rev = "51168d7dc184c8234e692cd66e89bc7f95e35d72"; 6986 + sha256 = "1psxnv6y690nx6g3msyxw8gm6z16gxdn92rlngpjirgs513kigin"; 6975 6987 }; 6976 6988 meta.homepage = "https://github.com/garbas/vim-snipmate/"; 6977 6989 }; 6978 6990 6979 6991 vim-snippets = buildVimPluginFrom2Nix { 6980 6992 pname = "vim-snippets"; 6981 - version = "2021-01-04"; 6993 + version = "2021-01-07"; 6982 6994 src = fetchFromGitHub { 6983 6995 owner = "honza"; 6984 6996 repo = "vim-snippets"; 6985 - rev = "6159e8e820656e4370d54ddbf11278bf92794139"; 6986 - sha256 = "1kwdcx429kw39f8fsav3lcnahkbzbdmny1d81pq6c24k1r7hfp1h"; 6997 + rev = "d43498c949a3acf297fd74397a3bc165033f2028"; 6998 + sha256 = "1q0b3xsr1br172n6mj5bfza2lcacznlnwk2sgasxz8bkdq1rk6mi"; 6987 6999 }; 6988 7000 meta.homepage = "https://github.com/honza/vim-snippets/"; 6989 7001 }; ··· 7459 7471 7460 7472 vim-visual-multi = buildVimPluginFrom2Nix { 7461 7473 pname = "vim-visual-multi"; 7462 - version = "2021-01-01"; 7474 + version = "2021-01-06"; 7463 7475 src = fetchFromGitHub { 7464 7476 owner = "mg979"; 7465 7477 repo = "vim-visual-multi"; 7466 - rev = "c27966b82e3ebf39278b53ae600c9763907937d9"; 7467 - sha256 = "15246xx9qixgdw1wff4kka9vcpkirkdbz8j25zhicx3dqvqzzb4c"; 7478 + rev = "d95d4c31a7919f58e9bb89bfc0c3a272461d782d"; 7479 + sha256 = "1xnixwq6rddvs0za76sic3sf5fk0v10cdrsyaz3d6y0g0qmv9cz0"; 7468 7480 }; 7469 7481 meta.homepage = "https://github.com/mg979/vim-visual-multi/"; 7470 7482 }; ··· 7483 7495 7484 7496 vim-vsnip = buildVimPluginFrom2Nix { 7485 7497 pname = "vim-vsnip"; 7486 - version = "2021-01-05"; 7498 + version = "2021-01-07"; 7487 7499 src = fetchFromGitHub { 7488 7500 owner = "hrsh7th"; 7489 7501 repo = "vim-vsnip"; 7490 - rev = "879dc259bb3fbb850473982d64c441c16a4daa38"; 7491 - sha256 = "103mws249r6rxg7mc28fv9avk60arn8jxspddvynd27srvzrbif8"; 7502 + rev = "5917d944b259baab85c9c249a8be33a82cd033d3"; 7503 + sha256 = "0gj5qjrb31j93vv8wpqlhdpsgrnkwaxvhvslkjj9m3fnx34gqvdv"; 7492 7504 }; 7493 7505 meta.homepage = "https://github.com/hrsh7th/vim-vsnip/"; 7494 7506 }; ··· 7747 7759 7748 7760 vimspector = buildVimPluginFrom2Nix { 7749 7761 pname = "vimspector"; 7750 - version = "2021-01-02"; 7762 + version = "2021-01-07"; 7751 7763 src = fetchFromGitHub { 7752 7764 owner = "puremourning"; 7753 7765 repo = "vimspector"; 7754 - rev = "65708f55e0a1186c76af9a5a1f14e9157cf588b9"; 7755 - sha256 = "1m16i4s89q5ff9qi79qyq34184cfnfbglnfqxg6zsp8pb8kfpiix"; 7766 + rev = "07ea3880acf5977075831c64536e683ddb2fed89"; 7767 + sha256 = "1gkvagird3xa47gicpc739s4c5p5358yvp16fxx2l98jzzi7wvcj"; 7756 7768 fetchSubmodules = true; 7757 7769 }; 7758 7770 meta.homepage = "https://github.com/puremourning/vimspector/"; ··· 7760 7772 7761 7773 vimtex = buildVimPluginFrom2Nix { 7762 7774 pname = "vimtex"; 7763 - version = "2021-01-03"; 7775 + version = "2021-01-07"; 7764 7776 src = fetchFromGitHub { 7765 7777 owner = "lervag"; 7766 7778 repo = "vimtex"; 7767 - rev = "e5214dd3fe5b2b7f3092d43e58b430032dfebe40"; 7768 - sha256 = "1vni0kyf9cglvsnwgi6nalygj291gb337rdmi0jn0i0x76h0g65p"; 7779 + rev = "d219436e224960b8e4c11db8a1e482ef52f8d63b"; 7780 + sha256 = "00brsffbs6550k876bbgxl7v8d4dqs9vca3ghncm3wcjpjs2qhar"; 7769 7781 }; 7770 7782 meta.homepage = "https://github.com/lervag/vimtex/"; 7771 7783 };
+1
pkgs/misc/vim-plugins/vim-plugin-names
··· 230 230 justinj/vim-pico8-syntax 231 231 justinmk/vim-dirvish 232 232 justinmk/vim-sneak 233 + jvoorhis/coq.vim 233 234 KabbAmine/vCoolor.vim 234 235 KabbAmine/zeavim.vim 235 236 kalbasit/vim-colemak
+12
pkgs/misc/vscode-extensions/default.nix
··· 227 227 }; 228 228 }; 229 229 230 + mechatroner.rainbow-csv = buildVscodeMarketplaceExtension { 231 + mktplcRef = { 232 + name = "rainbow-csv"; 233 + publisher = "mechatroner"; 234 + version = "1.7.1"; 235 + sha256 = "0w5mijs4ll5qjkpyw7qpn1k40pq8spm0b3q72x150ydbcini5hxw"; 236 + }; 237 + meta = { 238 + license = stdenv.lib.licenses.mit; 239 + }; 240 + }; 241 + 230 242 ms-azuretools.vscode-docker = buildVscodeMarketplaceExtension { 231 243 mktplcRef = { 232 244 name = "vscode-docker";
+5 -4
pkgs/os-specific/linux/nvidia-x11/default.nix
··· 22 22 # Policy: use the highest stable version as the default (on our master). 23 23 stable = if stdenv.hostPlatform.system == "x86_64-linux" 24 24 then generic { 25 - version = "455.45.01"; 26 - sha256_64bit = "6tyMfggvZVQPp/aiSdgwn7VG/mIGb0lUcnAdyMEDoVM="; 27 - settingsSha256 = "70ABqnO/heCp/5IztpU0Lo7eZd4n4wUoTlp1xIQ3aCc="; 28 - persistencedSha256 = "36sM+djZvm77Gle7dcZ5tppgzQkD4IA0FJgCGsdZRI8="; 25 + version = "460.32.03"; 26 + sha256_64bit = "0qb0f8djys55b7qgvpbwafw5lkwvmcslqz3i2kr3jm354gy248ag"; 27 + settingsVersion = "460.27.04"; 28 + settingsSha256 = "1z9ibkhyjqzhhzi3gj88f5jlpc1d76jsncsy6wxpnbdbak8ljkw5"; 29 + persistencedSha256 = "36sM+djZmv77lGe7cdZ5tppzgkQD4IA0FJgCGsdZRI8="; 29 30 } 30 31 else legacy_390; 31 32
+6 -1
pkgs/top-level/all-packages.nix
··· 1412 1412 novacomd = callPackage ../development/mobile/webos/novacomd.nix { }; 1413 1413 }; 1414 1414 1415 + apprise = with python3Packages; toPythonApplication apprise; 1416 + 1415 1417 aria2 = callPackage ../tools/networking/aria2 { 1416 1418 inherit (darwin.apple_sdk.frameworks) Security; 1417 1419 inherit (python3Packages) sphinx; ··· 22161 22163 heimer = libsForQt5.callPackage ../applications/misc/heimer { }; 22162 22164 22163 22165 hello = callPackage ../applications/misc/hello { }; 22166 + 22167 + hello-wayland = callPackage ../applications/graphics/hello-wayland { }; 22168 + 22164 22169 hello-unfree = callPackage ../applications/misc/hello-unfree { }; 22165 22170 22166 22171 helmholtz = callPackage ../applications/audio/pd-plugins/helmholtz { }; ··· 27427 27432 cadical = callPackage ../applications/science/logic/cadical {}; 27428 27433 27429 27434 inherit (callPackage ./coq-packages.nix { 27430 - inherit (ocaml-ng) ocamlPackages_4_05 ocamlPackages_4_09; 27435 + inherit (ocaml-ng) ocamlPackages_4_05 ocamlPackages_4_09 ocamlPackages_4_10; 27431 27436 }) mkCoqPackages 27432 27437 coqPackages_8_5 coq_8_5 27433 27438 coqPackages_8_6 coq_8_6
+41 -62
pkgs/top-level/coq-packages.nix
··· 1 1 { lib, callPackage, newScope, recurseIntoAttrs, ocamlPackages_4_05, ocamlPackages_4_09 2 - , compcert 3 - }: 4 - 2 + , ocamlPackages_4_10, compcert 3 + }@args: 4 + let lib = import ../build-support/coq/extra-lib.nix {inherit (args) lib;}; in 5 5 let 6 6 mkCoqPackages' = self: coq: 7 7 let callPackage = self.callPackage; in { 8 - inherit coq; 8 + inherit coq lib; 9 9 coqPackages = self; 10 + 11 + mkCoqDerivation = callPackage ../build-support/coq {}; 10 12 11 13 contribs = recurseIntoAttrs 12 14 (callPackage ../development/coq-modules/contribs {}); ··· 22 24 coq-elpi = callPackage ../development/coq-modules/coq-elpi {}; 23 25 coq-ext-lib = callPackage ../development/coq-modules/coq-ext-lib {}; 24 26 coq-haskell = callPackage ../development/coq-modules/coq-haskell { }; 27 + coqeal = callPackage ../development/coq-modules/coqeal {}; 25 28 coqhammer = callPackage ../development/coq-modules/coqhammer {}; 26 29 coqprime = callPackage ../development/coq-modules/coqprime {}; 27 30 coquelicot = callPackage ../development/coq-modules/coquelicot {}; ··· 39 42 iris = callPackage ../development/coq-modules/iris {}; 40 43 ltac2 = callPackage ../development/coq-modules/ltac2 {}; 41 44 math-classes = callPackage ../development/coq-modules/math-classes { }; 42 - inherit (callPackage ../development/coq-modules/mathcomp {}) 43 - mathcomp_ mathcomp-config 44 - mathcomp ssreflect 45 - mathcomp-ssreflect mathcomp-fingroup mathcomp-algebra 46 - mathcomp-solvable mathcomp-field mathcomp-character 47 - ; 48 - inherit (callPackage ../development/coq-modules/mathcomp/extra.nix { }) 49 - mathcomp-extra-override mathcomp-extra-config mathcomp-extra 50 - current-mathcomp-extra mathcomp-extra-fast mathcomp-extra-all 51 - mathcomp-finmap mathcomp-bigenough mathcomp-real-closed 52 - mathcomp-analysis multinomials coqeal 53 - ; 45 + mathcomp = callPackage ../development/coq-modules/mathcomp {}; 46 + ssreflect = self.mathcomp.ssreflect; 47 + mathcomp-ssreflect = self.mathcomp.ssreflect; 48 + mathcomp-fingroup = self.mathcomp.fingroup; 49 + mathcomp-algebra = self.mathcomp.algebra; 50 + mathcomp-solvable = self.mathcomp.solvable; 51 + mathcomp-field = self.mathcomp.field; 52 + mathcomp-character = self.mathcomp.character; 53 + mathcomp-analysis = callPackage ../development/coq-modules/mathcomp-analysis {}; 54 + mathcomp-finmap = callPackage ../development/coq-modules/mathcomp-finmap {}; 55 + mathcomp-bigenough = callPackage ../development/coq-modules/mathcomp-bigenough {}; 56 + mathcomp-real-closed = callPackage ../development/coq-modules/mathcomp-real-closed {}; 54 57 metalib = callPackage ../development/coq-modules/metalib { }; 58 + multinomials = callPackage ../development/coq-modules/multinomials {}; 55 59 paco = callPackage ../development/coq-modules/paco {}; 56 60 paramcoq = callPackage ../development/coq-modules/paramcoq {}; 57 61 QuickChick = callPackage ../development/coq-modules/QuickChick {}; ··· 64 68 VST = callPackage ../development/coq-modules/VST { 65 69 compcert = compcert.override { version = "3.7"; }; 66 70 }; 67 - 68 - filterPackages = filterCoqPackages; 71 + filterPackages = doesFilter: if doesFilter then filterCoqPackages self else self; 69 72 }; 70 73 71 - filterCoqPackages = coq: set: 74 + filterCoqPackages = set: 72 75 lib.listToAttrs ( 73 - lib.concatMap (name: 74 - let v = set.${name}; in 75 - let p = v.compatibleCoqVersions or (_: true); in 76 - lib.optional (p coq.coq-version) 77 - (lib.nameValuePair name ( 78 - if lib.isAttrs v && v.recurseForDerivations or false 79 - then filterCoqPackages coq v 80 - else v)) 76 + lib.concatMap (name: let v = set.${name} or null; in 77 + lib.optional (! v.meta.coqFilter or false) 78 + (lib.nameValuePair name ( 79 + if lib.isAttrs v && v.recurseForDerivations or false 80 + then filterCoqPackages v 81 + else v)) 81 82 ) (lib.attrNames set) 82 83 ); 83 - 84 + mkCoq = version: callPackage ../applications/science/logic/coq { 85 + inherit version ocamlPackages_4_05 ocamlPackages_4_09 ocamlPackages_4_10; 86 + }; 84 87 in rec { 85 88 86 89 /* The function `mkCoqPackages` takes as input a derivation for Coq and produces ··· 93 96 */ 94 97 mkCoqPackages = coq: 95 98 let self = lib.makeScope newScope (lib.flip mkCoqPackages' coq); in 96 - if coq.dontFilter or false then self else filterCoqPackages coq self; 99 + self.filterPackages (! coq.dontFilter or false); 97 100 98 - coq_8_5 = callPackage ../applications/science/logic/coq { 99 - ocamlPackages = ocamlPackages_4_05; 100 - version = "8.5pl3"; 101 - }; 102 - coq_8_6 = callPackage ../applications/science/logic/coq { 103 - ocamlPackages = ocamlPackages_4_05; 104 - version = "8.6.1"; 105 - }; 106 - coq_8_7 = callPackage ../applications/science/logic/coq { 107 - ocamlPackages = ocamlPackages_4_09; 108 - version = "8.7.2"; 109 - }; 110 - coq_8_8 = callPackage ../applications/science/logic/coq { 111 - ocamlPackages = ocamlPackages_4_09; 112 - version = "8.8.2"; 113 - }; 114 - coq_8_9 = callPackage ../applications/science/logic/coq { 115 - ocamlPackages = ocamlPackages_4_09; 116 - version = "8.9.1"; 117 - }; 118 - coq_8_10 = callPackage ../applications/science/logic/coq { 119 - ocamlPackages = ocamlPackages_4_09; 120 - version = "8.10.2"; 121 - }; 122 - coq_8_11 = callPackage ../applications/science/logic/coq { 123 - version = "8.11.2"; 124 - }; 125 - coq_8_12 = callPackage ../applications/science/logic/coq { 126 - version = "8.12.2"; 127 - }; 128 - coq_8_13 = callPackage ../applications/science/logic/coq { 129 - version = "8.13+beta1"; 130 - }; 101 + coq_8_5 = mkCoq "8.5"; 102 + coq_8_6 = mkCoq "8.6"; 103 + coq_8_7 = mkCoq "8.7"; 104 + coq_8_8 = mkCoq "8.8"; 105 + coq_8_9 = mkCoq "8.9"; 106 + coq_8_10 = mkCoq "8.10"; 107 + coq_8_11 = mkCoq "8.11"; 108 + coq_8_12 = mkCoq "8.12"; 109 + coq_8_13 = mkCoq "8.13"; 131 110 132 111 coqPackages_8_5 = mkCoqPackages coq_8_5; 133 112 coqPackages_8_6 = mkCoqPackages coq_8_6;
+4
pkgs/top-level/python-packages.nix
··· 373 373 374 374 arabic-reshaper = callPackage ../development/python-modules/arabic-reshaper { }; 375 375 376 + archinfo = callPackage ../development/python-modules/archinfo { }; 377 + 376 378 area = callPackage ../development/python-modules/area { }; 377 379 378 380 arelle = callPackage ../development/python-modules/arelle { gui = true; }; ··· 3904 3906 milksnake = callPackage ../development/python-modules/milksnake { }; 3905 3907 3906 3908 minidb = callPackage ../development/python-modules/minidb { }; 3909 + 3910 + minidump = callPackage ../development/python-modules/minidump { }; 3907 3911 3908 3912 minimock = callPackage ../development/python-modules/minimock { }; 3909 3913