diff options
| author | wiz <wiz@pkgsrc.org> | 2022-04-01 08:01:11 +0000 |
|---|---|---|
| committer | wiz <wiz@pkgsrc.org> | 2022-04-01 08:01:11 +0000 |
| commit | 5cd3813f0a81b437cb20d73cf64e46d9888e0b35 (patch) | |
| tree | 8700c1da4ea40566a8d3b9428eb8e03b9503b737 /security/botan2 | |
| parent | feed1488079c30f683dc9287fbb3f61e91ac9803 (diff) | |
| download | pkgsrc-5cd3813f0a81b437cb20d73cf64e46d9888e0b35.tar.gz | |
security/botan2: import botan-2.19.1
Reimported from security/botan-devel.
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.
This package contains major version 2 of the library.
The version contains a much improved TLS infrastructure. It also
depends on C++11.
Diffstat (limited to 'security/botan2')
| -rw-r--r-- | security/botan2/DESCR | 15 | ||||
| -rw-r--r-- | security/botan2/Makefile | 68 | ||||
| -rw-r--r-- | security/botan2/PLIST | 388 | ||||
| -rw-r--r-- | security/botan2/buildlink3.mk | 16 | ||||
| -rw-r--r-- | security/botan2/distinfo | 8 | ||||
| -rw-r--r-- | security/botan2/patches/patch-configure.py | 16 | ||||
| -rw-r--r-- | security/botan2/patches/patch-src_build-data_os_openbsd.txt | 15 | ||||
| -rw-r--r-- | security/botan2/patches/patch-src_lib_utils_os__utils.cpp | 29 |
8 files changed, 555 insertions, 0 deletions
diff --git a/security/botan2/DESCR b/security/botan2/DESCR new file mode 100644 index 00000000000..3e61740fe91 --- /dev/null +++ b/security/botan2/DESCR @@ -0,0 +1,15 @@ +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. + +This package contains major version 2 of the library. + +The version contains a much improved TLS infrastructure. It also +depends on C++11. diff --git a/security/botan2/Makefile b/security/botan2/Makefile new file mode 100644 index 00000000000..b5cfaa739ea --- /dev/null +++ b/security/botan2/Makefile @@ -0,0 +1,68 @@ +# $NetBSD: Makefile,v 1.1 2022/04/01 08:01:11 wiz Exp $ + +DISTNAME= Botan-2.19.1 +PKGNAME= ${DISTNAME:tl} +CATEGORIES= security +MASTER_SITES= https://botan.randombit.net/releases/ +EXTRACT_SUFX= .tar.xz + +MAINTAINER= joerg@NetBSD.org +HOMEPAGE= https://botan.randombit.net/ +COMMENT= Portable, easy to use, and efficient C++ crypto library (v2) +LICENSE= 2-clause-bsd + +HAS_CONFIGURE= yes +USE_LANGUAGES= c++ + +PYTHON_FOR_BUILD_ONLY= yes + +CONFIG_SHELL= ${PYTHONBIN} +CONFIGURE_SCRIPT= ./configure.py +CONFIGURE_ARGS+= --prefix=${PREFIX} --with-zlib --with-boost +CONFIGURE_ARGS+= --docdir=share/doc +CONFIGURE_ARGS+= --without-sphinx + +REPLACE_PYTHON+= *.py src/scripts/*.py + +.include "../../mk/compiler.mk" +.if !empty(PKGSRC_COMPILER:Mclang) +CONFIGURE_ARGS+= --cc-bin=${CXX} --cc=clang +.else +CONFIGURE_ARGS+= --cc=gcc +.endif + +PLIST_VARS+= x86 +.if ${MACHINE_ARCH} == "x86_64" +PLIST.x86= yes +CONFIGURE_ARGS+= --cpu=amd64 +.elif ${MACHINE_ARCH} == "i386" +PLIST.x86= yes +CONFIGURE_ARGS+= --cpu=i386 +.elif ${MACHINE_ARCH} == "powerpc" +CONFIGURE_ARGS+= --cpu=ppc +.elif ${MACHINE_ARCH} == "powerpc64" +CONFIGURE_ARGS+= --cpu=ppc64 +.elif !empty(MACHINE_ARCH:Maarch64*) +CONFIGURE_ARGS+= --cpu=arm64 +.elif !empty(MACHINE_ARCH:Mearm*) +CONFIGURE_ARGS+= --cpu=arm32 +.endif + +MAKE_FLAGS+= LIB_OPT=${CXXFLAGS:Q} + +USE_TOOLS+= gmake + +PY_PATCHPLIST= yes + +LDFLAGS.SunOS+= -lnsl -lsocket + +TEST_TARGET= tests + +post-test: + cd ${WRKSRC} && ./botan-test + +.include "../../devel/zlib/buildlink3.mk" +.include "../../devel/boost-libs/buildlink3.mk" +.include "../../lang/python/application.mk" +.include "../../lang/python/extension.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/security/botan2/PLIST b/security/botan2/PLIST new file mode 100644 index 00000000000..24e24dde361 --- /dev/null +++ b/security/botan2/PLIST @@ -0,0 +1,388 @@ +@comment $NetBSD: PLIST,v 1.1 2022/04/01 08:01:11 wiz Exp $ +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/argon2.h +include/botan-2/botan/aria.h +include/botan-2/botan/asio_async_ops.h +include/botan-2/botan/asio_context.h +include/botan-2/botan/asio_error.h +include/botan-2/botan/asio_stream.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_print.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/auto_rng.h +include/botan-2/botan/b64_filt.h +include/botan-2/botan/base32.h +include/botan-2/botan/base58.h +include/botan-2/botan/base64.h +include/botan-2/botan/basefilt.h +include/botan-2/botan/bcrypt.h +include/botan-2/botan/bcrypt_pbkdf.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/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_flatfile.h +include/botan-2/botan/certstor_sql.h +include/botan-2/botan/certstor_system.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/ghash.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/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/monty.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/nist_keywrap.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/otp.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_types.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/pkix_enums.h +include/botan-2/botan/pkix_types.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 +${PLIST.x86}include/botan-2/botan/processor_rng.h +include/botan-2/botan/psk_db.h +include/botan-2/botan/psk_db_sql.h +include/botan-2/botan/pssr.h +include/botan-2/botan/pubkey.h +include/botan-2/botan/pwdhash.h +include/botan-2/botan/rc4.h +${PLIST.x86}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/roughtime.h +include/botan-2/botan/rsa.h +include/botan-2/botan/salsa20.h +include/botan-2/botan/scan_name.h +include/botan-2/botan/scrypt.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/sodium.h +include/botan-2/botan/sp800_108.h +include/botan-2/botan/sp800_56a.h +include/botan-2/botan/sp800_56c.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/threefish_512.h +include/botan-2/botan/tiger.h +include/botan-2/botan/tls_alert.h +include/botan-2/botan/tls_algos.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 +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/uuid.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_hash.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_wots.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/zfec.h +include/botan-2/botan/zlib.h +lib/libbotan-2.a +lib/libbotan-2.so +lib/libbotan-2.so.19 +lib/libbotan-2.so.19.19.1 +lib/pkgconfig/botan-2.pc +${PYSITELIB}/botan2.py +share/doc/${PKGNAME}/authors.txt +share/doc/${PKGNAME}/handbook/abi.rst +share/doc/${PKGNAME}/handbook/api_ref/bigint.rst +share/doc/${PKGNAME}/handbook/api_ref/block_cipher.rst +share/doc/${PKGNAME}/handbook/api_ref/cipher_modes.rst +share/doc/${PKGNAME}/handbook/api_ref/compression.rst +share/doc/${PKGNAME}/handbook/api_ref/contents.rst +share/doc/${PKGNAME}/handbook/api_ref/credentials_manager.rst +share/doc/${PKGNAME}/handbook/api_ref/cryptobox.rst +share/doc/${PKGNAME}/handbook/api_ref/ecc.rst +share/doc/${PKGNAME}/handbook/api_ref/env_vars.rst +share/doc/${PKGNAME}/handbook/api_ref/ffi.rst +share/doc/${PKGNAME}/handbook/api_ref/filters.rst +share/doc/${PKGNAME}/handbook/api_ref/fpe.rst +share/doc/${PKGNAME}/handbook/api_ref/hash.rst +share/doc/${PKGNAME}/handbook/api_ref/kdf.rst +share/doc/${PKGNAME}/handbook/api_ref/keywrap.rst +share/doc/${PKGNAME}/handbook/api_ref/message_auth_codes.rst +share/doc/${PKGNAME}/handbook/api_ref/otp.rst +share/doc/${PKGNAME}/handbook/api_ref/passhash.rst +share/doc/${PKGNAME}/handbook/api_ref/pbkdf.rst +share/doc/${PKGNAME}/handbook/api_ref/pkcs11.rst +share/doc/${PKGNAME}/handbook/api_ref/psk_db.rst +share/doc/${PKGNAME}/handbook/api_ref/pubkey.rst +share/doc/${PKGNAME}/handbook/api_ref/python.rst +share/doc/${PKGNAME}/handbook/api_ref/rng.rst +share/doc/${PKGNAME}/handbook/api_ref/roughtime.rst +share/doc/${PKGNAME}/handbook/api_ref/secmem.rst +share/doc/${PKGNAME}/handbook/api_ref/srp.rst +share/doc/${PKGNAME}/handbook/api_ref/stream_ciphers.rst +share/doc/${PKGNAME}/handbook/api_ref/tls.rst +share/doc/${PKGNAME}/handbook/api_ref/tpm.rst +share/doc/${PKGNAME}/handbook/api_ref/tss.rst +share/doc/${PKGNAME}/handbook/api_ref/versions.rst +share/doc/${PKGNAME}/handbook/api_ref/x509.rst +share/doc/${PKGNAME}/handbook/api_ref/zfec.rst +share/doc/${PKGNAME}/handbook/authors.txt +share/doc/${PKGNAME}/handbook/building.rst +share/doc/${PKGNAME}/handbook/cli.rst +share/doc/${PKGNAME}/handbook/contents.rst +share/doc/${PKGNAME}/handbook/credits.rst +share/doc/${PKGNAME}/handbook/deprecated.rst +share/doc/${PKGNAME}/handbook/dev_ref/configure.rst +share/doc/${PKGNAME}/handbook/dev_ref/contents.rst +share/doc/${PKGNAME}/handbook/dev_ref/continuous_integration.rst +share/doc/${PKGNAME}/handbook/dev_ref/contributing.rst +share/doc/${PKGNAME}/handbook/dev_ref/fuzzing.rst +share/doc/${PKGNAME}/handbook/dev_ref/mistakes.rst +share/doc/${PKGNAME}/handbook/dev_ref/oids.rst +share/doc/${PKGNAME}/handbook/dev_ref/os.rst +share/doc/${PKGNAME}/handbook/dev_ref/reading_list.rst +share/doc/${PKGNAME}/handbook/dev_ref/release_process.rst +share/doc/${PKGNAME}/handbook/dev_ref/test_framework.rst +share/doc/${PKGNAME}/handbook/dev_ref/todo.rst +share/doc/${PKGNAME}/handbook/goals.rst +share/doc/${PKGNAME}/handbook/index.rst +share/doc/${PKGNAME}/handbook/old_news.rst +share/doc/${PKGNAME}/handbook/packaging.rst +share/doc/${PKGNAME}/handbook/pgpkey.txt +share/doc/${PKGNAME}/handbook/roadmap.rst +share/doc/${PKGNAME}/handbook/security.rst +share/doc/${PKGNAME}/handbook/side_channels.rst +share/doc/${PKGNAME}/handbook/support.rst +share/doc/${PKGNAME}/license.txt +share/doc/${PKGNAME}/news.txt +share/doc/${PKGNAME}/pgpkey.txt diff --git a/security/botan2/buildlink3.mk b/security/botan2/buildlink3.mk new file mode 100644 index 00000000000..e1a8ab4f5ec --- /dev/null +++ b/security/botan2/buildlink3.mk @@ -0,0 +1,16 @@ +# $NetBSD: buildlink3.mk,v 1.1 2022/04/01 08:01:11 wiz Exp $ + +BUILDLINK_TREE+= botan + +.if !defined(BOTAN_BUILDLINK3_MK) +BOTAN_BUILDLINK3_MK:= + +BUILDLINK_API_DEPENDS.botan+= botan>=2.11 +BUILDLINK_ABI_DEPENDS.botan?= botan>=2.19.1 +BUILDLINK_PKGSRCDIR.botan?= ../../security/botan-devel + +.include "../../devel/zlib/buildlink3.mk" +.include "../../devel/boost-libs/buildlink3.mk" +.endif # BOTAN_BUILDLINK3_MK + +BUILDLINK_TREE+= -botan diff --git a/security/botan2/distinfo b/security/botan2/distinfo new file mode 100644 index 00000000000..ba65437fb06 --- /dev/null +++ b/security/botan2/distinfo @@ -0,0 +1,8 @@ +$NetBSD: distinfo,v 1.1 2022/04/01 08:01:11 wiz Exp $ + +BLAKE2s (Botan-2.19.1.tar.xz) = 8e7c4d58d26e388a8bc8cf83e4fc86096b47b8fe44c95dff611f906702fedabb +SHA512 (Botan-2.19.1.tar.xz) = e604be0e7e82da89e3e1949d3035a87dc63314bd9854d5fe5129ccb3ed5bc78edb0406c7f8ad1a152b59a63b6d98ba207a0851a08428c3452cce794614b5eef5 +Size (Botan-2.19.1.tar.xz) = 6088380 bytes +SHA1 (patch-configure.py) = 2688fe59474bf3de425b49d2e0c9c1f4ecccfd16 +SHA1 (patch-src_build-data_os_openbsd.txt) = 7858a819d457e0cb18a5b9d608c386bee36813ee +SHA1 (patch-src_lib_utils_os__utils.cpp) = ab44b46c0a9a649f055dc7cd8f54c6ffdf8246cb diff --git a/security/botan2/patches/patch-configure.py b/security/botan2/patches/patch-configure.py new file mode 100644 index 00000000000..aa5b80d8138 --- /dev/null +++ b/security/botan2/patches/patch-configure.py @@ -0,0 +1,16 @@ +$NetBSD: patch-configure.py,v 1.1 2022/04/01 08:01:12 wiz Exp $ + +Leave pkgsrc to handle security features. + +--- configure.py.orig 2019-07-01 10:23:16.000000000 +0000 ++++ configure.py +@@ -1266,9 +1266,6 @@ class CompilerInfo(InfoObject): # pylint + if options.msvc_runtime: + abi_link.add("/" + options.msvc_runtime) + +- if options.with_stack_protector and self.stack_protector_flags != '': +- abi_link.add(self.stack_protector_flags) +- + if options.with_coverage_info: + if self.coverage_flags == '': + raise UserError('No coverage handling for %s' % (self.basename)) diff --git a/security/botan2/patches/patch-src_build-data_os_openbsd.txt b/security/botan2/patches/patch-src_build-data_os_openbsd.txt new file mode 100644 index 00000000000..5eda6918c78 --- /dev/null +++ b/security/botan2/patches/patch-src_build-data_os_openbsd.txt @@ -0,0 +1,15 @@ +$NetBSD: patch-src_build-data_os_openbsd.txt,v 1.1 2022/04/01 08:01:12 wiz Exp $ + +Simplify library naming for OpenBSD. + +--- src/build-data/os/openbsd.txt.orig 2019-07-01 10:23:16.000000000 +0000 ++++ src/build-data/os/openbsd.txt +@@ -1,7 +1,5 @@ + +-soname_pattern_base "lib{libname}.so" +-soname_pattern_abi "lib{libname}.so.{abi_rev}.{version_minor}" +-soname_pattern_patch "lib{libname}.so.{abi_rev}.{version_minor}" ++soname_suffix "so" + + shared_lib_symlinks no + diff --git a/security/botan2/patches/patch-src_lib_utils_os__utils.cpp b/security/botan2/patches/patch-src_lib_utils_os__utils.cpp new file mode 100644 index 00000000000..8f8e1048e30 --- /dev/null +++ b/security/botan2/patches/patch-src_lib_utils_os__utils.cpp @@ -0,0 +1,29 @@ +$NetBSD: patch-src_lib_utils_os__utils.cpp,v 1.1 2022/04/01 08:01:12 wiz Exp $ + +Add check for ability to do mlock() on SunOS. + +--- src/lib/utils/os_utils.cpp.orig 2019-07-15 18:14:39.932394200 +0000 ++++ src/lib/utils/os_utils.cpp +@@ -325,7 +325,21 @@ size_t OS::system_page_size() + + size_t OS::get_memory_locking_limit() + { +-#if defined(BOTAN_TARGET_OS_HAS_POSIX1) && defined(BOTAN_TARGET_OS_HAS_POSIX_MLOCK) && defined(RLIMIT_MEMLOCK) ++#if defined(__sun) ++ priv_set_t *priv_set = priv_allocset(); ++ if (priv_set == nullptr) ++ return 0; ++ bool can_mlock = false; ++ ++ if(getppriv(PRIV_EFFECTIVE, priv_set) == 0) ++ can_mlock = priv_ismember(priv_set, PRIV_PROC_LOCK_MEMORY); ++ ++ priv_freeset(priv_set); ++ ++ /* XXX how to obtain the real limit? */ ++ size_t mlock_requested = BOTAN_MLOCK_ALLOCATOR_MAX_LOCKED_KB; ++ return can_mlock ? std::min<size_t>(512 * 1024, mlock_requested) : 0; ++#elif defined(BOTAN_TARGET_OS_HAS_POSIX1) && defined(BOTAN_TARGET_OS_HAS_POSIX_MLOCK) && defined(RLIMIT_MEMLOCK) + /* + * If RLIMIT_MEMLOCK is not defined, likely the OS does not support + * unprivileged mlock calls. |
