diff --git a/pkgs/os-specific/linux/firmware/dwmw2/default.nix b/pkgs/os-specific/linux/firmware/dwmw2/default.nix new file mode 100644 index 000000000000..ba8c724890c7 --- /dev/null +++ b/pkgs/os-specific/linux/firmware/dwmw2/default.nix @@ -0,0 +1,14 @@ +{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) diff --git a/pkgs/os-specific/linux/firmware/rtl8192c/default.nix b/pkgs/os-specific/linux/firmware/rtl8192c/default.nix index 877784d4b583..d19d26d5cba6 100644 --- a/pkgs/os-specific/linux/firmware/rtl8192c/default.nix +++ b/pkgs/os-specific/linux/firmware/rtl8192c/default.nix @@ -1,23 +1,18 @@ -{stdenv, fetchurl}: - -stdenv.mkDerivation rec { - name = "rtl8192c-fw"; - src = fetchurl { - url = "ftp://WebUser:AxPL9s3k@202.134.71.21/cn/wlan/92ce_se_de_linux_mac80211_0004.0816.2011.tar.gz"; - sha256 = "1kg63h5rj4kja2csmqsrxjipb1wpznfbrvn9cla9d9byksy5fn64"; - }; - - phases = [ "unpackPhase" "installPhase" ]; - - # Installation copies the firmware AND the license. The license - # says: "Your rights to redistribute the Software shall be - # contingent upon your installation of this Agreement in its - # entirety in the same directory as the Software." - installPhase = "ensureDir $out; cp -a firmware/* $out"; - +{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 { + name = "rtl8192c-fw"; + inherit src meta dir file; + + phases = [ "installPhase" ]; + + installPhase = "ensureDir $out/$dir && cp $src/$dir/$file $out/$dir/$file"; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 57fb7a2844f6..2ef33a44e026 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6026,6 +6026,8 @@ 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 { };