Upstream has archived the OpenSMTPD-extras repository with 82c49af (add
deprecation notice, 2024-10-22). Instead, it has created a set of
repositories, each containing one of the tables. The old tables aren't
compatible anymore with recent OpenSMTPD versions due to changed
protocols. Other extras, like the queues, don't have an alternative to
the best of my knowledge.
Furthermore, opensmtpd-extras doesn't even build anymore, furthermore
indicating that there aren't any users of this package. Remove the
"opensmtpd-extras" package and raise errors pointing to the new
standalone tables.
Add a release note.
Motivation for this hook is simple: there's no single documented
way to do trivial things with ctest:
1. Pass additional flags to ctest invocation.
2. Selectively disable tests in a mechanism similar to python's
`disabledTests` or rust's composable skips in `checkFlags`.
3. Disable parallel checking.
Current state of things has lead to several different solutions:
1. Completely overriding `checkPhase` [1] and invoking ctest manually
with the necessary flags. This is most often coupled with `-E` for
disabling test or setting parallel level.
2. Wrangling with weird double string/regex escaping and trying to stuff
additional parameters and/or exclusion regex via `CMAKE_CTEST_ARGUMENTS`.
This approach is especially painful when test names have spaces. This is
the reason I originally decided to implement this hook after wrangling with
failing darwin tests here [2].
3. Stuffing additional arguments into `checkFlagsArray` with the
`ARGS` makefile parameter [3].
I don't see any reason to keep the status-quo. Doing something along these
lines has been suggested [4] for both `ctest` and `meson`. Meson setup-hook
has switched from `ninja` to `meson` in [5] with little friction. Doing
the same for cmake in a single sweep would prove problematic due to the
aforementioned zoo of workarounds and hacks for `ctest`. Doing it via
a separate hook would allow us to refactor things piecemeal and without
going through staging. The benefit of the hook is immediately clear and it
would allow to drive the refactor tractor at a comfortable pace.
[1]: pd/pdal/package.nix:117, cc/ccache/package.nix:108, gl/glog/package.nix:79
[2]: https://www.github.com/NixOS/nixpkgs/pull/375955
[3]: op/open62541/package.nix:114
[4]: https://www.github.com/NixOS/nixpkgs/issues/113829
[5]: https://www.github.com/NixOS/nixpkgs/pull/213845
Some project may claim, in their README or otherwise, a particular library as
an optional dependency. But it doesn't make it one in the context of the
`optional-dependencies` derivation attribute.
Move the existing `yarnConfigHook`, `yarnBuildHook` and
`yarnInstallHook` documentation below a Yarn v1 section.
Also move the documentation for the deprecated `yarn2nix` there, which
is Yarn v1 only.
Co-Authored-By: Yureka <yureka@cyberchaos.dev>