summary refs log tree commit diff
path: root/pkgs/os-specific/linux/firmware/linux-firmware/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/linux/firmware/linux-firmware/default.nix')
-rw-r--r--pkgs/os-specific/linux/firmware/linux-firmware/default.nix47
1 files changed, 47 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/firmware/linux-firmware/default.nix b/pkgs/os-specific/linux/firmware/linux-firmware/default.nix
new file mode 100644
index 00000000000..283e04b4754
--- /dev/null
+++ b/pkgs/os-specific/linux/firmware/linux-firmware/default.nix
@@ -0,0 +1,47 @@
+let
+  source = import ./source.nix;
+in {
+  stdenvNoCC,
+  fetchzip,
+  lib,
+  rdfind,
+  which,
+}:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "linux-firmware";
+  version = source.version;
+
+  src = fetchzip {
+    url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-${source.revision}.tar.gz";
+    hash = source.sourceHash;
+  };
+
+  nativeBuildInputs = [
+    rdfind
+    which
+  ];
+
+  installFlags = [ "DESTDIR=$(out)" ];
+
+  # Firmware blobs do not need fixing and should not be modified
+  dontFixup = true;
+
+  outputHashMode = "recursive";
+  outputHashAlgo = "sha256";
+  outputHash = source.outputHash;
+
+  meta = with lib; {
+    description = "Binary firmware collection packaged by kernel.org";
+    homepage = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git";
+    license = licenses.unfreeRedistributableFirmware;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ fpletz ];
+    priority = 6; # give precedence to kernel firmware
+  };
+
+  passthru = {
+    inherit version;
+    updateScript = ./update.sh;
+  };
+}