Crypto++ Library is a free C++ class library of cryptographic schemes.
One purpose of Crypto++ is to act as a repository of public domain (not
copyrighted) source code. Although the library is copyrighted as a
compilation, the individual files in it (except for a few exceptions listed
in the license) are in the public domain.
===> The following configuration options are available for cryptopp-8.9.0_1:
DEBUG=off: Build with debugging support
DOCS=on: Build and/or install documentation
FULL_DEBUG=off: Build with full debugging support (SECURITY RISK!!!)
SIMD=off: Use CPU-specific optimizations
TOOLS=on: Install encryption/decryption tools
===> Use 'make config' to modify these settings
security/cryptopp-modern: New port: C++ class library of cryptographic
algorithms and schemes
- Add CONFLICTS_INSTALL to security/cryptopp
Actively maintained fork of Crypto++ library which features multiple
algorithms and schemes such as:
ChaCha20-Poly1305, AES, Camellia, Blowfish, Threefish, Triple-DES, block
mode chipers, BLAKE2s, BLAKE3, GMAC, HMAC, SHA*, RSA, DSA, DH, ed25519,
x25519, Argon2, ML-KEM ML-DSA to name a few.
It acts as a drop-in API/ABI compatible replacement for the original
Crypto++ library
WWW: https://github.com/cryptopp-modern/cryptopp-modern
Reviewed by: diizzy
security/cryptopp: Update to 8.7.0
Drop most of the SIMD logic. The cryptopp Makefile autodetects CPU
features regardless if CPUTYPE is set and it is not possible to disable
specific instruction sets. It is only possible to completely disable
assembly optimizations, which is recommended for package building unless
all consumer machines support the build machine's CPU instruction sets.
Since version 8.1, it is no longer necessary to export
-DCRYPTOPP_DISABLE_ASM to the pkgconfig file. Consumers will now
build without it defined if the SIMD option is disabled. Remove old
workarounds pertaining to this issue.
https://github.com/weidai11/cryptopp/issues/779
Bump PORTREVISION on consumers due to ABI incompatibility.
https://www.cryptopp.com/release870.html
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
security: remove 'Created by' lines
A big Thank You to the original contributors of these ports:
* <ports@c0decafe.net>
* Aaron Dalton <aaron@FreeBSD.org>
* Adam Weinberger <adamw@FreeBSD.org>
* Ade Lovett <ade@FreeBSD.org>
* Aldis Berjoza <aldis@bsdroot.lv>
* Alex Dupre <ale@FreeBSD.org>
* Alex Kapranoff <kappa@rambler-co.ru>
* Alex Samorukov <samm@freebsd.org>
* Alexander Botero-Lowry <alex@foxybanana.com>
* Alexander Kriventsov <avk@vl.ru>
* Alexander Leidinger <netchild@FreeBSD.org>
(Only the first 15 lines of the commit message are shown above )
Update security/cryptopp to 8.2.0
Remove THREADS option - upstream recommends building with threads and the
build system now adds the appropriate flags automatically
Bump PORTREVISION on consumers due to shared lib version increase
PR: 241132
Submitted by: Farid Hajji <farid@hajji.name>
Bump PORTREVISION for ports depending on the canonical version of GCC
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
Add support for building with AltiVec extensions. Note that because
MACHINE_CPU is not defined on powerpc*, we rely only on ARCH.
Because of this we choose to optimize using instructions available in
POWER8 and newer, so this port built with SIMD option won't work on older
POWER CPUs (we could however add additional options for that, to support
AltiVec in older POWER, if desired).
While here, also remove BROKEN on powerpc.
PR: 234953
Submitted by: Piotr Kubaj
Approved by: portmgr (tier-2 blanket)
Bump PORTREVISION for ports depending on the canonical version of GCC
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.
PR: 231590
Update security/cryptopp to 7.0.0
We now install a pkgconfig file which will allow ports to check whether
cryptopp was built with assembly instructions enabled or not. There are
a few functions that will be undefined if built without assembly and
-DCRYPTOPP_DISABLE_ASM needs to be passed to the compiler in that case
to avoid build failures. This is not new, but the pkgconf file should
make it easier to determine if the flag is needed or not.
Fix several ports due to API changes and to use the new pkgconf file
to determine cryptopp location and build flags. Special cases below.
deskutils/cdcat
- Use cryptopp shared library instead of static, detect with pkgconf
(Only the first 15 lines of the commit message are shown above )
Bump PORTREVISION for ports depending on the canonical version of GCC
in the ports tree (via Mk/bsd.default-versions.mk and lang/gcc) which
has now moved from GCC 6 to GCC 7 by default.
This includes ports
- featuring USE_GCC=yes or USE_GCC=any,
- featuring USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and those
- with USES=compiler specifying one of openmp, nestedfct, c11, c++0x,
c++11-lib, c++11-lang, c++14-lang, c++17-lang, or gcc-c++11-lib.
PR: 222542
Reinstate the cryptest binary removed in r428022 as it may be useful to some
people. Since it was installed by default before, so it shall be now. It can
be toggled with the TOOLS option. For the regression tests to run, it must be
toggled OFF due to environment restrictions.
While here:
- Switch to plain USES=zip, it extracts fine with base unzip
- Clean up whitespace
- Fix portlint warnings
- Rename LIBVERSION variable to SOVERSION
PR: 222930
Submitted by: Roberto Fernandez Cueto <roberfern@gmail.com>
Bump PORTREVISION for ports depending on the canonical version of GCC
(via Mk/bsd.default-versions.mk and lang/gcc) which has moved from
GCC 5.4 to GCC 6.4 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++11-lang,
c++14-lang, c++0x, c11, or gcc-c++11-lib.
PR: 219275
Bump PORTREVISIONs for ports depending on the canonical version of GCC and
lang/gcc which have moved from GCC 4.9.4 to GCC 5.4 (at least under some
circumstances such as versions of FreeBSD or platforms).
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using using Mk/bsd.octave.mk which in turn has USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++14-lang,
c++11-lang, c++0x, c11, or gcc-c++11-lib.
PR: 216707
- Update security/cryptopp to 5.6.5
- Add LICENSE (BSL)
- Add CPE data
- Remove STATIC option and always install the shared library;
no reason not to.
- Remove GCC option and use USES=compiler framework
- Add FULL_DEBUG option to address CVE-2016-7420 and add a warning if trying
to use it. It will allow the asserts to be enabled which could be a
security risk. The standard DEBUG option is now safe to use.
- Add SIMD option for i386 and amd64 - requires a recent clang or gcc
- Don't install the cryptest binary; it is really only used for regression
testing, so only build it for the TEST_TARGET. It is useless without the
data files anyways.
- Take maintainership
- Bump PORTREVISON on dependent ports due to shared library bump
PR: 215015
Reported by: <fcsk.aim@gmail.com>
MFH: 2016Q4
Security: eab68cff-bc0c-11e6-b2ca-001b3856973b
Bump PORTREVISIONS for ports depending on the canonical version of GCC and
lang/gcc which have moved from GCC 4.8.5 to GCC 4.9.4 (at least under some
circumstances such as versions of FreeBSD or platforms).
In particular that is ports with USE_GCC=yes, USE_GCC=any, or one of
gcc-c++11-lib, openmp, nestedfct, c++11-lib as well as c++14-lang,
c++11-lang, c++0x, c11 requested via USES=compiler.
security/cryptopp: Add patch from pkgsrc
The definition of CRYPTOPP_BOOL_ALIGN16_ENABLED was incorrect for i386.
For NetBSD, this resulted in the inability to build cryptopp on i386.
On FreeBSD, it built, but deskutils/cdcat choked on it while building on
FreeBSD 10/i386 and FreeBSD 11/i386.
PR: 192199
Fix from: pkgsrc security/crypto++
Discussed: NetBSD GNATS 48134
Approved by: delphi@
Replace USE_GCC=4.6+ and USE_GCC=4.4+ by USE_GCC=yes.
Right now this is a noop in the former case and a noop in the latter
case unless lang/gcc44 has been installed explicitly.
This puts a bit more emphasis on standardizing on a canonical version
"current" GCC and makes it easier to update that canonical version
by changing the default in Mk/bsd.gcc.mk and updating the lang/gcc port.
That is, USE_GCC=yes means "use a decent/modern version of GCC" without
having to worry about details.
Approved by: portmgr (bdrewery)
This changeset fixes two issues with crypto++ library:
* patch-misc.h
This fixes a warning triggered by testing an unsigned parameter against
0. The patch solves this by creating a different template for signed
case.
* patch-nbtheory.cpp
This is a workaround for a bug with the current version of libc++ shipped
with FreeBSD 9.x, which causes an infinite loop when generating RSA key,
possibly also other operations.
PR: ports/178827
Submitted by: Michael Gmelin <freebsd grem de>
Make it possible to build and install shared library of crypto++, and
convert to use OPTIONSng [1].
While I'm there, also add an option to build with GCC 4.6.x and newer
binutils, which enables use of AES-NI.
PR: ports/170045
Submitted by: Michael Gmelin <freebsd grem.de>
Remove more tags from pkg-descr files fo the form:
- Name
em@i.l
or variations thereof. While I'm here also fix some whitespace and other
formatting errors, including moving WWW: to the last line in the file.
crypto++ assumes that the as(1) in PATH is the one used by c++(1),
which is not always true. When PATH is being configured to a
non-standard sequence, we may found an as(1) newer than the base
one and draw wrong conclusion which leads to failed builds.
Use the result given by c++. This is also accepted to upstream.
PR: ports/154325
Submitted by: swell.k gmail.com
Feature safe: yes