Skip to content

Commit

Permalink
security/botan2: import botan-2.19.1
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
0-wiz-0 committed Apr 1, 2022
1 parent feed148 commit 5cd3813
Show file tree
Hide file tree
Showing 8 changed files with 555 additions and 0 deletions.
15 changes: 15 additions & 0 deletions security/botan2/DESCR
Original file line number Diff line number Diff line change
@@ -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.
68 changes: 68 additions & 0 deletions security/botan2/Makefile
Original file line number Diff line number Diff line change
@@ -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= [email protected]
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"
Loading

0 comments on commit 5cd3813

Please sign in to comment.