summary refs log tree commit diff
path: root/pkgs/os-specific/linux/firmware
diff options
context:
space:
mode:
authorThomas Tuegel <ttuegel@gmail.com>2014-12-03 10:09:21 -0600
committerThomas Tuegel <ttuegel@gmail.com>2014-12-03 10:10:00 -0600
commitf7c27885d045a497ec4bcfc80f884e81fd48fed4 (patch)
tree7875a02b60b65cbbaf2646f083632ad365d8cdea /pkgs/os-specific/linux/firmware
parentb023a0bdfb27d650d2892ecba103712e1fac9f4a (diff)
downloadnixpkgs-f7c27885d045a497ec4bcfc80f884e81fd48fed4.tar
nixpkgs-f7c27885d045a497ec4bcfc80f884e81fd48fed4.tar.gz
nixpkgs-f7c27885d045a497ec4bcfc80f884e81fd48fed4.tar.bz2
nixpkgs-f7c27885d045a497ec4bcfc80f884e81fd48fed4.tar.lz
nixpkgs-f7c27885d045a497ec4bcfc80f884e81fd48fed4.tar.xz
nixpkgs-f7c27885d045a497ec4bcfc80f884e81fd48fed4.tar.zst
nixpkgs-f7c27885d045a497ec4bcfc80f884e81fd48fed4.zip
Add iwlegacy firmware for old Intel wireless cards
Diffstat (limited to 'pkgs/os-specific/linux/firmware')
-rw-r--r--pkgs/os-specific/linux/firmware/iwlegacy/default.nix47
1 files changed, 47 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/firmware/iwlegacy/default.nix b/pkgs/os-specific/linux/firmware/iwlegacy/default.nix
new file mode 100644
index 00000000000..48472c96659
--- /dev/null
+++ b/pkgs/os-specific/linux/firmware/iwlegacy/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl }:
+
+let
+  packages = [
+    # Kernel 2.6.28+
+    { name = "4965-ucode-228.61.2.24"; sha256 = "1n5af3cci0v40w4gr0hplqr1lfvhghlbzdbf60d6185vpcny2l5m"; }
+
+    # Kernel 2.6.29+
+    { name = "3945-ucode-15.32.2.9"; sha256 = "0baf07lblwsq841zdcj9hicf11jiq06sz041qcybc6l8yyhhcqjk"; }
+  ];
+
+  fetchPackage =
+    { name, sha256 }: fetchurl {
+      name = "iwlwifi-${name}.tgz";
+      url = "http://wireless.kernel.org/en/users/Drivers/iwlegacy?action=AttachFile&do=get&target=iwlwifi-${name}.tgz";
+      inherit sha256;
+    };
+
+  srcs = map fetchPackage packages;
+
+in stdenv.mkDerivation {
+  name = "iwlegacy";
+  inherit srcs;
+
+  unpackPhase = ''
+    mkdir -p ./firmware
+  '';
+
+  buildPhase = ''
+    for src in $srcs; do
+      tar zxf $src
+    done
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib/firmware
+    cp -r iwlwifi-*/*.ucode "$out/lib/firmware/"
+  '';
+
+  meta = {
+    description = "Binary firmware collection from intel";
+    homepage = http://wireless.kernel.org/en/users/Drivers/iwlwifi;
+    license = stdenv.lib.licenses.unfreeRedistributableFirmware;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ ttuegel ];
+  };
+}