Update and fix kernel packages to new kernel build

In most cases, this just meant changing kernelDev (now removed from
linuxPackagesFor) to kernel.dev. Some packages needed more work (though
whether that was because of my changes or because they were already
broken, I'm not sure). Specifics:

* psmouse-alps builds on 3.4 but not 3.10, as noted in the comments that
  were already there
* blcr builds on 3.4 but not 3.10, as noted in comments that were
  already there
* open-iscsi, ati-drivers, wis-go7007, and openafsClient don't build on
  3.4 or 3.10 on this branch or on master, so they're marked broken
* A version-specific kernelHeaders package was added

The following packages were removed:

* atheros/madwifi is superceded by official ath*k modules
* aufs is no longer used by any of our kernels
* broadcom-sta v6 (which was already packaged) replaces broadcom-sta
* exmap has not been updated since 2011 and doesn't build
* iscis-target has not been updated since 2010 and doesn't build
* iwlwifi is part of mainline now and doesn't build
* nivida-x11-legacy-96 hasn't been updated since 2008 and doesn't build

Everything not specifically mentioned above builds successfully on 3.10.
I haven't yet tested on 3.4, but will before opening a pull request.

Signed-off-by: Shea Levy <shea@shealevy.com>
This commit is contained in:
Shea Levy
2014-01-04 21:17:04 -05:00
parent 6b7ede300f
commit a589bfae17
56 changed files with 242 additions and 859 deletions
@@ -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";
@@ -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)
@@ -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