summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-wireless/madwifi-ng
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-wireless/madwifi-ng')
-rw-r--r--net-wireless/madwifi-ng/Manifest6
-rw-r--r--net-wireless/madwifi-ng/files/madwifi-dfs-ieee80211-skb-update.patch12
-rw-r--r--net-wireless/madwifi-ng/files/madwifi-ng-0.9.3-uudecode-gcda-fix.patch12
-rw-r--r--net-wireless/madwifi-ng/files/madwifi-ng-0.9.4-2.6.27-r3811.patch190
-rw-r--r--net-wireless/madwifi-ng/files/madwifi-ng-0.9.4-request_module-build.patch31
-rw-r--r--net-wireless/madwifi-ng/files/madwifi-ng-injection-r3925.patch32
-rw-r--r--net-wireless/madwifi-ng/files/madwifi-ng-r1886.patch26
-rw-r--r--net-wireless/madwifi-ng/madwifi-ng-0.9.3.3.ebuild85
-rw-r--r--net-wireless/madwifi-ng/madwifi-ng-0.9.4-r1.ebuild95
-rw-r--r--net-wireless/madwifi-ng/madwifi-ng-0.9.4.4119.20100201.ebuild96
-rw-r--r--net-wireless/madwifi-ng/madwifi-ng-0.9.4.4133.20100621.ebuild96
-rw-r--r--net-wireless/madwifi-ng/madwifi-ng-0.9.4.4165.20110816.ebuild96
-rw-r--r--net-wireless/madwifi-ng/madwifi-ng-0.9.4.4180.20120502.ebuild96
-rw-r--r--net-wireless/madwifi-ng/madwifi-ng-0.9.4.ebuild95
-rw-r--r--net-wireless/madwifi-ng/metadata.xml19
15 files changed, 987 insertions, 0 deletions
diff --git a/net-wireless/madwifi-ng/Manifest b/net-wireless/madwifi-ng/Manifest
new file mode 100644
index 000000000000..7558ed0688e1
--- /dev/null
+++ b/net-wireless/madwifi-ng/Manifest
@@ -0,0 +1,6 @@
+DIST madwifi-0.9.3.3.tar.bz2 3489995 SHA256 7e38cb26d5b001e9fb36f48aaefdeee10d1dc57c83e675e3bbd0f1807a3305b7
+DIST madwifi-0.9.4-r4119-20100201.tar.gz 3534053 SHA256 43d3295209941cad7c75831dc83dcc0d4223987830d2a4d1089b8f5fa6ad79b6
+DIST madwifi-0.9.4-r4133-20100621.tar.gz 3534852 SHA256 f19f2eea7561a8a50a8731407d959eaafe64cc39fa5a894cac7a62807382d606
+DIST madwifi-0.9.4-r4165-20110816.tar.gz 3534958 SHA256 4b4081f317013e568169d6d732a6158dbf392f43d3d26e52665f340e80993afc
+DIST madwifi-0.9.4-r4180-20120502.tar.gz 3534976 SHA256 fe1b9f934f3b01b86170e661565f201c4e18b50e826f86e68578b58aea93d080
+DIST madwifi-0.9.4.tar.bz2 3485142 SHA256 2356ea8a1a00454c31b8bb9a587a474744c022eca61eae01f37ab3f9ce3186a0
diff --git a/net-wireless/madwifi-ng/files/madwifi-dfs-ieee80211-skb-update.patch b/net-wireless/madwifi-ng/files/madwifi-dfs-ieee80211-skb-update.patch
new file mode 100644
index 000000000000..af14023b8c7c
--- /dev/null
+++ b/net-wireless/madwifi-ng/files/madwifi-dfs-ieee80211-skb-update.patch
@@ -0,0 +1,12 @@
+--- a/net80211/ieee80211_linux.h 2008-05-09 01:15:01 +0400
++++ b/net80211/ieee80211_linux.h 2008-05-11 02:26:35 +0400
+@@ -315,6 +315,9 @@ typedef spinlock_t acl_lock_t;
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
+ #define __skb_append(a,b,c) __skb_append(a, b)
+ #endif
++#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25)
++#define __skb_append(a,b,c) __skb_queue_after(c,a,b)
++#endif
+
+ /*
+ * Per-node power-save queue definitions. Beware of control
diff --git a/net-wireless/madwifi-ng/files/madwifi-ng-0.9.3-uudecode-gcda-fix.patch b/net-wireless/madwifi-ng/files/madwifi-ng-0.9.3-uudecode-gcda-fix.patch
new file mode 100644
index 000000000000..686958cc1399
--- /dev/null
+++ b/net-wireless/madwifi-ng/files/madwifi-ng-0.9.3-uudecode-gcda-fix.patch
@@ -0,0 +1,12 @@
+Index: ath_hal/Makefile
+===================================================================
+--- ath_hal/Makefile (revision 1648)
++++ ath_hal/Makefile (working copy)
+@@ -61,6 +61,7 @@
+ ath_hal-objs := ah_osdep.o ${TARGET}.hal.o
+
+ hostprogs-y := uudecode
++uudecode-objs := uudecode.o
+
+ # For older 2.6 kernels
+ host-progs := $(hostprogs-y)
diff --git a/net-wireless/madwifi-ng/files/madwifi-ng-0.9.4-2.6.27-r3811.patch b/net-wireless/madwifi-ng/files/madwifi-ng-0.9.4-2.6.27-r3811.patch
new file mode 100644
index 000000000000..b02795f5f76a
--- /dev/null
+++ b/net-wireless/madwifi-ng/files/madwifi-ng-0.9.4-2.6.27-r3811.patch
@@ -0,0 +1,190 @@
+=== modified file 'net80211/ieee80211_wireless.c'
+--- net80211/ieee80211_wireless.c 2008-10-22 18:13:35 +0000
++++ net80211/ieee80211_wireless.c 2008-10-22 18:13:41 +0000
+@@ -1551,11 +1551,19 @@
+
+ struct iwscanreq { /* XXX: right place for this declaration? */
+ struct ieee80211vap *vap;
++ struct iw_request_info *info;
+ char *current_ev;
+ char *end_buf;
+ int mode;
+ };
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 27) && !defined(IW_REQUEST_FLAG_COMPAT)
++#define iwe_stream_add_event(a, b, c, d, e) iwe_stream_add_event(b, c, d, e)
++#define iwe_stream_add_point(a, b, c, d, e) iwe_stream_add_point(b, c, d, e)
++#define iwe_stream_add_value(a, b, c, d, e, f) \
++ iwe_stream_add_value(b, c, d, e, f)
++#define iwe_stream_lcp_len(a) IW_EV_LCP_LEN
++#endif
+ static int
+ giwscan_cb(void *arg, const struct ieee80211_scan_entry *se)
+ {
+@@ -1590,7 +1598,8 @@
+ IEEE80211_ADDR_COPY(iwe.u.ap_addr.sa_data, se->se_macaddr);
+ else
+ IEEE80211_ADDR_COPY(iwe.u.ap_addr.sa_data, se->se_bssid);
+- current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe, IW_EV_ADDR_LEN);
++ current_ev = iwe_stream_add_event(req->info, current_ev, end_buf,
++ &iwe, IW_EV_ADDR_LEN);
+
+ /* We ran out of space in the buffer. */
+ if (last_ev == current_ev)
+@@ -1603,11 +1612,11 @@
+ if (vap->iv_opmode == IEEE80211_M_HOSTAP) {
+ iwe.u.data.length = vap->iv_des_nssid > 0 ?
+ vap->iv_des_ssid[0].len : 0;
+- current_ev = iwe_stream_add_point(current_ev,
++ current_ev = iwe_stream_add_point(req->info, current_ev,
+ end_buf, &iwe, vap->iv_des_ssid[0].ssid);
+ } else {
+ iwe.u.data.length = se->se_ssid[1];
+- current_ev = iwe_stream_add_point(current_ev,
++ current_ev = iwe_stream_add_point(req->info, current_ev,
+ end_buf, &iwe, (char *) se->se_ssid+2);
+ }
+
+@@ -1621,8 +1630,8 @@
+ iwe.cmd = SIOCGIWMODE;
+ iwe.u.mode = se->se_capinfo & IEEE80211_CAPINFO_ESS ?
+ IW_MODE_MASTER : IW_MODE_ADHOC;
+- current_ev = iwe_stream_add_event(current_ev,
+- end_buf, &iwe, IW_EV_UINT_LEN);
++ current_ev = iwe_stream_add_event(req->info, current_ev,
++ end_buf, &iwe, IW_EV_UINT_LEN);
+
+ /* We ran out of space in the buffer. */
+ if (last_ev == current_ev)
+@@ -1634,8 +1643,8 @@
+ iwe.cmd = SIOCGIWFREQ;
+ iwe.u.freq.m = se->se_chan->ic_freq * 100000;
+ iwe.u.freq.e = 1;
+- current_ev = iwe_stream_add_event(current_ev,
+- end_buf, &iwe, IW_EV_FREQ_LEN);
++ current_ev = iwe_stream_add_event(req->info, current_ev,
++ end_buf, &iwe, IW_EV_FREQ_LEN);
+
+ /* We ran out of space in the buffer. */
+ if (last_ev == current_ev)
+@@ -1645,8 +1654,8 @@
+ last_ev = current_ev;
+ iwe.cmd = IWEVQUAL;
+ set_quality(&iwe.u.qual, se->se_rssi, ATH_DEFAULT_NOISE);
+- current_ev = iwe_stream_add_event(current_ev,
+- end_buf, &iwe, IW_EV_QUAL_LEN);
++ current_ev = iwe_stream_add_event(req->info, current_ev,
++ end_buf, &iwe, IW_EV_QUAL_LEN);
+
+ /* We ran out of space in the buffer */
+ if (last_ev == current_ev)
+@@ -1660,7 +1669,8 @@
+ else
+ iwe.u.data.flags = IW_ENCODE_DISABLED;
+ iwe.u.data.length = 0;
+- current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe, "");
++ current_ev = iwe_stream_add_point(req->info, current_ev,
++ end_buf, &iwe, "");
+
+ /* We ran out of space in the buffer. */
+ if (last_ev == current_ev)
+@@ -1669,28 +1679,28 @@
+ memset(&iwe, 0, sizeof(iwe));
+ last_ev = current_ev;
+ iwe.cmd = SIOCGIWRATE;
+- current_val = current_ev + IW_EV_LCP_LEN;
++ current_val = current_ev + iwe_stream_lcp_len(req->info);
+ /* NB: not sorted, does it matter? */
+ for (j = 0; j < se->se_rates[1]; j++) {
+ int r = se->se_rates[2 + j] & IEEE80211_RATE_VAL;
+ if (r != 0) {
+ iwe.u.bitrate.value = r * (1000000 / 2);
+- current_val = iwe_stream_add_value(current_ev,
+- current_val, end_buf, &iwe,
+- IW_EV_PARAM_LEN);
++ current_val = iwe_stream_add_value(req->info,
++ current_ev, current_val, end_buf,
++ &iwe, IW_EV_PARAM_LEN);
+ }
+ }
+ for (j = 0; j < se->se_xrates[1]; j++) {
+ int r = se->se_xrates[2+j] & IEEE80211_RATE_VAL;
+ if (r != 0) {
+ iwe.u.bitrate.value = r * (1000000 / 2);
+- current_val = iwe_stream_add_value(current_ev,
+- current_val, end_buf, &iwe,
+- IW_EV_PARAM_LEN);
++ current_val = iwe_stream_add_value(req->info,
++ current_ev, current_val, end_buf,
++ &iwe, IW_EV_PARAM_LEN);
+ }
+ }
+ /* remove fixed header if no rates were added */
+- if ((current_val - current_ev) > IW_EV_LCP_LEN) {
++ if ((current_val - current_ev) > iwe_stream_lcp_len(req->info)) {
+ current_ev = current_val;
+ } else {
+ /* We ran out of space in the buffer. */
+@@ -1704,7 +1714,8 @@
+ iwe.cmd = IWEVCUSTOM;
+ snprintf(buf, sizeof(buf), "bcn_int=%d", se->se_intval);
+ iwe.u.data.length = strlen(buf);
+- current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe, buf);
++ current_ev = iwe_stream_add_point(req->info, current_ev,
++ end_buf, &iwe, buf);
+
+ /* We ran out of space in the buffer. */
+ if (last_ev == current_ev)
+@@ -1728,8 +1739,8 @@
+ rsn_leader, sizeof(rsn_leader) - 1);
+ #endif
+ if (iwe.u.data.length != 0) {
+- current_ev = iwe_stream_add_point(current_ev, end_buf,
+- &iwe, buf);
++ current_ev = iwe_stream_add_point(req->info,
++ current_ev, end_buf, &iwe, buf);
+
+ /* We ran out of space in the buffer */
+ if (last_ev == current_ev)
+@@ -1754,8 +1765,8 @@
+ wpa_leader, sizeof(wpa_leader) - 1);
+ #endif
+ if (iwe.u.data.length != 0) {
+- current_ev = iwe_stream_add_point(current_ev, end_buf,
+- &iwe, buf);
++ current_ev = iwe_stream_add_point(req->info,
++ current_ev, end_buf, &iwe, buf);
+
+ /* We ran out of space in the buffer. */
+ if (last_ev == current_ev)
+@@ -1773,8 +1784,8 @@
+ se->se_wme_ie, se->se_wme_ie[1] + 2,
+ wme_leader, sizeof(wme_leader) - 1);
+ if (iwe.u.data.length != 0) {
+- current_ev = iwe_stream_add_point(current_ev, end_buf,
+- &iwe, buf);
++ current_ev = iwe_stream_add_point(req->info,
++ current_ev, end_buf, &iwe, buf);
+
+ /* We ran out of space in the buffer. */
+ if (last_ev == current_ev)
+@@ -1791,8 +1802,8 @@
+ se->se_ath_ie, se->se_ath_ie[1] + 2,
+ ath_leader, sizeof(ath_leader) - 1);
+ if (iwe.u.data.length != 0) {
+- current_ev = iwe_stream_add_point(current_ev, end_buf,
+- &iwe, buf);
++ current_ev = iwe_stream_add_point(req->info,
++ current_ev, end_buf, &iwe, buf);
+
+ /* We ran out of space in the buffer. */
+ if (last_ev == current_ev)
+@@ -1815,6 +1826,7 @@
+ int res = 0;
+
+ req.vap = vap;
++ req.info = info;
+ req.current_ev = extra;
+ if (data->length == 0) {
+ req.end_buf = extra + IW_SCAN_MAX_DATA;
+
diff --git a/net-wireless/madwifi-ng/files/madwifi-ng-0.9.4-request_module-build.patch b/net-wireless/madwifi-ng/files/madwifi-ng-0.9.4-request_module-build.patch
new file mode 100644
index 000000000000..ad338a3b70e0
--- /dev/null
+++ b/net-wireless/madwifi-ng/files/madwifi-ng-0.9.4-request_module-build.patch
@@ -0,0 +1,31 @@
+http://bugs.gentoo.org/show_bug.cgi?id=232099
+http://madwifi-project.org/changeset/3880
+
+=== modified file 'include/compat.h'
+--- include/compat.h 2009-01-31 16:01:16 +0000
++++ include/compat.h 2009-01-31 16:03:33 +0000
+@@ -175,6 +175,10 @@
+ #define DEV_ATH CTL_UNNUMBERED
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
++#define request_module(_fmt, _modname) request_module(_modname)
++#endif
++
+ #endif /* __KERNEL__ */
+
+ #endif /* _ATH_COMPAT_H_ */
+
+=== modified file 'net80211/ieee80211_linux.c'
+--- net80211/ieee80211_linux.c 2009-01-31 16:01:16 +0000
++++ net80211/ieee80211_linux.c 2009-01-31 16:03:09 +0000
+@@ -335,7 +335,7 @@
+ {
+ #ifdef CONFIG_KMOD
+ int rv;
+- rv = request_module(modname);
++ rv = request_module("%s", modname);
+ if (rv < 0)
+ printk(KERN_ERR "failed to automatically load module: %s; " \
+ "errno: %d\n", modname, rv);
+
diff --git a/net-wireless/madwifi-ng/files/madwifi-ng-injection-r3925.patch b/net-wireless/madwifi-ng/files/madwifi-ng-injection-r3925.patch
new file mode 100644
index 000000000000..1999184ec5ae
--- /dev/null
+++ b/net-wireless/madwifi-ng/files/madwifi-ng-injection-r3925.patch
@@ -0,0 +1,32 @@
+=== modified file 'ath/if_ath.c'
+--- ath/if_ath.c 2009-06-03 07:46:17 +0000
++++ ath/if_ath.c 2009-06-03 07:53:24 +0000
+@@ -2359,6 +2359,7 @@
+ ath_tx_startraw(struct net_device *dev, struct ath_buf *bf, struct sk_buff *skb)
+ {
+ struct ath_softc *sc = netdev_priv(dev);
++ struct ieee80211com *ic = &sc->sc_ic;
+ struct ath_hal *ah = sc->sc_ah;
+ struct ieee80211_phy_params *ph = (struct ieee80211_phy_params *) (skb->cb + sizeof(struct ieee80211_cb));
+ const HAL_RATE_TABLE *rt;
+@@ -2375,7 +2376,8 @@
+ struct ieee80211_frame *wh;
+
+ wh = (struct ieee80211_frame *) skb->data;
+- try0 = ph->try0;
++ //try0 = ph->try0;
++ try0 = (ic->ic_opmode == IEEE80211_M_MONITOR) ? 1 : ph->try0;
+ rt = sc->sc_currates;
+ txrate = dot11_to_ratecode(sc, rt, ph->rate0);
+ power = ph->power > 60 ? 60 : ph->power;
+@@ -2404,7 +2406,8 @@
+ KASSERT(rt != NULL, ("no rate table, mode %u", sc->sc_curmode));
+
+
+- if (IEEE80211_IS_MULTICAST(wh->i_addr1)) {
++ if (IEEE80211_IS_MULTICAST(wh->i_addr1) || ((ic->ic_opmode ==
++ IEEE80211_M_MONITOR) && (skb->data[1]&3) != 0x01) ) {
+ flags |= HAL_TXDESC_NOACK; /* no ack on broad/multicast */
+ sc->sc_stats.ast_tx_noack++;
+ try0 = 1;
+
diff --git a/net-wireless/madwifi-ng/files/madwifi-ng-r1886.patch b/net-wireless/madwifi-ng/files/madwifi-ng-r1886.patch
new file mode 100644
index 000000000000..1ee11bec1c3f
--- /dev/null
+++ b/net-wireless/madwifi-ng/files/madwifi-ng-r1886.patch
@@ -0,0 +1,26 @@
+allow to inject packets with aircrack-ng
+
+diff -ur ath/if_ath.c ath/if_ath.c
+--- ath/if_ath.c 2007-01-07 21:22:55.312500000 +0100
++++ ath/if_ath.c 2007-01-07 21:17:09.875000000 +0100
+@@ -2289,6 +2289,7 @@
+ ath_tx_startraw(struct net_device *dev, struct ath_buf *bf, struct sk_buff *skb)
+ {
+ struct ath_softc *sc = dev->priv;
++ struct ieee80211com *ic = &sc->sc_ic;
+ struct ath_hal *ah = sc->sc_ah;
+ struct ieee80211_phy_params *ph = (struct ieee80211_phy_params *) (skb->cb + sizeof(struct ieee80211_cb));
+ const HAL_RATE_TABLE *rt;
+@@ -2305,7 +2306,11 @@
+ struct ieee80211_frame *wh;
+
+ wh = (struct ieee80211_frame *) skb->data;
+- try0 = ph->try0;
++ try0 = (ic->ic_opmode == IEEE80211_M_MONITOR) ? 1 : ph->try0;
++ /*
++ * The retry value has to be patched to 1 when injecting,
++ * otherwise the sequence number will be overwritten
++ */
+ rt = sc->sc_currates;
+ txrate = dot11_to_ratecode(sc, rt, ph->rate0);
+ power = ph->power > 60 ? 60 : ph->power;
diff --git a/net-wireless/madwifi-ng/madwifi-ng-0.9.3.3.ebuild b/net-wireless/madwifi-ng/madwifi-ng-0.9.3.3.ebuild
new file mode 100644
index 000000000000..80186d7b73ba
--- /dev/null
+++ b/net-wireless/madwifi-ng/madwifi-ng-0.9.3.3.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit linux-mod
+
+MY_P=${PN/-ng/}-${PV}
+S="${WORKDIR}"/${MY_P}
+
+DESCRIPTION="Next Generation driver for Atheros based IEEE 802.11a/b/g wireless LAN cards"
+HOMEPAGE="http://www.madwifi-project.org/"
+SRC_URI="mirror://sourceforge/madwifi/madwifi-${PV}.tar.bz2"
+
+LICENSE="atheros-hal
+ || ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="injection"
+
+DEPEND="app-arch/sharutils"
+RDEPEND="!net-wireless/madwifi-old
+ net-wireless/wireless-tools
+ ~net-wireless/madwifi-ng-tools-${PV}"
+
+CONFIG_CHECK="CRYPTO WIRELESS_EXT SYSCTL KMOD"
+ERROR_CRYPTO="${P} requires Cryptographic API support (CONFIG_CRYPTO)."
+ERROR_WIRELESS_EXT="${P} requires CONFIG_WIRELESS_EXT selected by Wireless LAN drivers (non-hamradio) & Wireless Extensions"
+ERROR_SYSCTL="${P} requires Sysctl support (CONFIG_SYSCTL)."
+ERROR_KMOD="${F} requires CONFIG_KMOD to be set to y or m"
+BUILD_TARGETS="all"
+MODULESD_ATH_PCI_DOCS="README"
+
+pkg_setup() {
+ linux-mod_pkg_setup
+
+ MODULE_NAMES='ath_hal(net:"${S}"/ath_hal)
+ wlan(net:"${S}"/net80211)
+ wlan_acl(net:"${S}"/net80211)
+ wlan_ccmp(net:"${S}"/net80211)
+ wlan_tkip(net:"${S}"/net80211)
+ wlan_wep(net:"${S}"/net80211)
+ wlan_xauth(net:"${S}"/net80211)
+ wlan_scan_sta(net:"${S}"/net80211)
+ wlan_scan_ap(net:"${S}"/net80211)
+ ath_rate_amrr(net:"${S}"/ath_rate/amrr)
+ ath_rate_onoe(net:"${S}"/ath_rate/onoe)
+ ath_rate_sample(net:"${S}"/ath_rate/sample)
+ ath_pci(net:"${S}"/ath)'
+
+ BUILD_PARAMS="KERNELPATH=${KV_OUT_DIR}"
+}
+
+src_unpack() {
+ unpack ${A}
+
+ cd "${S}"
+ epatch "${FILESDIR}"/${PN}-0.9.3-uudecode-gcda-fix.patch
+ if use injection; then epatch "${FILESDIR}"/${PN}-r1886.patch; fi
+ for dir in ath ath_hal net80211 ath_rate ath_rate/amrr ath_rate/onoe ath_rate/sample; do
+ convert_to_m "${S}"/${dir}/Makefile
+ done
+}
+
+src_install() {
+ linux-mod_src_install
+
+ dodoc README THANKS docs/users-guide.pdf docs/WEP-HOWTO.txt
+}
+
+pkg_postinst() {
+ local moddir="${ROOT}/lib/modules/${KV_FULL}/net/"
+
+ linux-mod_pkg_postinst
+
+ einfo
+ einfo "Interfaces (athX) are now automatically created upon loading the ath_pci"
+ einfo "module."
+ einfo
+ einfo "The type of the created interface can be controlled through the 'autocreate'"
+ einfo "module parameter."
+ einfo
+ einfo "As of net-wireless/madwifi-ng-0.9.3 rate control module selection is done at"
+ einfo "module load time via the 'ratectl' module parameter. USE flags amrr and onoe"
+ einfo "no longer serve any purpose."
+}
diff --git a/net-wireless/madwifi-ng/madwifi-ng-0.9.4-r1.ebuild b/net-wireless/madwifi-ng/madwifi-ng-0.9.4-r1.ebuild
new file mode 100644
index 000000000000..07a296d207ed
--- /dev/null
+++ b/net-wireless/madwifi-ng/madwifi-ng-0.9.4-r1.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit linux-mod
+
+MY_P=${PN/-ng/}-${PV}
+S="${WORKDIR}"/${MY_P}
+
+DESCRIPTION="Next Generation driver for Atheros based IEEE 802.11a/b/g wireless LAN cards"
+HOMEPAGE="http://www.madwifi-project.org/"
+SRC_URI="mirror://sourceforge/madwifi/madwifi-${PV}.tar.bz2"
+
+LICENSE="atheros-hal
+ || ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="injection"
+
+RDEPEND="!net-wireless/madwifi-old
+ net-wireless/wireless-tools
+ ~net-wireless/madwifi-ng-tools-${PV}"
+
+CONFIG_CHECK="CRYPTO WIRELESS_EXT SYSCTL KMOD"
+ERROR_CRYPTO="${P} requires Cryptographic API support (CONFIG_CRYPTO)."
+ERROR_WIRELESS_EXT="${P} requires CONFIG_WIRELESS_EXT selected by Wireless LAN drivers (non-hamradio) & Wireless Extensions"
+ERROR_SYSCTL="${P} requires Sysctl support (CONFIG_SYSCTL)."
+ERROR_KMOD="${F} requires CONFIG_KMOD to be set to y or m"
+BUILD_TARGETS="all"
+MODULESD_ATH_PCI_DOCS="README"
+
+pkg_setup() {
+ linux-mod_pkg_setup
+
+ MODULE_NAMES='ath_hal(net:"${S}"/ath_hal)
+ wlan(net:"${S}"/net80211)
+ wlan_acl(net:"${S}"/net80211)
+ wlan_ccmp(net:"${S}"/net80211)
+ wlan_tkip(net:"${S}"/net80211)
+ wlan_wep(net:"${S}"/net80211)
+ wlan_xauth(net:"${S}"/net80211)
+ wlan_scan_sta(net:"${S}"/net80211)
+ wlan_scan_ap(net:"${S}"/net80211)
+ ath_rate_amrr(net:"${S}"/ath_rate/amrr)
+ ath_rate_onoe(net:"${S}"/ath_rate/onoe)
+ ath_rate_sample(net:"${S}"/ath_rate/sample)
+ ath_rate_minstrel(net:"${S}"/ath_rate/minstrel)
+ ath_pci(net:"${S}"/ath)'
+
+ BUILD_PARAMS="KERNELPATH=${KV_OUT_DIR}"
+}
+
+src_unpack() {
+ unpack ${A}
+
+ cd "${S}"
+ epatch "${FILESDIR}/${PN}-0.9.3-uudecode-gcda-fix.patch"
+ if use injection; then epatch "${FILESDIR}"/${PN}-r1886.patch; fi
+ for dir in ath ath_hal net80211 ath_rate ath_rate/amrr ath_rate/minstrel ath_rate/onoe ath_rate/sample; do
+ convert_to_m "${S}/${dir}/Makefile"
+ done
+ epatch "${FILESDIR}/madwifi-dfs-ieee80211-skb-update.patch"
+ kernel_is ge 2 6 27 && epatch "${FILESDIR}/${P}-2.6.27-r3811.patch"
+ epatch "${FILESDIR}/${P}-request_module-build.patch"
+}
+
+src_install() {
+ linux-mod_src_install
+
+ dodoc README THANKS docs/users-guide.pdf docs/WEP-HOWTO.txt
+}
+
+pkg_postinst() {
+ local moddir="${ROOT}/lib/modules/${KV_FULL}/net/"
+
+ linux-mod_pkg_postinst
+
+ einfo
+ einfo "Interfaces (athX) are now automatically created upon loading the ath_pci"
+ einfo "module."
+ einfo
+ einfo "The type of the created interface can be controlled through the 'autocreate'"
+ einfo "module parameter."
+ einfo
+ einfo "As of net-wireless/madwifi-ng-0.9.3 rate control module selection is done at"
+ einfo "module load time via the 'ratectl' module parameter. USE flags amrr and onoe"
+ einfo "no longer serve any purpose."
+
+ elog "Please note: This release is based off of 0.9.3.3 and NOT trunk."
+ elog "# No AR5007 support in this release;"
+ elog "experimental support is available for i386 (32bit) in #1679"
+ elog "# No AR5008 support in this release; support is available in trunk "
+ elog "No, we will not apply the patch from 1679, if you must, please do so
+ in an overlay on your system. That is upstreams ticket 1679, not Gentoo's."
+}
diff --git a/net-wireless/madwifi-ng/madwifi-ng-0.9.4.4119.20100201.ebuild b/net-wireless/madwifi-ng/madwifi-ng-0.9.4.4119.20100201.ebuild
new file mode 100644
index 000000000000..7cea2f1ec365
--- /dev/null
+++ b/net-wireless/madwifi-ng/madwifi-ng-0.9.4.4119.20100201.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit linux-mod versionator
+
+MY_PN=${PN/-ng/}
+MY_PV=$(get_version_component_range 1-3)
+MY_REV=$(get_version_component_range 4)
+MY_DATE=$(get_version_component_range 5)
+MY_P=${MY_PN}-${MY_PV}-r${MY_REV}-${MY_DATE}
+S=${WORKDIR}/${MY_P}
+
+DESCRIPTION="Next Generation driver for Atheros based IEEE 802.11a/b/g wireless LAN cards"
+HOMEPAGE="http://www.madwifi-project.org/"
+SRC_URI="http://snapshots.madwifi-project.org/${MY_PN}-${MY_PV}/${MY_P}.tar.gz"
+
+LICENSE="atheros-hal
+ || ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="injection"
+
+RDEPEND="!net-wireless/madwifi-old
+ net-wireless/wireless-tools
+ ~net-wireless/madwifi-ng-tools-${PV}"
+
+pkg_setup() {
+ CONFIG_CHECK="CRYPTO WIRELESS_EXT SYSCTL"
+ kernel_is lt 2 6 29 && CONFIG_CHECK="${CONFIG_CHECK} KMOD"
+ ERROR_CRYPTO="${P} requires Cryptographic API support (CONFIG_CRYPTO)."
+ ERROR_WIRELESS_EXT="${P} requires CONFIG_WIRELESS_EXT selected by Wireless LAN drivers (non-hamradio) & Wireless Extensions"
+ kernel_is gt 2 6 33 && \
+ ERROR_WIRELESS_EXT="${P} requires CONFIG_WIRELESS_EXT selected by some Wireless LAN drivers (e.g CONFIG_IPW2100)"
+ ERROR_SYSCTL="${P} requires Sysctl support (CONFIG_SYSCTL)."
+ ERROR_KMOD="${F} requires CONFIG_KMOD to be set to y or m"
+ BUILD_TARGETS="all"
+ MODULESD_ATH_PCI_DOCS="README"
+ linux-mod_pkg_setup
+
+ MODULE_NAMES='ath_hal(net:"${S}"/ath_hal)
+ wlan(net:"${S}"/net80211)
+ wlan_acl(net:"${S}"/net80211)
+ wlan_ccmp(net:"${S}"/net80211)
+ wlan_tkip(net:"${S}"/net80211)
+ wlan_wep(net:"${S}"/net80211)
+ wlan_xauth(net:"${S}"/net80211)
+ wlan_scan_sta(net:"${S}"/net80211)
+ wlan_scan_ap(net:"${S}"/net80211)
+ ath_rate_amrr(net:"${S}"/ath_rate/amrr)
+ ath_rate_onoe(net:"${S}"/ath_rate/onoe)
+ ath_rate_sample(net:"${S}"/ath_rate/sample)
+ ath_rate_minstrel(net:"${S}"/ath_rate/minstrel)
+ ath_pci(net:"${S}"/ath)'
+
+ BUILD_PARAMS="KERNELPATH=${KV_OUT_DIR}"
+}
+
+src_prepare() {
+ use injection && epatch "${FILESDIR}"/${PN}-injection-r3925.patch
+ for dir in ath ath_hal net80211 ath_rate ath_rate/amrr ath_rate/minstrel ath_rate/onoe ath_rate/sample; do
+ convert_to_m "${S}/${dir}/Makefile"
+ done
+ sed -e 's:-Werror ::' -i Makefile.inc || die "sed -Werror failed"
+ make svnversion.h || die
+}
+
+src_install() {
+ linux-mod_src_install
+ dodoc README THANKS SNAPSHOT || die
+}
+
+pkg_postinst() {
+ local moddir="${ROOT}/lib/modules/${KV_FULL}/net/"
+
+ linux-mod_pkg_postinst
+
+ einfo
+ einfo "Interfaces (athX) are now automatically created upon loading the ath_pci"
+ einfo "module."
+ einfo
+ einfo "The type of the created interface can be controlled through the 'autocreate'"
+ einfo "module parameter."
+ einfo
+ einfo "As of net-wireless/madwifi-ng-0.9.3 rate control module selection is done at"
+ einfo "module load time via the 'ratectl' module parameter."
+
+ elog "Please note: This release is based off of 0.9.3.3 and NOT trunk."
+ elog "# No AR5007 support in this release;"
+ elog "experimental support is available for i386 (32bit) in #1679"
+ elog "# No AR5008 support in this release; support is available in trunk "
+ elog "No, we will not apply the patch from 1679, if you must, please do so
+ in an overlay on your system. That is upstreams ticket 1679, not Gentoo's."
+}
diff --git a/net-wireless/madwifi-ng/madwifi-ng-0.9.4.4133.20100621.ebuild b/net-wireless/madwifi-ng/madwifi-ng-0.9.4.4133.20100621.ebuild
new file mode 100644
index 000000000000..073c3022e54e
--- /dev/null
+++ b/net-wireless/madwifi-ng/madwifi-ng-0.9.4.4133.20100621.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit linux-mod versionator
+
+MY_PN=${PN/-ng/}
+MY_PV=$(get_version_component_range 1-3)
+MY_REV=$(get_version_component_range 4)
+MY_DATE=$(get_version_component_range 5)
+MY_P=${MY_PN}-${MY_PV}-r${MY_REV}-${MY_DATE}
+S=${WORKDIR}/${MY_P}
+
+DESCRIPTION="Next Generation driver for Atheros based IEEE 802.11a/b/g wireless LAN cards"
+HOMEPAGE="http://www.madwifi-project.org/"
+SRC_URI="http://snapshots.madwifi-project.org/${MY_PN}-${MY_PV}/${MY_P}.tar.gz"
+
+LICENSE="atheros-hal
+ || ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE="injection"
+
+RDEPEND="!net-wireless/madwifi-old
+ net-wireless/wireless-tools
+ ~net-wireless/madwifi-ng-tools-${PV}"
+
+pkg_setup() {
+ CONFIG_CHECK="CRYPTO WIRELESS_EXT SYSCTL"
+ kernel_is lt 2 6 29 && CONFIG_CHECK="${CONFIG_CHECK} KMOD"
+ ERROR_CRYPTO="${P} requires Cryptographic API support (CONFIG_CRYPTO)."
+ ERROR_WIRELESS_EXT="${P} requires CONFIG_WIRELESS_EXT selected by Wireless LAN drivers (non-hamradio) & Wireless Extensions"
+ kernel_is gt 2 6 33 && \
+ ERROR_WIRELESS_EXT="${P} requires CONFIG_WIRELESS_EXT selected by some Wireless LAN drivers (e.g CONFIG_IPW2100)"
+ ERROR_SYSCTL="${P} requires Sysctl support (CONFIG_SYSCTL)."
+ ERROR_KMOD="${F} requires CONFIG_KMOD to be set to y or m"
+ BUILD_TARGETS="all"
+ MODULESD_ATH_PCI_DOCS="README"
+ linux-mod_pkg_setup
+
+ MODULE_NAMES='ath_hal(net:"${S}"/ath_hal)
+ wlan(net:"${S}"/net80211)
+ wlan_acl(net:"${S}"/net80211)
+ wlan_ccmp(net:"${S}"/net80211)
+ wlan_tkip(net:"${S}"/net80211)
+ wlan_wep(net:"${S}"/net80211)
+ wlan_xauth(net:"${S}"/net80211)
+ wlan_scan_sta(net:"${S}"/net80211)
+ wlan_scan_ap(net:"${S}"/net80211)
+ ath_rate_amrr(net:"${S}"/ath_rate/amrr)
+ ath_rate_onoe(net:"${S}"/ath_rate/onoe)
+ ath_rate_sample(net:"${S}"/ath_rate/sample)
+ ath_rate_minstrel(net:"${S}"/ath_rate/minstrel)
+ ath_pci(net:"${S}"/ath)'
+
+ BUILD_PARAMS="KERNELPATH=${KV_OUT_DIR}"
+}
+
+src_prepare() {
+ use injection && epatch "${FILESDIR}"/${PN}-injection-r3925.patch
+ for dir in ath ath_hal net80211 ath_rate ath_rate/amrr ath_rate/minstrel ath_rate/onoe ath_rate/sample; do
+ convert_to_m "${S}/${dir}/Makefile"
+ done
+ sed -e 's:-Werror ::' -i Makefile.inc || die "sed -Werror failed"
+ make svnversion.h || die
+}
+
+src_install() {
+ linux-mod_src_install
+ dodoc README THANKS SNAPSHOT || die
+}
+
+pkg_postinst() {
+ local moddir="${ROOT}/lib/modules/${KV_FULL}/net/"
+
+ linux-mod_pkg_postinst
+
+ einfo
+ einfo "Interfaces (athX) are now automatically created upon loading the ath_pci"
+ einfo "module."
+ einfo
+ einfo "The type of the created interface can be controlled through the 'autocreate'"
+ einfo "module parameter."
+ einfo
+ einfo "As of net-wireless/madwifi-ng-0.9.3 rate control module selection is done at"
+ einfo "module load time via the 'ratectl' module parameter."
+
+ elog "Please note: This release is based off of 0.9.3.3 and NOT trunk."
+ elog "# No AR5007 support in this release;"
+ elog "experimental support is available for i386 (32bit) in #1679"
+ elog "# No AR5008 support in this release; support is available in trunk "
+ elog "No, we will not apply the patch from 1679, if you must, please do so
+ in an overlay on your system. That is upstreams ticket 1679, not Gentoo's."
+}
diff --git a/net-wireless/madwifi-ng/madwifi-ng-0.9.4.4165.20110816.ebuild b/net-wireless/madwifi-ng/madwifi-ng-0.9.4.4165.20110816.ebuild
new file mode 100644
index 000000000000..1c5000a0b0f0
--- /dev/null
+++ b/net-wireless/madwifi-ng/madwifi-ng-0.9.4.4165.20110816.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit linux-mod versionator
+
+MY_PN=${PN/-ng/}
+MY_PV=$(get_version_component_range 1-3)
+MY_REV=$(get_version_component_range 4)
+MY_DATE=$(get_version_component_range 5)
+MY_P=${MY_PN}-${MY_PV}-r${MY_REV}-${MY_DATE}
+S=${WORKDIR}/${MY_P}
+
+DESCRIPTION="Next Generation driver for Atheros based IEEE 802.11a/b/g wireless LAN cards"
+HOMEPAGE="http://www.madwifi-project.org/"
+SRC_URI="http://snapshots.madwifi-project.org/${MY_PN}-${MY_PV}/${MY_P}.tar.gz"
+
+LICENSE="atheros-hal
+ || ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="injection"
+
+RDEPEND="!net-wireless/madwifi-old
+ net-wireless/wireless-tools
+ ~net-wireless/madwifi-ng-tools-${PV}"
+
+pkg_setup() {
+ CONFIG_CHECK="CRYPTO WIRELESS_EXT SYSCTL"
+ kernel_is lt 2 6 29 && CONFIG_CHECK="${CONFIG_CHECK} KMOD"
+ ERROR_CRYPTO="${P} requires Cryptographic API support (CONFIG_CRYPTO)."
+ ERROR_WIRELESS_EXT="${P} requires CONFIG_WIRELESS_EXT selected by Wireless LAN drivers (non-hamradio) & Wireless Extensions"
+ kernel_is gt 2 6 33 && \
+ ERROR_WIRELESS_EXT="${P} requires CONFIG_WIRELESS_EXT selected by some Wireless LAN drivers (e.g CONFIG_IPW2100)"
+ ERROR_SYSCTL="${P} requires Sysctl support (CONFIG_SYSCTL)."
+ ERROR_KMOD="${F} requires CONFIG_KMOD to be set to y or m"
+ BUILD_TARGETS="all"
+ MODULESD_ATH_PCI_DOCS="README"
+ linux-mod_pkg_setup
+
+ MODULE_NAMES='ath_hal(net:"${S}"/ath_hal)
+ wlan(net:"${S}"/net80211)
+ wlan_acl(net:"${S}"/net80211)
+ wlan_ccmp(net:"${S}"/net80211)
+ wlan_tkip(net:"${S}"/net80211)
+ wlan_wep(net:"${S}"/net80211)
+ wlan_xauth(net:"${S}"/net80211)
+ wlan_scan_sta(net:"${S}"/net80211)
+ wlan_scan_ap(net:"${S}"/net80211)
+ ath_rate_amrr(net:"${S}"/ath_rate/amrr)
+ ath_rate_onoe(net:"${S}"/ath_rate/onoe)
+ ath_rate_sample(net:"${S}"/ath_rate/sample)
+ ath_rate_minstrel(net:"${S}"/ath_rate/minstrel)
+ ath_pci(net:"${S}"/ath)'
+
+ BUILD_PARAMS="KERNELPATH=${KV_OUT_DIR}"
+}
+
+src_prepare() {
+ use injection && epatch "${FILESDIR}"/${PN}-injection-r3925.patch
+ for dir in ath ath_hal net80211 ath_rate ath_rate/amrr ath_rate/minstrel ath_rate/onoe ath_rate/sample; do
+ convert_to_m "${S}/${dir}/Makefile"
+ done
+ sed -e 's:-Werror ::' -i Makefile.inc || die "sed -Werror failed"
+ make svnversion.h || die
+}
+
+src_install() {
+ linux-mod_src_install
+ dodoc README THANKS SNAPSHOT || die
+}
+
+pkg_postinst() {
+ local moddir="${ROOT}/lib/modules/${KV_FULL}/net/"
+
+ linux-mod_pkg_postinst
+
+ einfo
+ einfo "Interfaces (athX) are now automatically created upon loading the ath_pci"
+ einfo "module."
+ einfo
+ einfo "The type of the created interface can be controlled through the 'autocreate'"
+ einfo "module parameter."
+ einfo
+ einfo "As of net-wireless/madwifi-ng-0.9.3 rate control module selection is done at"
+ einfo "module load time via the 'ratectl' module parameter."
+
+ elog "Please note: This release is based off of 0.9.3.3 and NOT trunk."
+ elog "# No AR5007 support in this release;"
+ elog "experimental support is available for i386 (32bit) in #1679"
+ elog "# No AR5008 support in this release; support is available in trunk "
+ elog "No, we will not apply the patch from 1679, if you must, please do so
+ in an overlay on your system. That is upstreams ticket 1679, not Gentoo's."
+}
diff --git a/net-wireless/madwifi-ng/madwifi-ng-0.9.4.4180.20120502.ebuild b/net-wireless/madwifi-ng/madwifi-ng-0.9.4.4180.20120502.ebuild
new file mode 100644
index 000000000000..e02e8ec8bf90
--- /dev/null
+++ b/net-wireless/madwifi-ng/madwifi-ng-0.9.4.4180.20120502.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit linux-mod versionator
+
+MY_PN=${PN/-ng/}
+MY_PV=$(get_version_component_range 1-3)
+MY_REV=$(get_version_component_range 4)
+MY_DATE=$(get_version_component_range 5)
+MY_P=${MY_PN}-${MY_PV}-r${MY_REV}-${MY_DATE}
+S=${WORKDIR}/${MY_P}
+
+DESCRIPTION="Next Generation driver for Atheros based IEEE 802.11a/b/g wireless LAN cards"
+HOMEPAGE="http://www.madwifi-project.org/"
+SRC_URI="http://snapshots.madwifi-project.org/${MY_PN}-${MY_PV}/${MY_P}.tar.gz"
+
+LICENSE="atheros-hal
+ || ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="injection"
+
+RDEPEND="!net-wireless/madwifi-old
+ net-wireless/wireless-tools
+ ~net-wireless/madwifi-ng-tools-${PV}"
+
+pkg_setup() {
+ CONFIG_CHECK="CRYPTO WIRELESS_EXT SYSCTL"
+ kernel_is lt 2 6 29 && CONFIG_CHECK="${CONFIG_CHECK} KMOD"
+ ERROR_CRYPTO="${P} requires Cryptographic API support (CONFIG_CRYPTO)."
+ ERROR_WIRELESS_EXT="${P} requires CONFIG_WIRELESS_EXT selected by Wireless LAN drivers (non-hamradio) & Wireless Extensions"
+ kernel_is gt 2 6 33 && \
+ ERROR_WIRELESS_EXT="${P} requires CONFIG_WIRELESS_EXT selected by some Wireless LAN drivers (e.g CONFIG_IPW2100)"
+ ERROR_SYSCTL="${P} requires Sysctl support (CONFIG_SYSCTL)."
+ ERROR_KMOD="${F} requires CONFIG_KMOD to be set to y or m"
+ BUILD_TARGETS="all"
+ MODULESD_ATH_PCI_DOCS="README"
+ linux-mod_pkg_setup
+
+ MODULE_NAMES='ath_hal(net:"${S}"/ath_hal)
+ wlan(net:"${S}"/net80211)
+ wlan_acl(net:"${S}"/net80211)
+ wlan_ccmp(net:"${S}"/net80211)
+ wlan_tkip(net:"${S}"/net80211)
+ wlan_wep(net:"${S}"/net80211)
+ wlan_xauth(net:"${S}"/net80211)
+ wlan_scan_sta(net:"${S}"/net80211)
+ wlan_scan_ap(net:"${S}"/net80211)
+ ath_rate_amrr(net:"${S}"/ath_rate/amrr)
+ ath_rate_onoe(net:"${S}"/ath_rate/onoe)
+ ath_rate_sample(net:"${S}"/ath_rate/sample)
+ ath_rate_minstrel(net:"${S}"/ath_rate/minstrel)
+ ath_pci(net:"${S}"/ath)'
+
+ BUILD_PARAMS="KERNELPATH=${KV_OUT_DIR}"
+}
+
+src_prepare() {
+ use injection && epatch "${FILESDIR}"/${PN}-injection-r3925.patch
+ for dir in ath ath_hal net80211 ath_rate ath_rate/amrr ath_rate/minstrel ath_rate/onoe ath_rate/sample; do
+ convert_to_m "${S}/${dir}/Makefile"
+ done
+ sed -e 's:-Werror ::' -i Makefile.inc || die "sed -Werror failed"
+ make svnversion.h || die
+}
+
+src_install() {
+ linux-mod_src_install
+ dodoc README THANKS SNAPSHOT || die
+}
+
+pkg_postinst() {
+ local moddir="${ROOT}/lib/modules/${KV_FULL}/net/"
+
+ linux-mod_pkg_postinst
+
+ einfo
+ einfo "Interfaces (athX) are now automatically created upon loading the ath_pci"
+ einfo "module."
+ einfo
+ einfo "The type of the created interface can be controlled through the 'autocreate'"
+ einfo "module parameter."
+ einfo
+ einfo "As of net-wireless/madwifi-ng-0.9.3 rate control module selection is done at"
+ einfo "module load time via the 'ratectl' module parameter."
+
+ elog "Please note: This release is based off of 0.9.3.3 and NOT trunk."
+ elog "# No AR5007 support in this release;"
+ elog "experimental support is available for i386 (32bit) in #1679"
+ elog "# No AR5008 support in this release; support is available in trunk "
+ elog "No, we will not apply the patch from 1679, if you must, please do so
+ in an overlay on your system. That is upstreams ticket 1679, not Gentoo's."
+}
diff --git a/net-wireless/madwifi-ng/madwifi-ng-0.9.4.ebuild b/net-wireless/madwifi-ng/madwifi-ng-0.9.4.ebuild
new file mode 100644
index 000000000000..1d8620eb672f
--- /dev/null
+++ b/net-wireless/madwifi-ng/madwifi-ng-0.9.4.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit linux-mod
+
+MY_P=${PN/-ng/}-${PV}
+S="${WORKDIR}"/${MY_P}
+
+DESCRIPTION="Next Generation driver for Atheros based IEEE 802.11a/b/g wireless LAN cards"
+HOMEPAGE="http://www.madwifi-project.org/"
+SRC_URI="mirror://sourceforge/madwifi/madwifi-${PV}.tar.bz2"
+
+LICENSE="atheros-hal
+ || ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="injection"
+
+RDEPEND="!net-wireless/madwifi-old
+ net-wireless/wireless-tools
+ ~net-wireless/madwifi-ng-tools-${PV}"
+
+CONFIG_CHECK="CRYPTO WIRELESS_EXT SYSCTL KMOD"
+ERROR_CRYPTO="${P} requires Cryptographic API support (CONFIG_CRYPTO)."
+ERROR_WIRELESS_EXT="${P} requires CONFIG_WIRELESS_EXT selected by Wireless LAN drivers (non-hamradio) & Wireless Extensions"
+ERROR_SYSCTL="${P} requires Sysctl support (CONFIG_SYSCTL)."
+ERROR_KMOD="${F} requires CONFIG_KMOD to be set to y or m"
+BUILD_TARGETS="all"
+MODULESD_ATH_PCI_DOCS="README"
+
+pkg_setup() {
+ linux-mod_pkg_setup
+
+ MODULE_NAMES='ath_hal(net:"${S}"/ath_hal)
+ wlan(net:"${S}"/net80211)
+ wlan_acl(net:"${S}"/net80211)
+ wlan_ccmp(net:"${S}"/net80211)
+ wlan_tkip(net:"${S}"/net80211)
+ wlan_wep(net:"${S}"/net80211)
+ wlan_xauth(net:"${S}"/net80211)
+ wlan_scan_sta(net:"${S}"/net80211)
+ wlan_scan_ap(net:"${S}"/net80211)
+ ath_rate_amrr(net:"${S}"/ath_rate/amrr)
+ ath_rate_onoe(net:"${S}"/ath_rate/onoe)
+ ath_rate_sample(net:"${S}"/ath_rate/sample)
+ ath_rate_minstrel(net:"${S}"/ath_rate/minstrel)
+ ath_pci(net:"${S}"/ath)'
+
+ BUILD_PARAMS="KERNELPATH=${KV_OUT_DIR}"
+}
+
+src_unpack() {
+ unpack ${A}
+
+ cd "${S}"
+ epatch "${FILESDIR}"/${PN}-0.9.3-uudecode-gcda-fix.patch
+ if use injection; then epatch "${FILESDIR}"/${PN}-r1886.patch; fi
+ for dir in ath ath_hal net80211 ath_rate ath_rate/amrr ath_rate/minstrel ath_rate/onoe ath_rate/sample; do
+ convert_to_m "${S}"/${dir}/Makefile
+ done
+ epatch "${FILESDIR}"/madwifi-dfs-ieee80211-skb-update.patch
+ kernel_is ge 2 6 27 && epatch "${FILESDIR}/${P}-2.6.27-r3811.patch"
+ epatch "${FILESDIR}/${P}-request_module-build.patch"
+}
+
+src_install() {
+ linux-mod_src_install
+
+ dodoc README THANKS docs/users-guide.pdf docs/WEP-HOWTO.txt
+}
+
+pkg_postinst() {
+ local moddir="${ROOT}/lib/modules/${KV_FULL}/net/"
+
+ linux-mod_pkg_postinst
+
+ einfo
+ einfo "Interfaces (athX) are now automatically created upon loading the ath_pci"
+ einfo "module."
+ einfo
+ einfo "The type of the created interface can be controlled through the 'autocreate'"
+ einfo "module parameter."
+ einfo
+ einfo "As of net-wireless/madwifi-ng-0.9.3 rate control module selection is done at"
+ einfo "module load time via the 'ratectl' module parameter. USE flags amrr and onoe"
+ einfo "no longer serve any purpose."
+
+ elog "Please note: This release is based off of 0.9.3.3 and NOT trunk."
+ elog "# No AR5007 support in this release;"
+ elog "experimental support is available for i386 (32bit) in #1679"
+ elog "# No AR5008 support in this release; support is available in trunk "
+ elog "No, we will not apply the patch from 1679, if you must, please do so
+ in an overlay on your system. That is upstreams ticket 1679, not Gentoo's."
+}
diff --git a/net-wireless/madwifi-ng/metadata.xml b/net-wireless/madwifi-ng/metadata.xml
new file mode 100644
index 000000000000..7891bc8cb095
--- /dev/null
+++ b/net-wireless/madwifi-ng/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>steev@gentoo.org</email>
+ <name>Steev Klimaszewski</name>
+ </maintainer>
+ <maintainer>
+ <email>zerochaos@gentoo.org</email>
+ <name>Rick Farina</name>
+ </maintainer>
+ <use>
+ <flag name="injection">Adds support for <pkg>net-wireless/aircrack-ng</pkg>
+ aireplay-ng packet injection</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">madwifi</remote-id>
+ </upstream>
+</pkgmetadata>