diff --git a/security/hashcat/Makefile b/security/hashcat/Makefile index 49f21d6f75be..6a32d8830b52 100644 --- a/security/hashcat/Makefile +++ b/security/hashcat/Makefile @@ -1,57 +1,52 @@ PORTNAME= hashcat PORTVERSION= 6.2.6 DISTVERSIONPREFIX= v +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= security MAINTAINER= se@FreeBSD.org COMMENT= Advanced CPU-based password recovery utility WWW= https://hashcat.net/hashcat/ LICENSE= MIT LICENSE_FILE= ${WRKSRC}/docs/license.txt NOT_FOR_ARCHS= powerpc powerpc64 powerpcspe NOT_FOR_ARCHS_REASON= fails to compile: compiling for big-endian architecture not supported BUILD_DEPENDS= minizip:archivers/minizip USES= compiler:c11 gmake iconv localbase python shebangfix USE_GITHUB= yes GH_ACCOUNT= KhronosGroup:opencl Cyan4973:xxhash GH_PROJECT= OpenCL-Headers:opencl xxHash:xxhash GH_SUBDIR= deps/git/OpenCL-Headers:opencl deps/git/xxHash:xxhash GH_TAGNAME= 1d3dc4e:opencl c0e86bc:xxhash PYTHON_NO_DEPENDS= yes SHEBANG_FILES= extra/tab_completion/install tools/*.py MAKE_ARGS+= SHARED=1 \ CC="${CC}" \ LFLAGS_NATIVE="${LDFLAGS} -lpthread -lm" \ CFLAGS_NATIVE="${CFLAGS} -Iinclude -IOpenCL -Ideps/LZMA-SDK/C \ -Ideps/git/OpenCL-Headers" ALL_TARGET= default CFLAGS_aarch64+= -march=armv8-a+crc+crypto PLIST_SUB= PORTVERSION=${PORTVERSION} OPTIONS_DEFINE= BRAIN DOCS OPTIONS_DEFAULT= BRAIN BRAIN_DESC= Build Hashcat Brain BRAIN_MAKE_ARGS_OFF= ENABLE_BRAIN=0 BRAIN_CFLAGS= -DWITH_BRAIN -Ideps/git/xxHash -.include - -.if ${ARCH} == powerpc64le -USE_GCC= yes:build -.endif - pre-install: ${STRIP_CMD} ${WRKSRC}/libhashcat.so.${PORTVERSION} ${STRIP_CMD} ${WRKSRC}/modules/*.so ${STRIP_CMD} ${WRKSRC}/hashcat .include diff --git a/security/hashcat/files/patch-src_Makefile b/security/hashcat/files/patch-src_Makefile index 4e42021a7a6d..6b66a129610e 100644 --- a/security/hashcat/files/patch-src_Makefile +++ b/security/hashcat/files/patch-src_Makefile @@ -1,35 +1,47 @@ --- src/Makefile.orig 2022-09-02 14:58:13 UTC +++ src/Makefile @@ -82,7 +82,9 @@ CXX := c++ ifneq (,$(filter $(UNAME),FreeBSD NetBSD)) CC := cc CXX := c++ -SED := gsed +CXXLIB := -lc++ +SED := /usr/bin/sed +SED_IN_PLACE := -i "" endif ## @@ -213,7 +215,7 @@ ifneq ($(CC),clang) ifeq ($(ENABLE_UNRAR),1) ifeq ($(USE_SYSTEM_UNRAR),0) ifneq ($(CC),clang) -CFLAGS_UNRAR += -Wno-class-memaccess +#CFLAGS_UNRAR += -Wno-class-memaccess CFLAGS_UNRAR += -Wno-misleading-indentation endif CFLAGS_UNRAR += -Wno-missing-braces -@@ -651,10 +653,10 @@ $(HASHCAT_FRONTEND): src/main.c $(HASHCAT_LIBRARY) +@@ -608,6 +610,11 @@ uninstall: + ## native compiled hashcat library and frontend + ## + ++ifeq ($(shell uname -p),powerpc64le) ++obj/emu_inc_cipher_serpent.NATIVE.o: src/emu_inc_cipher_serpent.c ++ $(CC) -c $(CCFLAGS) $(CFLAGS_NATIVE) -O0 $< -o $@ -fpic ++endif ++ + obj/%.NATIVE.o: src/%.c + $(CC) -c $(CCFLAGS) $(CFLAGS_NATIVE) $< -o $@ -fpic + +@@ -651,10 +658,10 @@ $(HASHCAT_FRONTEND): src/main.c $(HASHCAT_LIBRARY) ifeq ($(SHARED),1) $(HASHCAT_FRONTEND): src/main.c $(HASHCAT_LIBRARY) - $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(HASHCAT_LIBRARY) $(LFLAGS_NATIVE) -DCOMPTIME=$(COMPTIME) -DVERSION_TAG=\"$(VERSION_TAG)\" -DINSTALL_FOLDER=\"$(INSTALL_FOLDER)\" -DSHARED_FOLDER=\"$(SHARED_FOLDER)\" -DDOCUMENT_FOLDER=\"$(DOCUMENT_FOLDER)\" + $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(HASHCAT_LIBRARY) $(LFLAGS_NATIVE) ${CXXLIB} -DCOMPTIME=$(COMPTIME) -DVERSION_TAG=\"$(VERSION_TAG)\" -DINSTALL_FOLDER=\"$(INSTALL_FOLDER)\" -DSHARED_FOLDER=\"$(SHARED_FOLDER)\" -DDOCUMENT_FOLDER=\"$(DOCUMENT_FOLDER)\" else $(HASHCAT_FRONTEND): src/main.c obj/combined.NATIVE.a - $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -DCOMPTIME=$(COMPTIME) -DVERSION_TAG=\"$(VERSION_TAG)\" -DINSTALL_FOLDER=\"$(INSTALL_FOLDER)\" -DSHARED_FOLDER=\"$(SHARED_FOLDER)\" -DDOCUMENT_FOLDER=\"$(DOCUMENT_FOLDER)\" + $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) ${CXXLIB} -DCOMPTIME=$(COMPTIME) -DVERSION_TAG=\"$(VERSION_TAG)\" -DINSTALL_FOLDER=\"$(INSTALL_FOLDER)\" -DSHARED_FOLDER=\"$(SHARED_FOLDER)\" -DDOCUMENT_FOLDER=\"$(DOCUMENT_FOLDER)\" endif ##