diff options
author | Joseph Jezak <josejx@gentoo.org> | 2011-04-04 06:14:38 +0000 |
---|---|---|
committer | Joseph Jezak <josejx@gentoo.org> | 2011-04-04 06:14:38 +0000 |
commit | f3cd8061ca7eb9e073ebd2d8e8c4d32b4c962fdd (patch) | |
tree | 58517d5d8e28864d33061731d9c26e6dc8a58cae /net-wireless | |
parent | Version bump. (diff) | |
download | historical-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/ChangeLog | 8 | ||||
-rw-r--r-- | net-wireless/wireless-tools/Manifest | 14 | ||||
-rw-r--r-- | net-wireless/wireless-tools/files/wireless-tools-29-inline-fix.patch | 119 | ||||
-rw-r--r-- | net-wireless/wireless-tools/wireless-tools-29-r1.ebuild | 73 |
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 +} |