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