diff options
Diffstat (limited to 'pkgs/os-specific/linux/broadcom-sta-v6/default.nix')
-rw-r--r-- | pkgs/os-specific/linux/broadcom-sta-v6/default.nix | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/broadcom-sta-v6/default.nix b/pkgs/os-specific/linux/broadcom-sta-v6/default.nix new file mode 100644 index 000000000000..db4337c0ff28 --- /dev/null +++ b/pkgs/os-specific/linux/broadcom-sta-v6/default.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchurl, kernelDev }: +let + version = "6_30_223_141"; +in +stdenv.mkDerivation { + name = "broadcom-sta-${version}-${kernelDev.version}"; + + src = if stdenv.system == "i686-linux" then ( + fetchurl { + url = "http://www.broadcom.com/docs/linux_sta/hybrid-v35-nodebug-pcoem-${version}.tar.gz"; + sha256 = "19wra62dpm0x0byksh871yxr128b4v13kzkzqv56igjfpzv36z6m"; + } ) else ( + fetchurl { + url = "http://www.broadcom.com/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-${version}.tar.gz"; + sha256 = "0jlvch7d3khmmg5kp80x4ka33hidj8yykqjcqq6j56z2g6wb4dsz"; + } + ); + + buildInputs = [ kernelDev ]; + patches = [ + ./linux-recent.patch + ./license.patch + ]; + + makeFlags = "KBASE=${kernelDev}/lib/modules/${kernelDev.modDirVersion}"; + + unpackPhase = '' + sourceRoot=broadcom-sta + mkdir "$sourceRoot" + tar xvf "$src" -C "$sourceRoot" + ''; + + installPhase = + '' + binDir="$out/lib/modules/${kernelDev.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 = "unfree-redistributable"; + maintainers = with stdenv.lib.maintainers; [ phreedom vcunat ]; + platforms = stdenv.lib.platforms.linux; + }; +} |