Added firmware-linux-nonfree and directly also the free variant.

Todo for later: take the files from the various .deb files instead of the source distribution.
This version already improves upon my previous implementation, hence I commit it.

svn path=/nixpkgs/trunk/; revision=31501
wip/yesman
Arie Middelkoop 13 years ago
parent d62848cd2c
commit 0fa0da35ef
  1. 14
      pkgs/os-specific/linux/firmware/dwmw2/default.nix
  2. 21
      pkgs/os-specific/linux/firmware/firmware-linux-free/default.nix
  3. 24
      pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
  4. 22
      pkgs/os-specific/linux/firmware/rtl8192c/default.nix
  5. 5
      pkgs/top-level/all-packages.nix

@ -1,14 +0,0 @@
{stdenv, fetchgit}:
let
repo = "git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git";
src = fetchgit {
url = repo;
rev = "15888a2eab052ac3d3f49334e4f6f05f347a516e";
sha256 = "df63b71dd56ad85f97784076eeced76849e95cb30a9909e8322f7fdd54f227b4";
};
meta = {
description = "GIT repo of the linux firmware binaries";
homepage = repo;
};
in stdenv.lib.setName "linux-firmware" (stdenv.lib.addMetaAttrs meta src)

@ -0,0 +1,21 @@
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "firmware-linux-free-3";
src = fetchurl {
url = "mirror://debian/pool/main/f/firmware-free/firmware-free_3.tar.gz";
sha256 = "8363230e56365dd6b5e8ae9fd6cefab83472f4842f7221ffc2d890eaf7d7f1ef";
};
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''ensureDir $out && cp -ra * $out/'';
meta = {
description = "Free kernel firmware (packaged by Debian)";
homepage = "http://packages.debian.org/sid/firmware-linux-nonfree";
license = "free";
priority = "10";
};
}

@ -0,0 +1,24 @@
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "firmware-linux-nonfree-0.34";
src = fetchurl {
url = "mirror://debian/pool/non-free/f/firmware-nonfree/firmware-nonfree_0.34.tar.gz";
sha256 = "94fe856d00f63559486b7684c0fae9b30bee599c6d7dea8c7e00d2dcb548ee8a";
};
phases = [ "unpackPhase" "installPhase" "postInstall" ];
installPhase = "ensureDir $out && cp -ra * $out/";
postInstall = "ln -s $out/realtek/rtlwifi $out/rtlwifi";
meta = {
description = "Non-free kernel firmware (packaged by Debian)";
homepage = "http://packages.debian.org/sid/firmware-linux-nonfree";
license = "unfree-redistributable-firmware";
priority = "10";
};
}

@ -1,18 +1,14 @@
{stdenv, linuxFirmware}:
let
src = linuxFirmware;
dir = "rtlwifi";
file = "rtl8192cfw.bin";
meta = {
description = "Firmware for the Realtek RTL8192c wireless cards";
homepage = "http://www.realtek.com";
license = "non-free";
};
in stdenv.mkDerivation {
{stdenv, firmwareLinuxNonfree}:
stdenv.mkDerivation {
name = "rtl8192c-fw";
inherit src meta dir file;
src = firmwareLinuxNonfree;
phases = [ "installPhase" ];
installPhase = "ensureDir $out/rtlwifi && cp $src/realtek/rtlwifi/rtl8192cfw.bin $out/rtlwifi/rtl8192cfw.bin";
installPhase = "ensureDir $out/$dir && cp $src/$dir/$file $out/$dir/$file";
meta = {
description = "Firmware for the Realtek RTL8192c wireless cards";
homepage = "http://www.realtek.com";
license = "non-free";
};
}

@ -6006,6 +6006,9 @@ let
qemu_kvm = callPackage ../os-specific/linux/qemu-kvm { };
firmwareLinuxNonfree = callPackage ../os-specific/linux/firmware/firmware-linux-nonfree { };
firmwareLinuxFree = callPackage ../os-specific/linux/firmware/firmware-linux-free { };
radeontools = callPackage ../os-specific/linux/radeontools { };
radeonR700 = callPackage ../os-specific/linux/firmware/radeon-r700 { };
@ -6026,8 +6029,6 @@ let
rtkit = callPackage ../os-specific/linux/rtkit { };
linuxFirmware = callPackage ../os-specific/linux/firmware/dwmw2 { };
rtl8192cfw = callPackage ../os-specific/linux/firmware/rtl8192c { };
rtl8168e2fw = callPackage ../os-specific/linux/firmware/rtl8168e-2 { };

Loading…
Cancel
Save