Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Jul 2019 12:21:14 +0000 (UTC)
From:      Piotr Kubaj <pkubaj@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r507637 - in head/net-mgmt/aircrack-ng: . files
Message-ID:  <201907301221.x6UCLEKF053019@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pkubaj
Date: Tue Jul 30 12:21:14 2019
New Revision: 507637
URL: https://svnweb.freebsd.org/changeset/ports/507637

Log:
  net-mgmt/aircrack-ng: fix build on powerpc*
  
  FreeBSD doesn't have bits/hwcap.h header and elf_aux_info needs to be used instead of getauxval.
  
  On powerpc platforms there are libraries for Altivec installed and no libraries for AVX and SSE are installed.
  
  PR:		239319
  Approved by:	lme (maintainer), linimon (mentor)
  Differential Revision:	https://reviews.freebsd.org/D21040

Added:
  head/net-mgmt/aircrack-ng/files/patch-src_aircrack-util_trampoline__ppc.c   (contents, props changed)
Modified:
  head/net-mgmt/aircrack-ng/Makefile
  head/net-mgmt/aircrack-ng/pkg-plist

Modified: head/net-mgmt/aircrack-ng/Makefile
==============================================================================
--- head/net-mgmt/aircrack-ng/Makefile	Tue Jul 30 12:16:23 2019	(r507636)
+++ head/net-mgmt/aircrack-ng/Makefile	Tue Jul 30 12:21:14 2019	(r507637)
@@ -16,7 +16,6 @@ LICENSE_COMB=	dual
 BROKEN_aarch64=		fails to configure: _AX_COMPILER_VERSION_GNU unknown gcc major
 BROKEN_armv6=		fails to configure: _AX_COMPILER_VERSION_GNU unknown gcc major
 BROKEN_armv7=		fails to configure: _AX_COMPILER_VERSION_GNU unknown gcc major
-BROKEN_powerpc64=	fails to compile: sse-intrinsics.c: error: emmintrin.h: No such file or directory
 
 USES=		autoreconf cpe dos2unix gmake libtool ssl
 USE_GCC=	yes
@@ -45,6 +44,16 @@ SQLITE_DESC=	Use SQLite for storing pre-computed key t
 SQLITE_USES=	sqlite
 SQLITE_MAKE_ARGS=	sqlite=true
 
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} == powerpc || ${ARCH} == powerpc64
+PLIST_SUB+=	PPC="" \
+		X86="@comment "
+.elif ${ARCH} == amd64 || ${ARCH} == i386
+PLIST_SUB+=	PPC="@comment " \
+		X86=""
+.endif
+
 post-patch:
 	@${REINPLACE_CMD} \
 		-e 's|%%ETCDIR%%|${ETCDIR}|' ${WRKSRC}/scripts/airodump-ng-oui-update
@@ -52,4 +61,4 @@ post-patch:
 post-install:
 	${MKDIR} ${STAGEDIR}${ETCDIR}
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>

Added: head/net-mgmt/aircrack-ng/files/patch-src_aircrack-util_trampoline__ppc.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-mgmt/aircrack-ng/files/patch-src_aircrack-util_trampoline__ppc.c	Tue Jul 30 12:21:14 2019	(r507637)
@@ -0,0 +1,26 @@
+--- src/aircrack-util/trampoline_ppc.c.orig	2019-07-19 18:16:49 UTC
++++ src/aircrack-util/trampoline_ppc.c
+@@ -19,8 +19,10 @@
+ #if defined(__ppc__) || defined(__PPC__)
+ #ifdef HAS_AUXV
+ #include <sys/auxv.h>
++#ifndef __FreeBSD__
+ #include <bits/hwcap.h>
+ #endif
++#endif
+ #else
+ #error "The wrong CPU architecture file has been included."
+ #endif
+@@ -35,7 +37,12 @@ int simd_get_supported_features(void)
+ {
+ 	int result = 0;
+ #ifdef HAS_AUXV
++#ifndef __FreeBSD__
+ 	long hwcaps = getauxval(AT_HWCAP2);
++#else
++	long hwcaps;
++	elf_aux_info(AT_HWCAP2, &hwcaps, sizeof(hwcaps));
++#endif
+ 
+ #if defined(PPC_FEATURE2_ARCH_2_07)
+ 	if (hwcaps & PPC_FEATURE2_ARCH_2_07)

Modified: head/net-mgmt/aircrack-ng/pkg-plist
==============================================================================
--- head/net-mgmt/aircrack-ng/pkg-plist	Tue Jul 30 12:16:23 2019	(r507636)
+++ head/net-mgmt/aircrack-ng/pkg-plist	Tue Jul 30 12:21:14 2019	(r507637)
@@ -10,12 +10,16 @@ bin/makeivs-ng
 bin/packetforge-ng
 bin/wpaclean
 lib/libaircrack-crypto-1.3.0.so
-lib/libaircrack-crypto-x86-avx-1.3.0.so
-lib/libaircrack-crypto-x86-avx.so
-lib/libaircrack-crypto-x86-avx2-1.3.0.so
-lib/libaircrack-crypto-x86-avx2.so
-lib/libaircrack-crypto-x86-sse2-1.3.0.so
-lib/libaircrack-crypto-x86-sse2.so
+%%PPC%%lib/libaircrack-crypto-ppc-altivec-1.3.0.so
+%%PPC%%lib/libaircrack-crypto-ppc-altivec.so
+%%PPC%%lib/libaircrack-crypto-ppc-power8-1.3.0.so
+%%PPC%%lib/libaircrack-crypto-ppc-power8.so
+%%X86%%lib/libaircrack-crypto-x86-avx-1.3.0.so
+%%X86%%lib/libaircrack-crypto-x86-avx.so
+%%X86%%lib/libaircrack-crypto-x86-avx2-1.3.0.so
+%%X86%%lib/libaircrack-crypto-x86-avx2.so
+%%X86%%lib/libaircrack-crypto-x86-sse2-1.3.0.so
+%%X86%%lib/libaircrack-crypto-x86-sse2.so
 lib/libaircrack-crypto.so
 lib/libaircrack-osdep-1.3.0.so
 lib/libaircrack-osdep.so



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201907301221.x6UCLEKF053019>