linux_6_1: 6.1.117 -> 6.1.118
[NixPkgs.git] / pkgs / os-specific / linux / firmware / linux-firmware / default.nix
blob25ac7067982dd31f6179d1a40566c7c70a2ffeee
1 { stdenvNoCC
2 , fetchzip
3 , lib
4 , python3
5 , rdfind
6 , which
7 , writeShellScriptBin
8 }:
9 let
10   # check-whence.py attempts to call `git ls-files`, but we don't have a .git,
11   # because we've just downloaded a snapshot. We do, however, know that we're
12   # in a perfectly pristine tree, so we can fake just enough of git to run it.
13   gitStub = writeShellScriptBin "git" ''
14     if [ "$1" == "ls-files" ]; then
15       find -type f -printf "%P\n"
16     else
17       echo "Git stub called with unexpected arguments $@" >&2
18       exit 1
19     fi
20   '';
21 in stdenvNoCC.mkDerivation rec {
22   pname = "linux-firmware";
23   version = "20241110";
25   src = fetchzip {
26     url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-${version}.tar.gz";
27     hash = "sha256-AsEJfAkr+E2Tnev/UkYLRXsf+PWCp7brvO99bMgLQ1A=";
28   };
30   postUnpack = ''
31     patchShebangs .
32   '';
34   nativeBuildInputs = [
35     gitStub
36     python3
37     rdfind
38     which
39   ];
41   installTargets = [ "install" "dedup" ];
42   makeFlags = [ "DESTDIR=$(out)" ];
44   # Firmware blobs do not need fixing and should not be modified
45   dontFixup = true;
47   meta = with lib; {
48     description = "Binary firmware collection packaged by kernel.org";
49     homepage = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git";
50     license = licenses.unfreeRedistributableFirmware;
51     platforms = platforms.linux;
52     maintainers = with maintainers; [ fpletz ];
53     priority = 6; # give precedence to kernel firmware
54   };
55   passthru.updateScript = ./update.sh;