Botan is a crypto library written in C++. It provides a variety of
cryptographic algorithms, including common ones such as AES, MD5, SHA,
HMAC, RSA, Diffie-Hellman, DSA, and ECDSA, as well as many others that
are more obscure or specialized. It also offers X.509v3 certificates
and CRLs, and PKCS #10 certificate requests. A message processing
system that uses a filter/pipeline metaphor allows for many common
cryptographic tasks to be completed with just a few lines of code.
Assembly optimizations for common CPUs, including x86, x86-64, and
PowerPC, offers further speedups for critical tasks such as SHA-1
hashing and multiple precision integer operations.
Botan is licensed under the same permissive terms as FreeBSD itself.
===> The following configuration options are available for botan3-3.13.0:
DOCS=on: Build and/or install documentation
LLVM_FROM_PORTS=off: Use LLVM from ports to build
MANPAGES=on: Build and/or install manual pages
PYTHON=off: Python bindings or support
SQLITE3=off: SQLite 3 database support
===> Use 'make config' to modify these settings
security/botan3: fix build on powerpc64
1. Actually fix detection of Crypto extensions.
2. --disable-powercrypto no longer works:
configure.py: error: no such option: --disable-powercrypto
Explicitly disable modules using VSX and Crypto.
all: drop support for expired FreeBSD 14.0
Simplify expressions for FreeBSD 13.X
Reviewed by: many
Differential Revision: https://reviews.freebsd.org/D46601
security/botan3: Optimize build, add TEST_TARGET
- relax LLVM requirement, per PR #279136, any llvm from
ports can compile botan3
- pass --compiler-cache if CCACHE_BIN is nonempty to
actually make use of ccache
- replace boost-libs LIB_DEPENDS=libboost_filesystem.so by
BUILD_DEPENDS=...asio.hpp to make purpose clearer and avoid
the stage-qa warning that libboost_filesystem.so is unused.
- add TEST_TARGET for "make test" and WITH_TESTING[_PORTS].
- strip support for FreeBSD before 1300000, end of life.
PR: 279173
Approved by: fluffy@ (maintainer)
security/botan3: libc++<16 lacks std::ranges::find, work around
...by using boost::range::find, we already depend on boost already.
PR: 279173
Approved by: portmgr@ (just-fix-it blanket approval)