diff --git a/archivers/7-zip/Makefile b/archivers/7-zip/Makefile index d40fb1080e21..8a7f59629053 100644 --- a/archivers/7-zip/Makefile +++ b/archivers/7-zip/Makefile @@ -1,51 +1,51 @@ PORTNAME= 7-zip -DISTVERSION= 21.06 -PORTREVISION= 1 +DISTVERSION= 21.07 CATEGORIES= archivers MASTER_SITES= https://www.7-zip.org/a/ DISTNAME= 7z${DISTVERSION:S/.//}-src MAINTAINER= makc@FreeBSD.org COMMENT= Console version of the 7-Zip file archiver LICENSE= BSD3CLAUSE LGPL21+ UNRAR LICENSE_COMB= multi LICENSE_NAME_UNRAR= unRAR license LICENSE_FILE_BSD3CLAUSE= ${WRKSRC}/DOC/License.txt LICENSE_FILE_LGPL21+ = ${WRKSRC}/DOC/copying.txt LICENSE_FILE_UNRAR= ${WRKSRC}/DOC/unRarLicense.txt LICENSE_PERMS_UNRAR= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept LIB_DEPENDS= libsysinfo.so:devel/libsysinfo USES= 7z cpe dos2unix gmake localbase CPE_VENDOR= 7-zip MAKEFILE= ../../cmpl_clang.mak MAKE_ARGS= LOCAL_FLAGS="${CFLAGS}" \ LOCAL_LIBS="${LIBS} -lsysinfo" NO_WRKSUBDIR= yes BUILD_WRKSRC= ${WRKSRC}/CPP/7zip/Bundles/Alone2 -DOS2UNIX_FILES= CPP/7zip/7zip_gcc.mak \ +DOS2UNIX_FILES= C/CpuArch.c \ + CPP/7zip/7zip_gcc.mak \ CPP/7zip/var_gcc.mak \ CPP/Windows/SystemInfo.cpp PLIST_FILES= bin/7zz PORTDOCS= 7zC.txt 7zFormat.txt License.txt Methods.txt \ lzma.txt readme.txt src-history.txt OPTIONS_DEFINE= DOCS post-patch: ${ECHO_CMD} > ${WRKSRC}/CPP/7zip/warn_clang.mak do-install: ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/b/c/7zz ${STAGEDIR}/${PREFIX}/bin do-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} && \ ${INSTALL_DATA} ${PORTDOCS:C,^,${WRKSRC}/DOC/,} ${STAGEDIR}${DOCSDIR} .include diff --git a/archivers/7-zip/distinfo b/archivers/7-zip/distinfo index 3e4e5ddbc137..2b0234a96661 100644 --- a/archivers/7-zip/distinfo +++ b/archivers/7-zip/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1639126647 -SHA256 (7z2106-src.7z) = 675eaa90de3c6a3cd69f567bba4faaea309199ca75a6ad12bac731dcdae717ac -SIZE (7z2106-src.7z) = 1215031 +TIMESTAMP = 1640701508 +SHA256 (7z2107-src.7z) = d1074d56f415aab99d99e597a7b66dc455dba6349ae8a4c89df76475b6a1284c +SIZE (7z2107-src.7z) = 1219373 diff --git a/archivers/7-zip/files/patch-CPP_Windows_SystemInfo.cpp b/archivers/7-zip/files/patch-CPP_Windows_SystemInfo.cpp index bc362d111086..1f99e0c5da91 100644 --- a/archivers/7-zip/files/patch-CPP_Windows_SystemInfo.cpp +++ b/archivers/7-zip/files/patch-CPP_Windows_SystemInfo.cpp @@ -1,18 +1,27 @@ ---- CPP/Windows/SystemInfo.cpp.orig 2021-12-10 11:30:40 UTC +--- CPP/Windows/SystemInfo.cpp.orig 2021-12-28 14:08:56 UTC +++ CPP/Windows/SystemInfo.cpp @@ -20,6 +20,15 @@ #include +#if defined(__FreeBSD__) +unsigned long getauxval(unsigned long type) +{ + unsigned long aux = 0; + elf_aux_info(type, &aux, sizeof(aux)); + return aux; +} +#endif + // #undef AT_HWCAP // to debug // #undef AT_HWCAP2 // to debug +@@ -36,7 +45,7 @@ + #endif + */ + +-#ifdef MY_CPU_ARM_OR_ARM64 ++#if defined(MY_CPU_ARM_OR_ARM64) && !defined(__FreeBSD__) + #include + #endif + #endif diff --git a/archivers/7-zip/files/patch-C_CpuArch.c b/archivers/7-zip/files/patch-C_CpuArch.c new file mode 100644 index 000000000000..579b684d4337 --- /dev/null +++ b/archivers/7-zip/files/patch-C_CpuArch.c @@ -0,0 +1,34 @@ +--- C/CpuArch.c.orig 2021-12-12 14:45:15 UTC ++++ C/CpuArch.c +@@ -417,6 +417,23 @@ BoolInt CPU_IsSupported_AES (void) { return APPLE_CRYP + + #include + ++#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 +@@ -450,6 +467,7 @@ MY_HWCAP_CHECK_FUNC (SHA1) + MY_HWCAP_CHECK_FUNC (SHA2) + MY_HWCAP_CHECK_FUNC (AES) + ++#endif // FreeBSD + #endif // __APPLE__ + #endif // _WIN32 +