1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-13 03:03:15 +00:00

New port: security/botan2: Portable, easy to use and efficient C++ crypto library

PR:		223199
Submitted by:	Ralf van der Enden <tremere@cainites.net>
Reviewed by:	tcberner (mentor)
Differential Revision:	https://reviews.freebsd.org/D13043
This commit is contained in:
Yuri Victorovich 2017-11-11 18:32:46 +00:00
parent 76f57ba8d7
commit fa43e5734b
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=453987
6 changed files with 382 additions and 0 deletions

View File

@ -48,6 +48,7 @@
SUBDIR += blindelephant
SUBDIR += boringssl
SUBDIR += botan110
SUBDIR += botan2
SUBDIR += bro
SUBDIR += broccoli
SUBDIR += bruteblock

52
security/botan2/Makefile Normal file
View File

@ -0,0 +1,52 @@
# $FreeBSD$
PORTNAME= botan
DISTVERSION= 2.3.0
CATEGORIES= security
MASTER_SITES= http://botan.randombit.net/releases/
PKGNAMESUFFIX= 2
DISTNAME= Botan-${PORTVERSION}
MAINTAINER= tremere@cainites.net
COMMENT= Portable, easy to use and efficient C++ crypto library
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/license.txt
LIB_DEPENDS= libboost_filesystem.so:devel/boost-libs
OPTIONS_DEFINE= SQLITE3 SSL DOCS
OPTIONS_DEFAULT= SSL
OPTIONS_SUB= yes
USES= compiler:c++11-lang gmake python:build shebangfix tar:tgz
HAS_CONFIGURE= yes
USE_LDCONFIG= yes
CONFIGURE_SCRIPT= configure.py
CONFIGURE_ARGS= --with-external-includedir=${PREFIX}/include \
--with-external-libdir=${PREFIX}/lib \
--with-boost --with-bzip2 --with-lzma --with-zlib
LDFLAGS+= -pthread
SHEBANG_FILES= configure.py src/scripts/install.py
DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}-${PORTVERSION}
PORTDOCS= *
SQLITE3_USES= sqlite
SQLITE3_CONFIGURE_WITH= sqlite3
SSL_USES= ssl
SSL_CONFIGURE_WITH= openssl
SSL_VARS= BROKEN_SSL= openssl-devel
post-patch:
@${REINPLACE_CMD} -e 's|^optimization_flags .*|optimization_flags "${CXXFLAGS}"|' \
${WRKSRC}/src/build-data/cc/clang.txt
post-stage:
.for i in bin/botan lib/libbotan-2.so.3.3.0
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/${i}
.endfor
.include <bsd.port.mk>

3
security/botan2/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1508527395
SHA256 (Botan-2.3.0.tgz) = 39f970fee5986a4c3e425030aef50ac284da18596c004d1a9cce7688c4e6d47c
SIZE (Botan-2.3.0.tgz) = 5947072

View File

@ -0,0 +1,10 @@
--- src/lib/prov/openssl/openssl_rsa.cpp.orig 2017-11-11 07:42:40 UTC
+++ src/lib/prov/openssl/openssl_rsa.cpp
@@ -17,6 +17,7 @@
#include <functional>
#include <memory>
+#include <cstdlib>
#include <openssl/rsa.h>
#include <openssl/x509.h>

14
security/botan2/pkg-descr Normal file
View File

@ -0,0 +1,14 @@
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.
WWW: http://botan.randombit.net/

302
security/botan2/pkg-plist Normal file
View File

