URI: 
       tnet-wireless/aircrack-ng: Add musl-libc patch. - parlay - yet another gentoo overlay
  HTML git clone https://git.parazyd.org/parlay
   DIR Log
   DIR Files
   DIR Refs
   DIR README
       ---
   DIR commit 5e489fe40912ca2395bddb56803afd1aedfec479
   DIR parent 7eaaaa0c586aa19e78b0bcb08fe148a4ea16e64a
  HTML Author: parazyd <parazyd@dyne.org>
       Date:   Wed,  5 Oct 2016 10:27:09 +0200
       
       net-wireless/aircrack-ng: Add musl-libc patch.
       
       Diffstat:
         A net-wireless/aircrack-ng/aircrack-… |     151 +++++++++++++++++++++++++++++++
         A net-wireless/aircrack-ng/files/000… |      55 +++++++++++++++++++++++++++++++
       
       2 files changed, 206 insertions(+), 0 deletions(-)
       ---
   DIR diff --git a/net-wireless/aircrack-ng/aircrack-ng-1.2_rc4-r99.ebuild b/net-wireless/aircrack-ng/aircrack-ng-1.2_rc4-r99.ebuild
       t@@ -0,0 +1,151 @@
       +# Copyright 1999-2016 Gentoo Foundation
       +# Distributed under the terms of the GNU General Public License v2
       +# $Id$
       +
       +EAPI="5"
       +
       +PYTHON_COMPAT=( python2_7 )
       +DISTUTILS_OPTIONAL=1
       +
       +inherit toolchain-funcs distutils-r1 flag-o-matic
       +
       +DESCRIPTION="WLAN tools for breaking 802.11 WEP/WPA keys"
       +HOMEPAGE="http://www.aircrack-ng.org"
       +
       +if [[ ${PV} == "9999" ]] ; then
       +        inherit subversion
       +        ESVN_REPO_URI="http://svn.aircrack-ng.org/trunk"
       +        KEYWORDS=""
       +        S="${WORKDIR}/${PN}"
       +else
       +        #inherit versionator
       +        #MY_P=${P/\_/-}
       +        #MY_PV="$(replace_version_separator 2 '-')"
       +        #SRC_URI="http://download.aircrack-ng.org/${PN}-${MY_PV}.tar.gz"
       +        #KEYWORDS="~amd64 ~arm ~ppc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
       +        #S="${WORKDIR}/${MY_P}"
       +        MY_PV=${PV/_/-}
       +        SRC_URI="http://download.${PN}.org/${PN}-${MY_PV}.tar.gz"
       +        KEYWORDS="~amd64 ~arm ~ppc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
       +        S="${WORKDIR}/${PN}-${MY_PV}"
       +fi
       +
       +LICENSE="GPL-2"
       +SLOT="0"
       +
       +IUSE="+airdrop-ng +airgraph-ng kernel_linux kernel_FreeBSD +netlink +pcre +sqlite +experimental libressl"
       +
       +DEPEND="net-libs/libpcap
       +        !libressl? ( dev-libs/openssl:0= )
       +        libressl? ( dev-libs/libressl:0= )
       +        netlink? ( dev-libs/libnl:3 )
       +        pcre? ( dev-libs/libpcre )
       +        airdrop-ng? ( ${PYTHON_DEPS} )
       +        airgraph-ng? ( ${PYTHON_DEPS} )
       +        experimental? ( sys-libs/zlib )
       +        sqlite? ( >=dev-db/sqlite-3.4 )"
       +RDEPEND="${DEPEND}
       +        kernel_linux? (
       +                net-wireless/iw
       +                net-wireless/wireless-tools
       +                sys-apps/ethtool
       +                sys-apps/usbutils
       +                sys-apps/pciutils )
       +        sys-apps/hwids
       +        airdrop-ng? ( net-wireless/lorcon[python,${PYTHON_USEDEP}] )"
       +
       +REQUIRED_USE="airdrop-ng? ( ${PYTHON_REQUIRED_USE} )
       +                airgraph-ng? ( ${PYTHON_REQUIRED_USE} )"
       +
       +src_configure() {
       +        epatch "${FILESDIR}/0001-fix-musl-build.patch"
       +}
       +
       +src_compile() {
       +        if [[ $($(tc-getCC) --version) == clang* ]] ; then
       +                #https://bugs.gentoo.org/show_bug.cgi?id=472890
       +                filter-flags -frecord-gcc-switches
       +        fi
       +
       +        if [[ ${PV} == "9999" ]] ; then
       +                liveflags=REVFLAGS=-D_REVISION="${ESVN_WC_REVISION}"
       +        fi
       +
       +        emake \
       +        CC="$(tc-getCC)" \
       +        CXX="$(tc-getCXX)" \
       +        AR="$(tc-getAR)" \
       +        LD="$(tc-getLD)" \
       +        RANLIB="$(tc-getRANLIB)" \
       +        libnl=$(usex netlink true false) \
       +        pcre=$(usex pcre true false) \
       +        sqlite=$(usex sqlite true false) \
       +        experimental=$(usex experimental true false) \
       +        ${liveflags}
       +
       +        if use airgraph-ng; then
       +                cd "${S}/scripts/airgraph-ng"
       +                distutils-r1_src_compile
       +        fi
       +        if use airdrop-ng; then
       +                cd "${S}/scripts/airdrop-ng"
       +                distutils-r1_src_compile
       +        fi
       +}
       +
       +src_test() {
       +        if [[ ${PV} == "9999" ]] ; then
       +                liveflags=REVFLAGS=-D_REVISION="${ESVN_WC_REVISION}"
       +        fi
       +
       +        emake check \
       +                libnl=$(usex netlink true false) \
       +                pcre=$(usex pcre true false) \
       +                sqlite=$(usex sqlite true false) \
       +                experimental=$(usex experimental true false) \
       +                ${liveflags}
       +}
       +
       +src_install() {
       +        if [[ ${PV} == "9999" ]] ; then
       +                liveflags=REVFLAGS=-D_REVISION="${ESVN_WC_REVISION}"
       +        fi
       +
       +        emake \
       +                prefix="${ED}/usr" \
       +                libnl=$(usex netlink true false) \
       +                pcre=$(usex pcre true false) \
       +                sqlite=$(usex sqlite true false) \
       +                experimental=$(usex experimental true false) \
       +                ${liveflags} \
       +                install
       +
       +        dodoc AUTHORS ChangeLog INSTALLING README
       +
       +        if use airgraph-ng; then
       +                cd "${S}/scripts/airgraph-ng"
       +                distutils-r1_src_install
       +        fi
       +        if use airdrop-ng; then
       +                cd "${S}/scripts/airdrop-ng"
       +                distutils-r1_src_install
       +        fi
       +
       +        #we don't need aircrack-ng's oui updater, we have our own
       +        rm "${ED}"/usr/sbin/airodump-ng-oui-update
       +}
       +
       +pkg_postinst() {
       +        # Message is (c) FreeBSD
       +        # http://www.freebsd.org/cgi/cvsweb.cgi/ports/net-mgmt/aircrack-ng/files/pkg-message.in?rev=1.5
       +        if use kernel_FreeBSD ; then
       +                einfo "Contrary to Linux, it is not necessary to use airmon-ng to enable the monitor"
       +                einfo "mode of your wireless card.  So do not care about what the manpages say about"
       +                einfo "airmon-ng, airodump-ng sets monitor mode automatically."
       +                echo
       +                einfo "To return from monitor mode, issue the following command:"
       +                einfo "    ifconfig \${INTERFACE} -mediaopt monitor"
       +                einfo
       +                einfo "For aireplay-ng you need FreeBSD >= 7.0."
       +        fi
       +}
   DIR diff --git a/net-wireless/aircrack-ng/files/0001-fix-musl-build.patch b/net-wireless/aircrack-ng/files/0001-fix-musl-build.patch
       t@@ -0,0 +1,55 @@
       +From b4451ca5bc4bde26f10f12c304c90cfc484e3b3e Mon Sep 17 00:00:00 2001
       +From: Romain Naour <romain.naour@openwide.fr>
       +Date: Wed, 29 Jul 2015 19:38:46 +0200
       +Subject: [PATCH] fix musl build
       +
       +aircrack-ng doesn't build with a musl toolchain due to
       +cdefs.h internal glibc header being used in internal
       +ethernet.h.
       +
       +Signed-off-by: Romain Naour <romain.naour@openwide.fr>
       +---
       + src/include/ethernet.h | 24 +++++++++++++-----------
       + 1 file changed, 13 insertions(+), 11 deletions(-)
       +
       +diff --git a/src/include/ethernet.h b/src/include/ethernet.h
       +index 10abf64..59de6b2 100644
       +--- a/src/include/ethernet.h
       ++++ b/src/include/ethernet.h
       +@@ -385,20 +385,22 @@ struct mbuf  *ether_vlanencap(struct mbuf *, uint16_t);
       + 
       + #else /* _KERNEL */
       + 
       +-#include <sys/cdefs.h>
       +-
       + /*
       +  * Ethernet address conversion/parsing routines.
       +  */
       +-__BEGIN_DECLS
       +-struct        ether_addr *ether_aton(const char *);
       +-struct        ether_addr *ether_aton_r(const char *, struct ether_addr *);
       +-int        ether_hostton(const char *, struct ether_addr *);
       +-int        ether_line(const char *, struct ether_addr *, char *);
       +-char         *ether_ntoa(const struct ether_addr *);
       +-char         *ether_ntoa_r(const struct ether_addr *, char *);
       +-int        ether_ntohost(char *, const struct ether_addr *);
       +-__END_DECLS
       ++#ifdef __cplusplus
       ++extern "C" {
       ++#endif
       ++        struct        ether_addr *ether_aton(const char *);
       ++        struct        ether_addr *ether_aton_r(const char *, struct ether_addr *);
       ++        int        ether_hostton(const char *, struct ether_addr *);
       ++        int        ether_line(const char *, struct ether_addr *, char *);
       ++        char         *ether_ntoa(const struct ether_addr *);
       ++        char         *ether_ntoa_r(const struct ether_addr *, char *);
       ++        int        ether_ntohost(char *, const struct ether_addr *);
       ++#ifdef __cplusplus
       ++}
       ++#endif
       + 
       + #endif /* !_KERNEL */
       + 
       +-- 
       +2.4.3
       +