From 3547462f7a9445caa4a7dd4ae87e7f3749e71cd3 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 1 Feb 2008 23:58:39 +0000 Subject: [PATCH] * Driver for the Go 7007, used in the Plextor ConvertX USB TV tuner. Thanks to Martin Bravenboer for donating the hardware :-) * Latest udev. svn path=/nixpkgs/trunk/; revision=10452 --- pkgs/os-specific/linux/udev/default.nix | 6 +-- pkgs/os-specific/linux/wis-go7007/default.nix | 53 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++ 3 files changed, 60 insertions(+), 3 deletions(-) create mode 100644 pkgs/os-specific/linux/wis-go7007/default.nix diff --git a/pkgs/os-specific/linux/udev/default.nix b/pkgs/os-specific/linux/udev/default.nix index 14393f59958..cb7bf4fabd5 100644 --- a/pkgs/os-specific/linux/udev/default.nix +++ b/pkgs/os-specific/linux/udev/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl}: stdenv.mkDerivation { - name = "udev-112"; + name = "udev-118"; src = fetchurl { - url = mirror://kernel/linux/utils/kernel/hotplug/udev-112.tar.bz2; - sha256 = "0vhqnli4va3yzvr90rcpbgs42sphpk9prdis9x2qmlmdynzangw2"; + url = mirror://kernel/linux/utils/kernel/hotplug/udev-118.tar.bz2; + sha256 = "1i488wqm7i6nz6gidbkxkb47hr427ika48i8imwrvvnpg1kzhska"; }; preBuild = "makeFlagsArray=(etcdir=$out/etc sbindir=$out/sbin usrbindir=$out/bin usrsbindir=$out/sbin mandir=$out/share/man INSTALL='install -c')"; preInstall = "installFlagsArray=(udevdir=dummy)"; diff --git a/pkgs/os-specific/linux/wis-go7007/default.nix b/pkgs/os-specific/linux/wis-go7007/default.nix new file mode 100644 index 00000000000..8637cc5d68e --- /dev/null +++ b/pkgs/os-specific/linux/wis-go7007/default.nix @@ -0,0 +1,53 @@ +{stdenv, fetchurl, kernel, ncurses}: + +stdenv.mkDerivation { + name = "wis-go7007-linux-0.9.8"; + + src = fetchurl { + url = http://gentoo.osuosl.org/distfiles/wis-go7007-linux-0.9.8.tar.bz2; + sha256 = "06lvlz42c5msvwc081p8vjcbv8qq1j1g1myxhh27xi8zi06n1mzg"; + }; + + patches = map fetchurl [ + { url = "http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/media-tv/wis-go7007/files/wis-go7007-0.9.8-kernel-2.6.17.diff?rev=1.1"; + sha256 = "0cizbg82fdl5byhvpkdx64qa02xcahdyddi2l2jn95sxab28a5yg"; + } + { url = "http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/media-tv/wis-go7007/files/wis-go7007-0.9.8-fix-udev.diff?rev=1.2"; + sha256 = "1985lcb7gh5zsf3lm0b43zd6q0cb9q4z376n9q060bh99yw6m0w1"; + } + { url = "http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/media-tv/wis-go7007/files/snd.patch?rev=1.1"; + sha256 = "0a6dz1l16pz1fk77s3awxh635cacbivfcfnd1carbx5jp2gq3jna"; + } + ]; + + buildInputs = [ncurses]; + + preBuild = '' + # Urgh, we need the complete kernel sources for some header + # files. So unpack the original kernel source tarball and copy + # the configured include directory etc. on top of it. + kernelVersion=$(cd ${kernel}/lib/modules && ls) + kernelBuild=$(echo ${kernel}/lib/modules/$kernelVersion/source) + tar xvfj ${kernel.src} + kernelSource=$(echo $(pwd)/linux-*) + cp -prd $kernelBuild/* $kernelSource + + #includeDir=$out/lib/modules/$kernelVersion/source/include/linux + includeDir=$TMPDIR/scratch + substituteInPlace Makefile \ + --replace '$(DESTDIR)$(KSRC)/include/linux' $includeDir + ensureDir $includeDir + ensureDir $out/etc/hotplug/usb + ensureDir $out/etc/udev/rules.d + + makeFlagsArray=(KERNELSRC=$kernelSource \ + FIRMWARE_DIR=/firmware FXLOAD=false \ + DESTDIR=$out SKIP_DEPMOD=1 \ + USE_UDEV=y) + ''; # */ + + meta = { + description = "Kernel module for the Micronas GO7007, used in a number of USB TV devices"; + homepage = http://oss.wischip.com/; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a36d4f11c15..80ea99e1cd3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3917,6 +3917,10 @@ rec { inherit fetchurl stdenv; }; + wis_go7007 = import ../os-specific/linux/wis-go7007 { + inherit fetchurl stdenv kernel ncurses; + }; + wpa_supplicant = import ../os-specific/linux/wpa_supplicant { inherit fetchurl stdenv openssl; };