diff options
author | zraexy <zraexy@gmail.com> | 2017-05-02 20:30:21 -0800 |
---|---|---|
committer | zraexy <zraexy@gmail.com> | 2017-05-03 12:51:32 -0800 |
commit | d900478e3c38fe3a714fd95e1ddd07bf9f5e251e (patch) | |
tree | 2597bd3451b7b0aece982f9862c4d6c21a32f2a5 /pkgs/os-specific/linux/firmware/broadcom-bt-firmware/default.nix | |
parent | 7845163d6af84e570ed4c8a1220fd60a2319d9a8 (diff) | |
download | nixpkgs-d900478e3c38fe3a714fd95e1ddd07bf9f5e251e.tar nixpkgs-d900478e3c38fe3a714fd95e1ddd07bf9f5e251e.tar.gz nixpkgs-d900478e3c38fe3a714fd95e1ddd07bf9f5e251e.tar.bz2 nixpkgs-d900478e3c38fe3a714fd95e1ddd07bf9f5e251e.tar.lz nixpkgs-d900478e3c38fe3a714fd95e1ddd07bf9f5e251e.tar.xz nixpkgs-d900478e3c38fe3a714fd95e1ddd07bf9f5e251e.tar.zst nixpkgs-d900478e3c38fe3a714fd95e1ddd07bf9f5e251e.zip |
broadcom-bt-firmware: init at 12.0.1.1011
broadcom-bt-firmware: init at 12.0.1.1011
Diffstat (limited to 'pkgs/os-specific/linux/firmware/broadcom-bt-firmware/default.nix')
-rw-r--r-- | pkgs/os-specific/linux/firmware/broadcom-bt-firmware/default.nix | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/firmware/broadcom-bt-firmware/default.nix b/pkgs/os-specific/linux/firmware/broadcom-bt-firmware/default.nix new file mode 100644 index 00000000000..bac0ad14fdc --- /dev/null +++ b/pkgs/os-specific/linux/firmware/broadcom-bt-firmware/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, cabextract, bt-fw-converter }: + +stdenv.mkDerivation rec { + name = "broadcom-bt-firmware-${version}"; + version = "12.0.1.1011"; + + src = fetchurl { + url = "http://download.windowsupdate.com/d/msdownload/update/driver/drvs/2016/11/200033618_94cfea9130b30c04bc602cd3dcc1f9a793fc75bb.cab"; + sha256 = "6091e49c9d9c71cbe3aed2db3c0d60994ff562804c3b40e1e8bcbb818180987b"; + }; + + nativeBuildInputs = [ cabextract bt-fw-converter ]; + + unpackCmd = '' + mkdir -p ${name} + cabextract $src --directory ${name} + ''; + + installPhase = '' + mkdir -p $out/lib/firmware/brcm + bt-fw-converter -f bcbtums.inf -o $out/lib/firmware/brcm + for filename in $out/lib/firmware/brcm/*.hcd + do + linkname=$(basename $filename | awk 'match($0,/^(BCM)[0-9A-Z]+(-[0-9a-z]{4}-[0-9a-z]{4}\.hcd)$/,c) { print c[1]c[2] }') + if ! [ -z $linkname ] + then + ln -s -T $filename $out/lib/firmware/brcm/$linkname + fi + done + ''; + + meta = with stdenv.lib; { + description = "Firmware for Broadcom WIDCOMM® Bluetooth devices"; + homepage = http://www.catalog.update.microsoft.com/Search.aspx?q=Broadcom+bluetooth; + license = licenses.unfree; + platforms = platforms.linux; + maintainers = with maintainers; [ zraexy ]; + }; +} |