net-wireless/aircrack-ng: bump, switch to git, autotools
authorZero_Chaos <zerochaos@gentoo.org>
Mon, 16 Apr 2018 19:36:37 +0000 (15:36 -0400)
committerZero_Chaos <zerochaos@gentoo.org>
Mon, 16 Apr 2018 19:37:08 +0000 (15:37 -0400)
Package-Manager: Portage-2.3.28, Repoman-2.3.9

net-wireless/aircrack-ng/Manifest
net-wireless/aircrack-ng/aircrack-ng-1.2.ebuild [new file with mode: 0644]
net-wireless/aircrack-ng/aircrack-ng-1.2_rc1-r1.ebuild
net-wireless/aircrack-ng/aircrack-ng-9999.ebuild
net-wireless/aircrack-ng/files/aircrack-ng-1.2-no-force-stack-protector.patch [new file with mode: 0644]

index 3c1b8d5328ff0ba637e174d76c2af3cd00791fd9..a47b272129d632807df5c3d59431a7a3273e240b 100644 (file)
@@ -1,2 +1,3 @@
 DIST aircrack-ng-1.2-rc1.tar.gz 2046476 BLAKE2B aec848a3dedae564cc29fc94475d0dec9cfb33af5185a4bceb9f88c1a3cce7a910439405fd76390ca352e52393b9094e570bf54980af27a50709a36ffab33752 SHA512 897427c535846c0ede58b2f99ed469bc01f50f9b38fc70d5711261fca7342339192cc0c71a724fc04c99114db7534d825a44f09e7bc5754286ec44933a33e40d
 DIST aircrack-ng-1.2-rc4.tar.gz 4379880 BLAKE2B 8034e99a9a7117b0552ecd82603883661d7442970a24d26f4754122abd07cc661fbeb57519cecbefb6eea1fc0e8b0f228a116a04f07e1a7d2eb41ea4b5f6040b SHA512 f1e1d465813a5f00fd8f8b287353033ea30b657a4c3a9fe81281ab2546d3238690f0659076bff53703fbc796ba40efb16115804d21f8516adca2c774fefea20c
+DIST aircrack-ng-1.2.tar.gz 4517658 BLAKE2B 1a3d17608dafe69a7a500526807310bf9ae8f0f14ed4198d06fc1cd6287fa25aeed996bad85c82b9ed87c214951e2bbc73384513361b7e8ce6ba05ef32f6530c SHA512 efc8cd17994fd74dcdd60e4ff26f81dc4f090a368668c2b1d62e204d2a9c001f2614a9d2ad0e4ae0ae38fb71e1957e0342f8216d757e38db105b1e467de82bd9
diff --git a/net-wireless/aircrack-ng/aircrack-ng-1.2.ebuild b/net-wireless/aircrack-ng/aircrack-ng-1.2.ebuild
new file mode 100644 (file)
index 0000000..972e687
--- /dev/null
@@ -0,0 +1,131 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_OPTIONAL=1
+
+inherit toolchain-funcs distutils-r1 flag-o-matic autotools
+
+DESCRIPTION="WLAN tools for breaking 802.11 WEP/WPA keys"
+HOMEPAGE="http://www.aircrack-ng.org"
+
+if [[ ${PV} == "9999" ]] ; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/aircrack-ng/aircrack-ng.git"
+       KEYWORDS=""
+else
+       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"
+
+DEPEND="net-libs/libpcap
+       dev-libs/openssl: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}"
+PDEPEND="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} )"
+
+pkg_setup() {
+       MAKE_COMMON=(
+               CC="$(tc-getCC)" \
+               CXX="$(tc-getCXX)" \
+               AR="$(tc-getAR)" \
+               LD="$(tc-getLD)" \
+               RANLIB="$(tc-getRANLIB)" \
+               DESTDIR="${ED}"
+       )
+}
+
+src_prepare() {
+       epatch "${FILESDIR}"/aircrack-ng-1.2-no-force-stack-protector.patch
+       eapply_user
+       eautoreconf
+}
+
+src_configure() {
+       econf \
+               --disable-asan \
+               $(use_enable netlink libnl) \
+               $(use_with experimental) \
+               $(use_with sqlite sqlite3) \
+               --enable-shared \
+               --disable-static \
+               --without-opt
+}
+
+src_compile() {
+       if [[ $($(tc-getCC) --version) == clang* ]] ; then
+               #https://bugs.gentoo.org/show_bug.cgi?id=472890
+               filter-flags -frecord-gcc-switches
+       fi
+
+       emake "${MAKE_COMMON[@]}"
+
+       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() {
+       emake "${MAKE_COMMON[@]}" check
+}
+
+src_install() {
+       einstalldocs
+       emake "${MAKE_COMMON[@]}" install
+
+       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
+}
index 641bf307be1325fb1969af6ffa1e1d957066a412..ccdbd649e1e380fcabb0c620db463c01e65a0331 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="5"
@@ -29,7 +29,7 @@ SLOT="0"
 IUSE="+airdrop-ng +airgraph-ng kernel_linux kernel_FreeBSD +netlink +pcre +sqlite +unstable"
 
 DEPEND="net-libs/libpcap
-       dev-libs/openssl
+       dev-libs/openssl:*
        netlink? ( dev-libs/libnl:3 )
        pcre? ( dev-libs/libpcre )
        airdrop-ng? ( ${PYTHON_DEPS} )
index 4410fcbb87aaa4f5a4561b9efa51469f1dfc15a3..1d10edd8197ad12f469c34aac1558946c3956ccc 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="6"
@@ -6,16 +6,15 @@ EAPI="6"
 PYTHON_COMPAT=( python2_7 )
 DISTUTILS_OPTIONAL=1
 
-inherit toolchain-funcs distutils-r1 flag-o-matic
+inherit toolchain-funcs distutils-r1 flag-o-matic autotools
 
 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"
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/aircrack-ng/aircrack-ng.git"
        KEYWORDS=""
-       S="${WORKDIR}/${PN}"
 else
        MY_PV=${PV/_/-}
        SRC_URI="http://download.${PN}.org/${PN}-${MY_PV}.tar.gz"
@@ -36,8 +35,8 @@ DEPEND="net-libs/libpcap
        airgraph-ng? ( ${PYTHON_DEPS} )
        experimental? ( sys-libs/zlib )
        sqlite? ( >=dev-db/sqlite-3.4 )"
-RDEPEND="${DEPEND}
-       kernel_linux? (
+RDEPEND="${DEPEND}"
+PDEPEND="kernel_linux? (
                net-wireless/iw
                net-wireless/wireless-tools
                sys-apps/ethtool
@@ -56,17 +55,26 @@ pkg_setup() {
                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)
-               prefix="${ED}/usr" \
-       )
-       [[ ${PV} == "9999" ]] && MAKE_COMMON+=(
-               liveflags=REVFLAGS=-D_REVISION="${ESVN_WC_REVISION}"
+               DESTDIR="${ED}"
        )
 }
 
