summary refs log tree commit diff
path: root/pkgs/os-specific/linux/ndiswrapper
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/linux/ndiswrapper')
-rw-r--r--pkgs/os-specific/linux/ndiswrapper/default.nix18
-rw-r--r--pkgs/os-specific/linux/ndiswrapper/no-sbin.patch12
-rw-r--r--pkgs/os-specific/linux/ndiswrapper/prefix.patch66
3 files changed, 21 insertions, 75 deletions
diff --git a/pkgs/os-specific/linux/ndiswrapper/default.nix b/pkgs/os-specific/linux/ndiswrapper/default.nix
index e2db1a4106b..f95de433564 100644
--- a/pkgs/os-specific/linux/ndiswrapper/default.nix
+++ b/pkgs/os-specific/linux/ndiswrapper/default.nix
@@ -1,14 +1,17 @@
-{ stdenv, fetchurl, kernelDev, perl }:
+{ stdenv, fetchurl, kernel, perl, kmod }:
 
 stdenv.mkDerivation {
-  name = "ndiswrapper-1.56-${kernelDev.version}";
+  name = "ndiswrapper-1.59-${kernel.version}";
+
+  patches = [ ./no-sbin.patch ];
 
   # need at least .config and include 
-  kernel = kernelDev;
+  kernel = kernel.dev;
 
   buildPhase = "
     echo make KBUILD=$(echo \$kernel/lib/modules/*/build);
     echo -n $kernel/lib/modules/*/build > kbuild_path
+    export PATH=${kmod}/sbin:$PATH
     make KBUILD=$(echo \$kernel/lib/modules/*/build);
   ";
 
@@ -23,14 +26,11 @@ stdenv.mkDerivation {
 
   # should we use unstable? 
   src = fetchurl {
-    url = mirror://sourceforge/ndiswrapper/ndiswrapper-1.56.tar.gz;
-    sha256 = "10yqg1a08v6z1qm1qr1v4rbhl35c90gzrazapr09vp372hky8f57";
+    url = mirror://sourceforge/ndiswrapper/ndiswrapper-1.59.tar.gz;
+    sha256 = "1g6lynccyg4m7gd7vhy44pypsn8ifmibq6rqgvc672pwngzx79b6";
   };
 
-  buildInputs = [ kernelDev perl ];
-
-  # this is a patch against svn head, not stable version
-  patches = [./prefix.patch];
+  buildInputs = [ perl ];
 
   meta = { 
     description = "Ndis driver wrapper for the Linux kernel";
diff --git a/pkgs/os-specific/linux/ndiswrapper/no-sbin.patch b/pkgs/os-specific/linux/ndiswrapper/no-sbin.patch
new file mode 100644
index 00000000000..cfc048d772b
--- /dev/null
+++ b/pkgs/os-specific/linux/ndiswrapper/no-sbin.patch
@@ -0,0 +1,12 @@
+diff -Naur ndiswrapper-1.59-orig/driver/Makefile ndiswrapper-1.59/driver/Makefile
+--- ndiswrapper-1.59-orig/driver/Makefile	2013-11-28 14:42:35.000000000 -0500
++++ ndiswrapper-1.59/driver/Makefile	2014-01-04 18:31:43.242377375 -0500
+@@ -191,7 +191,7 @@
+ 	rm -rf .tmp_versions
+ 
+ install: config_check $(MODULE)
+-	@/sbin/modinfo $(MODULE) | grep -q "^vermagic: *$(KVERS) " || \
++	@modinfo $(MODULE) | grep -q "^vermagic: *$(KVERS) " || \
+ 		{ echo "$(MODULE)" is not for Linux $(KVERS); exit 1; }
+ 	mkdir -p -m 755 $(DESTDIR)$(INST_DIR)
+ 	install -m 0644 $(MODULE) $(DESTDIR)$(INST_DIR)
diff --git a/pkgs/os-specific/linux/ndiswrapper/prefix.patch b/pkgs/os-specific/linux/ndiswrapper/prefix.patch
deleted file mode 100644
index ec77f4cae79..00000000000
--- a/pkgs/os-specific/linux/ndiswrapper/prefix.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-diff -r -u ndiswrapper-1.53/driver/loader.c ndiswrapper-1.53/driver/loader.c
---- ndiswrapper-1.53/driver/loader.c	2008-05-28 06:54:08.000000000 +0400
-+++ ndiswrapper-1.53/driver/loader.c	2008-06-15 17:05:07.000000000 +0400
-@@ -100,7 +100,7 @@
- 			EXIT1(return NULL);
- 		}
- 		INIT_COMPLETION(loader_complete);
--		ret = call_usermodehelper("/sbin/loadndisdriver", argv, env, 1);
-+		ret = call_usermodehelper(USERMOD_HELPER, argv, env, 1);
- 		if (ret) {
- 			up(&loader_mutex);
- 			ERROR("couldn't load driver %s; check system log "
-@@ -262,7 +262,7 @@
- 			EXIT1(return NULL);
- 		}
- 		INIT_COMPLETION(loader_complete);
--		ret = call_usermodehelper("/sbin/loadndisdriver", argv, env, 1);
-+		ret = call_usermodehelper(USERMOD_HELPER, argv, env, 1);
- 		if (ret) {
- 			up(&loader_mutex);
- 			ERROR("couldn't load file %s/%s; check system log "
-@@ -698,7 +698,7 @@
- 			EXIT1(return NULL);
- 		}
- 		INIT_COMPLETION(loader_complete);
--		ret = call_usermodehelper("/sbin/loadndisdriver", argv, env, 1);
-+		ret = call_usermodehelper(USERMOD_HELPER, argv, env, 1);
- 		if (ret) {
- 			up(&loader_mutex);
- 			TRACE1("couldn't load device %04x:%04x; check system "
-diff -r -u ndiswrapper-1.53/driver/Makefile ndiswrapper-1.53/driver/Makefile
---- ndiswrapper-1.53/driver/Makefile	2008-05-28 06:54:08.000000000 +0400
-+++ ndiswrapper-1.53/driver/Makefile	2008-06-15 17:03:31.000000000 +0400
-@@ -95,6 +95,10 @@
- EXTRA_CFLAGS += -DWRAP_PREEMPT
- endif
- 
-+ifdef DIST_DESTDIR
-+EXTRA_CFLAGS += -DPREFIX=\"$(DIST_DESTDIR)\"
-+endif
-+
- OBJS = crt.o hal.o iw_ndis.o loader.o ndis.o ntoskernel.o ntoskernel_io.o \
- 	pe_linker.o pnp.o proc.o rtl.o wrapmem.o wrapndis.o wrapper.o
- 
-diff -r -u ndiswrapper-1.53/driver/ndiswrapper.h ndiswrapper-1.53/driver/ndiswrapper.h
---- ndiswrapper-1.53/driver/ndiswrapper.h	2008-05-28 06:54:08.000000000 +0400
-+++ ndiswrapper-1.53/driver/ndiswrapper.h	2008-06-15 17:06:37.000000000 +0400
-@@ -19,8 +19,17 @@
- #define DRIVER_VERSION "1.53"
- #define UTILS_VERSION "1.9"
- 
-+#ifndef PREFIX
-+#define PREFIX
-+#endif
-+
- #define DRIVER_NAME "ndiswrapper"
--#define DRIVER_CONFIG_DIR "/etc/ndiswrapper"
-+
-+#ifndef DRIVER_CONFIG_DIR
-+#  define DRIVER_CONFIG_DIR PREFIX "/etc/ndiswrapper"
-+#endif
-+
-+#define USERMOD_HELPER PREFIX "/sbin/loadndisdriver"
- 
- #define SSID_MAX_WPA_IE_LEN 40
- #define NDIS_ESSID_MAX_SIZE 32