nixpkgs/pkgs/os-specific/linux/broadcom-sta/default.nix
Charles Strahan 4d3be75ae2 broadcom-sta: fixes for kernel version >= 3.18
This replaces our patches with those from Arch's package [1]. Further
discussion can be found on the Arch forum [2].

This patch set is a superset of the previous set, and resolves the
immediate and consistent kernel panics I've seen on my MacBook Pro
Retina since switching from version 3.16 to 3.18 of the Linux kernel.

Fixes #5315
Fixes #7710

1: https://aur.archlinux.org/packages/broadcom-wl/
2: https://bbs.archlinux.org/viewtopic.php?id=192287
2015-05-05 16:34:59 -04:00

50 lines
1.4 KiB
Nix

{ stdenv, fetchurl, kernel }:
let
version = "6.30.223.248";
in
stdenv.mkDerivation {
name = "broadcom-sta-${version}-${kernel.version}";
src = if stdenv.system == "i686-linux" then (
fetchurl {
url = http://www.broadcom.com/docs/linux_sta/hybrid-v35-nodebug-pcoem-6_30_223_248.tar.gz;
sha256 = "1bd13pq5hj4yzp32rx71sg1i5wkzdsg1s32xsywb48lw88x595mi";
} ) else (
fetchurl {
url = http://www.broadcom.com/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-6_30_223_248.tar.gz;
sha256 = "08ihbhwnqpnazskw9rlrk0alanp4x70kl8bsy2vg962iq334r69x";
}
);
patches = [
./license.patch
./linux-recent.patch
./gcc.patch
];
makeFlags = "KBASE=${kernel.dev}/lib/modules/${kernel.modDirVersion}";
unpackPhase = ''
sourceRoot=broadcom-sta
mkdir "$sourceRoot"
tar xvf "$src" -C "$sourceRoot"
'';
installPhase =
''
binDir="$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
docDir="$out/share/doc/broadcom-sta/"
mkdir -p "$binDir" "$docDir"
cp wl.ko "$binDir"
cp lib/LICENSE.txt "$docDir"
'';
meta = {
description = "Kernel module driver for some Broadcom's wireless cards";
homepage = http://www.broadcom.com/support/802.11/linux_sta.php;
license = stdenv.lib.licenses.unfreeRedistributable;
maintainers = with stdenv.lib.maintainers; [ phreedom vcunat ];
platforms = stdenv.lib.platforms.linux;
};
}