git: 9638af3be2e4 - main - security/hashcat: Fix build on aarch64
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 25 Mar 2022 08:24:52 UTC
The branch main has been updated by mikael: URL: https://cgit.FreeBSD.org/ports/commit/?id=9638af3be2e4c5c876f507a0e018a9be8d30b1e2 commit 9638af3be2e4c5c876f507a0e018a9be8d30b1e2 Author: Mikael Urankar <mikael@FreeBSD.org> AuthorDate: 2022-03-25 08:24:07 +0000 Commit: Mikael Urankar <mikael@FreeBSD.org> CommitDate: 2022-03-25 08:24:07 +0000 security/hashcat: Fix build on aarch64 Same fix as archivers/7-zip Approved by: portmgr (build fix blanket) --- security/hashcat/Makefile | 5 ++-- .../hashcat/files/patch-deps_LZMA-SDK_C_CpuArch.c | 34 ++++++++++++++++++++++ 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/security/hashcat/Makefile b/security/hashcat/Makefile index 7fc1e358d8e2..d545635c385d 100644 --- a/security/hashcat/Makefile +++ b/security/hashcat/Makefile @@ -11,9 +11,8 @@ COMMENT= Advanced CPU-based password recovery utility LICENSE= MIT LICENSE_FILE= ${WRKSRC}/docs/license.txt -NOT_FOR_ARCHS= aarch64 powerpc powerpc64 powerpcspe sparc64 +NOT_FOR_ARCHS= powerpc powerpc64 powerpcspe sparc64 NOT_FOR_ARCHS_REASON= fails to compile: compiling for big-endian architecture not supported -NOT_FOR_ARCHS_REASON_aarch64= fails to compile BUILD_DEPENDS= minizip:archivers/minizip @@ -40,6 +39,8 @@ BRAIN_DESC= Build Hashcat Brain BRAIN_MAKE_ARGS_OFF= ENABLE_BRAIN=0 BRAIN_CFLAGS= -DWITH_BRAIN -Ideps/git/xxHash +CFLAGS_aarch64+= -march=armv8-a+crc+crypto + pre-install: ${STRIP_CMD} ${WRKSRC}/libhashcat.so.${PORTVERSION} ${STRIP_CMD} ${WRKSRC}/modules/*.so diff --git a/security/hashcat/files/patch-deps_LZMA-SDK_C_CpuArch.c b/security/hashcat/files/patch-deps_LZMA-SDK_C_CpuArch.c new file mode 100644 index 000000000000..a788aaec3e8b --- /dev/null +++ b/security/hashcat/files/patch-deps_LZMA-SDK_C_CpuArch.c @@ -0,0 +1,34 @@ +--- deps/LZMA-SDK/C/CpuArch.c.orig 2022-03-25 08:13:08 UTC ++++ deps/LZMA-SDK/C/CpuArch.c +@@ -384,6 +384,23 @@ BoolInt CPU_IsSupported_AES (void) { return APPLE_CRYP + + #include <sys/auxv.h> + ++#if defined(__FreeBSD__) ++static UInt64 get_hwcap() { ++ unsigned long hwcap; ++ if(elf_aux_info(AT_HWCAP, &hwcap, sizeof(unsigned long)) != 0) { ++ return(0); ++ } ++ return hwcap; ++} ++ ++BoolInt CPU_IsSupported_CRC32(void) { return get_hwcap() & HWCAP_CRC32; } ++BoolInt CPU_IsSupported_NEON(void) { return 1; } ++BoolInt CPU_IsSupported_SHA1(void){ return get_hwcap() & HWCAP_SHA1; } ++BoolInt CPU_IsSupported_SHA2(void) { return get_hwcap() & HWCAP_SHA2; } ++BoolInt CPU_IsSupported_AES(void) { return get_hwcap() & HWCAP_AES; } ++ ++#else // __FreeBSD__ ++ + #define USE_HWCAP + + #ifdef USE_HWCAP +@@ -410,6 +427,7 @@ MY_HWCAP_CHECK_FUNC (SHA1) + MY_HWCAP_CHECK_FUNC (SHA2) + MY_HWCAP_CHECK_FUNC (AES) + ++#endif // FreeBSD + #endif // __APPLE__ + #endif // _WIN32 +