11 Commits

Author SHA1 Message Date
Maximilian Bosch 5645cd22d4 linux: expose make flags for modules in linuxKernel.packages.linux_X_Y
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`.
2025-01-27 16:09:50 +01:00
K900 aa3e94fe7c treewide: kernel.makeFlags -> kernel.moduleMakeFlags 2025-01-23 14:00:43 +03:00
Silvan Mosberger 4f0dadbf38 treewide: format all inactive Nix files
After final improvements to the official formatter implementation,
this commit now performs the first treewide reformat of Nix files using it.
This is part of the implementation of RFC 166.

Only "inactive" files are reformatted, meaning only files that
aren't being touched by any PR with activity in the past 2 months.
This is to avoid conflicts for PRs that might soon be merged.
Later we can do a full treewide reformat to get the rest,
which should not cause as many conflicts.

A CI check has already been running for some time to ensure that new and
already-formatted files are formatted, so the files being reformatted here
should also stay formatted.

This commit was automatically created and can be verified using

    nix-build https://github.com/infinisil/treewide-nixpkgs-reformat-script/archive/a08b3a4d199c6124ac5b36a889d9099b4383463f.tar.gz \
      --argstr baseRev b32a094368
    result/bin/apply-formatting $NIXPKGS_PATH
2024-12-10 20:26:33 +01:00
Tyler Langlois f0119d67e4 kernelPackages.ivsc-driver: mark as broken on kernels >= 6.9 2024-11-18 10:31:40 -07:00
Matej Cotman f53387e15a ipu6: update packages
This updates the ipu6 driver and firmware to a more recent version,
which seems to at least work in Chrom{e,ium}.

ipu6-drivers now relies on the in-kernel ipu6 kernel driver, so we
update our logic and metadata for it.
2024-10-12 00:45:04 +03:00
Jörg Thalheim 5356420466 treewide: remove unused with statements from maintainer lists
$ find -type f -name '*.nix' -print0 | xargs -P "$(nproc)" -0 sed -i \
  -e 's!with lib.maintainers; \[ *\];![ ];!' \
  -e 's!with maintainers; \[ *\];![ ];!'
2024-07-29 10:06:20 +08:00
Jussi Kuokkanen 95cc312a68 pkgs/os-specific: remove licenses.gpl2 2024-06-21 12:28:43 +03:00
Martin Weinelt bcc261d924 ipu6*/ivsc*: drop maintenance
I have little hope for this camera and decided to replace it for now.
2024-05-11 15:44:34 +02:00
André Silva 25659148ef ivsc-driver: unstable-2023-03-10 -> unstable-2023-11-09 2023-12-11 13:10:43 +00:00
Martin Weinelt e7479fca55 linuxPackages.ivsc-driver: 2023-01-06 -> 2023-03-10
Fix pname, should be singular, was plural.
2023-05-20 21:22:35 +02:00
Martin Weinelt 9b4f6d4d92 linuxPackages.ivsc-driver: init at 2023-01-06 2023-02-14 18:33:29 +01:00