···29* `releaseRev` (optional, defaults to `(v: v)`), provides a default mapping from release names to revision hashes/branch names/tags,
30* `displayVersion` (optional), provides a way to alter the computation of `name` from `pname`, by explaining how to display version numbers,
31* `namePrefix` (optional, defaults to `[ "coq" ]`), provides a way to alter the computation of `name` from `pname`, by explaining which dependencies must occur in `name`,
32-* `nativeBuildInputs` (optional), is a list of executables that are required to build the current derivation, in addition to the default ones (namely `which`, `dune` and `ocaml` depending on whether `useDune2`, `useDune2ifVersion` and `mlPlugin` are set).
33-* `extraNativeBuildInputs` (optional, deprecated), an additional list of derivation to add to `nativeBuildInputs`,
34-* `overrideNativeBuildInputs` (optional) replaces the default list of derivation to which `nativeBuildInputs` and `extraNativeBuildInputs` adds extra elements,
35-* `buildInputs` (optional), is a list of libraries and dependencies that are required to build and run the current derivation, in addition to the default one `[ coq ]`,
36-* `extraBuildInputs` (optional, deprecated), an additional list of derivation to add to `buildInputs`,
37-* `overrideBuildInputs` (optional) replaces the default list of derivation to which `buildInputs` and `extraBuildInputs` adds extras elements,
38-* `propagatedBuildInputs` (optional) is passed as is to `mkDerivation`, we recommend to use this for Coq libraries and Coq plugin dependencies, as this makes sure the paths of the compiled libraries and plugins will always be added to the build environements of subsequent derivation, which is necessary for Coq packages to work correctly,
39-* `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 `nativeBuildInputs`, `buildInputs`, and `propagatedBuildInputs` to depend on the same package set Coq was built against.
40-* `useDune2ifVersion` (optional, default to `(x: false)` uses Dune2 to build the package if the provided predicate evaluates to true on the version, e.g. `useDune2ifVersion = versions.isGe "1.1"` will use dune if the version of the package is greater or equal to `"1.1"`,
41* `useDune2` (optional, defaults to `false`) uses Dune2 to build the package if set to true, the presence of this attribute overrides the behavior of the previous one.
42* `opam-name` (optional, defaults to concatenating with a dash separator the components of `namePrefix` and `pname`), name of the Dune package to build.
43* `enableParallelBuilding` (optional, defaults to `true`), since it is activated by default, we provide a way to disable it.
44-* `extraInstallFlags` (optional), allows to extend `installFlags` which initializes the variables `DESTDIR` and `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.
45* `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`,
46* `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).
47* `dropAttrs`, `keepAttrs`, `dropDerivationAttrs` are all optional and allow to tune which attribute is added or removed from the final call to `mkDerivation`.
···29* `releaseRev` (optional, defaults to `(v: v)`), provides a default mapping from release names to revision hashes/branch names/tags,
30* `displayVersion` (optional), provides a way to alter the computation of `name` from `pname`, by explaining how to display version numbers,
31* `namePrefix` (optional, defaults to `[ "coq" ]`), provides a way to alter the computation of `name` from `pname`, by explaining which dependencies must occur in `name`,
32+* `extraNativeBuildInputs` (optional), by default `nativeBuildInputs` just contains `coq`, this allows to add more native build inputs, `nativeBuildInputs` are executables and `buildInputs` are libraries and dependencies,
33+* `extraBuildInputs` (optional), this allows to add more build inputs,
34+* `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.
35+* `useDune2ifVersion` (optional, default to `(x: false)` uses Dune2 to build the package if the provided predicate evaluates to true on the version, e.g. `useDune2if = versions.isGe "1.1"` will use dune if the version of the package is greater or equal to `"1.1"`,
0000036* `useDune2` (optional, defaults to `false`) uses Dune2 to build the package if set to true, the presence of this attribute overrides the behavior of the previous one.
37* `opam-name` (optional, defaults to concatenating with a dash separator the components of `namePrefix` and `pname`), name of the Dune package to build.
38* `enableParallelBuilding` (optional, defaults to `true`), since it is activated by default, we provide a way to disable it.
39+* `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.
40* `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`,
41* `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).
42* `dropAttrs`, `keepAttrs`, `dropDerivationAttrs` are all optional and allow to tune which attribute is added or removed from the final call to `mkDerivation`.
···1-{ trivialBuild, lib, fetchFromGitHub, curl }:
2-3-trivialBuild {
4- pname = "plz";
5- version = "0.pre+date=2021-08-22";
6-7- src = fetchFromGitHub {
8- owner = "alphapapa";
9- repo = "plz.el";
10- rev = "7e456638a651bab3a814e3ea81742dd917509cbb";
11- hash = "sha256-8kn9ax1AVF6f9iCTqvVeJZihs03pYAhLjUDooG/ubxY=";
12- };
13-14- postPatch = ''
15- substituteInPlace ./plz.el \
16- --replace 'plz-curl-program "curl"' 'plz-curl-program "${curl}/bin/curl"'
17- '';
18-19- meta = {
20- description = "An HTTP library for Emacs";
21- longDescription = ''
22- plz is an HTTP library for Emacs. It uses curl as a backend, which avoids
23- some of the issues with using Emacs’s built-in url library. It supports
24- both synchronous and asynchronous requests. Its API is intended to be
25- simple, natural, and expressive. Its code is intended to be simple and
26- well-organized. Every feature is tested against httpbin.org.
27- '';
28- license = lib.licenses.gpl3Only;
29- platforms = lib.platforms.all;
30- };
31-}
···1remove-@kind@-dependencies-hook() {
002 if ! test -f pyproject.toml; then
3 return
4 fi
56 echo "Removing @kind@ dependencies"
78- # Tell poetry not to resolve special dependencies. Any version is fine!
9- @yj@ -tj < pyproject.toml | \
10- @pythonInterpreter@ \
11- @pyprojectPatchScript@ \
12- --fields-to-remove @fields@ > pyproject.json
13- @yj@ -jt < pyproject.json > pyproject.toml
01415- rm pyproject.json
1617 echo "Finished removing @kind@ dependencies"
18}
···1remove-@kind@-dependencies-hook() {
2+ # Tell poetry not to resolve special dependencies. Any version is fine!
3+4 if ! test -f pyproject.toml; then
5 return
6 fi
78 echo "Removing @kind@ dependencies"
910+ # NOTE: We have to reset PYTHONPATH to avoid having propagatedBuildInputs
11+ # from the currently building derivation leaking into our unrelated Python
12+ # environment.
13+ PYTHONPATH=@pythonPath@ \
14+ @pythonInterpreter@ \
15+ @pyprojectPatchScript@ \
16+ --fields-to-remove @fields@ < pyproject.toml > pyproject.formatted.toml
1718+ mv pyproject.formatted.toml pyproject.toml
1920 echo "Finished removing @kind@ dependencies"
21}
···23 let
24 entries' = splitString "-" str;
25 # Hack: Remove version "suffixes" like 2.11.4-1
26- entries = builtins.filter (x: builtins.match "[0-9]" x == null) entries';
0027 p = removeSuffix ".whl" (builtins.elemAt entries 4);
28 in
29 {
···23 let
24 entries' = splitString "-" str;
25 # Hack: Remove version "suffixes" like 2.11.4-1
26+ # Some wheels have build tag with more than one digit
27+ # like openvino-2022.1.0-7019-cp36-cp36m-manylinux_2_27_x86_64.whl
28+ entries = builtins.filter (x: builtins.match "[0-9]*" x == null) entries';
29 p = removeSuffix ".whl" (builtins.elemAt entries 4);
30 in
31 {
···285 dart_old = throw "Non-stable versions of Dart have been removed"; # Added 2020-01-15
286 dart_stable = dart; # Added 2020-01-15
287 dat = nodePackages.dat;
0288 dbus_daemon = throw "'dbus_daemon' has been renamed to/replaced by 'dbus.daemon'"; # Converted to throw 2022-02-22
289 dbus_glib = throw "'dbus_glib' has been renamed to/replaced by 'dbus-glib'"; # Converted to throw 2022-02-22
290 dbus_libs = throw "'dbus_libs' has been renamed to/replaced by 'dbus'"; # Converted to throw 2022-02-22
···551 holochain-go = throw "holochain-go was abandoned by upstream"; # Added 2022-01-01
552 htmlTidy = throw "'htmlTidy' has been renamed to/replaced by 'html-tidy'"; # Converted to throw 2022-02-22
553 ht-rust = xh; # Added 2021-02-13
554- hydra-flakes = throw "hydra-flakes: Flakes support has been merged into Hydra's master. Please use `hydra-unstable` now"; # Added 2020-04-06
0555556 ### I ###
557
···285 dart_old = throw "Non-stable versions of Dart have been removed"; # Added 2020-01-15
286 dart_stable = dart; # Added 2020-01-15
287 dat = nodePackages.dat;
288+ dashpay = throw "'dashpay' has been removed because it was unmaintained"; # Added 2022-05-12
289 dbus_daemon = throw "'dbus_daemon' has been renamed to/replaced by 'dbus.daemon'"; # Converted to throw 2022-02-22
290 dbus_glib = throw "'dbus_glib' has been renamed to/replaced by 'dbus-glib'"; # Converted to throw 2022-02-22
291 dbus_libs = throw "'dbus_libs' has been renamed to/replaced by 'dbus'"; # Converted to throw 2022-02-22
···552 holochain-go = throw "holochain-go was abandoned by upstream"; # Added 2022-01-01
553 htmlTidy = throw "'htmlTidy' has been renamed to/replaced by 'html-tidy'"; # Converted to throw 2022-02-22
554 ht-rust = xh; # Added 2021-02-13
555+ hydra-flakes = throw "hydra-flakes: Flakes support has been merged into Hydra's master. Please use `hydra_unstable` now"; # Added 2020-04-06
556+ hydra-unstable = hydra_unstable; # added 2022-05-10
557558 ### I ###
559
···4 https://hydra.nixos.org/jobset/nixpkgs/haskell-updates.
56 To debug this expression you can use `hydra-eval-jobs` from
7- `pkgs.hydra-unstable` which prints the jobset description
8 to `stdout`:
910 $ hydra-eval-jobs -I . pkgs/top-level/release-haskell.nix
···4 https://hydra.nixos.org/jobset/nixpkgs/haskell-updates.
56 To debug this expression you can use `hydra-eval-jobs` from
7+ `pkgs.hydra_unstable` which prints the jobset description
8 to `stdout`:
910 $ hydra-eval-jobs -I . pkgs/top-level/release-haskell.nix