mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-10 13:50:08 +02:00
x86_64 is used as a baseline: the "x86_64" entry, whatever status it has, is transformed into "all", and then the other entries in ARCHITECTURES either dropped or rearranged appropriately.
94 lines
2.5 KiB
Bash
94 lines
2.5 KiB
Bash
SUMMARY="A free C++ class library of cryptographic schemes"
|
|
DESCRIPTION="Crypto++ is a C++ Class Library of Cryptographic Schemes \
|
|
The library contains the following algorithms:
|
|
* Authenticated encryption schemes: (GCM, CCM, EAX)
|
|
* High speed stream ciphers: ChaCha (ChaCha8/12/20), Panama
|
|
* AES and AES candidates: AES (Rijndael), RC6, MARS, Twofish, Serpent
|
|
* Other block ciphers: IDEA, DES, Camellia, SEED, RC5, Blowfish,
|
|
* Block cipher modes of operation: ECB, CBC, CBC (CTS), CFB, OFB
|
|
* Message authentication codes: VMAC, HMAC, GMAC, CMAC, CBC-MAC, DMAC
|
|
* Hash functions: BLAKE2 (BLAKE2b, BLAKE2s), SHA-1, SHA-2, SHA-3
|
|
* Public-key cryptography: RSA, DSA, ElGamal, Nyberg-Rueppel (NR)
|
|
* Padding schemes for public-key systems: PKCS#1 v2.0, OAEP, PSS,
|
|
* Key agreement schemes: Diffie-Hellman (DH), Unified Diffie-Hellman (DH2),
|
|
* Elliptic curve cryptography: ECDSA, ECNR, ECIES, ECDH, ECMQV
|
|
* Insecure or obsolescent algorithms: MD2, MD4, MD5
|
|
* And many more other algorithms."
|
|
HOMEPAGE="https://cryptopp.com/"
|
|
COPYRIGHT="2015-2019 Wei Dai"
|
|
LICENSE="Boost v1.0"
|
|
REVISION="1"
|
|
SOURCE_URI="https://github.com/weidai11/cryptopp/archive/CRYPTOPP_${portVersion//./_}.tar.gz"
|
|
CHECKSUM_SHA256="e3bcd48a62739ad179ad8064b523346abb53767bcbefc01fe37303412292343e"
|
|
PATCHES="crypto++-8.2.0.patchset"
|
|
SOURCE_DIR="cryptopp-CRYPTOPP_${portVersion//./_}"
|
|
|
|
ARCHITECTURES="all !x86_gcc2"
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
|
|
libVersion=$portVersion
|
|
libVersionCompat="$libVersion compat >= ${libVersion%.*}"
|
|
|
|
PROVIDES="
|
|
crypto++$secondaryArchSuffix = $portVersion
|
|
lib:libcryptopp$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
"
|
|
|
|
PROVIDES_devel="
|
|
crypto++${secondaryArchSuffix}_devel = $portVersion
|
|
devel:libcryptopp$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
REQUIRES_devel="
|
|
crypto++$secondaryArchSuffix == $portVersion base
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:gcc$secondaryArchSuffix
|
|
cmd:ld
|
|
cmd:make
|
|
cmd:nasm
|
|
cmd:pkg_config$secondaryArchSuffix
|
|
"
|
|
|
|
defineDebugInfoPackage crypto++$secondaryArchSuffix \
|
|
$libDir/libcryptopp.so.$libVersion
|
|
|
|
BUILD()
|
|
{
|
|
make all $jobArgs
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
make \
|
|
LDCONF=true \
|
|
BINDIR=$binDir \
|
|
LIBDIR=$libDir \
|
|
DATADIR=$dataDir \
|
|
INCLUDEDIR=$includeDir \
|
|
install-lib
|
|
|
|
prepareInstalledDevelLib libcryptopp
|
|
|
|
install -d -m 755 $developLibDir/pkgconfig
|
|
cat > $developLibDir/pkgconfig/libcrypto++.pc << EOF
|
|
Name: libcrypto++
|
|
Description: Class library of cryptographic schemes
|
|
Version: $portVersion
|
|
Libs: -lcryptopp
|
|
EOF
|
|
|
|
packageEntries devel $developDir
|
|
}
|
|
|
|
TEST()
|
|
{
|
|
make test
|
|
}
|