This commit was created by a combination of scripts and tools:
- an ast-grep script to prefix things in meta with `lib.`,
- a modified nixf-diagnose / nixf combination to remove unused `with
lib;`, and
- regular nixfmt.
Co-authored-by: Wolfgang Walther <walther@technowledgy.de>
- Update the version to the latest commit, [f3c7c7f]. This includes the changes
needed to build digimend for Linux versions >= 6.12. 6.11 has already been
removed from the unstable branch.
- Remove postInstall hook. The file the hook is trying to remove is no longer
there. It was removed in commit [3e41e85].
[f3c7c7f]: f3c7c7f117
[3e41e85]: 3e41e856f3
This reverts commit 65a333600d.
This wasn't tested for correctness with something like fodwatch [0],
and should not have been (self-)merged so quickly, especially without
further review.
It also resulted in the breakage of at least one package [1] (and that's
the one we know of and was caught).
A few packages that were updated in between this commit and this revert
were not reverted back to using `rev`, but other than that, this is a
1:1 revert.
[0]: https://codeberg.org/raphaelr/fodwatch
[1]: https://github.com/NixOS/nixpkgs/pull/396904 / 758551e458
gebner has been an amazing maintainer, but appears to have moved on:
the last commit on nixpkgs appears to have been in Feb 2023, and
they have not been responding to pings (e.g.
https://github.com/NixOS/nixpkgs/issues/347764).
They also approved https://github.com/NixOS/nixpkgs/pull/337292 before,
but that PR had some additional changes and was closed without merging.
This PR is in no way intended to diminuish Gabriel's accomplishments,
and they're welcome to just say so if they'd prefer this PR not to
be merged. Also, even if it's merged, of course they're always welcome
to return to activity and be added back. The intent of this PR is to
give more realistic expectations around the maintainership of these
packages, and to invite others to step up for maintainership if they
rely on those packages.
This seems in line with https://github.com/NixOS/nixpkgs/tree/master/maintainers#how-to-lose-maintainer-status
Closes#376820
The issue with providing `moduleMakeFlags` via `passthru` of the kernel
package is that when this package gets overriden[1], the `moduleMakeFlags`
list still references the kernel without the overrides.
This broke e.g. kernel modules of linux-rpi4 which can be reproduced
with
nix-build --argstr system aarch64-linux -A linuxKernel.packages.linux_rpi4.zfs_2_3
This used to break with
Error: modDirVersion 6.6.51 specified in the Nix expression is wrong, it should be: 6.6.51-v8
since KBUILD_OUTPUT referenced the kernel without the changes from
`overrideDerivation` that also changes the `modDirVersion`.
The new approach is to add the build flags right into
`linuxKernel.packages.linux_X_Y`: that way we don't need any hacks to
update `moduleMakeFlags` when the derivation with the passthru gets
overridden.
By using the fixpoint of the package-set, the `kernelModuleMakeFlags`
list is correctly updated. E.g. given
with import ./. {};
linuxKernel.packages.linux_6_6.extend (self: super: {
kernel = super.kernel.overrideAttrs (_: {
name = "linux-snens";
});
})
the `makeFlags` is correctly updated:
$ nix-instantiate snenskek.nix -A zfs_2_3.makeFlags --eval --strict
[ "ARCH=x86_64" "CROSS_COMPILE=" "KBUILD_OUTPUT=/nix/store/gsp68549k1aqbwxwczpgw67w5jjn4shw-linux-snens-dev/lib/modules/6.6.74/build" ]
[1] E.g. `linux-rpi4`.
with structuredAttrs lists will be bash arrays which cannot be exported
which will be a issue with some patches and some wrappers like cc-wrapper
this makes it clearer that NIX_CFLAGS_COMPILE must be a string as lists
in env cause a eval failure