1PORTNAME= botan 2DISTVERSION= 3.7.1 3CATEGORIES= security 4MASTER_SITES= http://botan.randombit.net/releases/ 5PKGNAMESUFFIX= ${_BOTANMAJOR} 6DISTNAME= Botan-${PORTVERSION} 7 8MAINTAINER= ports@MidnightBSD.org 9COMMENT= Portable, easy to use and efficient C++ crypto library 10WWW= https://botan.randombit.net/ 11 12LICENSE= bsd2 13LICENSE_FILE= ${WRKSRC}/license.txt 14 15BUILD_DEPENDS= ${LOCALBASE}/include/boost/asio.hpp:devel/boost-libs 16 17USES= compiler:c++20-lang cpe gmake llvm shebangfix tar:xz # llvm fixes build failure, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279136 18CPE_VENDOR= ${PORTNAME}_project 19USE_LDCONFIG= yes 20 21SHEBANG_GLOB= *.py 22 23HAS_CONFIGURE= yes 24CONFIGURE_SCRIPT= configure.py 25CONFIGURE_ARGS= --cc=${CHOSEN_COMPILER_TYPE} \ 26 ${"${CCACHE_BIN}" != "":?--compiler-cache=${CCACHE_BIN}:} \ 27 --prefix=${PREFIX:Q} \ 28 --with-boost \ 29 --with-bzip2 \ 30 --with-external-includedir=${LOCALBASE}/include \ 31 --with-external-libdir=${LOCALBASE}/lib \ 32 --with-lzma \ 33 --with-zlib \ 34 --os=freebsd \ 35 --program-suffix=${_BOTANMAJOR} 36TEST_TARGET= check 37LDFLAGS+= -pthread 38 39DOCSDIR= ${LOCALBASE}/share/doc/${PORTNAME}-${PORTVERSION} 40 41_SOABIVER= 7 42_BOTANMAJOR= ${DISTVERSION:S/./ /g:[1]} 43_SHLIBVER= ${DISTVERSION:S/./ /g:[2]} 44_SHLIBVERPATCH= ${DISTVERSION:S/./ /g:[3]} 45PLIST_SUB= SHLIBVER=${_SHLIBVER} \ 46 SHLIBVERPATCH=${_SHLIBVERPATCH} \ 47 SOABIVER=${_SOABIVER} \ 48 BOTANMAJOR=${_BOTANMAJOR} 49PORTDOCS= * 50 51OPTIONS_DEFINE= DOCS MANPAGES PYTHON SQLITE3 52OPTIONS_DEFAULT= MANPAGES 53OPTIONS_SUB= yes 54 55MANPAGES_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0:textproc/py-sphinx@${PY_FLAVOR} \ 56 ${PYTHON_PKGNAMEPREFIX}furo>=2022.6.21:textproc/py-furo@${PY_FLAVOR} 57MANPAGES_CONFIGURE_WITH= sphinx 58 59PYTHON_USES= python 60PYTHON_USES_OFF= python:build 61PYTHON_CONFIGURE_ON= --with-python-versions=${PYTHON_VER} 62PYTHON_CONFIGURE_OFF= --no-install-python-module 63 64SQLITE3_USES= sqlite 65SQLITE3_CONFIGURE_WITH= sqlite3 66 67.include <bsd.mport.options.mk> 68 69.if ${ARCH} == aarch64 70CONFIGURE_ARGS+= --cc-abi="-march=armv8-a+crypto" 71.elif ${ARCH:Mpowerpc64*} 72CONFIGURE_ARGS+= --cpu="ppc64" 73.if !defined(MACHINE_CPU) || (defined(MACHINE_CPU) && !${MACHINE_ABI:Mvsx2}) 74CONFIGURE_ARGS+= --disable-powercrypto 75.endif 76.endif 77 78.if ${ARCH} == i386 || ${ARCH} == amd64 79PLIST_SUB+= HAS_RDRAND_RNG="" 80.else 81PLIST_SUB+= HAS_RDRAND_RNG="@comment " 82.endif 83 84.if ${ARCH} == i386 || ${ARCH} == amd64 || ${ARCH:Mpowerpc64*} 85PLIST_SUB+= HAS_PROCESSOR_RNG="" 86.else 87PLIST_SUB+= HAS_PROCESSOR_RNG="@comment " 88.endif 89 90post-patch: 91 @${REINPLACE_CMD} -e 's|^optimization_flags .*|optimization_flags "${CXXFLAGS}"|' \ 92 ${WRKSRC}/src/build-data/cc/clang.txt 93 94post-install: 95 ${STRIP_CMD} ${PREFIX}/bin/botan${_BOTANMAJOR} ${PREFIX}/lib/libbotan-${_BOTANMAJOR}.so.${_SOABIVER}.${_SHLIBVER}.${_SHLIBVERPATCH} 96 97.include <bsd.port.mk> 98