@ -0,0 +1,302 @@
bin/botan
include/botan-2/botan/adler32.h
include/botan-2/botan/aead.h
include/botan-2/botan/aes.h
include/botan-2/botan/alg_id.h
include/botan-2/botan/aria.h
include/botan-2/botan/asn1_alt_name.h
include/botan-2/botan/asn1_attribute.h
include/botan-2/botan/asn1_obj.h
include/botan-2/botan/asn1_oid.h
include/botan-2/botan/asn1_str.h
include/botan-2/botan/asn1_time.h
include/botan-2/botan/assert.h
include/botan-2/botan/atomic.h
include/botan-2/botan/auto_rng.h
include/botan-2/botan/b64_filt.h
include/botan-2/botan/base64.h
include/botan-2/botan/basefilt.h
include/botan-2/botan/bcrypt.h
include/botan-2/botan/ber_dec.h
include/botan-2/botan/bigint.h
include/botan-2/botan/blake2b.h
include/botan-2/botan/blinding.h
include/botan-2/botan/block_cipher.h
include/botan-2/botan/blowfish.h
include/botan-2/botan/botan.h
include/botan-2/botan/bswap.h
include/botan-2/botan/buf_comp.h
include/botan-2/botan/buf_filt.h
include/botan-2/botan/build.h
include/botan-2/botan/bzip2.h
include/botan-2/botan/calendar.h
include/botan-2/botan/camellia.h
include/botan-2/botan/cascade.h
include/botan-2/botan/cast128.h
include/botan-2/botan/cast256.h
include/botan-2/botan/cbc.h
include/botan-2/botan/cbc_mac.h
include/botan-2/botan/ccm.h
include/botan-2/botan/cecpq1.h
include/botan-2/botan/cert_status.h
include/botan-2/botan/certstor.h
include/botan-2/botan/certstor_sql.h
%%SQLITE3%%include/botan-2/botan/certstor_sqlite.h
include/botan-2/botan/cfb.h
include/botan-2/botan/chacha.h
include/botan-2/botan/chacha20poly1305.h
include/botan-2/botan/chacha_rng.h
include/botan-2/botan/charset.h
include/botan-2/botan/cipher_filter.h
include/botan-2/botan/cipher_mode.h
include/botan-2/botan/cmac.h
include/botan-2/botan/comb4p.h
include/botan-2/botan/comp_filter.h
include/botan-2/botan/compiler.h
include/botan-2/botan/compression.h
include/botan-2/botan/cpuid.h
include/botan-2/botan/crc24.h
include/botan-2/botan/crc32.h
include/botan-2/botan/credentials_manager.h
include/botan-2/botan/crl_ent.h
include/botan-2/botan/cryptobox.h
include/botan-2/botan/ctr.h
include/botan-2/botan/curve25519.h
include/botan-2/botan/curve_gfp.h
include/botan-2/botan/curve_nistp.h
include/botan-2/botan/data_snk.h
include/botan-2/botan/data_src.h
include/botan-2/botan/database.h
include/botan-2/botan/datastor.h
include/botan-2/botan/der_enc.h
include/botan-2/botan/des.h
include/botan-2/botan/desx.h
include/botan-2/botan/dh.h
include/botan-2/botan/divide.h
include/botan-2/botan/dl_algo.h
include/botan-2/botan/dl_group.h
include/botan-2/botan/dlies.h
include/botan-2/botan/dsa.h
include/botan-2/botan/dyn_load.h
include/botan-2/botan/eax.h
include/botan-2/botan/ec_group.h
include/botan-2/botan/ecc_key.h
include/botan-2/botan/ecdh.h
include/botan-2/botan/ecdsa.h
include/botan-2/botan/ecgdsa.h
include/botan-2/botan/ecies.h
include/botan-2/botan/eckcdsa.h
include/botan-2/botan/ed25519.h
include/botan-2/botan/elgamal.h
include/botan-2/botan/eme.h
include/botan-2/botan/eme_pkcs.h
include/botan-2/botan/eme_raw.h
include/botan-2/botan/emsa.h
include/botan-2/botan/emsa1.h
include/botan-2/botan/emsa_pkcs1.h
include/botan-2/botan/emsa_raw.h
include/botan-2/botan/emsa_x931.h
include/botan-2/botan/entropy_src.h
include/botan-2/botan/exceptn.h
include/botan-2/botan/fd_unix.h
include/botan-2/botan/ffi.h
include/botan-2/botan/filter.h
include/botan-2/botan/filters.h
include/botan-2/botan/fpe_fe1.h
include/botan-2/botan/gcm.h
include/botan-2/botan/gf2m_small_m.h
include/botan-2/botan/gmac.h
include/botan-2/botan/gost_28147.h
include/botan-2/botan/gost_3410.h
include/botan-2/botan/gost_3411.h
include/botan-2/botan/hash.h
include/botan-2/botan/hash_id.h
include/botan-2/botan/hex.h
include/botan-2/botan/hex_filt.h
include/botan-2/botan/hkdf.h
include/botan-2/botan/hmac.h
include/botan-2/botan/hmac_drbg.h
include/botan-2/botan/hotp.h
include/botan-2/botan/http_util.h
include/botan-2/botan/idea.h
include/botan-2/botan/init.h
include/botan-2/botan/iso9796.h
include/botan-2/botan/kasumi.h
include/botan-2/botan/kdf.h
include/botan-2/botan/kdf1.h
include/botan-2/botan/kdf1_iso18033.h
include/botan-2/botan/kdf2.h
include/botan-2/botan/keccak.h
include/botan-2/botan/key_constraint.h
include/botan-2/botan/key_filt.h
include/botan-2/botan/key_spec.h
include/botan-2/botan/keypair.h
include/botan-2/botan/lion.h
include/botan-2/botan/loadstor.h
include/botan-2/botan/locking_allocator.h
include/botan-2/botan/lookup.h
include/botan-2/botan/lzma.h
include/botan-2/botan/mac.h
include/botan-2/botan/mceies.h
include/botan-2/botan/mceliece.h
include/botan-2/botan/md4.h
include/botan-2/botan/md5.h
include/botan-2/botan/mdx_hash.h
include/botan-2/botan/mem_ops.h
include/botan-2/botan/mgf1.h
include/botan-2/botan/misty1.h
include/botan-2/botan/mode_pad.h
include/botan-2/botan/mp_types.h
include/botan-2/botan/mul128.h
include/botan-2/botan/mutex.h
include/botan-2/botan/name_constraint.h
include/botan-2/botan/newhope.h
include/botan-2/botan/noekeon.h
include/botan-2/botan/numthry.h
include/botan-2/botan/oaep.h
include/botan-2/botan/ocb.h
include/botan-2/botan/ocsp.h
include/botan-2/botan/ocsp_types.h
include/botan-2/botan/ofb.h
include/botan-2/botan/oids.h
include/botan-2/botan/p11.h
include/botan-2/botan/p11_ecc_key.h
include/botan-2/botan/p11_ecdh.h
include/botan-2/botan/p11_ecdsa.h
include/botan-2/botan/p11_module.h
include/botan-2/botan/p11_object.h
include/botan-2/botan/p11_randomgenerator.h
include/botan-2/botan/p11_rsa.h
include/botan-2/botan/p11_session.h
include/botan-2/botan/p11_slot.h
include/botan-2/botan/p11_x509.h
include/botan-2/botan/package.h
include/botan-2/botan/par_hash.h
include/botan-2/botan/parsing.h
include/botan-2/botan/passhash9.h
include/botan-2/botan/pbes2.h
include/botan-2/botan/pbkdf.h
include/botan-2/botan/pbkdf1.h
include/botan-2/botan/pbkdf2.h
include/botan-2/botan/pem.h
include/botan-2/botan/pgp_s2k.h
include/botan-2/botan/pipe.h
include/botan-2/botan/pk_algs.h
include/botan-2/botan/pk_keys.h
include/botan-2/botan/pk_ops.h
include/botan-2/botan/pk_ops_fwd.h
include/botan-2/botan/pkcs10.h
include/botan-2/botan/pkcs11.h
include/botan-2/botan/pkcs11f.h
include/botan-2/botan/pkcs11t.h
include/botan-2/botan/pkcs8.h
include/botan-2/botan/point_gfp.h
include/botan-2/botan/poly1305.h
include/botan-2/botan/polyn_gf2m.h
include/botan-2/botan/pow_mod.h
include/botan-2/botan/prf_tls.h
include/botan-2/botan/prf_x942.h
include/botan-2/botan/pssr.h
include/botan-2/botan/pubkey.h
include/botan-2/botan/rc4.h
include/botan-2/botan/rdrand_rng.h
include/botan-2/botan/reducer.h
include/botan-2/botan/rfc3394.h
include/botan-2/botan/rfc6979.h
include/botan-2/botan/rmd160.h
include/botan-2/botan/rng.h
include/botan-2/botan/rotate.h
include/botan-2/botan/rsa.h
include/botan-2/botan/salsa20.h
include/botan-2/botan/scan_name.h
include/botan-2/botan/secmem.h
include/botan-2/botan/secqueue.h
include/botan-2/botan/seed.h
include/botan-2/botan/serpent.h
include/botan-2/botan/sha160.h
include/botan-2/botan/sha2_32.h
include/botan-2/botan/sha2_64.h
include/botan-2/botan/sha3.h
include/botan-2/botan/shacal2.h
include/botan-2/botan/shake.h
include/botan-2/botan/shake_cipher.h
include/botan-2/botan/siphash.h
include/botan-2/botan/siv.h
include/botan-2/botan/skein_512.h
include/botan-2/botan/sm2.h
include/botan-2/botan/sm2_enc.h
include/botan-2/botan/sm3.h
include/botan-2/botan/sm4.h
include/botan-2/botan/sp800_108.h
include/botan-2/botan/sp800_56a.h
include/botan-2/botan/sp800_56c.h
%%SQLITE3%%include/botan-2/botan/sqlite3.h
include/botan-2/botan/srp6.h
include/botan-2/botan/stateful_rng.h
include/botan-2/botan/stl_compatibility.h
include/botan-2/botan/stream_cipher.h
include/botan-2/botan/stream_mode.h
include/botan-2/botan/streebog.h
include/botan-2/botan/sym_algo.h
include/botan-2/botan/symkey.h
include/botan-2/botan/system_rng.h
include/botan-2/botan/threefish.h
include/botan-2/botan/tiger.h
include/botan-2/botan/tls_alert.h
include/botan-2/botan/tls_blocking.h
include/botan-2/botan/tls_callbacks.h
include/botan-2/botan/tls_channel.h
include/botan-2/botan/tls_ciphersuite.h
include/botan-2/botan/tls_client.h
include/botan-2/botan/tls_exceptn.h
include/botan-2/botan/tls_extensions.h
include/botan-2/botan/tls_handshake_msg.h
include/botan-2/botan/tls_magic.h
include/botan-2/botan/tls_messages.h
include/botan-2/botan/tls_policy.h
include/botan-2/botan/tls_server.h
include/botan-2/botan/tls_server_info.h
include/botan-2/botan/tls_session.h
include/botan-2/botan/tls_session_manager.h
include/botan-2/botan/tls_session_manager_sql.h
%%SQLITE3%%include/botan-2/botan/tls_session_manager_sqlite.h
include/botan-2/botan/tls_version.h
include/botan-2/botan/totp.h
include/botan-2/botan/tss.h
include/botan-2/botan/twofish.h
include/botan-2/botan/types.h
include/botan-2/botan/version.h
include/botan-2/botan/whrlpool.h
include/botan-2/botan/workfactor.h
include/botan-2/botan/x509_ca.h
include/botan-2/botan/x509_crl.h
include/botan-2/botan/x509_dn.h
include/botan-2/botan/x509_ext.h
include/botan-2/botan/x509_key.h
include/botan-2/botan/x509_obj.h
include/botan-2/botan/x509cert.h
include/botan-2/botan/x509path.h
include/botan-2/botan/x509self.h
include/botan-2/botan/x919_mac.h
include/botan-2/botan/xmss.h
include/botan-2/botan/xmss_address.h
include/botan-2/botan/xmss_common_ops.h
include/botan-2/botan/xmss_hash.h
include/botan-2/botan/xmss_index_registry.h
include/botan-2/botan/xmss_key_pair.h
include/botan-2/botan/xmss_parameters.h
include/botan-2/botan/xmss_privatekey.h
include/botan-2/botan/xmss_publickey.h
include/botan-2/botan/xmss_tools.h
include/botan-2/botan/xmss_wots_parameters.h
include/botan-2/botan/xmss_wots_privatekey.h
include/botan-2/botan/xmss_wots_publickey.h
include/botan-2/botan/xtea.h
include/botan-2/botan/xts.h
include/botan-2/botan/zlib.h
lib/libbotan-2.a
lib/libbotan-2.so
lib/libbotan-2.so.3
lib/libbotan-2.so.3.3.0
%%PYTHON_SITELIBDIR%%/botan2.py
libdata/pkgconfig/botan-2.pc