···2929* `releaseRev` (optional, defaults to `(v: v)`), provides a default mapping from release names to revision hashes/branch names/tags,
3030* `displayVersion` (optional), provides a way to alter the computation of `name` from `pname`, by explaining how to display version numbers,
3131* `namePrefix` (optional, defaults to `[ "coq" ]`), provides a way to alter the computation of `name` from `pname`, by explaining which dependencies must occur in `name`,
3232-* `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).
3333-* `extraNativeBuildInputs` (optional, deprecated), an additional list of derivation to add to `nativeBuildInputs`,
3434-* `overrideNativeBuildInputs` (optional) replaces the default list of derivation to which `nativeBuildInputs` and `extraNativeBuildInputs` adds extra elements,
3535-* `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 ]`,
3636-* `extraBuildInputs` (optional, deprecated), an additional list of derivation to add to `buildInputs`,
3737-* `overrideBuildInputs` (optional) replaces the default list of derivation to which `buildInputs` and `extraBuildInputs` adds extras elements,
3838-* `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,
3939-* `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.
4040-* `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"`,
3232+* `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,
3333+* `extraBuildInputs` (optional), this allows to add more build inputs,
3434+* `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.
3535+* `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"`,
4136* `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.
4237* `opam-name` (optional, defaults to concatenating with a dash separator the components of `namePrefix` and `pname`), name of the Dune package to build.
4338* `enableParallelBuilding` (optional, defaults to `true`), since it is activated by default, we provide a way to disable it.
4444-* `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.
3939+* `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.
4540* `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`,
4641* `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).
4742* `dropAttrs`, `keepAttrs`, `dropDerivationAttrs` are all optional and allow to tune which attribute is added or removed from the final call to `mkDerivation`.
···11-{ trivialBuild, lib, fetchFromGitHub, curl }:
22-33-trivialBuild {
44- pname = "plz";
55- version = "0.pre+date=2021-08-22";
66-77- src = fetchFromGitHub {
88- owner = "alphapapa";
99- repo = "plz.el";
1010- rev = "7e456638a651bab3a814e3ea81742dd917509cbb";
1111- hash = "sha256-8kn9ax1AVF6f9iCTqvVeJZihs03pYAhLjUDooG/ubxY=";
1212- };
1313-1414- postPatch = ''
1515- substituteInPlace ./plz.el \
1616- --replace 'plz-curl-program "curl"' 'plz-curl-program "${curl}/bin/curl"'
1717- '';
1818-1919- meta = {
2020- description = "An HTTP library for Emacs";
2121- longDescription = ''
2222- plz is an HTTP library for Emacs. It uses curl as a backend, which avoids
2323- some of the issues with using Emacs’s built-in url library. It supports
2424- both synchronous and asynchronous requests. Its API is intended to be
2525- simple, natural, and expressive. Its code is intended to be simple and
2626- well-organized. Every feature is tested against httpbin.org.
2727- '';
2828- license = lib.licenses.gpl3Only;
2929- platforms = lib.platforms.all;
3030- };
3131-}
···11#!/usr/bin/env python
22-# Patch out special dependencies (git and path) from a pyproject.json file
22+# Patch out special dependencies (git and path) from a pyproject.toml file
3344import argparse
55-import json
65import sys
7677+import tomlkit
88+89910def main(input, output, fields_to_remove):
1010- data = json.load(input)
1111+ data = tomlkit.loads(input.read())
11121213 try:
1314 deps = data["tool"]["poetry"]["dependencies"]
···2223 if any_removed:
2324 dep["version"] = "*"
24252525- # Set ensure_ascii to False because TOML is valid UTF-8 so text that can't
2626- # be represented in ASCII is perfectly legitimate
2727- # HACK: Setting ensure_asscii to False breaks Python2 for some dependencies (like cachy==0.3.0)
2828- json.dump(
2929- data, output, separators=(",", ":"), ensure_ascii=sys.version_info.major < 3
3030- )
2626+ output.write(tomlkit.dumps(data))
312732283329if __name__ == "__main__":
···3733 "--input",
3834 type=argparse.FileType("r"),
3935 default=sys.stdin,
4040- help="Location from which to read input JSON",
3636+ help="Location from which to read input TOML",
4137 )
4238 p.add_argument(
4339 "-o",
4440 "--output",
4541 type=argparse.FileType("w"),
4642 default=sys.stdout,
4747- help="Location to write output JSON",
4343+ help="Location to write output TOML",
4844 )
4945 p.add_argument(
5046 "-f",
5147 "--fields-to-remove",
5248 nargs="+",
5353- help="The fields to remove from the dependency's JSON",
4949+ help="The fields to remove from the dependency's TOML",
5450 )
55515652 args = p.parse_args()
···11remove-@kind@-dependencies-hook() {
22+ # Tell poetry not to resolve special dependencies. Any version is fine!
33+24 if ! test -f pyproject.toml; then
35 return
46 fi
5768 echo "Removing @kind@ dependencies"
7988- # Tell poetry not to resolve special dependencies. Any version is fine!
99- @yj@ -tj < pyproject.toml | \
1010- @pythonInterpreter@ \
1111- @pyprojectPatchScript@ \
1212- --fields-to-remove @fields@ > pyproject.json
1313- @yj@ -jt < pyproject.json > pyproject.toml
1010+ # NOTE: We have to reset PYTHONPATH to avoid having propagatedBuildInputs
1111+ # from the currently building derivation leaking into our unrelated Python
1212+ # environment.
1313+ PYTHONPATH=@pythonPath@ \
1414+ @pythonInterpreter@ \
1515+ @pyprojectPatchScript@ \
1616+ --fields-to-remove @fields@ < pyproject.toml > pyproject.formatted.toml
14171515- rm pyproject.json
1818+ mv pyproject.formatted.toml pyproject.toml
16191720 echo "Finished removing @kind@ dependencies"
1821}
···2323 let
2424 entries' = splitString "-" str;
2525 # Hack: Remove version "suffixes" like 2.11.4-1
2626- entries = builtins.filter (x: builtins.match "[0-9]" x == null) entries';
2626+ # Some wheels have build tag with more than one digit
2727+ # like openvino-2022.1.0-7019-cp36-cp36m-manylinux_2_27_x86_64.whl
2828+ entries = builtins.filter (x: builtins.match "[0-9]*" x == null) entries';
2729 p = removeSuffix ".whl" (builtins.elemAt entries 4);
2830 in
2931 {
···285285 dart_old = throw "Non-stable versions of Dart have been removed"; # Added 2020-01-15
286286 dart_stable = dart; # Added 2020-01-15
287287 dat = nodePackages.dat;
288288+ dashpay = throw "'dashpay' has been removed because it was unmaintained"; # Added 2022-05-12
288289 dbus_daemon = throw "'dbus_daemon' has been renamed to/replaced by 'dbus.daemon'"; # Converted to throw 2022-02-22
289290 dbus_glib = throw "'dbus_glib' has been renamed to/replaced by 'dbus-glib'"; # Converted to throw 2022-02-22
290291 dbus_libs = throw "'dbus_libs' has been renamed to/replaced by 'dbus'"; # Converted to throw 2022-02-22
···551552 holochain-go = throw "holochain-go was abandoned by upstream"; # Added 2022-01-01
552553 htmlTidy = throw "'htmlTidy' has been renamed to/replaced by 'html-tidy'"; # Converted to throw 2022-02-22
553554 ht-rust = xh; # Added 2021-02-13
554554- hydra-flakes = throw "hydra-flakes: Flakes support has been merged into Hydra's master. Please use `hydra-unstable` now"; # Added 2020-04-06
555555+ hydra-flakes = throw "hydra-flakes: Flakes support has been merged into Hydra's master. Please use `hydra_unstable` now"; # Added 2020-04-06
556556+ hydra-unstable = hydra_unstable; # added 2022-05-10
555557556558 ### I ###
557559
···44 https://hydra.nixos.org/jobset/nixpkgs/haskell-updates.
5566 To debug this expression you can use `hydra-eval-jobs` from
77- `pkgs.hydra-unstable` which prints the jobset description
77+ `pkgs.hydra_unstable` which prints the jobset description
88 to `stdout`:
991010 $ hydra-eval-jobs -I . pkgs/top-level/release-haskell.nix