+src_prepare() {
+       eapply_user
+       eautoreconf
+}
+
+src_configure() {
+       econf \
+               --disable-asan \
+               $(use_enable netlink libnl) \
+               $(use_with experimental) \
+               $(use_with sqlite sqlite3) \
+               --enable-shared \
+               --disable-static \
+               --without-opt
+}
+
 src_compile() {
        if [[ $($(tc-getCC) --version) == clang* ]] ; then
                #https://bugs.gentoo.org/show_bug.cgi?id=472890
diff --git a/net-wireless/aircrack-ng/files/aircrack-ng-1.2-no-force-stack-protector.patch b/net-wireless/aircrack-ng/files/aircrack-ng-1.2-no-force-stack-protector.patch
new file mode 100644 (file)
index 0000000..d4688b8
--- /dev/null
@@ -0,0 +1,50 @@
+From 58fe40daf3e082d9e63d689d795a3bbecf72fedb Mon Sep 17 00:00:00 2001
+From: Joseph Benden <joe@benden.us>
+Date: Mon, 16 Apr 2018 11:26:23 -0700
+Subject: [PATCH] autotools: The flag --without-opt should skip stack protector
+ flags. (#1864)
+
+---
+ build/m4/aircrack_ng_compiler.m4 | 28 ++++++++++++++++------------
+ 1 file changed, 16 insertions(+), 12 deletions(-)
+
+diff --git a/build/m4/aircrack_ng_compiler.m4 b/build/m4/aircrack_ng_compiler.m4
+index 0fb19726..8a973dbf 100644
+--- a/build/m4/aircrack_ng_compiler.m4
++++ b/build/m4/aircrack_ng_compiler.m4
+@@ -108,19 +108,23 @@ case "$ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor" in
+             CYGWIN*|MSYS*|cygwin*|msys*)
+                 ;;
+             *)
+-                AS_IF([test "x$gcc_over49" = "xno"], [
+-                    AS_IF([test "x$gcc_over41" = "xyes"], [
+-                        AX_CHECK_COMPILE_FLAG([-fstack-protector], [
+-                            AX_APPEND_FLAG(-fstack-protector, [opt_[]_AC_LANG_ABBREV[]flags])
+-                        ])
+-                    ], [])
+-                ], [])
++                case $with_opt in
++                    yes | "")
++                        AS_IF([test "x$gcc_over49" = "xno"], [
++                            AS_IF([test "x$gcc_over41" = "xyes"], [
++                                AX_CHECK_COMPILE_FLAG([-fstack-protector], [
++                                    AX_APPEND_FLAG(-fstack-protector, [opt_[]_AC_LANG_ABBREV[]flags])
++                                ])
++                            ], [])
++                        ], [])
+-                AS_IF([test "x$gcc_over49" = "xyes"], [
+-                    AX_CHECK_COMPILE_FLAG([-fstack-protector-strong], [
+-                        AX_APPEND_FLAG(-fstack-protector-strong, [opt_[]_AC_LANG_ABBREV[]flags])
+-                    ])
+-                ], [])
++                        AS_IF([test "x$gcc_over49" = "xyes"], [
++                            AX_CHECK_COMPILE_FLAG([-fstack-protector-strong], [
++                                AX_APPEND_FLAG(-fstack-protector-strong, [opt_[]_AC_LANG_ABBREV[]flags])
++                            ])
++                        ], [])
++                        ;;
++                esac
+                 ;;
+         esac
+         ;;