summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlin Năstac <mrness@gentoo.org>2006-07-03 18:45:44 +0000
committerAlin Năstac <mrness@gentoo.org>2006-07-03 18:45:44 +0000
commit566696ea577928998ee132cc22f730dd2b3d1c3a (patch)
treec5ecc08068bb8abb5a85b70f79cf84e835acb228 /net-dialup/hsfmodem
parentAdjusted metadata, see bug #138062. (diff)
downloadgentoo-2-566696ea577928998ee132cc22f730dd2b3d1c3a.tar.gz
gentoo-2-566696ea577928998ee132cc22f730dd2b3d1c3a.tar.bz2
gentoo-2-566696ea577928998ee132cc22f730dd2b3d1c3a.zip
Add HDA support for the 2.6.17.x kernels (#138785).
(Portage version: 2.1-r1)
Diffstat (limited to 'net-dialup/hsfmodem')
-rw-r--r--net-dialup/hsfmodem/ChangeLog9
-rw-r--r--net-dialup/hsfmodem/files/digest-hsfmodem-7.18.00.07-r16
-rw-r--r--net-dialup/hsfmodem/files/digest-hsfmodem-7.18.00.07-r26
-rw-r--r--net-dialup/hsfmodem/files/digest-hsfmodem-7.43.00.01-r26
-rw-r--r--net-dialup/hsfmodem/files/digest-hsfmodem-7.47.00.016
-rw-r--r--net-dialup/hsfmodem/files/digest-hsfmodem-7.47.00.01-r19
-rw-r--r--net-dialup/hsfmodem/files/hsfmodem-7.47.00.01-hda_2.6.17.patch103
-rw-r--r--net-dialup/hsfmodem/hsfmodem-7.47.00.01-r1.ebuild66
8 files changed, 210 insertions, 1 deletions
diff --git a/net-dialup/hsfmodem/ChangeLog b/net-dialup/hsfmodem/ChangeLog
index 363beb0b2b95..3c2852fe1075 100644
--- a/net-dialup/hsfmodem/ChangeLog
+++ b/net-dialup/hsfmodem/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-dialup/hsfmodem
# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-dialup/hsfmodem/ChangeLog,v 1.26 2006/05/07 11:28:17 mrness Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/hsfmodem/ChangeLog,v 1.27 2006/07/03 18:45:44 mrness Exp $
+
+*hsfmodem-7.47.00.01-r1 (03 Jul 2006)
+
+ 03 Jul 2006; Alin Nastac <mrness@gentoo.org>
+ +files/hsfmodem-7.47.00.01-hda_2.6.17.patch,
+ +hsfmodem-7.47.00.01-r1.ebuild:
+ Add HDA support for the 2.6.17.x kernels (#138785).
*hsfmodem-7.47.00.01 (07 May 2006)
diff --git a/net-dialup/hsfmodem/files/digest-hsfmodem-7.18.00.07-r1 b/net-dialup/hsfmodem/files/digest-hsfmodem-7.18.00.07-r1
index accbc98d0ac4..38489902f819 100644
--- a/net-dialup/hsfmodem/files/digest-hsfmodem-7.18.00.07-r1
+++ b/net-dialup/hsfmodem/files/digest-hsfmodem-7.18.00.07-r1
@@ -1,3 +1,9 @@
MD5 e6d8fea8f5f641d7bb4dfb33c6f478e7 100498D_RM_HxF_Released.pdf 718949
+RMD160 be9df1ae492bcce46775c0325cd438b91213bf7a 100498D_RM_HxF_Released.pdf 718949
+SHA256 e05385b094ac97f13aabc9432ba7478c0acf12862b3c4da097272435d43f6ac1 100498D_RM_HxF_Released.pdf 718949
MD5 4e2b60a7643ce8cf37300ac54b435cd5 hsfmodem-7.18.00.07full.tar.gz 1130164
+RMD160 3f5dce323ab669b7b423afce19e64cd671f1da95 hsfmodem-7.18.00.07full.tar.gz 1130164
+SHA256 281429efb300bdd26293ac86439e245c16012d74a6280448235711e86ea9c238 hsfmodem-7.18.00.07full.tar.gz 1130164
MD5 cd8df0adb60d7fa3fbb516b8cbc7668b hsfmodem-7.18.00.07x86_64full.tar.gz 1242228
+RMD160 4d0bfd377d15579b97c06b5d8dce18a652d51b65 hsfmodem-7.18.00.07x86_64full.tar.gz 1242228
+SHA256 02021d9a2d8a7766261dc2201e1f794f9b24a86e18f1975eb46e1d4e0a41c497 hsfmodem-7.18.00.07x86_64full.tar.gz 1242228
diff --git a/net-dialup/hsfmodem/files/digest-hsfmodem-7.18.00.07-r2 b/net-dialup/hsfmodem/files/digest-hsfmodem-7.18.00.07-r2
index accbc98d0ac4..38489902f819 100644
--- a/net-dialup/hsfmodem/files/digest-hsfmodem-7.18.00.07-r2
+++ b/net-dialup/hsfmodem/files/digest-hsfmodem-7.18.00.07-r2
@@ -1,3 +1,9 @@
MD5 e6d8fea8f5f641d7bb4dfb33c6f478e7 100498D_RM_HxF_Released.pdf 718949
+RMD160 be9df1ae492bcce46775c0325cd438b91213bf7a 100498D_RM_HxF_Released.pdf 718949
+SHA256 e05385b094ac97f13aabc9432ba7478c0acf12862b3c4da097272435d43f6ac1 100498D_RM_HxF_Released.pdf 718949
MD5 4e2b60a7643ce8cf37300ac54b435cd5 hsfmodem-7.18.00.07full.tar.gz 1130164
+RMD160 3f5dce323ab669b7b423afce19e64cd671f1da95 hsfmodem-7.18.00.07full.tar.gz 1130164
+SHA256 281429efb300bdd26293ac86439e245c16012d74a6280448235711e86ea9c238 hsfmodem-7.18.00.07full.tar.gz 1130164
MD5 cd8df0adb60d7fa3fbb516b8cbc7668b hsfmodem-7.18.00.07x86_64full.tar.gz 1242228
+RMD160 4d0bfd377d15579b97c06b5d8dce18a652d51b65 hsfmodem-7.18.00.07x86_64full.tar.gz 1242228
+SHA256 02021d9a2d8a7766261dc2201e1f794f9b24a86e18f1975eb46e1d4e0a41c497 hsfmodem-7.18.00.07x86_64full.tar.gz 1242228
diff --git a/net-dialup/hsfmodem/files/digest-hsfmodem-7.43.00.01-r2 b/net-dialup/hsfmodem/files/digest-hsfmodem-7.43.00.01-r2
index 242f4b2b17a9..cfe3a12dc355 100644
--- a/net-dialup/hsfmodem/files/digest-hsfmodem-7.43.00.01-r2
+++ b/net-dialup/hsfmodem/files/digest-hsfmodem-7.43.00.01-r2
@@ -1,3 +1,9 @@
MD5 e6d8fea8f5f641d7bb4dfb33c6f478e7 100498D_RM_HxF_Released.pdf 718949
+RMD160 be9df1ae492bcce46775c0325cd438b91213bf7a 100498D_RM_HxF_Released.pdf 718949
+SHA256 e05385b094ac97f13aabc9432ba7478c0acf12862b3c4da097272435d43f6ac1 100498D_RM_HxF_Released.pdf 718949
MD5 97976a1b434e8a8da6d86cd3f902ca7f hsfmodem-7.43.00.01full.tar.gz 1294537
+RMD160 b3bb25d403b2aa53d9fad9f56c7f7faeabfe5900 hsfmodem-7.43.00.01full.tar.gz 1294537
+SHA256 3c8bd88a884d396eeea9daacb09d17c81dd7dc420326167b695e010a91e294e0 hsfmodem-7.43.00.01full.tar.gz 1294537
MD5 e1fa34ff1c2aaf91f5cd952d578e803e hsfmodem-7.43.00.01x86_64full.tar.gz 1431960
+RMD160 755ae37ae253b6d94a25406b3d3aca97678bf65f hsfmodem-7.43.00.01x86_64full.tar.gz 1431960
+SHA256 931995fbc117b91b77f182363e1fe3e912273cbedb9d414cb54c6ba23eab3a0a hsfmodem-7.43.00.01x86_64full.tar.gz 1431960
diff --git a/net-dialup/hsfmodem/files/digest-hsfmodem-7.47.00.01 b/net-dialup/hsfmodem/files/digest-hsfmodem-7.47.00.01
index 9d6ce68c3fd8..507d995f9225 100644
--- a/net-dialup/hsfmodem/files/digest-hsfmodem-7.47.00.01
+++ b/net-dialup/hsfmodem/files/digest-hsfmodem-7.47.00.01
@@ -1,3 +1,9 @@
MD5 e6d8fea8f5f641d7bb4dfb33c6f478e7 100498D_RM_HxF_Released.pdf 718949
+RMD160 be9df1ae492bcce46775c0325cd438b91213bf7a 100498D_RM_HxF_Released.pdf 718949
+SHA256 e05385b094ac97f13aabc9432ba7478c0acf12862b3c4da097272435d43f6ac1 100498D_RM_HxF_Released.pdf 718949
MD5 450aa6593df71d1b987aeb24788b4be8 hsfmodem-7.47.00.01full.tar.gz 1606577
+RMD160 b4a02c470b601b8f3018aefcdb08a2ed766890eb hsfmodem-7.47.00.01full.tar.gz 1606577
+SHA256 e5c28dac781cb891f0e0e65ba15483e763fe1ed8ca985ac24188820480d2fd67 hsfmodem-7.47.00.01full.tar.gz 1606577
MD5 b431280a0e1191ea83df4692c4ffc752 hsfmodem-7.47.00.01x86_64full.tar.gz 1746129
+RMD160 4827688c2c41adf40c69d668a160a77a7f0aa827 hsfmodem-7.47.00.01x86_64full.tar.gz 1746129
+SHA256 54c212b6b7fda8a5f39a54a68c6f144420adab4835288cf5921bde974c28c330 hsfmodem-7.47.00.01x86_64full.tar.gz 1746129
diff --git a/net-dialup/hsfmodem/files/digest-hsfmodem-7.47.00.01-r1 b/net-dialup/hsfmodem/files/digest-hsfmodem-7.47.00.01-r1
new file mode 100644
index 000000000000..507d995f9225
--- /dev/null
+++ b/net-dialup/hsfmodem/files/digest-hsfmodem-7.47.00.01-r1
@@ -0,0 +1,9 @@
+MD5 e6d8fea8f5f641d7bb4dfb33c6f478e7 100498D_RM_HxF_Released.pdf 718949
+RMD160 be9df1ae492bcce46775c0325cd438b91213bf7a 100498D_RM_HxF_Released.pdf 718949
+SHA256 e05385b094ac97f13aabc9432ba7478c0acf12862b3c4da097272435d43f6ac1 100498D_RM_HxF_Released.pdf 718949
+MD5 450aa6593df71d1b987aeb24788b4be8 hsfmodem-7.47.00.01full.tar.gz 1606577
+RMD160 b4a02c470b601b8f3018aefcdb08a2ed766890eb hsfmodem-7.47.00.01full.tar.gz 1606577
+SHA256 e5c28dac781cb891f0e0e65ba15483e763fe1ed8ca985ac24188820480d2fd67 hsfmodem-7.47.00.01full.tar.gz 1606577
+MD5 b431280a0e1191ea83df4692c4ffc752 hsfmodem-7.47.00.01x86_64full.tar.gz 1746129
+RMD160 4827688c2c41adf40c69d668a160a77a7f0aa827 hsfmodem-7.47.00.01x86_64full.tar.gz 1746129
+SHA256 54c212b6b7fda8a5f39a54a68c6f144420adab4835288cf5921bde974c28c330 hsfmodem-7.47.00.01x86_64full.tar.gz 1746129
diff --git a/net-dialup/hsfmodem/files/hsfmodem-7.47.00.01-hda_2.6.17.patch b/net-dialup/hsfmodem/files/hsfmodem-7.47.00.01-hda_2.6.17.patch
new file mode 100644
index 000000000000..81b83ed072be
--- /dev/null
+++ b/net-dialup/hsfmodem/files/hsfmodem-7.47.00.01-hda_2.6.17.patch
@@ -0,0 +1,103 @@
+diff -urN hsfmodem-7.47.00.01full/modules/GPL/hda/Makefile hsfmodem-7.47.00.01full-hda_2.6.17/modules/GPL/hda/Makefile
+--- hsfmodem-7.47.00.01full/modules/GPL/hda/Makefile 2006-04-28 09:37:22.000000000 -0400
++++ hsfmodem-7.47.00.01full-hda_2.6.17/modules/GPL/hda/Makefile 2006-06-22 11:51:23.000000000 -0400
+@@ -4,4 +4,6 @@
+ snd-hda-codec-objs += hda_proc.o
+ endif
+
++CFLAGS += $(HDA_CFLAGS)
++
+ obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-intel.o snd-hda-codec.o
+diff -urN hsfmodem-7.47.00.01full/modules/GPL/hda/patch_cnxthsf.c hsfmodem-7.47.00.01full-hda_2.6.17/modules/GPL/hda/patch_cnxthsf.c
+--- hsfmodem-7.47.00.01full/modules/GPL/hda/patch_cnxthsf.c 2006-04-28 09:37:22.000000000 -0400
++++ hsfmodem-7.47.00.01full-hda_2.6.17/modules/GPL/hda/patch_cnxthsf.c 2006-06-22 11:09:49.000000000 -0400
+@@ -507,13 +507,21 @@
+
+ //printk(KERN_DEBUG"%s: pcm=%p hw_param_buffer_bytes=%d\n", __FUNCTION__, pcm, hw_param_buffer_bytes);
+
++#ifdef FOUND_OPEN_SUBSTREAM_FILE
++ if ((err = snd_pcm_open_substream(pcm, SNDRV_PCM_STREAM_PLAYBACK, NULL,
++#else
+ if ((err = snd_pcm_open_substream(pcm, SNDRV_PCM_STREAM_PLAYBACK,
++#endif
+ &psubstream)) < 0) {
+ printk(KERN_ERR"%s: snd_pcm_open_substream STREAM_PLAYBACK failed (%d)\n", __FUNCTION__, err);
+ return err;
+ }
+
+- if ((err = snd_pcm_open_substream(pcm, SNDRV_PCM_STREAM_CAPTURE,
++#ifdef FOUND_OPEN_SUBSTREAM_FILE
++ if ((err = snd_pcm_open_substream(pcm, SNDRV_PCM_STREAM_CAPTURE, NULL,
++#else
++ if ((err = snd_pcm_open_substream(pcm, SNDRV_PCM_STREAM_CAPTURE,
++#endif
+ &csubstream)) < 0) {
+ printk(KERN_ERR"%s: snd_pcm_open_substream STREAM_CAPTURE failed (%d)\n", __FUNCTION__, err);
+ return err;
+@@ -717,14 +725,14 @@
+ //csubstream->ops->trigger(csubstream, SNDRV_PCM_TRIGGER_STOP);
+ /*FALLTHROUGH*/
+ default:
+- err = snd_pcm_kernel_playback_ioctl(psubstream, cmd, NULL);
++ err = snd_pcm_kernel_ioctl(psubstream, cmd, NULL);
+ if (err < 0) {
+- printk(KERN_ERR"%s: snd_pcm_kernel_playback_ioctl failed (%d)\n", __FUNCTION__, err);
++ printk(KERN_ERR"%s: snd_pcm_kernel_ioctl (playback) failed (%d)\n", __FUNCTION__, err);
+ }
+
+- err = snd_pcm_kernel_capture_ioctl(csubstream, cmd, NULL);
++ err = snd_pcm_kernel_ioctl(csubstream, cmd, NULL);
+ if (err < 0) {
+- printk(KERN_ERR"%s: snd_pcm_kernel_capture_ioctl failed (%d)\n", __FUNCTION__, err);
++ printk(KERN_ERR"%s: snd_pcm_kernel_ioctl (capture) failed (%d)\n", __FUNCTION__, err);
+ }
+ break;
+ }
+diff -urN hsfmodem-7.47.00.01full/modules/Makefile hsfmodem-7.47.00.01full-hda_2.6.17/modules/Makefile
+--- hsfmodem-7.47.00.01full/modules/Makefile 2006-04-10 17:19:49.000000000 -0400
++++ hsfmodem-7.47.00.01full-hda_2.6.17/modules/Makefile 2006-06-22 11:50:51.000000000 -0400
+@@ -90,9 +90,13 @@
+ FOUND_PCI_REGISTER_DRIVER := $(shell grep -q 'pci_register_driver' ${REAL_KERNELSRC}/include/linux/pci.h 2>/dev/null && echo -DFOUND_PCI_REGISTER_DRIVER)
+ FOUND_TTY_NEW_API := $(shell grep -q 'tty_buffer_request_room' ${REAL_KERNELSRC}/include/linux/tty_flip.h 2>/dev/null && echo -DFOUND_TTY_NEW_API)
+ FOUND_TOUCH_ATIME := $(shell grep -q 'touch_atime' ${REAL_KERNELSRC}/include/linux/fs.h 2>/dev/null && echo -DFOUND_TOUCH_ATIME)
++
++CFLAGS+= $(FOUND_CLASS_SIMPLE) $(FOUND_UART_REGISTER_PORT) $(FOUND_TTY_START_STOP) $(FOUND_CLASS_DEVICE_PARENT) $(FOUND_MODULE_PARAM) $(FOUND_PM_MESSAGE_T) $(FOUND_PM_MESSAGE_STRUCT) $(FOUND_PCI_CHOOSE_STATE) $(FOUND_LINUX_SUSPEND) $(FOUND_USB_DRIVER_OWNER) $(FOUND_PCI_REGISTER_DRIVER) $(FOUND_TTY_NEW_API) $(FOUND_TOUCH_ATIME)
++
+ FOUND_KZALLOC := $(shell grep -q 'kzalloc' ${REAL_KERNELSRC}/include/linux/slab.h 2>/dev/null && echo -DFOUND_KZALLOC)
++FOUND_OPEN_SUBSTREAM_FILE := $(shell grep -q 'snd_pcm_open_substream.*struct[ \t]*file' ${REAL_KERNELSRC}/include/sound/pcm.h 2>/dev/null && echo -DFOUND_OPEN_SUBSTREAM_FILE)
+
+-CFLAGS+= $(FOUND_CLASS_SIMPLE) $(FOUND_UART_REGISTER_PORT) $(FOUND_TTY_START_STOP) $(FOUND_CLASS_DEVICE_PARENT) $(FOUND_MODULE_PARAM) $(FOUND_PM_MESSAGE_T) $(FOUND_PM_MESSAGE_STRUCT) $(FOUND_PCI_CHOOSE_STATE) $(FOUND_LINUX_SUSPEND) $(FOUND_USB_DRIVER_OWNER) $(FOUND_PCI_REGISTER_DRIVER) $(FOUND_TTY_NEW_API) $(FOUND_TOUCH_ATIME) $(FOUND_KZALLOC)
++HDA_CFLAGS := $(FOUND_KZALLOC) $(FOUND_OPEN_SUBSTREAM_FILE)
+
+ else
+ KO= o
+@@ -158,12 +162,12 @@
+ ifeq ($(KBUILD_EXTMOD_SUPPORTED),yes)
+ -(cd ${CNXT_KERNELSRC} && make "CNXT_KERNELSRC=${CNXT_KERNELSRC}" "M=$(MODULES_SRC_DIR)" "CC=$(CC)" clean)
+ ifeq ($(CNXTDRIVER),hsf)
+- -(cd ${CNXT_KERNELSRC} && make "CNXT_KERNELSRC=${CNXT_KERNELSRC}" "M=$(MODULES_SRC_DIR)/GPL/hda" "CC=$(CC)" clean)
++ -(cd ${CNXT_KERNELSRC} && make "CNXT_KERNELSRC=${CNXT_KERNELSRC}" "M=$(MODULES_SRC_DIR)/GPL/hda" "CC=$(CC)" "HDA_CFLAGS=$(HDA_CFLAGS)" clean)
+ endif
+ else
+ -(cd ${CNXT_KERNELSRC} && make "CNXT_KERNELSRC=${CNXT_KERNELSRC}" "SUBDIRS+=$(MODULES_SRC_DIR)" "SUBDIRS+=$(MODULES_SRC_DIR)" "CC=$(CC)" clean)
+ ifeq ($(CNXTDRIVER),hsf)
+- -(cd ${CNXT_KERNELSRC} && make "CNXT_KERNELSRC=${CNXT_KERNELSRC}" "SUBDIRS+=$(MODULES_SRC_DIR)/GPL/hda" "SUBDIRS+=$(MODULES_SRC_DIR)/GPL/hda" "CC=$(CC)" clean)
++ -(cd ${CNXT_KERNELSRC} && make "CNXT_KERNELSRC=${CNXT_KERNELSRC}" "SUBDIRS+=$(MODULES_SRC_DIR)/GPL/hda" "SUBDIRS+=$(MODULES_SRC_DIR)/GPL/hda" "CC=$(CC)" "HDA_CFLAGS=$(HDA_CFLAGS)" clean)
+ endif
+ endif
+ endif
+@@ -221,12 +225,12 @@
+ ifeq ($(KBUILD_EXTMOD_SUPPORTED),yes)
+ (cd ${CNXT_KERNELSRC} && make "CNXT_KERNELSRC=${CNXT_KERNELSRC}" "M=$(MODULES_SRC_DIR)" "CC=$(CC)" modules)
+ ifeq ($(CNXTDRIVER),hsf)
+- -(cd ${CNXT_KERNELSRC} && make "CNXT_KERNELSRC=${CNXT_KERNELSRC}" "M=$(MODULES_SRC_DIR)/GPL/hda" "CC=$(CC)" modules)
++ -(cd ${CNXT_KERNELSRC} && make "CNXT_KERNELSRC=${CNXT_KERNELSRC}" "M=$(MODULES_SRC_DIR)/GPL/hda" "CC=$(CC)" "HDA_CFLAGS=$(HDA_CFLAGS)" modules)
+ endif
+ else
+ (cd ${CNXT_KERNELSRC} && make "CNXT_KERNELSRC=${CNXT_KERNELSRC}" "SUBDIRS+=$(MODULES_SRC_DIR)" "SUBDIRS+=$(MODULES_SRC_DIR)" "CC=$(CC)" modules)
+ ifeq ($(CNXTDRIVER),hsf)
+- -(cd ${CNXT_KERNELSRC} && make "CNXT_KERNELSRC=${CNXT_KERNELSRC}" "SUBDIRS+=$(MODULES_SRC_DIR)/GPL/hda" "SUBDIRS+=$(MODULES_SRC_DIR)/GPL/hda" "CC=$(CC)" modules)
++ -(cd ${CNXT_KERNELSRC} && make "CNXT_KERNELSRC=${CNXT_KERNELSRC}" "SUBDIRS+=$(MODULES_SRC_DIR)/GPL/hda" "SUBDIRS+=$(MODULES_SRC_DIR)/GPL/hda" "CC=$(CC)" "HDA_CFLAGS=$(HDA_CFLAGS)" modules)
+ endif
+ endif
+ else
diff --git a/net-dialup/hsfmodem/hsfmodem-7.47.00.01-r1.ebuild b/net-dialup/hsfmodem/hsfmodem-7.47.00.01-r1.ebuild
new file mode 100644
index 000000000000..0f6ec2225de8
--- /dev/null
+++ b/net-dialup/hsfmodem/hsfmodem-7.47.00.01-r1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/hsfmodem/hsfmodem-7.47.00.01-r1.ebuild,v 1.1 2006/07/03 18:45:44 mrness Exp $
+
+inherit eutils linux-info
+
+#The document is the same as in hcfpcimodem, even if it has a different URL
+MY_DOC="100498D_RM_HxF_Released.pdf"
+
+DESCRIPTION="Linuxant's modem driver for Conexant HSF chipset"
+HOMEPAGE="http://www.linuxant.com/drivers/hsf/index.php"
+SRC_URI="x86? ( http://www.linuxant.com/drivers/hsf/full/archive/${P}full/${P}full.tar.gz )
+ amd64? ( http://www.linuxant.com/drivers/hsf/full/archive/${P}x86_64full/${P}x86_64full.tar.gz )
+ doc? ( http://www.linuxant.com/drivers/hsf/full/archive/${P}full/${MY_DOC} )"
+
+LICENSE="Conexant"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE="doc"
+SLOT="0"
+
+DEPEND="dev-lang/perl
+ app-arch/cpio"
+
+S="${WORKDIR}"
+
+pkg_setup() {
+ linux-info_pkg_setup
+ if useq x86; then
+ MY_ARCH_S="${S}/${P}full"
+ elif useq amd64; then
+ MY_ARCH_S="${S}/${P}x86_64full"
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${MY_ARCH_S}"
+ epatch "${FILESDIR}/${P}-hda_2.6.17.patch"
+ epatch "${FILESDIR}/${P}-udev-group.patch"
+}
+
+src_compile() {
+ cd "${MY_ARCH_S}"
+ emake all || die "make failed"
+}
+
+src_install () {
+ cd "${MY_ARCH_S}"
+ make PREFIX="${D}/usr/" ROOT="${D}" install || die "make install failed"
+
+ use doc && dodoc "${DISTDIR}/${MY_DOC}"
+}
+
+pkg_preinst() {
+ local NVMDIR="${ROOT}/etc/${PN}/nvm"
+ if [ -d "${NVMDIR}" ]; then
+ einfo "Cleaning ${NVMDIR}..."
+ rm -rf "${NVMDIR}"
+ eend
+ fi
+}
+
+pkg_postinst() {
+ einfo "To complete the installation and configuration of your HSF modem,"
+ einfo "please run hsfconfig."
+}