1{
2 lib,
3 stdenv,
4 fetchurl,
5 kernel,
6 perl,
7 kmod,
8 elfutils,
9}:
10let
11 version = "1.63";
12in
13stdenv.mkDerivation {
14 name = "ndiswrapper-${version}-${kernel.version}";
15 inherit version;
16
17 hardeningDisable = [ "pic" ];
18
19 patches = [ ./no-sbin.patch ];
20
21 # need at least .config and include
22 kernel = kernel.dev;
23
24 buildPhase = "
25 echo make KBUILD=$(echo \$kernel/lib/modules/*/build);
26 echo -n $kernel/lib/modules/*/build > kbuild_path
27 export PATH=${kmod}/sbin:$PATH
28 make KBUILD=$(echo \$kernel/lib/modules/*/build);
29 ";
30
31 installPhase = ''
32 make install KBUILD=$(cat kbuild_path) DESTDIR=$out
33 mv $out/usr/sbin/* $out/sbin/
34 mv $out/usr/share $out/
35 rm -r $out/usr
36
37 patchShebangs $out/sbin
38 '';
39
40 src = fetchurl {
41 url = "mirror://sourceforge/ndiswrapper/files/stable/ndiswrapper-${version}.tar.gz";
42 sha256 = "1v6b66jhisl110jfl00hm43lmnrav32vs39d85gcbxrjqnmcx08g";
43 };
44
45 buildInputs = [
46 perl
47 elfutils
48 ];
49
50 meta = {
51 description = "Ndis driver wrapper for the Linux kernel";
52 homepage = "https://sourceforge.net/projects/ndiswrapper";
53 license = "GPL";
54 platforms = [
55 "i686-linux"
56 "x86_64-linux"
57 ];
58 broken = lib.versionAtLeast kernel.version "5.8";
59 };
60}