diff options
author | Jim Ramsay <lack@gentoo.org> | 2009-02-26 23:52:04 +0000 |
---|---|---|
committer | Jim Ramsay <lack@gentoo.org> | 2009-02-26 23:52:04 +0000 |
commit | 35d1154f5bfdc6589057f3a8abcf43f85cca16d0 (patch) | |
tree | e1740fbbc1af483c3f52ce9a430c85711ecc2ad2 /net-wireless/ipw3945 | |
parent | Don't enable cpudetection for bindist (diff) | |
download | gentoo-2-35d1154f5bfdc6589057f3a8abcf43f85cca16d0.tar.gz gentoo-2-35d1154f5bfdc6589057f3a8abcf43f85cca16d0.tar.bz2 gentoo-2-35d1154f5bfdc6589057f3a8abcf43f85cca16d0.zip |
Version cleanup, plus added patch for 2.6.27 compatibility (Bug #244756)
(Portage version: 2.1.6.7/cvs/Linux i686)
Diffstat (limited to 'net-wireless/ipw3945')
-rw-r--r-- | net-wireless/ipw3945/ChangeLog | 7 | ||||
-rw-r--r-- | net-wireless/ipw3945/files/ipw3945-1.0.5-linux-2.6.19.patch | 14 | ||||
-rw-r--r-- | net-wireless/ipw3945/files/ipw3945-1.2.0-Makefile.patch | 63 | ||||
-rw-r--r-- | net-wireless/ipw3945/files/ipw3945-1.2.2-kernel-2.6.27.patch | 165 | ||||
-rw-r--r-- | net-wireless/ipw3945/ipw3945-1.0.5.ebuild | 89 | ||||
-rw-r--r-- | net-wireless/ipw3945/ipw3945-1.2.0.ebuild | 81 | ||||
-rw-r--r-- | net-wireless/ipw3945/ipw3945-1.2.1.ebuild | 81 | ||||
-rw-r--r-- | net-wireless/ipw3945/ipw3945-1.2.2-r1.ebuild | 9 | ||||
-rw-r--r-- | net-wireless/ipw3945/ipw3945-1.2.2.ebuild | 97 |
9 files changed, 177 insertions, 429 deletions
diff --git a/net-wireless/ipw3945/ChangeLog b/net-wireless/ipw3945/ChangeLog index cfef5bafbb56..eb7c3fc19b6b 100644 --- a/net-wireless/ipw3945/ChangeLog +++ b/net-wireless/ipw3945/ChangeLog @@ -1,6 +1,9 @@ # ChangeLog for net-wireless/ipw3945 -# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/ipw3945/ChangeLog,v 1.40 2008/03/15 17:01:30 coldwind Exp $ +# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/ipw3945/ChangeLog,v 1.41 2009/02/26 23:52:04 lack Exp $ + + 26 Feb 2009; Jim Ramsay <lack@gentoo.org> ChangeLog: + Version cleanup, plus added patch for 2.6.27 compatibility (Bug #244756) 15 Mar 2008; Santiago M. Mola <coldwind@gentoo.org> ipw3945-1.2.2-r1.ebuild: diff --git a/net-wireless/ipw3945/files/ipw3945-1.0.5-linux-2.6.19.patch b/net-wireless/ipw3945/files/ipw3945-1.0.5-linux-2.6.19.patch deleted file mode 100644 index 84ae4872af0d..000000000000 --- a/net-wireless/ipw3945/files/ipw3945-1.0.5-linux-2.6.19.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: ipw3945-1.0.5/ipw3945.h -=================================================================== ---- ipw3945-1.0.5.orig/ipw3945.h -+++ ipw3945-1.0.5/ipw3945.h -@@ -29,7 +29,9 @@ - - #include <linux/module.h> - #include <linux/moduleparam.h> -+#ifndef AUTOCONF_INCLUDED - #include <linux/config.h> -+#endif - #include <linux/init.h> - - #include <linux/version.h> diff --git a/net-wireless/ipw3945/files/ipw3945-1.2.0-Makefile.patch b/net-wireless/ipw3945/files/ipw3945-1.2.0-Makefile.patch deleted file mode 100644 index 0741ce94f1a1..000000000000 --- a/net-wireless/ipw3945/files/ipw3945-1.2.0-Makefile.patch +++ /dev/null @@ -1,63 +0,0 @@ -Index: ipw3945-1.2.0/Makefile -=================================================================== ---- ipw3945-1.2.0.orig/Makefile -+++ ipw3945-1.2.0/Makefile -@@ -26,20 +26,20 @@ CONFIG_IPW3945_DEBUG=y - # NOTE: If you have problems compiling due to IW_MODE_MONITOR not being - # defined then you need to update the wireless extension version - # installed in your kernel, or comment this line out. --# CONFIG_IPW3945_MONITOR=y -+CONFIG_IPW3945_MONITOR=y - - # If you are interested in using radiotap headers in monitor mode, - # simply uncomment: - # - # NOTE: To use RADIOTAP you must also enable MONITOR above. --# CONFIG_IEEE80211_RADIOTAP=y -+CONFIG_IEEE80211_RADIOTAP=y - - # The above monitor mode provides standard monitor mode. The following - # will create a new interface (named raw%d) which will be sent all - # 802.11 frames received on the interface - # - # NOTE: To use PROMISCUOUS you must also enable MONITOR above. --# CONFIG_IPW3945_PROMISCUOUS=y -+CONFIG_IPW3945_PROMISCUOUS=y - - # The following, if enabled, will add a sysfs entry 'rx' that raw - # 802.11 radiotap formatted packets can be written to. Those packets -@@ -186,34 +186,6 @@ utils: - @[ ! -d util ] || make -C util IEEE80211_PATH=$(IEEE80211_PATH) - - check_inc: -- @( [ "$(IEEE80211_DUPLICATE)" ] && echo -e \ --"\n WARNING: Your kernel contains ieee80211 symbol definitions and you\n"\ --"are not using the kernel's default ieee80211 subsystem. (Perhaps you\n"\ --"used the out-of-tree ieee80211 subsystem's 'make install' or have\n"\ --"provided a path to the ieee80211 subsystem via IEEE80211_INC.)\n\n"\ --"If you wish to use the out-of-tree ieee80211 subsystem then it is\n"\ --"recommended to use that projects' \"make patch_kernel\" facility\n"\ --"and rebuild your kernel to update the Module symbol version information.\n"\ --"\n"\ --"Failure to do this may result in build warnings and unexpected\n"\ --"behavior when running modules which rely on the ieee80211 subsystem.\n\n"\ || \ -- exit 0) -- -- @( [ "$(IEEE80211_DUPLICATE)" ] && \ -- [ ! "$(IEEE80211_IGNORE_DUPLICATE)" ] && echo -e \ --" Aborting the build. You can force the build to continue by adding:\n\n"\ --"\tIEEE80211_IGNORE_DUPLICATE=y\n\n"\ --"to your make command line.\n\n" && exit 1 || exit 0) -- -- @( [ ! "$(IEEE80211_API)" ] && echo -e \ --"\n ERROR: A compatible subsystem was not found in the following path[s]:\n\n"\ --"\t$(IEEE80211_RES)\n\n"\ --"You need to install the ieee80211 subsystem from http://ieee80211.sf.net\n"\ --"and point this build to the location where you installed those sources, eg.:\n\n"\ --"\t% make IEEE80211_INC=/usr/src/ieee80211/\n\n"\ --"or use the 'make patch_kernel' within the ieee80211 subsystem to patch your\n"\ --"kernel sources.\n" && exit 1 || exit 0) -- - @echo -e \ - " Using ieee80211 subsystem version API v$(IEEE80211_API) from:\n\n" \ - "\tBase: $(IEEE80211_BASE)\n" \ diff --git a/net-wireless/ipw3945/files/ipw3945-1.2.2-kernel-2.6.27.patch b/net-wireless/ipw3945/files/ipw3945-1.2.2-kernel-2.6.27.patch new file mode 100644 index 000000000000..d1d64ce72e79 --- /dev/null +++ b/net-wireless/ipw3945/files/ipw3945-1.2.2-kernel-2.6.27.patch @@ -0,0 +1,165 @@ +--- ipw3945-1.2.2/ipw3945.c.old 2008-10-19 23:03:47.000000000 +0200 ++++ ipw3945-1.2.2/ipw3945.c 2008-10-19 23:25:43.000000000 +0200 +@@ -108,6 +108,8 @@ + #define DRV_COPYRIGHT "Copyright(c) 2003-2006 Intel Corporation" + #define DRV_VERSION IPW3945_VERSION + ++#define IPW3945_COMPAT 2 ++ + MODULE_DESCRIPTION(DRV_DESCRIPTION); + MODULE_VERSION(DRV_VERSION); + MODULE_AUTHOR(DRV_COPYRIGHT); +@@ -141,6 +143,153 @@ static int from_priority_to_tx_queue[] = + IPW_TX_QUEUE_3, IPW_TX_QUEUE_3, IPW_TX_QUEUE_4, IPW_TX_QUEUE_4 + }; + ++static int ieee80211_encrypt_fragment(struct ieee80211_device *ieee, ++ struct sk_buff *frag, int hdr_len) ++{ ++ struct ieee80211_crypt_data *crypt = ieee->crypt[ieee->tx_keyidx]; ++ int res; ++ ++ if (crypt == NULL) ++ return -1; ++ ++ /* To encrypt, frame format is: ++ * IV (4 bytes), clear payload (including SNAP), ICV (4 bytes) */ ++ atomic_inc(&crypt->refcnt); ++ res = 0; ++ if (crypt->ops && crypt->ops->encrypt_mpdu) ++ res = crypt->ops->encrypt_mpdu(frag, hdr_len, crypt->priv); ++ ++ atomic_dec(&crypt->refcnt); ++ if (res < 0) { ++ printk(KERN_INFO "%s: Encryption failed: len=%d.\n", ++ ieee->dev->name, frag->len); ++ ieee->ieee_stats.tx_discards++; ++ return -1; ++ } ++ ++ return 0; ++} ++ ++static struct ieee80211_txb *ieee80211_alloc_txb(int nr_frags, int txb_size, ++ int headroom, gfp_t gfp_mask) ++{ ++ struct ieee80211_txb *txb; ++ int i; ++ txb = kmalloc(sizeof(struct ieee80211_txb) + (sizeof(u8 *) * nr_frags), ++ gfp_mask); ++ if (!txb) ++ return NULL; ++ ++ memset(txb, 0, sizeof(struct ieee80211_txb)); ++ txb->nr_frags = nr_frags; ++ txb->frag_size = txb_size; ++ ++ for (i = 0; i < nr_frags; i++) { ++ txb->fragments[i] = __dev_alloc_skb(txb_size + headroom, ++ gfp_mask); ++ if (unlikely(!txb->fragments[i])) { ++ i--; ++ break; ++ } ++ skb_reserve(txb->fragments[i], headroom); ++ } ++ if (unlikely(i != nr_frags)) { ++ while (i >= 0) ++ dev_kfree_skb_any(txb->fragments[i--]); ++ kfree(txb); ++ return NULL; ++ } ++ return txb; ++} ++ ++ ++/* Incoming 802.11 strucure is converted to a TXB ++ * a block of 802.11 fragment packets (stored as skbs) */ ++int ieee80211_tx_frame(struct ieee80211_device *ieee, ++ struct ieee80211_hdr *frame, int hdr_len, int total_len, ++ int encrypt_mpdu) ++{ ++ struct ieee80211_txb *txb = NULL; ++ unsigned long flags; ++ struct net_device_stats *stats = &ieee->stats; ++ struct sk_buff *skb_frag; ++ int priority = -1; ++ int fraglen = total_len; ++ int headroom = ieee->tx_headroom; ++ struct ieee80211_crypt_data *crypt = ieee->crypt[ieee->tx_keyidx]; ++ ++ spin_lock_irqsave(&ieee->lock, flags); ++ ++ if (encrypt_mpdu && (!ieee->sec.encrypt || !crypt)) ++ encrypt_mpdu = 0; ++ ++ /* If there is no driver handler to take the TXB, dont' bother ++ * creating it... */ ++ if (!ieee->hard_start_xmit) { ++ printk(KERN_WARNING "%s: No xmit handler.\n", ieee->dev->name); ++ goto success; ++ } ++ ++ if (unlikely(total_len < 24)) { ++ printk(KERN_WARNING "%s: skb too small (%d).\n", ++ ieee->dev->name, total_len); ++ goto success; ++ } ++ ++ if (encrypt_mpdu) { ++ frame->frame_ctl |= cpu_to_le16(IEEE80211_FCTL_PROTECTED); ++ fraglen += crypt->ops->extra_mpdu_prefix_len + ++ crypt->ops->extra_mpdu_postfix_len; ++ headroom += crypt->ops->extra_mpdu_prefix_len; ++ } ++ ++ /* When we allocate the TXB we allocate enough space for the reserve ++ * and full fragment bytes (bytes_per_frag doesn't include prefix, ++ * postfix, header, FCS, etc.) */ ++ txb = ieee80211_alloc_txb(1, fraglen, headroom, GFP_ATOMIC); ++ if (unlikely(!txb)) { ++ printk(KERN_WARNING "%s: Could not allocate TXB\n", ++ ieee->dev->name); ++ goto failed; ++ } ++ txb->encrypted = 0; ++ txb->payload_size = fraglen; ++ ++ skb_frag = txb->fragments[0]; ++ ++ memcpy(skb_put(skb_frag, total_len), frame, total_len); ++ ++ if (ieee->config & ++ (CFG_IEEE80211_COMPUTE_FCS | CFG_IEEE80211_RESERVE_FCS)) ++ skb_put(skb_frag, 4); ++ ++ /* To avoid overcomplicating things, we do the corner-case frame ++ * encryption in software. The only real situation where encryption is ++ * needed here is during software-based shared key authentication. */ ++ if (encrypt_mpdu) ++ ieee80211_encrypt_fragment(ieee, skb_frag, hdr_len); ++ ++ success: ++ spin_unlock_irqrestore(&ieee->lock, flags); ++ ++ if (txb) { ++ if ((*ieee->hard_start_xmit) (txb, ieee->dev, priority) == 0) { ++ stats->tx_packets++; ++ stats->tx_bytes += txb->payload_size; ++ return 0; ++ } ++ ieee80211_txb_free(txb); ++ } ++ return 0; ++ ++ failed: ++ spin_unlock_irqrestore(&ieee->lock, flags); ++ stats->tx_errors++; ++ return 1; ++} ++ ++ ++ + static int ipw_rate_scale_init_handle(struct ipw_priv *priv, s32 window_size); + + static int ipw_update_power_cmd(struct ipw_priv *priv, diff --git a/net-wireless/ipw3945/ipw3945-1.0.5.ebuild b/net-wireless/ipw3945/ipw3945-1.0.5.ebuild deleted file mode 100644 index b7dd30aa717b..000000000000 --- a/net-wireless/ipw3945/ipw3945-1.0.5.ebuild +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/ipw3945/ipw3945-1.0.5.ebuild,v 1.4 2007/07/10 09:49:50 genstef Exp $ - -inherit linux-mod eutils - -IEEE80211_VERSION="1.1.13-r1" -UCODE_VERSION="1.13" -DAEMON_VERSION="1.7.18" - -DESCRIPTION="Driver for the Intel PRO/Wireless 3945ABG miniPCI express adapter" -HOMEPAGE="http://ipw3945.sourceforge.net/" -SRC_URI="mirror://sourceforge/${PN}/${P}.tgz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="x86" - -IUSE="debug" -DEPEND=">=net-wireless/ieee80211-${IEEE80211_VERSION} - sys-apps/sed" -RDEPEND=">=net-wireless/ieee80211-${IEEE80211_VERSION} - >=net-wireless/ipw3945-ucode-${UCODE_VERSION} - >=net-wireless/ipw3945d-${DAEMON_VERSION}" - -BUILD_TARGETS="all" -MODULE_NAMES="ipw3945(net/wireless:)" -MODULESD_IPW3945_DOCS="README.ipw3945" - -CONFIG_CHECK="WIRELESS_EXT FW_LOADER !IPW3945" -ERROR_WIRELESS_EXT="${P} requires support for Wireless LAN drivers (non-hamradio) & Wireless Extensions" -ERROR_FW_LOADER="${P} requires Hotplug firmware loading support (CONFIG_FW_LOADER)." -ERROR_IPW3945="${P} requires the in-kernel version of the IPW3945 driver to be disabled (CONFIG_IPW3945)" - -pkg_setup() { - linux-mod_pkg_setup - - if kernel_is 2 4; then - die "${P} does not support building against kernel 2.4.x" - fi - - if [[ ! -f ${ROOT}/lib/modules/${KV_FULL}/net/ieee80211/ieee80211.${KV_OBJ} ]]; then - eerror - eerror "Looks like you forgot to remerge net-wireless/ieee80211 after" - eerror "upgrading your kernel." - eerror - eerror "Hint: use sys-kernel/module-rebuild for keeping track of which" - eerror "modules needs to be remerged after a kernel upgrade." - eerror - die "${ROOT}/lib/modules/${KV_FULL}/net/ieee80211/ieee80211.${KV_OBJ} not found" - fi - - BUILD_PARAMS="KSRC=${KV_DIR} KSRC_OUTPUT=${KV_OUT_DIR} IEEE80211_INC=/usr/include" -} - -src_unpack() { - local debug="n" - - unpack ${A} - cd "${S}" - - # bug 157076 (ipw3945 doesn't compile against 2.6.19) - epatch "${FILESDIR}/ipw3945-1.0.5-linux-2.6.19.patch" - - sed -i \ - -e "s:^#\(CONFIG_IPW3945_QOS\)=.*:\1=y:" \ - -e "s:^# \(CONFIG_IPW3945_MONITOR\)=.*:\1=y:" \ - -e "s:^# \(CONFIG_IEEE80211_RADIOTAP\)=.*:\1=y:" \ - -e "s:^# \(CONFIG_IPW3945_PROMISCUOUS\)=.*:\1=y:" \ - ${S}/Makefile || die - - use debug && debug="y" - sed -i -e "s:^\(CONFIG_IPW3945_DEBUG\)=.*:\1=${debug}:" ${S}/Makefile || die -} - -src_compile() { - linux-mod_src_compile - - einfo - einfo "You may safely ignore any warnings from above compilation about" - einfo "undefined references to the ieee80211 subsystem." - einfo -} - -src_install() { - linux-mod_src_install - - dodoc CHANGES ISSUES -} diff --git a/net-wireless/ipw3945/ipw3945-1.2.0.ebuild b/net-wireless/ipw3945/ipw3945-1.2.0.ebuild deleted file mode 100644 index 556ee7057dbd..000000000000 --- a/net-wireless/ipw3945/ipw3945-1.2.0.ebuild +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/ipw3945/ipw3945-1.2.0.ebuild,v 1.8 2007/07/10 09:49:50 genstef Exp $ - -inherit linux-mod eutils - -S=${WORKDIR}/${P/_pre/-pre} - -UCODE_VERSION="1.13" -DAEMON_VERSION="1.7.22" - -DESCRIPTION="Driver for the Intel PRO/Wireless 3945ABG miniPCI express adapter" -HOMEPAGE="http://ipw3945.sourceforge.net/" -SRC_URI="mirror://sourceforge/${PN}/${P/_pre/-pre}.tgz" - -LICENSE="BSD GPL-2" -SLOT="0" -KEYWORDS="amd64 x86" - -IUSE="debug" -RDEPEND=">=net-wireless/ipw3945-ucode-${UCODE_VERSION} - >=net-wireless/ipw3945d-${DAEMON_VERSION}" - -BUILD_TARGETS="all" -MODULE_NAMES="ipw3945(net/wireless:)" -MODULESD_IPW3945_DOCS="README.ipw3945" -KV_OBJ="ko" - -CONFIG_CHECK="WIRELESS_EXT FW_LOADER IEEE80211 IEEE80211_CRYPT_CCMP IEEE80211_CRYPT_TKIP" -ERROR_WIRELESS_EXT="${P} requires support for Wireless LAN drivers (non-hamradio) & Wireless Extensions" -ERROR_FW_LOADER="${P} requires Hotplug firmware loading support (CONFIG_FW_LOADER)." -ERROR_IEEE80211="${P} requires support for Generic IEEE 802.11 Networking Stack (CONFIG_IEEE80211)." - -pkg_setup() { - if kernel_is 2 4; then - die "${P} does not support building against kernel 2.4.x" - fi - - if kernel_is lt 2 6 18; then - die "${P} needs a kernel >=2.6.18! Please set your KERNEL_DIR or /usr/src/linux suitably" - fi - - linux-mod_pkg_setup - - BUILD_PARAMS="KSRC=${KV_DIR} KSRC_OUTPUT=${KV_OUT_DIR}" - - # users don't read changelogs and wonder why the kernel check fails - # (1) check if the kernel dir (/usr/src/linux) is missing ieee80211 - - if [[ -f ${KV_DIR}/include/net/ieee80211.h ]] && \ - [[ -f ${KV_OUT_DIR}/include/config/ieee80211.h ]] && \ - egrep -q "^#(un)?def.*(CONFIG_IEEE80211.*)" ${KV_OUT_DIR}/include/linux/autoconf.h; then - return 0 - else - echo - ewarn "${CATEGORY}/${PF} does NOT use net-wireless/ieee80211 any more." - ewarn "We are now relying on the in-kernel ieee80211 instead." - echo - eerror "Please remove net-wireless/ieee80211 using emerge, and remerge" - eerror "your current kernel (${KV_FULL}), as it has been altered" - eerror "by net-wireless/ieee80211." - die "Incompatible ieee80211 subsystem detected in ${KV_FULL}" - fi -} - -src_unpack() { - unpack ${P/_pre/-pre}.tgz - - cd "${S}" - epatch "${FILESDIR}"/${P}-Makefile.patch - - if use debug ; then - sed -i -e "s:^\(CONFIG_IPW3945_DEBUG\)=.*:\1=y:" "${S}"/Makefile || \ - die "Failed to enable debugging support!" - fi -} - -src_install() { - linux-mod_src_install - dodoc CHANGES ISSUES -} diff --git a/net-wireless/ipw3945/ipw3945-1.2.1.ebuild b/net-wireless/ipw3945/ipw3945-1.2.1.ebuild deleted file mode 100644 index 8837e5f36213..000000000000 --- a/net-wireless/ipw3945/ipw3945-1.2.1.ebuild +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/ipw3945/ipw3945-1.2.1.ebuild,v 1.3 2007/07/10 09:49:50 genstef Exp $ - -inherit linux-mod eutils - -S=${WORKDIR}/${P/_pre/-pre} - -UCODE_VERSION="1.13" -DAEMON_VERSION="1.7.22" - -DESCRIPTION="Driver for the Intel PRO/Wireless 3945ABG miniPCI express adapter" -HOMEPAGE="http://ipw3945.sourceforge.net/" -SRC_URI="mirror://sourceforge/${PN}/${P/_pre/-pre}.tgz" - -LICENSE="BSD GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -IUSE="debug" -RDEPEND=">=net-wireless/ipw3945-ucode-${UCODE_VERSION} - >=net-wireless/ipw3945d-${DAEMON_VERSION}" - -BUILD_TARGETS="all" -MODULE_NAMES="ipw3945(net/wireless:)" -MODULESD_IPW3945_DOCS="README.ipw3945" -KV_OBJ="ko" - -CONFIG_CHECK="WIRELESS_EXT FW_LOADER IEEE80211 IEEE80211_CRYPT_CCMP IEEE80211_CRYPT_TKIP" -ERROR_WIRELESS_EXT="${P} requires support for Wireless LAN drivers (non-hamradio) & Wireless Extensions" -ERROR_FW_LOADER="${P} requires Hotplug firmware loading support (CONFIG_FW_LOADER)." -ERROR_IEEE80211="${P} requires support for Generic IEEE 802.11 Networking Stack (CONFIG_IEEE80211)." - -pkg_setup() { - if kernel_is 2 4; then - die "${P} does not support building against kernel 2.4.x" - fi - - if kernel_is lt 2 6 18; then - die "${P} needs a kernel >=2.6.18! Please set your KERNEL_DIR or /usr/src/linux suitably" - fi - - linux-mod_pkg_setup - - BUILD_PARAMS="KSRC=${KV_DIR} KSRC_OUTPUT=${KV_OUT_DIR}" - - # users don't read changelogs and wonder why the kernel check fails - # (1) check if the kernel dir (/usr/src/linux) is missing ieee80211 - - if [[ -f ${KV_DIR}/include/net/ieee80211.h ]] && \ - [[ -f ${KV_OUT_DIR}/include/config/ieee80211.h ]] && \ - egrep -q "^#(un)?def.*(CONFIG_IEEE80211.*)" ${KV_OUT_DIR}/include/linux/autoconf.h; then - return 0 - else - echo - ewarn "${CATEGORY}/${PF} does NOT use net-wireless/ieee80211 any more." - ewarn "We are now relying on the in-kernel ieee80211 instead." - echo - eerror "Please remove net-wireless/ieee80211 using emerge, and remerge" - eerror "your current kernel (${KV_FULL}), as it has been altered" - eerror "by net-wireless/ieee80211." - die "Incompatible ieee80211 subsystem detected in ${KV_FULL}" - fi -} - -src_unpack() { - unpack ${P/_pre/-pre}.tgz - - cd "${S}" - epatch "${FILESDIR}"/${PN}-1.2.0-Makefile.patch - - if use debug ; then - sed -i -e "s:^\(CONFIG_IPW3945_DEBUG\)=.*:\1=y:" "${S}"/Makefile || \ - die "Failed to enable debugging support!" - fi -} - -src_install() { - linux-mod_src_install - dodoc CHANGES ISSUES -} diff --git a/net-wireless/ipw3945/ipw3945-1.2.2-r1.ebuild b/net-wireless/ipw3945/ipw3945-1.2.2-r1.ebuild index 91a65a7474ed..491665b4f956 100644 --- a/net-wireless/ipw3945/ipw3945-1.2.2-r1.ebuild +++ b/net-wireless/ipw3945/ipw3945-1.2.2-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/ipw3945/ipw3945-1.2.2-r1.ebuild,v 1.3 2008/03/15 17:01:30 coldwind Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-wireless/ipw3945/ipw3945-1.2.2-r1.ebuild,v 1.4 2009/02/26 23:52:04 lack Exp $ inherit linux-mod eutils @@ -73,7 +73,12 @@ src_unpack() { unpack ${P/_pre/-pre}.tgz cd "${S}" epatch "${FILESDIR}/${P}-build.patch" - epatch "${FILESDIR}/${P}-kernel-2.6.24.patch" + if kernel_is ge 2 6 24; then + epatch "${FILESDIR}/${P}-kernel-2.6.24.patch" + fi + if kernel_is ge 2 6 27; then + epatch "${FILESDIR}/${P}-kernel-2.6.27.patch" + fi } src_install() { diff --git a/net-wireless/ipw3945/ipw3945-1.2.2.ebuild b/net-wireless/ipw3945/ipw3945-1.2.2.ebuild deleted file mode 100644 index fba179147835..000000000000 --- a/net-wireless/ipw3945/ipw3945-1.2.2.ebuild +++ /dev/null @@ -1,97 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/ipw3945/ipw3945-1.2.2.ebuild,v 1.6 2007/12/06 23:58:20 opfer Exp $ - -inherit linux-mod eutils - -S=${WORKDIR}/${P/_pre/-pre} - -UCODE_VERSION="1.14.2" -DAEMON_VERSION="1.7.22" - -DESCRIPTION="Driver for the Intel PRO/Wireless 3945ABG miniPCI express adapter" -HOMEPAGE="http://ipw3945.sourceforge.net/" -SRC_URI="mirror://sourceforge/${PN}/${P/_pre/-pre}.tgz" - -LICENSE="BSD GPL-2" -SLOT="0" -KEYWORDS="amd64 x86" - -IUSE="debug" -RDEPEND=">=net-wireless/ipw3945-ucode-${UCODE_VERSION} - >=net-wireless/ipw3945d-${DAEMON_VERSION}" - -BUILD_TARGETS="all" -MODULE_NAMES="ipw3945(net/wireless:)" -MODULESD_IPW3945_DOCS="README.ipw3945" -KV_OBJ="ko" - -CONFIG_CHECK="WIRELESS_EXT FW_LOADER IEEE80211 IEEE80211_CRYPT_CCMP IEEE80211_CRYPT_TKIP" -ERROR_FW_LOADER="${P} requires Hotplug firmware loading support (CONFIG_FW_LOADER)." -ERROR_IEEE80211="${P} requires support for Generic IEEE 802.11 Networking Stack (CONFIG_IEEE80211)." - -pkg_setup() { - if kernel_is 2 4; then - die "${P} does not support building against kernel 2.4.x" - fi - - if kernel_is lt 2 6 18; then - die "${P} needs a kernel >=2.6.18! Please set your KERNEL_DIR or /usr/src/linux suitably" - fi - - linux-mod_pkg_setup - - BUILD_PARAMS="KSRC=${KV_DIR} KSRC_OUTPUT=${KV_OUT_DIR} SHELL=/bin/bash" - BUILD_PARAMS="${BUILD_PARAMS} T=${T}" - BUILD_PARAMS="${BUILD_PARAMS} CONFIG_IPW3945_MONITOR=y CONFIG_IEEE80211_RADIOTAP=y CONFIG_IPW3945_PROMISCUOUS=y" - if use debug; then - BUILD_PARAMS="${BUILD_PARAMS} CONFIG_IPW3945_DEBUG=y" - else - BUILD_PARAMS="${BUILD_PARAMS} CONFIG_IPW3945_DEBUG=n" - fi - - # users don't read the ChangeLog and wonder why the kernel check fails - # (1) check if the kernel dir (/usr/src/linux) is missing ieee80211 - - if [[ -f ${KV_DIR}/include/net/ieee80211.h ]] && \ - [[ -f ${KV_OUT_DIR}/include/config/ieee80211.h ]] && \ - egrep -q "^#(un)?def.*(CONFIG_IEEE80211.*)" ${KV_OUT_DIR}/include/linux/autoconf.h; then - return 0 - else - echo - ewarn "${CATEGORY}/${PF} does NOT use net-wireless/ieee80211 any more." - ewarn "We are now relying on the in-kernel ieee80211 instead." - echo - eerror "Please remove net-wireless/ieee80211 using emerge, and remerge" - eerror "your current kernel (${KV_FULL}), as it has been altered" - eerror "by net-wireless/ieee80211." - die "Incompatible ieee80211 subsystem detected in ${KV_FULL}" - fi -} - -src_unpack() { - unpack ${P/_pre/-pre}.tgz - cd "${S}" - epatch "${FILESDIR}/${P}-build.patch" -} - -src_install() { - linux-mod_src_install - dodoc CHANGES ISSUES -} - -pkg_postinst() { - elog "If you want your wireless device started up by udev, please make sure" - elog "you add something like this to your /etc/conf.d/net:" - elog "preup() {" - elog " if [[ \${IFACE} = \"wlan0\" ]]; then" - elog " sleep 3" - elog " fi" - elog " return 0" - elog "}" - elog - elog "Otherwise, you're going to hit bug #177869 since the driver needs some" - elog "time to initialize and thus, baselayout is going to start it even if" - elog "the device isn't useable yet." - elog -} |