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
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>
the initial change was already made ad hoc in 10a75ab, in response to the recently introduced enforced redirects mapping that is supposed to keep stable URLs.
due to the redirect mechanism's current limitation to locations within
the same site (that is, either the Nixpkgs xor the NixOS manual), and
the observation that noteworthy Nixpkgs changes tend to be
self-contained, it seemed reasonable to introduce a seperate release
notes document. it also has the advantage that users of only Nixpkgs
don't have to deal with release notes that are only relevant for NixOS.
the original change was already lossless for NixOS users, since the
Nixpkgs release notes are appended to the NixOS release notes.
this change moves the pre-existing Nixpkgs notes to the new dedicated page.
Co-authored-by: Gagarin Valentin Gagarin <valentin@gagarin.work>
24.11 has nexusmods-app 0.6.3, while 25.05 currently has 0.7.3.
Unfortunately, nexusmods-app is unable to run when any state from a
version older than 0.7.0 is still present. Therefore users must be
instructed to reset all state before upgrading.
It's not the longest-open PR (May 28, 2023 -> Jan 22, 2025) but it took a while. This PR introduces a unified approach to implementing build helpers that support fixed-point arguments and bring such support to existing build helpers.
* doc/neovim: better document the wrappers
there is new wrapper interface `wrapNeovimUnstable` in development intended to be
easier to use than the old `wrapNeovim`. It provides new fancy features that we would like to
leverage/advertise
The interface is not definitive yet so we provide a translation layer
to avoid breaking user configurations such that `wrapNeovim` still works.
This explains why we document both at the moment with the goal to remove
the old one once we ciment the interface.
* doc/neovim: explain what buildNeovimPlugin does