
Format all Nix files using the officially approved formatter,
making the CI check introduced in the previous commit succeed:
nix-build ci -A fmt.check
This is the next step of the of the [implementation](https://github.com/NixOS/nixfmt/issues/153)
of the accepted [RFC 166](https://github.com/NixOS/rfcs/pull/166).
This commit will lead to merge conflicts for a number of PRs,
up to an estimated ~1100 (~33%) among the PRs with activity in the past 2
months, but that should be lower than what it would be without the previous
[partial treewide format](https://github.com/NixOS/nixpkgs/pull/322537).
Merge conflicts caused by this commit can now automatically be resolved while rebasing using the
[auto-rebase script](8616af08d9/maintainers/scripts/auto-rebase
).
If you run into any problems regarding any of this, please reach out to the
[formatting team](https://nixos.org/community/teams/formatting/) by
pinging @NixOS/nix-formatting.
59 lines
1.9 KiB
Nix
59 lines
1.9 KiB
Nix
{ lib }:
|
|
|
|
lib.recursiveUpdate lib (
|
|
import ../rocq/extra-lib-common.nix { inherit lib; }
|
|
// {
|
|
|
|
/*
|
|
Override arguments to mkCoqDerivation for a Coq library.
|
|
|
|
This function allows you to easily override arguments to mkCoqDerivation,
|
|
even when they are not exposed by the Coq library directly.
|
|
|
|
Type: overrideCoqDerivation :: AttrSet -> CoqLibraryDerivation -> CoqLibraryDerivation
|
|
|
|
Example:
|
|
|
|
```nix
|
|
coqPackages.lib.overrideCoqDerivation
|
|
{
|
|
defaultVersion = "9999";
|
|
release."9999".hash = "sha256-fDoP11rtrIM7+OLdMisv2EF7n/IbGuwFxHiPtg3qCNM=";
|
|
}
|
|
coqPackages.QuickChick;
|
|
```
|
|
|
|
This example overrides the `defaultVersion` and `release` arguments that
|
|
are passed to `mkCoqDerivation` in the QuickChick derivation.
|
|
|
|
Note that there is a difference between using `.override` on a Coq
|
|
library vs this `overrideCoqDerivation` function. `.override` allows you
|
|
to modify arguments to the derivation itself, for instance by passing
|
|
different versions of dependencies:
|
|
|
|
```nix
|
|
coqPackages.QuickChick.override { ssreflect = my-cool-ssreflect; }
|
|
```
|
|
|
|
whereas `overrideCoqDerivation` allows you to override arguments to the
|
|
call to `mkCoqDerivation` in the Coq library.
|
|
|
|
Note that all Coq libraries in Nixpkgs have a `version` argument for
|
|
easily using a different version. So if all you want to do is use a
|
|
different version, and the derivation for the Coq library already has
|
|
support for the version you want, you likely only need to update the
|
|
`version` argument on the library derivation. This is done with
|
|
`.override`:
|
|
|
|
```nix
|
|
coqPackages.QuickChick.override { version = "1.4.0"; }
|
|
```
|
|
*/
|
|
overrideCoqDerivation =
|
|
f: drv:
|
|
(drv.override (args: {
|
|
mkCoqDerivation = drv_: (args.mkCoqDerivation drv_).override f;
|
|
}));
|
|
}
|
|
)
|