summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-wireless/broadcom-sta/ChangeLog10
-rw-r--r--net-wireless/broadcom-sta/Manifest24
-rw-r--r--net-wireless/broadcom-sta/broadcom-sta-5.60.48.36-r1.ebuild58
-rw-r--r--net-wireless/broadcom-sta/files/broadcom-sta-5.60.48.36-linux-2.6.35.patch51
4 files changed, 141 insertions, 2 deletions
diff --git a/net-wireless/broadcom-sta/ChangeLog b/net-wireless/broadcom-sta/ChangeLog
index 5019e1cf5288..e96c0d5d83cb 100644
--- a/net-wireless/broadcom-sta/ChangeLog
+++ b/net-wireless/broadcom-sta/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for net-wireless/broadcom-sta
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/ChangeLog,v 1.22 2010/04/21 05:15:26 beandog Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/ChangeLog,v 1.23 2010/06/05 00:42:33 matsuu Exp $
+
+*broadcom-sta-5.60.48.36-r1 (05 Jun 2010)
+
+ 05 Jun 2010; MATSUU Takuto <matsuu@gentoo.org>
+ +broadcom-sta-5.60.48.36-r1.ebuild,
+ +files/broadcom-sta-5.60.48.36-linux-2.6.35.patch:
+ Fixed to work with 2.6.35, bug #248450. Removed unneeded patch, bug
+ #304797.
21 Apr 2010; Steve Dibb <beandog@gentoo.org>
-broadcom-sta-5.10.91.9.3-r1.ebuild, -broadcom-sta-5.10.91.9.3-r2.ebuild,
diff --git a/net-wireless/broadcom-sta/Manifest b/net-wireless/broadcom-sta/Manifest
index 9dcea71f8aeb..ea84020db744 100644
--- a/net-wireless/broadcom-sta/Manifest
+++ b/net-wireless/broadcom-sta/Manifest
@@ -1,8 +1,30 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
AUX broadcom-sta-5.10.91.9-license.patch 716 RMD160 f4af0c36ec10d5fd4500af94c3864f6a352883e0 SHA1 0f2458882656dbf73035e566e53b902bc22c37f4 SHA256 53544703c15eb5e7f35721c436bfd0acf7db3de1df83b2e344bfc7090cb14cf1
AUX broadcom-sta-5.10.91.9.3-linux-2.6.32.patch 576 RMD160 17d1f0e2ea7e507bc7c7522f7dee8d667c04c131 SHA1 3b13b5d10b199da0590f7b9fed6694e23369596d SHA256 55ef2c1f7be8414b2df89d9f118affa9650c94e95491ad7f9c112f06debdf5d6
AUX broadcom-sta-5.10.91.9.3-linux-2.6.33.patch 551 RMD160 2e0385d005127de53d040df3a079a6facff6eb2e SHA1 3aad38866d5e5239f0b12c891db4372d679ed57b SHA256 08b2b9e401118be918e02634707120cf926677e7ae6fabc69158eb8b7a8cbfb2
+AUX broadcom-sta-5.60.48.36-linux-2.6.35.patch 1670 RMD160 66ed871880630e65e509af96586646589b8f0c08 SHA1 6173cb1442ba0cda520082bdb79ba7089b2e4538 SHA256 4ec98dc9395c117d5dbe0f0cb5ce2add82f2cf1892c833d79689889596b5152e
DIST hybrid-portsrc-x86_32-v5.60.48.36.tar.gz 886115 RMD160 b3901897e50419d704d6ca5ece12c4def0dce3d5 SHA1 07d955afe599466b0e25bcc507186f5b50f1a171 SHA256 ef3f101190aafb19a720306086bd3eda1180dcf602cb150ddbf6a98b2d544c6a
DIST hybrid-portsrc-x86_64-v5.60.48.36.tar.gz 884584 RMD160 5a0d6df5513b2218b5e06ef894c59b665e412267 SHA1 1174a4d3102aa0ed45003556e03842668ef698b9 SHA256 dfd6c4616dd6e99032f6515eb2a79b6a6e15356f62b0db93b5a986064919836f
+EBUILD broadcom-sta-5.60.48.36-r1.ebuild 1962 RMD160 b7160a088fae46f3dc4dbf21542ebef7f34ddcb9 SHA1 13c21c18e211bc1006ab7f232a92fe8489ef061e SHA256 7b33591a43e4430b0b4ef931f6aa87d7ffcd576ba9ab9a4c32123d315cf9e190
EBUILD broadcom-sta-5.60.48.36.ebuild 1851 RMD160 e818a344971c86ce2b55c3567fb7b8d0cdf65238 SHA1 9d715a0806d09653e0bb63226b5ba378bbff9098 SHA256 f00d89f0ece01f8e6b35f2837f1ced252491c0fe4ac029f46e44206cf851ca27
-MISC ChangeLog 6123 RMD160 791dadc83c36cc0fa4dcd50c932a29f7ea48fdf2 SHA1 f9707af4103ef0d58be8937c93f67e0eabf126bf SHA256 17a3c22b73a5b03419ac4879c9dbb7b00471f7e5367f6fc272594993b7abeecb
+MISC ChangeLog 6387 RMD160 a9c22903311f7cb68f7db5d41e70f48d8511c076 SHA1 14c99e75e0695a87d601752ccf497d91c8ef49eb SHA256 6077f9f29865b3af15ccda6fe8f35aa2cfbbc693b3ab0e51a22ae9e942f4f167
MISC metadata.xml 282 RMD160 6b65e81f7c9f6d41063b32856af70063ede21415 SHA1 c312e199b0d40aaa6cc4513da0c961880d6c014a SHA256 d544c44ecad9bc3f48251f437c76ee1856d7e325de58ca634f021e531cd66354
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.15 (GNU/Linux)
+
+iQIcBAEBAgAGBQJMCZ2HAAoJECaGw+YFKA1p1HkP/2ZJ9zTUOXdYgwGn8h9kHDXJ
+ibjE03yCFcD57HfyRgNmo/OD2zkvG65SjAYRQHcP2x5LAl8fJQxn5WMrb4Ntrb2+
+MkT+tsKW00FEqs9Hex70AcNP2vnQhB7enZ+K6n9aM7RMNW/rDVwtckN8pMR1qoEp
+FgSY4Cd+vwMJIQvjHZUuPWYhe+a5osOcRkgPUKG0thjVsCjy8sOj/CJTa8ZUqmUg
+IdzdE4Zr/p9oE21EGii+7ton4Im4OBBp0GejJ+Z5jeRvE2woEfYuQh69RxR8GxTe
+SZ05zGaMFriU4MVy+90bmhROrHO5vD4rnebIjN1yvXpc2PBQxVfMUUr7HIfhE/id
+W8QBF2l148S2AaE8Y+8nNJEMTMzTT6m3NTmEArrOjaeK8LgGUmDTyAcXsflxVNHb
+WXg11ET+27M9JLJPcyDQeIaCDsV386V+Bv90SQpBwPrZue+VPnZ2RJnEO30ZQCoj
+IOdTwkq8mE6EFHLLbodUxLffojFi38Y1jl29uOI/vXi7dx8qffVZortou76e+2KW
+66P9ZzDg1U6y+GHmP9Lm+8Ce9aWjaZ+ucH8mUQPTwpZ656LNwFyMW0JE1SjrRTw8
+jL1uzW5yS6ZjPutN8sIKAvDlvUDAmqbJz0UMXgWRK3xsQM1dqT+unNhfA2W+A9eV
+9VasiCl++BxQz21mHdHC
+=jjXn
+-----END PGP SIGNATURE-----
diff --git a/net-wireless/broadcom-sta/broadcom-sta-5.60.48.36-r1.ebuild b/net-wireless/broadcom-sta/broadcom-sta-5.60.48.36-r1.ebuild
new file mode 100644
index 000000000000..083489a9a3be
--- /dev/null
+++ b/net-wireless/broadcom-sta/broadcom-sta-5.60.48.36-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2010 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.60.48.36-r1.ebuild,v 1.1 2010/06/05 00:42:33 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-2.6.22"
+RDEPEND=""
+
+S="${WORKDIR}"
+
+MODULE_NAMES="wl(net/wireless)"
+MODULESD_WL_ALIASES=("wlan0 wl")
+
+PROPERTIES="interactive"
+
+pkg_setup() {
+ check_license
+
+ # bug #300570
+ # NOTE<lxnay>: 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 33; then
+ CONFIG_CHECK="${CONFIG_CHECK} LIB80211 WIRELESS_EXT CFG80211_WEXT WEXT_PRIV ~!MAC80211"
+ ERROR_WEXT_PRIV="Starting with 2.6.33, it is not possible to set WEXT_PRIV directly. We recommend to set another symbol selecting WEXT_PRIV, for example, PRISM54, IPW2200 and so on. See Bug #248450 comment#98."
+ 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.10.91.9.3-linux-2.6.33.patch" \
+ "${FILESDIR}/${P}-linux-2.6.35.patch"
+}
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.60.48.36-linux-2.6.35.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.60.48.36-linux-2.6.35.patch
new file mode 100644
index 000000000000..a31ba97e7255
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/broadcom-sta-5.60.48.36-linux-2.6.35.patch
@@ -0,0 +1,51 @@
+diff -Naur broadcom-sta-5.60.48.36.orig/src/wl/sys/wl_iw.h broadcom-sta-5.60.48.36/src/wl/sys/wl_iw.h
+--- broadcom-sta-5.60.48.36.orig/src/wl/sys/wl_iw.h 2010-02-06 10:59:15.000000000 +0900
++++ broadcom-sta-5.60.48.36/src/wl/sys/wl_iw.h 2010-06-05 09:32:46.000000000 +0900
+@@ -15,6 +15,7 @@
+ #ifndef _wl_iw_h_
+ #define _wl_iw_h_
+
++#include <linux/semaphore.h>
+ #include <linux/wireless.h>
+
+ #include <typedefs.h>
+diff -Naur broadcom-sta-5.60.48.36.orig/src/wl/sys/wl_linux.c broadcom-sta-5.60.48.36/src/wl/sys/wl_linux.c
+--- broadcom-sta-5.60.48.36.orig/src/wl/sys/wl_linux.c 2010-02-06 10:59:15.000000000 +0900
++++ broadcom-sta-5.60.48.36/src/wl/sys/wl_linux.c 2010-06-04 08:25:22.000000000 +0900
+@@ -1416,8 +1416,13 @@
+ _wl_set_multicast_list(struct net_device *dev)
+ {
+ wl_info_t *wl;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35)
++ struct netdev_hw_addr *ha;
++ int i=0;
++#else
+ struct dev_mc_list *mclist;
+ int i;
++#endif
+
+ if (!dev)
+ return;
+@@ -1430,14 +1435,22 @@
+ if (wl->pub->up) {
+ wl->pub->allmulti = (dev->flags & IFF_ALLMULTI)? TRUE: FALSE;
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35)
++ netdev_for_each_mc_addr(ha, dev) {
++#else
+ for (i = 0, mclist = dev->mc_list; mclist && (i < dev->mc_count);
+ i++, mclist = mclist->next) {
++#endif
+ if (i >= MAXMULTILIST) {
+ wl->pub->allmulti = TRUE;
+ i = 0;
+ break;
+ }
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35)
++ wl->pub->multicast[i] = *((struct ether_addr*) ha->addr);
++#else
+ wl->pub->multicast[i] = *((struct ether_addr*) mclist->dmi_addr);
++#endif
+ }
+ wl->pub->nmulticast = i;
+ wlc_set(wl->wlc, WLC_SET_PROMISC, (dev->flags & IFF_PROMISC));