summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Jezak <josejx@gentoo.org>2011-04-04 06:14:38 +0000
committerJoseph Jezak <josejx@gentoo.org>2011-04-04 06:14:38 +0000
commitf3cd8061ca7eb9e073ebd2d8e8c4d32b4c962fdd (patch)
tree58517d5d8e28864d33061731d9c26e6dc8a58cae /net-wireless
parentVersion bump. (diff)
downloadhistorical-f3cd8061ca7eb9e073ebd2d8e8c4d32b4c962fdd.tar.gz
historical-f3cd8061ca7eb9e073ebd2d8e8c4d32b4c962fdd.tar.bz2
historical-f3cd8061ca7eb9e073ebd2d8e8c4d32b4c962fdd.zip
Added fix for bug #289580.
Package-Manager: portage-2.1.9.45/cvs/Linux x86_64
Diffstat (limited to 'net-wireless')
-rw-r--r--net-wireless/wireless-tools/ChangeLog8
-rw-r--r--net-wireless/wireless-tools/Manifest14
-rw-r--r--net-wireless/wireless-tools/files/wireless-tools-29-inline-fix.patch119
-rw-r--r--net-wireless/wireless-tools/wireless-tools-29-r1.ebuild73
4 files changed, 212 insertions, 2 deletions
diff --git a/net-wireless/wireless-tools/ChangeLog b/net-wireless/wireless-tools/ChangeLog
index c0affd31de2f..63f615c879df 100644
--- a/net-wireless/wireless-tools/ChangeLog
+++ b/net-wireless/wireless-tools/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-wireless/wireless-tools
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/wireless-tools/ChangeLog,v 1.140 2011/01/10 16:45:23 anarchy Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/wireless-tools/ChangeLog,v 1.141 2011/04/04 06:14:38 josejx Exp $
+
+*wireless-tools-29-r1 (04 Apr 2011)
+
+ 04 Apr 2011; Joseph Jezak <josejx@gentoo.org>
+ +wireless-tools-29-r1.ebuild, +files/wireless-tools-29-inline-fix.patch:
+ Added fix for bug #289580.
10 Jan 2011; Jory A. Pratt <anarchy@gentoo.org>
-wireless-tools-30_pre6.ebuild, -wireless-tools-30_pre7.ebuild,
diff --git a/net-wireless/wireless-tools/Manifest b/net-wireless/wireless-tools/Manifest
index b73e4bff6a10..ad7c9d143355 100644
--- a/net-wireless/wireless-tools/Manifest
+++ b/net-wireless/wireless-tools/Manifest
@@ -1,7 +1,19 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
AUX wireless-tools-29-asneeded.patch 478 RMD160 811ba1cd7d2279b84b8786a08cf33dea6fa4d6a3 SHA1 67a7363eef98edee18ba2c3246abfbdbdaf1d863 SHA256 41ab166672833cc030a292160b4e0d13b86fe12b6dbe79f7e8537ae76d402c56
+AUX wireless-tools-29-inline-fix.patch 3694 RMD160 1c62711780bd0438b9955f2c223dc062d079c54e SHA1 f974351bbb0a2104ba5c9b647b7552366eb5996b SHA256 8fe74ae2857f073c9e2fd294b373573391129205dc403c1ef1e4fcf2a77c6677
DIST wireless_tools.29.tar.gz 294417 RMD160 89d690fc2d0dc23d7b296ef312effed65bc13470 SHA1 22040ac1497f4c5f8ddeca365591b01ae3475710 SHA256 6fb80935fe208538131ce2c4178221bab1078a1656306bce8909c19887e2e5a1
DIST wireless_tools.30.pre9.tar.gz 348477 RMD160 7b3eb514e0b68aa04ffcaf76b1ac10e80690b872 SHA1 41db5ced9ed3d8d3cc104ce43c19af1d72f07eec SHA256 abd9c5c98abf1fdd11892ac2f8a56737544fe101e1be27c6241a564948f34c63
+EBUILD wireless-tools-29-r1.ebuild 2161 RMD160 56e9031bc850830c9dae29d8d96eed1af70404a1 SHA1 e284ad287617e4d1cca305ef33f38a5f32b5da42 SHA256 a1ed8f70186180e0c621c7749f225df16dad0d4a5b957905bda09373d3ebe272
EBUILD wireless-tools-29.ebuild 2110 RMD160 74e44295e03a97e99a659d0063b45ccac1770b18 SHA1 565b48ca682af397831529c274f9d9e610d0da36 SHA256 60967162e5b7c16964f251fb055e591465547b021eaaea1f4adec67aab490ab3
EBUILD wireless-tools-30_pre9.ebuild 2051 RMD160 d919429b9e35d8128c7d23b10ce52bc4dda91951 SHA1 e12e761a753a723e878911fe6d4b4bce17ac295f SHA256 1eb1b8d1724bd882e2899721e11267abb4e8f2c62bbaeceafaed05c98b678ad3
-MISC ChangeLog 22464 RMD160 4abd8c4af6af921a43c293d11074e55061836d51 SHA1 9256589fead57972bbd15c3ac7037845f7d25aca SHA256 a391024c48bb453c24b1d8537ab911e7ea5cd54841f4521b158dc7647f1ba586
+MISC ChangeLog 22653 RMD160 cfd9437eee1e41f4b5165dba31c3d7e2720d3ed7 SHA1 d22fd73c68b360e04866306e8b60a10305dfdd3c SHA256 dec4bd81013eb839903f389dfea65cd4fae39edbea745d2888d5b056ca7b02b8
MISC metadata.xml 605 RMD160 11ccff7ae9a7d61dd191f9c17b70ce827634ff7b SHA1 fd39dd27f591fc1b814c7ad2c1fb60ff7dd21d15 SHA256 140c04c2a37d8f3bf2e276a36dab472bf65ac534c66f5c8ceb2f9468244ad985
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.17 (GNU/Linux)
+
+iEYEARECAAYFAk2ZYgMACgkQcsIHjyDViGST6gCeIQCiWgGff8lMg8AQ+zxUErZN
+gmQAnROmT2aTWqFZipVwjwGNwKe4QIIb
+=xvyt
+-----END PGP SIGNATURE-----
diff --git a/net-wireless/wireless-tools/files/wireless-tools-29-inline-fix.patch b/net-wireless/wireless-tools/files/wireless-tools-29-inline-fix.patch
new file mode 100644
index 000000000000..9e00280086d4
--- /dev/null
+++ b/net-wireless/wireless-tools/files/wireless-tools-29-inline-fix.patch
@@ -0,0 +1,119 @@
+--- wireless_tools.29.orig/iwlib.h 2011-03-05 16:36:55.000000000 -0500
++++ wireless_tools.29/iwlib.h 2011-03-05 16:41:32.000000000 -0500
+@@ -60,36 +60,6 @@
+ /* Private copy of Wireless extensions (in this directoty) */
+ #include "wireless.h"
+
+-/* Make gcc understant that when we say inline, we mean it.
+- * I really hate when the compiler is trying to be more clever than me,
+- * because in this case gcc is not able to figure out functions with a
+- * single call site, so not only I have to tag those functions inline
+- * by hand, but then it refuse to inline them properly.
+- * Total saving for iwevent : 150B = 0.7%.
+- * Fortunately, in gcc 3.4, they now automatically inline static functions
+- * with a single call site. Hurrah !
+- * Jean II */
+-#undef IW_GCC_HAS_BROKEN_INLINE
+-#if __GNUC__ == 3
+-#if __GNUC_MINOR__ >= 1 && __GNUC_MINOR__ < 4
+-#define IW_GCC_HAS_BROKEN_INLINE 1
+-#endif /* __GNUC_MINOR__ */
+-#endif /* __GNUC__ */
+-/* However, gcc 4.0 has introduce a new "feature", when compiling with
+- * '-Os', it does not want to inline iw_ether_cmp() and friends.
+- * So, we need to fix inline again !
+- * Jean II */
+-#if __GNUC__ == 4
+-#define IW_GCC_HAS_BROKEN_INLINE 1
+-#endif /* __GNUC__ */
+-/* Now, really fix the inline */
+-#ifdef IW_GCC_HAS_BROKEN_INLINE
+-#ifdef inline
+-#undef inline
+-#endif /* inline */
+-#define inline inline __attribute__((always_inline))
+-#endif /* IW_GCC_HAS_BROKEN_INLINE */
+-
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -491,6 +461,7 @@
+ /************************* INLINE FUNTIONS *************************/
+ /*
+ * Functions that are so simple that it's more efficient inlining them
++ * Most inline are private because gcc is fussy about inline...
+ */
+
+ /*
+@@ -502,7 +473,7 @@
+ /*
+ * Wrapper to push some Wireless Parameter in the driver
+ */
+-static inline int
++static inline __attribute__((always_inline)) int
+ iw_set_ext(int skfd, /* Socket to the kernel */
+ const char * ifname, /* Device name */
+ int request, /* WE ID */
+@@ -518,7 +489,7 @@
+ /*
+ * Wrapper to extract some Wireless Parameter out of the driver
+ */
+-static inline int
++static inline __attribute__((always_inline)) int
+ iw_get_ext(int skfd, /* Socket to the kernel */
+ const char * ifname, /* Device name */
+ int request, /* WE ID */
+@@ -534,7 +505,7 @@
+ /*
+ * Close the socket used for ioctl.
+ */
+-static inline void
++static inline __attribute__((always_inline)) void
+ iw_sockets_close(int skfd)
+ {
+ close(skfd);
+@@ -544,7 +515,7 @@
+ /*
+ * Display an Ethernet Socket Address in readable format.
+ */
+-static inline char *
++static inline __attribute__((always_inline)) char *
+ iw_saether_ntop(const struct sockaddr *sap, char* bufp)
+ {
+ iw_ether_ntop((const struct ether_addr *) sap->sa_data, bufp);
+@@ -554,7 +525,7 @@
+ /*
+ * Input an Ethernet Socket Address and convert to binary.
+ */
+-static inline int
++static inline __attribute__((always_inline)) int
+ iw_saether_aton(const char *bufp, struct sockaddr *sap)
+ {
+ sap->sa_family = ARPHRD_ETHER;
+@@ -565,7 +536,7 @@
+ /*
+ * Create an Ethernet broadcast address
+ */
+-static inline void
++static inline __attribute__((always_inline)) void
+ iw_broad_ether(struct sockaddr *sap)
+ {
+ sap->sa_family = ARPHRD_ETHER;
+@@ -576,7 +547,7 @@
+ /*
+ * Create an Ethernet NULL address
+ */
+-static inline void
++static inline __attribute__((always_inline)) void
+ iw_null_ether(struct sockaddr *sap)
+ {
+ sap->sa_family = ARPHRD_ETHER;
+@@ -587,7 +558,7 @@
+ /*
+ * Compare two ethernet addresses
+ */
+-static inline int
++static inline __attribute__((always_inline)) int
+ iw_ether_cmp(const struct ether_addr* eth1, const struct ether_addr* eth2)
+ {
+ return memcmp(eth1, eth2, sizeof(*eth1));
diff --git a/net-wireless/wireless-tools/wireless-tools-29-r1.ebuild b/net-wireless/wireless-tools/wireless-tools-29-r1.ebuild
new file mode 100644
index 000000000000..f879cffa2904
--- /dev/null
+++ b/net-wireless/wireless-tools/wireless-tools-29-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/wireless-tools/wireless-tools-29-r1.ebuild,v 1.1 2011/04/04 06:14:38 josejx Exp $
+
+inherit toolchain-funcs multilib eutils
+
+# The following works with both pre-releases and releases
+MY_P=${PN/-/_}.${PV/_/.}
+S=${WORKDIR}/${MY_P/\.pre*/}
+
+DESCRIPTION="A collection of tools to configure IEEE 802.11 wireless LAN cards"
+HOMEPAGE="http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html"
+SRC_URI="http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86"
+IUSE="multicall nls"
+
+DEPEND="sys-apps/sed"
+RDEPEND=""
+
+src_unpack() {
+ unpack ${A}
+
+ epatch "${FILESDIR}/${P}-asneeded.patch"
+
+ sed -i \
+ -e "s:^\(CC\) = gcc:\1 = $(tc-getCC):" \
+ -e "s:^\(AR\) = ar:\1 = $(tc-getAR):" \
+ -e "s:^\(RANLIB\) = ranlib:\1 = $(tc-getRANLIB):" \
+ -e "s:^\(CFLAGS=-Os\):#\1:" \
+ -e "s:\(@\$(LDCONFIG).*\):#\1:" \
+ -e "s:^\(INSTALL_MAN= \$(PREFIX)\)/man/:\1/share/man:" \
+ -e "s:^\(INSTALL_LIB= \$(PREFIX)\)/lib/:\1/$(get_libdir)/:" \
+ -e '/\$(CC)/s:-Wl,-s\>::' \
+ "${S}"/Makefile || die
+
+ epatch "${FILESDIR}/${P}-inline-fix.patch"
+}
+
+src_compile() {
+ emake || die "emake failed"
+
+ if use multicall; then
+ emake iwmulticall || die "emake iwmulticall failed"
+ fi
+}
+
+src_install() {
+ make PREFIX="${D}" INSTALL_INC="${D}"/usr/include INSTALL_MAN="${D}"/usr/share/man install \
+ || die "make install failed"
+
+ if use multicall; then
+ # 'make install-iwmulticall' will overwrite some of the tools
+ # with symlinks - this is intentional (brix)
+ make PREFIX="${D}" INSTALL_INC="${D}"/usr/include INSTALL_MAN="${D}"/usr/share/man install-iwmulticall \
+ || die "make install-iwmulticall failed"
+ fi
+
+ if use nls; then
+ for lang in fr cs; do
+ for man in 5 7 8; do
+ insinto /usr/share/man/${lang}/man${man}
+ doins ${lang}/*.${man}
+ done
+
+ [[ -f README.${lang} ]] && dodoc README.${lang}
+ done
+ fi
+
+ dodoc CHANGELOG.h DISTRIBUTIONS.txt HOTPLUG.txt IFRENAME-VS-XXX.txt PCMCIA.txt README
+}