diff options
Diffstat (limited to 'net-libs/cyassl/cyassl-2.0.8.ebuild')
-rw-r--r-- | net-libs/cyassl/cyassl-2.0.8.ebuild | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/net-libs/cyassl/cyassl-2.0.8.ebuild b/net-libs/cyassl/cyassl-2.0.8.ebuild new file mode 100644 index 000000000000..ea1a0eab0863 --- /dev/null +++ b/net-libs/cyassl/cyassl-2.0.8.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-libs/cyassl/cyassl-2.0.8.ebuild,v 1.1 2012/04/11 01:58:09 blueness Exp $ + +EAPI="4" + +inherit eutils + +DESCRIPTION="Lightweight SSL/TLS library targeted at embedded and RTOS environments" +HOMEPAGE="http://www.yassl.com/yaSSL/Home.html" +SRC_URI="http://dev.gentoo.org/~blueness/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +#Add CRYPTO_OPTS=ecc when fixed +CACHE_SIZE="small big +huge" +CRYPTO_OPTS="aes-ni +hc128 +psk +ripemd sha512" +IUSE="-dtls ipv6 +httpd +sessioncerts +sniffer +testcert threads +zlib cyassl-hardening ${CACHE_SIZE} ${CRYPTO_OPTS}" + +#You can only pick one cach size +#sha512 is broken on x86 +#Testing freezes with dtls +REQUIRED_USE="^^ ( small big huge ) + x86? ( !sha512 ) + test? ( !dtls )" + +DEPEND="sniffer? ( net-libs/libpcap ) + zlib? ( sys-libs/zlib )" +RDEPEND="${DEPEND}" + +src_prepare() { + epatch "${FILESDIR}"/${P}-disable-testsuit-ifnothreads.patch + + #Apply unconditionally, but only triggered if USE="aes-ni" + epatch "${FILESDIR}"/${P}-fix-gnustack.patch +} + +src_configure() { + local myconf=() + + if use threads; then + myconf+=( --disable-singleThreaded ) + else + myconf+=( --enable-singleThreaded ) + fi + + if use amd64; then + myconf+=( --enable-fastmath --enable-fasthugemath --enable-bump ) + elif use x86; then + #not pie friendly, sorry x86, no fast math for you :( + myconf+=( --disable-fastmath --disable-fasthugemath --disable-bump ) + fi + + #There are lots of options, so we'll force a few reasonable + #We may change this in the future, in particular ecc needs to be fixed + econf \ + --enable-opensslExtra \ + --enable-fortress \ + --enable-keygen \ + --enable-certgen \ + --disable-debug \ + --disable-ecc \ + --disable-small \ + --disable-ntru \ + --disable-noFilesystem \ + --disable-noInline \ + --disable-gcc-lots-o-warnings \ + $(use_enable small smallcache) \ + $(use_enable big bigcache) \ + $(use_enable huge hugecache) \ + $(use_enable aes-ni aesni) \ + $(use_enable hc128) \ + $(use_enable psk) \ + $(use_enable ripemd) \ + $(use_enable sha512) \ + $(use_enable dtls) \ + $(use_enable ipv6) \ + $(use_enable httpd webServer) \ + $(use_enable sessioncerts) \ + $(use_enable sniffer) \ + $(use_enable testcert) \ + $(use_enable cyassl-hardening gcc-hardening) \ + $(use_enable cyassl-hardening linker-hardening) \ + $(use_with zlib libz) \ + "${myconf[@]}" +} + +src_test() { + "${S}"/tests/unit + "${S}"/ctaocrypt/benchmark/benchmark +} + +src_install() { + default + + mv "${D}"/usr/share/doc/"${PN}"/* \ + "${D}"/usr/share/doc/"${P}"/ + rmdir "${D}"/usr/share/doc/"${PN}"/ +} |