summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlin Năstac <mrness@gentoo.org>2007-05-19 04:53:29 +0000
committerAlin Năstac <mrness@gentoo.org>2007-05-19 04:53:29 +0000
commit09cea0ad14ebcee329193886ab1132b517ad51ec (patch)
treec7f73703fa652409964092825fb9cd8781abc707 /net-dialup/globespan-adsl
parentscrub crap from patch (diff)
downloadgentoo-2-09cea0ad14ebcee329193886ab1132b517ad51ec.tar.gz
gentoo-2-09cea0ad14ebcee329193886ab1132b517ad51ec.tar.bz2
gentoo-2-09cea0ad14ebcee329193886ab1132b517ad51ec.zip
Add upstream patch for supporting kernels newer than 2.6.17 (#177553).
(Portage version: 2.1.2.2)
Diffstat (limited to 'net-dialup/globespan-adsl')
-rw-r--r--net-dialup/globespan-adsl/ChangeLog8
-rw-r--r--net-dialup/globespan-adsl/files/digest-globespan-adsl-0.11-r13
-rw-r--r--net-dialup/globespan-adsl/files/globespan-adsl-0.11-synch.patch85
-rw-r--r--net-dialup/globespan-adsl/globespan-adsl-0.11-r1.ebuild48
4 files changed, 143 insertions, 1 deletions
diff --git a/net-dialup/globespan-adsl/ChangeLog b/net-dialup/globespan-adsl/ChangeLog
index 321520f8a4c3..482037e700ab 100644
--- a/net-dialup/globespan-adsl/ChangeLog
+++ b/net-dialup/globespan-adsl/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-dialup/globespan-adsl
# Copyright 2000-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-dialup/globespan-adsl/ChangeLog,v 1.20 2007/05/02 07:54:52 genone Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/globespan-adsl/ChangeLog,v 1.21 2007/05/19 04:53:29 mrness Exp $
+
+*globespan-adsl-0.11-r1 (19 May 2007)
+
+ 19 May 2007; Alin Năstac <mrness@gentoo.org>
+ +files/globespan-adsl-0.11-synch.patch, +globespan-adsl-0.11-r1.ebuild:
+ Add upstream patch for supporting kernels newer than 2.6.17 (#177553).
02 May 2007; Marius Mauch <genone@gentoo.org> globespan-adsl-0.10.ebuild,
globespan-adsl-0.11.ebuild:
diff --git a/net-dialup/globespan-adsl/files/digest-globespan-adsl-0.11-r1 b/net-dialup/globespan-adsl/files/digest-globespan-adsl-0.11-r1
new file mode 100644
index 000000000000..7cc12ee99fd4
--- /dev/null
+++ b/net-dialup/globespan-adsl/files/digest-globespan-adsl-0.11-r1
@@ -0,0 +1,3 @@
+MD5 c3c60c83f6df30021e11da50a699dec9 eciadsl-usermode-0.11.tar.gz 323391
+RMD160 698730d008857317cc475ef87a9023296b064319 eciadsl-usermode-0.11.tar.gz 323391
+SHA256 2382f315fda4241a0043bac1dfc669f006d8e93e87fa382b263b1672972f4077 eciadsl-usermode-0.11.tar.gz 323391
diff --git a/net-dialup/globespan-adsl/files/globespan-adsl-0.11-synch.patch b/net-dialup/globespan-adsl/files/globespan-adsl-0.11-synch.patch
new file mode 100644
index 000000000000..344ec3ddbd28
--- /dev/null
+++ b/net-dialup/globespan-adsl/files/globespan-adsl-0.11-synch.patch
@@ -0,0 +1,85 @@
+diff --git a/eciadsl-synch.c b/eciadsl-synch.c
+index 27c1f34..31c51dc 100644
+--- a/eciadsl-synch.c
++++ b/eciadsl-synch.c
+@@ -322,7 +322,7 @@ void read_endpoint(pusb_endpoint_t ep_int, int epnum){
+ device. So we revert to the old behaviour : NO TIMEOUTS ...
+ */
+
+- ret = pusb_endpoint_read(ep_int, lbuf, sizeof(lbuf), 0);
++ ret = pusb_endpoint_read_int(ep_int, lbuf, sizeof(lbuf));
+
+ if (ret < 0)
+ {
+diff --git a/pusb-linux.c b/pusb-linux.c
+index 79b7545..b5bf1dd 100644
+--- a/pusb-linux.c
++++ b/pusb-linux.c
+@@ -340,6 +340,54 @@ int pusb_endpoint_rw_no_timeout(int fd, int ep,
+ return(purb->actual_length);
+ }
+
++int pusb_endpoint_read_int_no_timeout(int fd, int ep,
++ unsigned char* buf, int size)
++{
++ struct usbdevfs_urb urb, *purb = &urb;
++ int ret;
++
++ memset(purb, 0, sizeof(urb));
++
++ purb->type = USBDEVFS_URB_TYPE_INTERRUPT;
++ purb->endpoint = ep;
++ purb->flags = 0;
++ purb->buffer = buf;
++ purb->buffer_length = size;
++ purb->signr = 0;
++
++ do
++ {
++ ret = ioctl(fd, USBDEVFS_SUBMITURB, purb);
++ }
++ while (ret < 0 && errno == EINTR);
++
++ if (ret < 0)
++ return(ret);
++
++ do
++ {
++ ret = ioctl(fd, USBDEVFS_REAPURB, &purb);
++ }
++ while (ret < 0 && errno == EINTR);
++
++ if (ret < 0)
++ return(ret);
++
++ if (purb != &urb)
++ printf("purb=%p, &urb=%p\n", (void*)purb, (void*)&urb);
++
++ if (purb->buffer != buf)
++ printf("purb->buffer=%p, buf=%p\n", (void*)purb->buffer, (void*)buf);
++
++ return(purb->actual_length);
++}
++
++int pusb_endpoint_read_int(pusb_endpoint_t ep,
++ unsigned char* buf, int size)
++{
++ return(pusb_endpoint_read_int_no_timeout(ep->fd, ep->ep|USB_DIR_IN, buf, size));
++}
++
+ int pusb_endpoint_rw(int fd, int ep, unsigned char* buf, int size, int timeout)
+ {
+ struct usbdevfs_bulktransfer bulk;
+diff --git a/pusb.h b/pusb.h
+index 921543b..112e41f 100644
+--- a/pusb.h
++++ b/pusb.h
+@@ -30,6 +30,8 @@ int pusb_release_interface(pusb_device_t dev,int interface);
+ pusb_endpoint_t pusb_endpoint_open(pusb_device_t dev, int epnum, int flags);
+ int pusb_endpoint_read(pusb_endpoint_t ep,
+ unsigned char *buf, int size, int timeout);
++int pusb_endpoint_read_int(pusb_endpoint_t ep,
++ unsigned char *buf, int size);
+ int pusb_endpoint_write(pusb_endpoint_t ep,
+ const unsigned char *buf, int size, int timeout);
+
diff --git a/net-dialup/globespan-adsl/globespan-adsl-0.11-r1.ebuild b/net-dialup/globespan-adsl/globespan-adsl-0.11-r1.ebuild
new file mode 100644
index 000000000000..20159cdc09a4
--- /dev/null
+++ b/net-dialup/globespan-adsl/globespan-adsl-0.11-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/globespan-adsl/globespan-adsl-0.11-r1.ebuild,v 1.1 2007/05/19 04:53:29 mrness Exp $
+
+inherit eutils
+
+MY_PN="eciadsl-usermode-${PV}"
+
+DESCRIPTION="Driver for various ADSL modems. Also known as EciAdsl."
+SRC_URI="http://eciadsl.flashtux.org/download/${MY_PN}.tar.gz"
+HOMEPAGE="http://eciadsl.flashtux.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="tk"
+
+DEPEND="net-dialup/ppp"
+RDEPEND="${DEPEND}
+ tk? ( >=dev-lang/tk-8.3.4 )"
+
+S="${WORKDIR}/${MY_PN}"
+
+src_unpack() {
+ unpack ${A}
+
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-synch.patch
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "make install failed"
+ dodoc README* TROUBLESHOOTING* ChangeLog || die "failed to install documentation"
+}
+
+pkg_postinst() {
+ elog
+ elog "Package succesfully installed you should now run "
+ elog "eciconf.sh (graphical, requires TCL/TK) or eciconftxt.sh"
+ elog
+ elog "Paquetage installé avec succés vous devriez maintenant"
+ elog "executer eciconf.sh (qui requiert TCL/TK) ou eciconftxt.sh"
+ elog
+ ewarn "Please note that if you're using a 2.6.x kernel you'll"
+ ewarn "probably need to apply a patch to fix a USB bug. See"
+ ewarn "http://eciadsl.flashtux.org/download/beta/"
+ ewarn
+}