diff options
author | jhale <jhale@FreeBSD.org> | 2018-08-25 01:22:01 +0800 |
---|---|---|
committer | jhale <jhale@FreeBSD.org> | 2018-08-25 01:22:01 +0800 |
commit | 859f805dd52ddf18be9fd8d2b3e270945f86b241 (patch) | |
tree | 755180fd4810fbf33aa78186166afc94eafc7a8e | |
parent | ff6fe9727fc72b86994dcb93553626b705f579f9 (diff) | |
download | freebsd-ports-gnome-859f805dd52ddf18be9fd8d2b3e270945f86b241.tar.gz freebsd-ports-gnome-859f805dd52ddf18be9fd8d2b3e270945f86b241.tar.zst freebsd-ports-gnome-859f805dd52ddf18be9fd8d2b3e270945f86b241.zip |
Update security/cryptopp to 7.0.0
We now install a pkgconfig file which will allow ports to check whether
cryptopp was built with assembly instructions enabled or not. There are
a few functions that will be undefined if built without assembly and
-DCRYPTOPP_DISABLE_ASM needs to be passed to the compiler in that case
to avoid build failures. This is not new, but the pkgconf file should
make it easier to determine if the flag is needed or not.
Fix several ports due to API changes and to use the new pkgconf file
to determine cryptopp location and build flags. Special cases below.
deskutils/cdcat
- Use cryptopp shared library instead of static, detect with pkgconf
devel/xeus
- Fix dependencies and remove header-only libraries from RUN_DEPENDS
- Rework to use the cryptopp pkgconf file
- net/cppzmq CMake files were fixed in r477649, remove hacks for that
as they were seemingly causing devel/xeus-cling to link to cryptopp
unnecessarily
- Remove C++17 code from cryptopp checks for compatibility
devel/xeus-cling
- Fix dependencies
- Remove hacks for previously broken cppzmq CMake files and no longer
needed cryptopp dependency
Changes: https://www.cryptopp.com/#news
PR: 230579 (original patch, not used)
Submitted by: yuri
23 files changed, 234 insertions, 199 deletions
diff --git a/archivers/urbackup-client/Makefile b/archivers/urbackup-client/Makefile index 3a6729ea33a6..b2ec73ad14f8 100644 --- a/archivers/urbackup-client/Makefile +++ b/archivers/urbackup-client/Makefile @@ -2,6 +2,7 @@ PORTNAME= urbackup-client DISTVERSION= 2.2.6 +PORTREVISION= 1 CATEGORIES= archivers MASTER_SITES= https://hndl.urbackup.org/Client/${DISTVERSION}/ @@ -13,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/COPYING LIB_DEPENDS= libcryptopp.so:security/cryptopp -USES= gettext dos2unix localbase +USES= dos2unix gettext localbase pkgconfig USE_RC_SUBR= urbackup_client USERS= urbackup @@ -21,6 +22,7 @@ GROUPS= urbackup GNU_CONFIGURE= yes CONFIGURE_ARGS= --disable-clientupdate +CXXFLAGS+= `pkgconf --cflags-only-other libcryptopp` SUB_FILES= pkg-message urbackupclient.conf.sample-daemon @@ -48,6 +50,19 @@ XPMFILES= backup-bad.xpm \ backup-no-server.xpm \ backup-progress-pause.xpm +post-patch: + @(cd ${WRKSRC} && ${REINPLACE_CMD} -E -e 's|[[:<:]]byte[[:>:]]|CryptoPP::byte|g' \ + cryptoplugin/AESDecryption.cpp \ + cryptoplugin/AESEncryption.cpp \ + cryptoplugin/AESGCMDecryption.cpp \ + cryptoplugin/AESGCMEncryption.cpp \ + cryptoplugin/CryptoFactory.cpp \ + cryptoplugin/ECDHKeyExchange.cpp \ + cryptoplugin/ZlibCompression.cpp \ + cryptoplugin/ZlibDecompression.cpp \ + md5.h \ + ) + do-install: ${MKDIR} ${STAGEDIR}${PREFIX}/share/urbackup/scripts ${MKDIR} ${STAGEDIR}${PREFIX}/etc/urbackup diff --git a/archivers/urbackup-server/Makefile b/archivers/urbackup-server/Makefile index a06afa262ae9..ff2661daf59c 100644 --- a/archivers/urbackup-server/Makefile +++ b/archivers/urbackup-server/Makefile @@ -2,7 +2,7 @@ PORTNAME= urbackup-server DISTVERSION= 2.2.11 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= archivers MASTER_SITES= https://hndl.urbackup.org/Server/${DISTVERSION}/ @@ -13,20 +13,33 @@ LICENSE= AGPLv3 LICENSE_FILE= ${WRKSRC}/server-license.txt LIB_DEPENDS= libcryptopp.so:security/cryptopp \ - libcurl.so:ftp/curl + libcurl.so:ftp/curl -USES+= fakeroot +USES= fakeroot pkgconfig +USE_RC_SUBR= urbackup_server USERS= urbackup GROUPS= urbackup -GNU_CONFIGURE= YES +GNU_CONFIGURE= yes CONFIGURE_ARGS= --enable-packaging - -USE_RC_SUBR= urbackup_server +CXXFLAGS+= `pkgconf --cflags-only-other libcryptopp` SUB_FILES= pkg-message urbackupsrv.conf.sample-daemon +post-patch: + @(cd ${WRKSRC} && ${REINPLACE_CMD} -E -e 's|[[:<:]]byte[[:>:]]|CryptoPP::byte|g' \ + cryptoplugin/AESDecryption.cpp \ + cryptoplugin/AESEncryption.cpp \ + cryptoplugin/AESGCMDecryption.cpp \ + cryptoplugin/AESGCMEncryption.cpp \ + cryptoplugin/CryptoFactory.cpp \ + cryptoplugin/ECDHKeyExchange.cpp \ + cryptoplugin/ZlibCompression.cpp \ + cryptoplugin/ZlibDecompression.cpp \ + md5.h \ + ) + post-install: ${MKDIR} ${STAGEDIR}${PREFIX}/etc/urbackup ${INSTALL_DATA} ${WRKDIR}/urbackupsrv.conf.sample-daemon \ diff --git a/audio/clementine-player/Makefile b/audio/clementine-player/Makefile index 7670ec33bde4..800c7759aeff 100644 --- a/audio/clementine-player/Makefile +++ b/audio/clementine-player/Makefile @@ -5,7 +5,7 @@ PORTNAME= clementine DISTVERSIONPREFIX= v DISTVERSION= 1.3.1-441 DISTVERSIONSUFFIX= -gc01b7bc -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= audio PKGNAMESUFFIX= -player @@ -80,16 +80,7 @@ CFLAGS+= -Wno-inconsistent-missing-override \ CMAKE_ARGS+= -DCMAKE_LIBRARY_PATH:PATH="${LOCALBASE}/lib:${PREFIX}/lib" \ -DENABLE_DBUS=ON \ - -DENABLE_SPOTIFY_BLOB=OFF \ - -DCRYPTOPP_LIBS=${LOCALBASE}/lib/libcryptopp.so \ - -DCRYPTOPP_INCLUDEDIR=${LOCALBASE}/include/cryptopp \ - -DCRYPTOPP_LIBDIR=${LOCALBASE}/lib \ - -DCRYPTOPP_LDFLAGS=-lcryptopp \ - -DCRYPTOPP_LIBRARIES=cryptopp \ - -DCRYPTOPP_LIBRARY_DIRS=${LOCALBASE}/lib \ - -DCRYPTOPP_cryptopp_INCLUDEDIR=${LOCALBASE}/include/cryptopp \ - -DCRYPTOPP_cryptopp_LIBDIR=${LOCALBASE}/lib \ - -DCRYPTOPP_FOUND=1 + -DENABLE_SPOTIFY_BLOB=OFF OPTIONS_DEFINE= AMAZON \ AUDIOCD \ diff --git a/audio/clementine-player/files/patch-CMakeLists.txt b/audio/clementine-player/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..b9fb4e784e62 --- /dev/null +++ b/audio/clementine-player/files/patch-CMakeLists.txt @@ -0,0 +1,11 @@ +--- CMakeLists.txt.orig 2018-08-17 05:31:45 UTC ++++ CMakeLists.txt +@@ -59,7 +59,7 @@ find_library(PROTOBUF_STATIC_LIBRARY libprotobuf.a lib + + pkg_check_modules(CDIO libcdio) + pkg_check_modules(CHROMAPRINT REQUIRED libchromaprint) +-pkg_search_module(CRYPTOPP cryptopp libcrypto++) ++pkg_check_modules(CRYPTOPP libcryptopp) + pkg_check_modules(GIO gio-2.0) + pkg_check_modules(GLIB REQUIRED glib-2.0) + pkg_check_modules(GOBJECT REQUIRED gobject-2.0) diff --git a/audio/clementine-player/files/patch-src_CMakeLists.txt b/audio/clementine-player/files/patch-src_CMakeLists.txt index 29b3484d2131..593d4c1efd93 100644 --- a/audio/clementine-player/files/patch-src_CMakeLists.txt +++ b/audio/clementine-player/files/patch-src_CMakeLists.txt @@ -1,6 +1,14 @@ ---- src/CMakeLists.txt.orig 2016-04-19 15:08:35 UTC +--- src/CMakeLists.txt.orig 2018-05-23 13:23:53 UTC +++ src/CMakeLists.txt -@@ -1388,6 +1388,7 @@ add_executable(clementine +@@ -1295,6 +1295,7 @@ if(HAVE_BREAKPAD) + endif(HAVE_BREAKPAD) + + if(HAVE_SPOTIFY_DOWNLOADER) ++ add_definitions(${CRYPTOPP_CFLAGS_OTHER}) + target_link_libraries(clementine_lib + ${CRYPTOPP_LIBRARIES} + ) +@@ -1380,6 +1381,7 @@ add_executable(clementine if (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") target_link_libraries(clementine execinfo) diff --git a/deskutils/cdcat/Makefile b/deskutils/cdcat/Makefile index 341ff3b5776e..447714c22845 100644 --- a/deskutils/cdcat/Makefile +++ b/deskutils/cdcat/Makefile @@ -3,7 +3,7 @@ PORTNAME= cdcat PORTVERSION= 2.3.1 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= deskutils MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION} @@ -13,19 +13,20 @@ COMMENT= Qt based tool for offline CD/DVD/disk catalogs LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING -BUILD_DEPENDS= cryptopp>0:security/cryptopp LIB_DEPENDS= libtar.so:devel/libtar \ libexif.so:graphics/libexif \ libmediainfo.so:multimedia/libmediainfo \ - libzen.so:multimedia/libzen + libzen.so:multimedia/libzen \ + libcryptopp.so:security/cryptopp CONFIGURE_WRKSRC= ${WRKSRC}/src BUILD_WRKSRC= ${CONFIGURE_WRKSRC} -USES= libtool qmake:norecursive qt:4 tar:bzip2 +USES= libtool pkgconfig qmake:norecursive qt:4 tar:bzip2 USE_QT= corelib gui xml linguisttools_build moc_build uic_build -QMAKE_ARGS= LIBS+="${LOCALBASE}/lib/libcryptopp.a" \ - LIBS+="-lz -lbz2 -ltar -lexif -lmediainfo -lzen" \ +QMAKE_ARGS= LIBS+="-lz -lbz2 -ltar -lexif -lmediainfo -lzen" \ + CONFIG+="link_pkgconfig" \ + PKGCONFIG+="libcryptopp" \ DEFINES+="MEDIAINFO_STATIC" \ DEFINES+="MEDIAINFO_UNICODE" \ DEFINES+="USE_LIBEXIF" diff --git a/deskutils/cdcat/files/patch-src_wdbfile.h b/deskutils/cdcat/files/patch-src_wdbfile.h new file mode 100644 index 000000000000..3b73e122737f --- /dev/null +++ b/deskutils/cdcat/files/patch-src_wdbfile.h @@ -0,0 +1,14 @@ +byte was moved into the CryptoPP namespace in version 6.0.0 +https://www.cryptopp.com/wiki/Std::byte + +--- src/wdbfile.h.orig 2018-08-13 23:12:09 UTC ++++ src/wdbfile.h +@@ -31,7 +31,7 @@ static CryptoPP::AutoSeededRandomPool prng; + + static CryptoPP::SecByteBlock crypto_key(CryptoPP::Blowfish::BLOCKSIZE); + +-static byte iv[CryptoPP::Blowfish::BLOCKSIZE]; ++static CryptoPP::byte iv[CryptoPP::Blowfish::BLOCKSIZE]; + + + int generate_cryptokey(QString password); diff --git a/devel/xeus-cling/Makefile b/devel/xeus-cling/Makefile index 75fa6058c402..412b511f3019 100644 --- a/devel/xeus-cling/Makefile +++ b/devel/xeus-cling/Makefile @@ -2,7 +2,7 @@ PORTNAME= xeus-cling DISTVERSION= 0.4.6 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= devel MAINTAINER= yuri@FreeBSD.org @@ -13,10 +13,10 @@ LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= cppzmq>0:net/cppzmq \ cxxopts>0:devel/cxxopts \ - czmq>0:net/czmq \ - llvm-config:lang/cling + llvm-config:lang/cling \ + nlohmann-json>0:devel/nlohmann-json \ + xtl-quant-stack>0:devel/xtl-quant-stack LIB_DEPENDS= libclingInterpreter.so:lang/cling \ - libcryptopp.so:security/cryptopp \ libpugixml.so:textproc/pugixml \ libuuid.so:misc/e2fsprogs-libuuid \ libxeus.so:devel/xeus \ diff --git a/devel/xeus-cling/files/patch-CMakeLists.txt b/devel/xeus-cling/files/patch-CMakeLists.txt index 57e06756a785..f511d0d4bf30 100644 --- a/devel/xeus-cling/files/patch-CMakeLists.txt +++ b/devel/xeus-cling/files/patch-CMakeLists.txt @@ -1,20 +1,7 @@ ---- CMakeLists.txt.orig 2018-08-15 11:38:48 UTC +--- CMakeLists.txt.orig 2018-08-19 15:08:49 UTC +++ CMakeLists.txt -@@ -11,6 +11,8 @@ project(xeus-cling) - - set(XCPP_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src) - -+link_directories(${CMAKE_INSTALL_PREFIX}/lib) -+ - # Versionning - # =========== - -@@ -102,10 +104,10 @@ add_definitions(-DLLVM_DIR="${LLVM_BINAR - ################ - - find_package(xeus 0.13 REQUIRED) --find_package(cppzmq 4.2.3 REQUIRED) -+#find_package(cppzmq 4.2.3 REQUIRED) +@@ -105,7 +105,7 @@ find_package(xeus 0.13 REQUIRED) + find_package(cppzmq 4.2.3 REQUIRED) find_package(pugixml REQUIRED) -find_package(Clang REQUIRED) @@ -22,12 +9,12 @@ find_package(Cling REQUIRED) find_package(cxxopts REQUIRED) -@@ -305,6 +307,8 @@ set(XCPP_TAGCONFS_DIR ${CMAKE_CURRENT_SO - install(DIRECTORY ${XCPP_TAGCONFS_DIR} - DESTINATION ${XCPP_CONF_DIR}) +@@ -177,7 +177,7 @@ set (XCPP_HEADERS + ) -+target_link_libraries(xeus-cling -lclangAST -lLLVMSupport -lzmq) -+ - # Add definitions for the kernel to find tagfiles. - add_definitions(-DXCPP_TAGFILES_DIR="${CMAKE_INSTALL_PREFIX}/${XCPP_DATA_DIR}/tagfiles") - add_definitions(-DXCPP_TAGCONFS_DIR="${CMAKE_INSTALL_PREFIX}/${XCPP_CONF_DIR}/tags.d") + set(LLVM_NO_DEAD_STRIP 1) +-set(LIBS clingInterpreter clingMetaProcessor clingUtils xeus pugixml cxxopts::cxxopts) ++set(LIBS clingInterpreter clingMetaProcessor clingUtils xeus pugixml cxxopts::cxxopts -lclangAST -lLLVMSupport) + set(XEUSCLING_TARGET xeus-cling) + add_executable(${XEUSCLING_TARGET} ${XEUSCLING_SRC}) + set_target_properties(${XEUSCLING_TARGET} PROPERTIES ENABLE_EXPORTS 1) diff --git a/devel/xeus/Makefile b/devel/xeus/Makefile index 388d02202f0f..e31dcf946d3d 100644 --- a/devel/xeus/Makefile +++ b/devel/xeus/Makefile @@ -2,7 +2,7 @@ PORTNAME= xeus DISTVERSION= 0.13.0 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= devel MAINTAINER= yuri@FreeBSD.org @@ -15,10 +15,8 @@ BUILD_DEPENDS= cppzmq>0:net/cppzmq \ nlohmann-json>0:devel/nlohmann-json \ xtl-quant-stack>0:devel/xtl-quant-stack LIB_DEPENDS= libcryptopp.so:security/cryptopp \ - libuuid.so:misc/e2fsprogs-libuuid -RUN_DEPENDS= cppzmq>0:net/cppzmq \ - nlohmann-json>0:devel/nlohmann-json \ - xtl-quant-stack>0:devel/xtl-quant-stack + libuuid.so:misc/e2fsprogs-libuuid \ + libzmq.so:net/libzmq4 USES= cmake:outsource compiler:c++14-lang localbase:ldflags pkgconfig USE_GITHUB= yes diff --git a/devel/xeus/files/patch-CMakeLists.txt b/devel/xeus/files/patch-CMakeLists.txt index 3d08bbffa3b0..1e1065140e21 100644 --- a/devel/xeus/files/patch-CMakeLists.txt +++ b/devel/xeus/files/patch-CMakeLists.txt @@ -1,6 +1,6 @@ --- CMakeLists.txt.orig 2018-07-01 17:59:23 UTC +++ CMakeLists.txt -@@ -46,11 +46,12 @@ message(STATUS "xeus binary version: v${ +@@ -46,11 +46,12 @@ message(STATUS "xeus binary version: v${XEUS_BINARY_VE # Dependencies # ============ @@ -8,38 +8,44 @@ find_package(nlohmann_json 3.1.1 REQUIRED) find_package(xtl 0.4 REQUIRED) -find_package(ZeroMQ 4.2.3 REQUIRED) --find_package(cppzmq 4.2.3 REQUIRED) --find_package(cryptopp REQUIRED) +pkg_check_modules(ZeroMQ libzmq>=4.2.3 REQUIRED) -+#find_package(cppzmq 4.2.3 REQUIRED) -+#find_package(cryptopp REQUIRED) + find_package(cppzmq 4.2.3 REQUIRED) +-find_package(cryptopp REQUIRED) ++pkg_check_modules(cryptopp libcryptopp REQUIRED) # Source files # ============ -@@ -108,10 +109,9 @@ add_library(xeus SHARED ${XEUS_SOURCES} - target_include_directories(xeus PUBLIC $<BUILD_INTERFACE:${XEUS_INCLUDE_DIR}> - $<INSTALL_INTERFACE:include>) - target_link_libraries(xeus -- PUBLIC cppzmq +@@ -111,7 +112,7 @@ target_link_libraries(xeus + PUBLIC cppzmq PUBLIC nlohmann_json PUBLIC xtl - PRIVATE cryptopp-static) -+ -lcryptopp) ++ PRIVATE cryptopp) if(NOT MSVC) if(APPLE) -@@ -139,10 +139,10 @@ include(CMakePushCheckState) +@@ -139,14 +140,12 @@ include(CMakePushCheckState) cmake_push_check_state() # HAVE_CRYPTOPP_BYTE_T -get_target_property(cryptopp_INCLUDE_DIR cryptopp-static INTERFACE_INCLUDE_DIRECTORIES) -get_target_property(cryptopp_LIBRARY cryptopp-static LOCATION) --set(CMAKE_REQUIRED_LIBRARIES ${cryptopp_LIBRARY}) --set(CMAKE_REQUIRED_INCLUDES ${cryptopp_INCLUDE_DIR}) -+#get_target_property(cryptopp_INCLUDE_DIR cryptopp INTERFACE_INCLUDE_DIRECTORIES) -+#get_target_property(cryptopp_LIBRARY cryptopp LOCATION) -+set(CMAKE_REQUIRED_LIBRARIES -lcryptopp) -+set(CMAKE_REQUIRED_INCLUDES -I/usr/local/include) + set(CMAKE_REQUIRED_LIBRARIES ${cryptopp_LIBRARY}) + set(CMAKE_REQUIRED_INCLUDES ${cryptopp_INCLUDE_DIR}) check_cxx_source_compiles(" #include \"cryptopp/config.h\" int main(){ +- [[maybe_unused]] CryptoPP::byte b = CryptoPP::byte{0x36}; ++ CryptoPP::byte b = (CryptoPP::byte){0x36}; + }" HAVE_CRYPTOPP_BYTE_T) + + cmake_pop_check_state() +@@ -206,7 +205,7 @@ if(MSVC) + elseif(APPLE) + target_compile_definitions(xeus PUBLIC -DGUID_CFUUID) + else() +- target_compile_definitions(xeus PUBLIC -DGUID_LIBUUID) ++ target_compile_definitions(xeus PUBLIC -DGUID_LIBUUID ${cryptopp_CFLAGS_OTHER}) + endif() + + # Examples diff --git a/devel/xeus/files/patch-xeusConfig.cmake.in b/devel/xeus/files/patch-xeusConfig.cmake.in index 1206141e0ae8..5811046ba9ab 100644 --- a/devel/xeus/files/patch-xeusConfig.cmake.in +++ b/devel/xeus/files/patch-xeusConfig.cmake.in @@ -1,6 +1,6 @@ ---- xeusConfig.cmake.in.orig 2018-08-17 22:53:12 UTC +--- xeusConfig.cmake.in.orig 2018-07-01 17:59:23 UTC +++ xeusConfig.cmake.in -@@ -20,11 +20,12 @@ set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_L +@@ -20,10 +20,11 @@ set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR};${CMA @XEUS_CONFIG_CODE@ include(CMakeFindDependencyMacro) @@ -9,9 +9,7 @@ find_dependency(nlohmann_json 3.1.1) find_dependency(xtl 0.4) -find_dependency(ZeroMQ 4.2.3) --find_dependency(cppzmq 4.2.3) +pkg_check_modules(ZeroMQ libzmq>=4.2.3 REQUIRED) -+#find_dependency(cppzmq 4.2.3) + find_dependency(cppzmq 4.2.3) if(UNIX AND NOT APPLE) find_dependency(LibUUID) - endif() diff --git a/net-p2p/amule-devel/Makefile b/net-p2p/amule-devel/Makefile index fa01722a840e..ee1756b0fc22 100644 --- a/net-p2p/amule-devel/Makefile +++ b/net-p2p/amule-devel/Makefile @@ -3,6 +3,7 @@ PORTNAME= amule PORTVERSION= 10998 +PORTREVISION= 1 CATEGORIES= net-p2p MASTER_SITES= http://amule.sourceforge.net/tarballs/ PKGNAMESUFFIX= -devel @@ -31,6 +32,7 @@ CONFIGURE_ENV= LEX="${FLEX}" PKG_CONFIG="${PKG_CONFIG}" \ docdir='$${prefix}/${DOCSDIR_REL}' CPPFLAGS+= -I${LOCALBASE}/include +CXXFLAGS+= `pkgconf --cflags-only-other libcryptopp` LDFLAGS+= -lpthread -L${LOCALBASE}/lib OPTIONS_DEFINE= ALC ALCC AMULECMD AMULEDAEMON AMULEGUI CAS DEBUG DOCS ED2K \ @@ -109,10 +111,6 @@ XAS_USE= PERL5+=run .include <bsd.port.options.mk> -.if ${ARCH} == "i386" && ( ${OSVERSION} >= 1000024 || ${CXX:T} == "clang++" ) -CPPFLAGS+= -DCRYPTOPP_DISABLE_ASM -.endif - .if ${PORT_OPTIONS:MED2K} CONFLICTS+= ed2k-hash* .endif diff --git a/net-p2p/amule/Makefile b/net-p2p/amule/Makefile index 6da98b226f4b..cefc64507c05 100644 --- a/net-p2p/amule/Makefile +++ b/net-p2p/amule/Makefile @@ -3,7 +3,7 @@ PORTNAME= amule PORTVERSION= 2.3.2 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= net-p2p MASTER_SITES= SF/${PORTNAME}/aMule/${PORTVERSION} DISTNAME= aMule-${PORTVERSION} @@ -29,6 +29,7 @@ CONFIGURE_ENV= LEX="${FLEX}" PKG_CONFIG="${PKG_CONFIG}" \ docdir='$${prefix}/${DOCSDIR_REL}' CPPFLAGS+= -I${LOCALBASE}/include +CXXFLAGS+= `pkgconf --cflags-only-other libcryptopp` LDFLAGS+= -lpthread -L${LOCALBASE}/lib OPTIONS_DEFINE= ALC ALCC AMULECMD AMULEDAEMON AMULEGUI CAS DEBUG DOCS ED2K \ @@ -106,10 +107,6 @@ XAS_USE= PERL5+=run .include <bsd.port.options.mk> -.if ${ARCH} == "i386" -CPPFLAGS+= -DCRYPTOPP_DISABLE_ASM -.endif - .if ${PORT_OPTIONS:MED2K} CONFLICTS+= ed2k-hash* .endif diff --git a/net-p2p/amule/files/patch-src_ClientCreditsList.cpp b/net-p2p/amule/files/patch-src_ClientCreditsList.cpp new file mode 100644 index 000000000000..03377e4105d5 --- /dev/null +++ b/net-p2p/amule/files/patch-src_ClientCreditsList.cpp @@ -0,0 +1,16 @@ +From 27c13f3e622b8a3eaaa05bb62b0149604bdcc9e8 Mon Sep 17 00:00:00 2001 +From: Tommy Jerry Mairo <tommy.mairo@gmail.com> +Date: Wed, 21 Mar 2018 19:56:28 +0100 +Subject: [PATCH] Bugfix: API mismatch with crypto++ 6.0.0 + +--- src/ClientCreditsList.cpp.orig 2016-09-16 07:55:06 UTC ++++ src/ClientCreditsList.cpp +@@ -312,7 +312,7 @@ void CClientCreditsList::InitalizeCrypting() + // calculate and store public key + CryptoPP::RSASSA_PKCS1v15_SHA_Verifier pubkey(*static_cast<CryptoPP::RSASSA_PKCS1v15_SHA_Signer *>(m_pSignkey)); + CryptoPP::ArraySink asink(m_abyMyPublicKey, 80); +- pubkey.DEREncode(asink); ++ pubkey.GetMaterial().Save(asink); + m_nMyPublicKeyLen = asink.TotalPutLength(); + asink.MessageEnd(); + } catch (const CryptoPP::Exception& e) { diff --git a/security/cryptopp/Makefile b/security/cryptopp/Makefile index 02182635ca71..73700d87bba6 100644 --- a/security/cryptopp/Makefile +++ b/security/cryptopp/Makefile @@ -1,13 +1,8 @@ # Created by: George Reid <greid@ukug.uk.freebsd.org> # $FreeBSD$ -# Minor version bumps may not be ABI compatible and deskutils/cdcat -# links to the static library, so bump PORTREVISION of dependent -# ports when appropriate. - PORTNAME= cryptopp -PORTVERSION= 5.6.5 -PORTREVISION= 5 +PORTVERSION= 7.0.0 CATEGORIES= security MASTER_SITES= http://www.cryptopp.com/ DISTNAME= cryptopp${PORTVERSION:S/.//g} @@ -30,7 +25,7 @@ NO_WRKSUBDIR= yes CXXFLAGS+= -Wno-deprecated-declarations -fPIC MAKEFILE= GNUmakefile -ALL_TARGET= static shared +ALL_TARGET= static shared libcryptopp.pc SOVERSION= ${PORTVERSION:R:R} PLIST_SUB+= SOVERSION=${SOVERSION} \ @@ -61,30 +56,18 @@ THREADS_LDFLAGS= -lpthread .include <bsd.port.options.mk> .if ${PORT_OPTIONS:MSIMD} -. if ${MACHINE_CPU:Msse2} -USES+= compiler:c++14-lang -CXXFLAGS+= -msse2 -. else +. if !${MACHINE_CPU:Msse2} CXXFLAGS+= -DCRYPTOPP_DISABLE_ASM -DCRYPTOPP_DISABLE_SSE2 . endif -. if ${MACHINE_CPU:Msse3} && ${MACHINE_CPU:Mssse3} -CXXFLAGS+= -msse3 -mssse3 -. else -CXXFLAGS+= -DCRYPTOPP_DISABLE_SSE3 +. if !${MACHINE_CPU:Mssse3} +CXXFLAGS+= -DCRYPTOPP_DISABLE_SSSE3 . endif -. if ${MACHINE_CPU:Msse41} && ${MACHINE_CPU:Msse42} -CXXFLAGS+= -msse4.1 -msse4.2 -. else +. if !${MACHINE_CPU:Msse41} CXXFLAGS+= -DCRYPTOPP_DISABLE_SSE4 . endif .else -CXXFLAGS+= -DCRYPTOPP_DISABLE_ASM -.endif - -.include <bsd.port.pre.mk> - -.if ${PORT_OPTIONS:MSIMD} && ${MACHINE_CPU:Msse2} && ${CHOSEN_COMPILER_TYPE} == gcc -USE_GCC= yes +CXXFLAGS+= -DCRYPTOPP_DISABLE_ASM -DCRYPTOPP_DISABLE_SSE2 \ + -DCRYPTOPP_DISABLE_SSSE3 -DCRYPTOPP_DISABLE_SSE4 .endif pre-configure-FULL_DEBUG-on: @@ -105,6 +88,7 @@ do-install: ${INSTALL_LIB} ${WRKSRC}/libcryptopp.so ${STAGEDIR}${PREFIX}/lib/libcryptopp.so.${PORTVERSION} ${LN} -fs libcryptopp.so.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libcryptopp.so.${SOVERSION} ${LN} -fs libcryptopp.so.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libcryptopp.so + ${INSTALL_DATA} ${WRKSRC}/libcryptopp.pc ${STAGEDIR}${PREFIX}/libdata/pkgconfig @${MKDIR} ${STAGEDIR}${PREFIX}/include/cryptopp (for i in `${FIND} ${WRKSRC}/ -name '*.h' \ -and -not -name 'dll.h' \ @@ -121,4 +105,4 @@ do-install-TOOLS-on: ${INSTALL_PROGRAM} ${WRKSRC}/cryptest.exe ${STAGEDIR}${PREFIX}/bin/cryptest ${INSTALL_DATA} ${WRKSRC}/TestData/usage.dat ${STAGEDIR}${DATADIR}/TestData -.include <bsd.port.post.mk> +.include <bsd.port.mk> diff --git a/security/cryptopp/distinfo b/security/cryptopp/distinfo index 3507e3daa7d0..b58dfc78260a 100644 --- a/security/cryptopp/distinfo +++ b/security/cryptopp/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1480818667 -SHA256 (cryptopp565.zip) = a75ef486fe3128008bbb201efee3dcdcffbe791120952910883b26337ec32c34 -SIZE (cryptopp565.zip) = 4220843 +TIMESTAMP = 1534123149 +SHA256 (cryptopp700.zip) = a4bc939910edd3d29fb819a6fc0dfdc293f686fa62326f61c56d72d0a366ceb0 +SIZE (cryptopp700.zip) = 7296665 diff --git a/security/cryptopp/files/patch-GNUmakefile b/security/cryptopp/files/patch-GNUmakefile index 2e95be9a6c88..4e7fb30ea3a7 100644 --- a/security/cryptopp/files/patch-GNUmakefile +++ b/security/cryptopp/files/patch-GNUmakefile @@ -1,40 +1,24 @@ ---- GNUmakefile.orig 2016-10-10 23:49:54 UTC +We need to export the CRYPTOPP_DISABLE_ASM flag if cryptopp was not built +with SIMD support. Certain functions prototypes are guarded by this +flag and build failures will arise in other ports if not set appropriately. + +--- GNUmakefile.orig 2018-04-08 08:47:12 UTC +++ GNUmakefile -@@ -41,7 +41,7 @@ SUNCC_511_OR_LATER := $(shell $(CXX) -V - SUNCC_512_OR_LATER := $(shell $(CXX) -V 2>&1 | $(EGREP) -c "CC: (Sun|Studio) .* (5\.1[2-9]|5\.[2-9]|6\.)") - SUNCC_513_OR_LATER := $(shell $(CXX) -V 2>&1 | $(EGREP) -c "CC: (Sun|Studio) .* (5\.1[3-9]|5\.[2-9]|6\.)") +@@ -90,7 +90,7 @@ SUNCC_512_OR_LATER := $(shell echo "$(SUNCC_VERSION)" + SUNCC_513_OR_LATER := $(shell echo "$(SUNCC_VERSION)" | $(GREP) -i -c -E "CC: (Sun|Studio) .* (5\.1[3-9]|5\.[2-9]|6\.)") + # Enable shared object versioning for Linux -HAS_SOLIB_VERSION := $(IS_LINUX) +HAS_SOLIB_VERSION := 1 # Fixup SunOS ifeq ($(IS_SUN),1) -@@ -126,11 +126,6 @@ ifeq ($(IS_X86)$(IS_X32)$(IS_CYGWIN)$(IS - endif - - # Guard use of -march=native --ifeq ($(GCC42_OR_LATER)$(IS_NETBSD),10) -- CXXFLAGS += -march=native --else ifneq ($(CLANG_COMPILER)$(INTEL_COMPILER),00) -- CXXFLAGS += -march=native --else - # GCC 3.3 and "unknown option -march=" - # Ubuntu GCC 4.1 compiler crash with -march=native - # NetBSD GCC 4.8 compiler and "bad value (native) for -march= switch" -@@ -140,7 +135,6 @@ else - else ifeq ($(SUN_COMPILER)$(IS_X86),01) - CXXFLAGS += -m32 - endif # X86/X32/X64 --endif - - # Aligned access required for -O3 and above due to vectorization - UNALIGNED_ACCESS := $(shell $(EGREP) -c "^[[:space:]]*//[[:space:]]*\#[[:space:]]*define[[:space:]]*CRYPTOPP_NO_UNALIGNED_DATA_ACCESS" config.h) -@@ -404,7 +398,7 @@ ifeq ($(HAS_SOLIB_VERSION),1) - # Full version suffix for shared library - SOLIB_VERSION_SUFFIX=.$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH) - # Different patchlevels are compatible, minor versions are not --SOLIB_COMPAT_SUFFIX=.$(LIB_MAJOR).$(LIB_MINOR) -+SOLIB_COMPAT_SUFFIX=.$(LIB_MAJOR) - SOLIB_FLAGS=-Wl,-soname,libcryptopp.so$(SOLIB_COMPAT_SUFFIX) - endif # HAS_SOLIB_VERSION +@@ -957,7 +957,7 @@ libcryptopp.pc: + @echo 'Version: 7.0' >> libcryptopp.pc + @echo 'URL: https://cryptopp.com/' >> libcryptopp.pc + @echo '' >> libcryptopp.pc +- @echo 'Cflags: -I$${includedir}' >> libcryptopp.pc ++ @echo 'Cflags: -I$${includedir} $(findstring -DCRYPTOPP_DISABLE_ASM,$(CXXFLAGS))' >> libcryptopp.pc + @echo 'Libs: -L$${libdir} -lcryptopp' >> libcryptopp.pc + # This recipe prepares the distro files diff --git a/security/cryptopp/files/patch-config.h b/security/cryptopp/files/patch-config.h deleted file mode 100644 index b12b8a2f7f36..000000000000 --- a/security/cryptopp/files/patch-config.h +++ /dev/null @@ -1,33 +0,0 @@ -The definition of CRYPTOPP_BOOL_ALIGN16_ENABLED was incorrect for i386. -For NetBSD, this resulted in the inability to build cryptopp on i386. -On FreeBSD, it built, but deskutils/cdcat choked on it while building on -FreeBSD 10/i386 and FreeBSD 11/i386. (PR: 192199) - ---- config.h.orig 2016-10-10 23:49:54 UTC -+++ config.h -@@ -534,12 +534,6 @@ NAMESPACE_END - # endif - #endif - --#if CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE || CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE || CRYPTOPP_BOOL_NEON_INTRINSICS_AVAILABLE || defined(CRYPTOPP_X64_MASM_AVAILABLE) -- #define CRYPTOPP_BOOL_ALIGN16 1 --#else -- #define CRYPTOPP_BOOL_ALIGN16 0 --#endif -- - // how to allocate 16-byte aligned memory (for SSE2) - #if defined(CRYPTOPP_MSVC6PP_OR_LATER) - #define CRYPTOPP_MM_MALLOC_AVAILABLE -@@ -553,6 +547,12 @@ NAMESPACE_END - #define CRYPTOPP_NO_ALIGNED_ALLOC - #endif - -+#if CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE || CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE || CRYPTOPP_BOOL_NEON_INTRINSICS_AVAILABLE || defined(CRYPTOPP_X64_MASM_AVAILABLE) || !defined(CPRYPTO_NO_ALIGNED_ALLOC) -+ #define CRYPTOPP_BOOL_ALIGN16 1 -+#else -+ #define CRYPTOPP_BOOL_ALIGN16 0 -+#endif -+ - // Apple always provides 16-byte aligned, and tells us to use calloc - // http://developer.apple.com/library/mac/documentation/Performance/Conceptual/ManagingMemory/Articles/MemoryAlloc.html - diff --git a/security/cryptopp/files/patch-cpu.h b/security/cryptopp/files/patch-cpu.h new file mode 100644 index 000000000000..11cc6b1df9fb --- /dev/null +++ b/security/cryptopp/files/patch-cpu.h @@ -0,0 +1,17 @@ +Fix build with SIMD on FreeBSD 10.x + +--- cpu.h.orig 2018-04-08 08:47:11 UTC ++++ cpu.h +@@ -614,7 +614,12 @@ inline int GetCacheLineSize() + #define GNU_AS2(x, y) #x ", " #y ";" NEW_LINE + #define GNU_AS3(x, y, z) #x ", " #y ", " #z ";" NEW_LINE + #define GNU_ASL(x) "\n" #x ":" NEW_LINE ++ // clang 5.0.0 and apple clang 9.0.0 don't support numerical backward jumps ++#if (CRYPTOPP_LLVM_CLANG_VERSION >= 30000) || (CRYPTOPP_APPLE_CLANG_VERSION >= 90000) ++ #define GNU_ASJ(x, y, z) ATT_PREFIX ";" NEW_LINE #x " " #y #z ";" NEW_LINE INTEL_PREFIX ";" NEW_LINE ++#else + #define GNU_ASJ(x, y, z) #x " " #y #z ";" NEW_LINE ++#endif + #define AS1(x) GNU_AS1(x) + #define AS2(x, y) GNU_AS2(x, y) + #define AS3(x, y, z) GNU_AS3(x, y, z) diff --git a/security/cryptopp/files/patch-misc.h b/security/cryptopp/files/patch-misc.h index 8b966dd471be..194061634cb6 100644 --- a/security/cryptopp/files/patch-misc.h +++ b/security/cryptopp/files/patch-misc.h @@ -2,12 +2,12 @@ This fixes a warning triggered by testing an unsigned parameter against 0. The patch solves this by creating a different template for signed case. (PR: 178827) ---- misc.h.orig 2016-10-10 23:49:54 UTC +--- misc.h.orig 2018-04-08 08:47:11 UTC +++ misc.h -@@ -529,8 +529,10 @@ inline bool SafeConvert(T1 from, T2 &to) - //! \param value the value to convert - //! \param base the base to use during the conversion - //! \returns the string representation of value in base. +@@ -572,8 +572,10 @@ inline bool SafeConvert(T1 from, T2 &to) + /// \param value the value to convert + /// \param base the base to use during the conversion + /// \returns the string representation of value in base. +template<bool> struct IsUnsigned {}; + template <class T> @@ -16,7 +16,7 @@ for signed case. (PR: 178827) { // Hack... set the high bit for uppercase. static const unsigned int HIGH_BIT = (1U << 31); -@@ -541,12 +543,6 @@ std::string IntToString(T value, unsigne +@@ -584,12 +586,6 @@ std::string IntToString(T value, unsigned int base = 1 if (value == 0) return "0"; @@ -29,7 +29,7 @@ for signed case. (PR: 178827) std::string result; while (value > 0) { -@@ -554,11 +550,30 @@ std::string IntToString(T value, unsigne +@@ -597,9 +593,28 @@ std::string IntToString(T value, unsigned int base = 1 result = char((digit < 10 ? '0' : (CH - 10)) + digit) + result; value /= base; } @@ -49,14 +49,12 @@ for signed case. (PR: 178827) if (negate) result = "-" + result; return result; - } - ++} ++ +template <class T> +std::string IntToString(T value, unsigned int base = 10) +{ + return IntToStringImpl(value, base, IsUnsigned<(static_cast<T>(-1) > 0)>()); -+} -+ - //! \brief Converts an unsigned value to a string - //! \param value the value to convert - //! \param base the base to use during the conversion + } + + /// \brief Converts an unsigned value to a string diff --git a/security/cryptopp/files/patch-sse-simd.cpp b/security/cryptopp/files/patch-sse-simd.cpp new file mode 100644 index 000000000000..52eddb09bf38 --- /dev/null +++ b/security/cryptopp/files/patch-sse-simd.cpp @@ -0,0 +1,13 @@ +Fix build without SIMD on FreeBSD 10.x + +--- sse-simd.cpp.orig 2018-04-08 08:47:12 UTC ++++ sse-simd.cpp +@@ -23,7 +23,7 @@ + #endif + + // Needed by SunCC and MSVC +-#if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64) ++#if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64) && defined(CRYPTOPP_SSE2_ASM_AVAILABLE) + # include <emmintrin.h> + #endif + diff --git a/security/cryptopp/pkg-plist b/security/cryptopp/pkg-plist index 18a458440d48..bbe3232974fa 100644 --- a/security/cryptopp/pkg-plist +++ b/security/cryptopp/pkg-plist @@ -1,11 +1,13 @@ %%TOOLS%%bin/cryptest include/cryptopp/3way.h include/cryptopp/adler32.h +include/cryptopp/adv-simd.h include/cryptopp/aes.h include/cryptopp/algebra.h include/cryptopp/algparam.h include/cryptopp/arc4.h include/cryptopp/argnames.h +include/cryptopp/aria.h include/cryptopp/asn.h include/cryptopp/authenc.h include/cryptopp/base32.h @@ -31,11 +33,13 @@ include/cryptopp/des.h include/cryptopp/dh.h include/cryptopp/dh2.h include/cryptopp/dmac.h +include/cryptopp/drbg.h include/cryptopp/dsa.h include/cryptopp/eax.h include/cryptopp/ec2n.h include/cryptopp/eccrypto.h include/cryptopp/ecp.h +include/cryptopp/ecpoint.h include/cryptopp/elgamal.h include/cryptopp/emsa2.h include/cryptopp/eprecomp.h @@ -53,6 +57,7 @@ include/cryptopp/gf2n.h include/cryptopp/gfpcrypt.h include/cryptopp/gost.h include/cryptopp/gzip.h +include/cryptopp/hashfwd.h include/cryptopp/hex.h include/cryptopp/hkdf.h include/cryptopp/hmac.h @@ -62,6 +67,7 @@ include/cryptopp/ida.h include/cryptopp/idea.h include/cryptopp/integer.h include/cryptopp/iterhash.h +include/cryptopp/kalyna.h include/cryptopp/keccak.h include/cryptopp/lubyrack.h include/cryptopp/luc.h @@ -77,6 +83,7 @@ include/cryptopp/modes.h include/cryptopp/modexppc.h include/cryptopp/mqueue.h include/cryptopp/mqv.h +include/cryptopp/naclite.h include/cryptopp/nbtheory.h include/cryptopp/network.h include/cryptopp/nr.h @@ -84,10 +91,13 @@ include/cryptopp/oaep.h include/cryptopp/oids.h include/cryptopp/osrng.h include/cryptopp/ossig.h +include/cryptopp/padlkrng.h include/cryptopp/panama.h include/cryptopp/pch.h include/cryptopp/pkcspad.h +include/cryptopp/poly1305.h include/cryptopp/polynomi.h +include/cryptopp/ppc-simd.h include/cryptopp/pssr.h include/cryptopp/pubkey.h include/cryptopp/pwdbased.h @@ -105,6 +115,7 @@ include/cryptopp/rsa.h include/cryptopp/rw.h include/cryptopp/safer.h include/cryptopp/salsa.h +include/cryptopp/scrypt.h include/cryptopp/seal.h include/cryptopp/secblock.h include/cryptopp/seckey.h @@ -115,20 +126,27 @@ include/cryptopp/sha.h include/cryptopp/sha3.h include/cryptopp/shacal2.h include/cryptopp/shark.h +include/cryptopp/simon.h include/cryptopp/simple.h +include/cryptopp/siphash.h include/cryptopp/skipjack.h +include/cryptopp/sm3.h +include/cryptopp/sm4.h include/cryptopp/smartptr.h include/cryptopp/socketft.h include/cryptopp/sosemanuk.h +include/cryptopp/speck.h include/cryptopp/square.h include/cryptopp/stdcpp.h include/cryptopp/strciphr.h include/cryptopp/tea.h +include/cryptopp/threefish.h include/cryptopp/tiger.h include/cryptopp/trap.h include/cryptopp/trdlocal.h include/cryptopp/trunhash.h include/cryptopp/ttmac.h +include/cryptopp/tweetnacl.h include/cryptopp/twofish.h include/cryptopp/validate.h include/cryptopp/vmac.h @@ -146,5 +164,6 @@ lib/libcryptopp.a lib/libcryptopp.so lib/libcryptopp.so.%%SOVERSION%% lib/libcryptopp.so.%%PORTVERSION%% +libdata/pkgconfig/libcryptopp.pc %%TOOLS%%%%DATADIR%%/TestData/usage.dat %%PORTDOCS%%%%DOCSDIR%%/README |