tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
rtl8723bs: improved build
Eric Litak
9 years ago
2f6cd0ce
3db3355c
+30
-23
1 changed file
expand all
collapse all
unified
split
pkgs
os-specific
linux
rtl8723bs
default.nix
+30
-23
pkgs/os-specific/linux/rtl8723bs/default.nix
···
1
1
-
{ stdenv, fetchFromGitHub, kernel }:
2
2
-
3
3
-
let
4
4
-
ver = "c517f2b";
5
5
-
in
1
1
+
{ stdenv, fetchFromGitHub, nukeReferences, kernel }:
2
2
+
with stdenv.lib;
6
3
stdenv.mkDerivation rec {
7
7
-
name = "rtl8723bs-${kernel.version}-c517f2b";
8
8
-
4
4
+
name = "rtl8723bs-${kernel.version}-${rev}";
5
5
+
rev = "c517f2bf8bcc3d57311252ea7cd49ae81466eead";
6
6
+
9
7
src = fetchFromGitHub {
10
8
owner = "hadess";
11
9
repo = "rtl8723bs";
12
12
-
rev = "c517f2bf8bcc3d57311252ea7cd49ae81466eead";
10
10
+
inherit rev;
13
11
sha256 = "0phzrhq85g52pi2b74a9sr9l2x6dzlz714k3pix486w2x5axw4xb";
14
12
};
15
15
-
16
16
-
patchPhase = ''
17
17
-
substituteInPlace ./Makefile --replace /lib/modules/ "${kernel.dev}/lib/modules/"
18
18
-
substituteInPlace ./Makefile --replace '$(shell uname -r)' "${kernel.modDirVersion}"
19
19
-
substituteInPlace ./Makefile --replace /sbin/depmod #
20
20
-
substituteInPlace ./Makefile --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
21
21
-
substituteInPlace ./Makefile --replace '/lib/firmware' "$out/lib/firmware"
22
22
-
'';
23
23
-
24
24
-
preInstall = ''
25
25
-
mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
26
26
-
mkdir -p "$out/lib/firmware/rtlwifi"
13
13
+
14
14
+
buildInputs = [ nukeReferences ];
15
15
+
16
16
+
makeFlags = concatStringsSep " " [
17
17
+
"ARCH=${stdenv.platform.kernelArch}" # Normally not needed, but the Makefile sets ARCH in a broken way.
18
18
+
"KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" # Makefile uses $(uname -r); breaks us.
19
19
+
];
20
20
+
21
21
+
enableParallelBuilding = true;
22
22
+
23
23
+
# The Makefile doesn't use env-vars well, so install manually:
24
24
+
installPhase = ''
25
25
+
mkdir -p $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/net/wireless
26
26
+
cp r8723bs.ko $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/net/wireless
27
27
+
28
28
+
mkdir -p "$out/lib/firmware/rtlwifi"
29
29
+
cp rtl8723bs_nic.bin "$out/lib/firmware/rtlwifi"
30
30
+
cp rtl8723bs_wowlan.bin "$out/lib/firmware/rtlwifi"
31
31
+
32
32
+
nuke-refs $(find $out -name "*.ko")
27
33
'';
28
28
-
34
34
+
29
35
meta = {
30
36
description = "Realtek SDIO Wi-Fi driver";
31
37
homepage = "https://github.com/hadess/rtl8723bs";
32
38
license = stdenv.lib.licenses.gpl2;
33
33
-
platforms = [ "x86_64-linux" "i686-linux" ];
34
34
-
broken = !stdenv.lib.versionAtLeast kernel.version "3.19";
39
39
+
platforms = [ "x86_64-linux" "i686-linux" "armv7l-linux" ];
40
40
+
broken = ! versionAtLeast kernel.version "3.19";
41
41
+
maintainers = with maintainers; [ elitak ];
35
42
};
36
43
}