From 5e3ca203228fee594429e6f6cb765b7bfca846ff Mon Sep 17 00:00:00 2001 From: Matsuu Takuto Date: Fri, 11 Nov 2011 16:51:58 +0000 Subject: Fixed to work with kernel 2.6.39, bug #389077. (Portage version: 2.1.10.29/cvs/Linux x86_64) --- net-wireless/broadcom-sta/ChangeLog | 9 +++- .../broadcom-sta-5.100.82.112-r1.ebuild | 54 ++++++++++++++++++++++ .../broadcom-sta-5.100.82.112-linux-2.6.39.patch | 11 +++++ 3 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 net-wireless/broadcom-sta/broadcom-sta-5.100.82.112-r1.ebuild create mode 100644 net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-2.6.39.patch (limited to 'net-wireless') diff --git a/net-wireless/broadcom-sta/ChangeLog b/net-wireless/broadcom-sta/ChangeLog index f93a68d36021..f0eba17582ae 100644 --- a/net-wireless/broadcom-sta/ChangeLog +++ b/net-wireless/broadcom-sta/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for net-wireless/broadcom-sta # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/ChangeLog,v 1.40 2011/10/26 23:32:27 matsuu Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/ChangeLog,v 1.41 2011/11/11 16:51:58 matsuu Exp $ + +*broadcom-sta-5.100.82.112-r1 (11 Nov 2011) + + 11 Nov 2011; MATSUU Takuto + +broadcom-sta-5.100.82.112-r1.ebuild, + +files/broadcom-sta-5.100.82.112-linux-2.6.39.patch: + Fixed to work with kernel 2.6.39, bug #389077. *broadcom-sta-5.100.82.112 (26 Oct 2011) diff --git a/net-wireless/broadcom-sta/broadcom-sta-5.100.82.112-r1.ebuild b/net-wireless/broadcom-sta/broadcom-sta-5.100.82.112-r1.ebuild new file mode 100644 index 000000000000..76f83a88a9b4 --- /dev/null +++ b/net-wireless/broadcom-sta/broadcom-sta-5.100.82.112-r1.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/broadcom-sta-5.100.82.112-r1.ebuild,v 1.1 2011/11/11 16:51:58 matsuu Exp $ + +EAPI="2" +inherit eutils linux-mod + +DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver." +HOMEPAGE="http://www.broadcom.com/support/802.11/linux_sta.php" +SRC_BASE="http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_" +SRC_URI="x86? ( ${SRC_BASE}32-v${PV//\./_}.tar.gz ) + amd64? ( ${SRC_BASE}64-v${PV//\./_}.tar.gz )" + +LICENSE="Broadcom" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RESTRICT="mirror" + +DEPEND="virtual/linux-sources" +RDEPEND="" + +S="${WORKDIR}" + +MODULE_NAMES="wl(net/wireless)" +MODULESD_WL_ALIASES=("wlan0 wl") + +pkg_setup() { + # bug #300570 + # NOTE: module builds correctly anyway with b43 and SSB enabled + # make checks non-fatal. The correct fix is blackisting ssb and, perhaps + # b43 via udev rules. Moreover, previous fix broke binpkgs support. + CONFIG_CHECK="~!B43 ~!SSB" + if kernel_is ge 2 6 32; then + CONFIG_CHECK="${CONFIG_CHECK} CFG80211 LIB80211 ~!MAC80211" + elif kernel_is ge 2 6 31; then + CONFIG_CHECK="${CONFIG_CHECK} LIB80211 WIRELESS_EXT ~!MAC80211" + elif kernel_is ge 2 6 29; then + CONFIG_CHECK="${CONFIG_CHECK} LIB80211 WIRELESS_EXT ~!MAC80211 COMPAT_NET_DEV_OPS" + else + CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP" + fi + linux-mod_pkg_setup + + BUILD_PARAMS="-C ${KV_DIR} M=${S}" + BUILD_TARGETS="wl.ko" +} + +src_prepare() { + epatch "${FILESDIR}/${PN}-5.10.91.9-license.patch" \ + "${FILESDIR}/${PN}-5.100.82.38-gcc.patch" \ + "${FILESDIR}/${PN}-5.100.82.111-linux-3.0.patch" \ + "${FILESDIR}/${PN}-5.100.82.112-linux-2.6.39.patch" +} diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-2.6.39.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-2.6.39.patch new file mode 100644 index 000000000000..633b9c858d6c --- /dev/null +++ b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-2.6.39.patch @@ -0,0 +1,11 @@ +--- src/wl/sys/wl_cfg80211.c.orig 2011-10-31 07:57:38.000000000 -0400 ++++ src/wl/sys/wl_cfg80211.c 2011-10-31 07:57:46.000000000 -0400 +@@ -1811,7 +1811,7 @@ + notif_bss_info->frame_len = offsetof(struct ieee80211_mgmt, u.beacon.variable) + + wl_get_ielen(wl); + freq = ieee80211_channel_to_frequency(notif_bss_info->channel +-#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 39) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39) + ,(notif_bss_info->channel <= CH_MAX_2G_CHANNEL) ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ + #endif + ); -- cgit v1.2.3-65-gdbad