net-libs/mbedtls: version bump to 2.18.1
authorAnthony G. Basile <blueness@gentoo.org>
Tue, 17 Dec 2019 19:32:38 +0000 (14:32 -0500)
committerAnthony G. Basile <blueness@gentoo.org>
Tue, 17 Dec 2019 19:32:38 +0000 (14:32 -0500)
Package-Manager: Portage-2.3.79, Repoman-2.3.16
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
net-libs/mbedtls/Manifest
net-libs/mbedtls/mbedtls-2.18.1.ebuild [new file with mode: 0644]

index ad16b4b7d9777ed0352154bb44107fe5ba538514..1a6f142c30a095077c1a8a1e515cdaaadc2f23e0 100644 (file)
@@ -4,3 +4,4 @@ DIST mbedtls-2.12.0.tar.gz 2299830 BLAKE2B e65da9feaca4dc22e843cb645259ab8c81e24
 DIST mbedtls-2.16.3.tar.gz 2459563 BLAKE2B 5de21b27274dae61e282114da196078be7931e823750f712145c372160204e02f36f995d2cca8589f7b8ffcb646b0b258b0d49db6a0ffa01117b8c0af9f3fa0e SHA512 3d798f7de9c33325585d5d7c8608cc16acdcf42c246d283b2fb8a29f5e419f2899342965ff297432ef2ab20c91eaee28d6ca53349f5a68b0a4fd29d6905fc64c
 DIST mbedtls-2.17.0.tar.gz 2738368 BLAKE2B efcf2a6c84a85afdca0205bd9e8bcf039074c5e6f40e0814f835cf26c2d13dce87bd140aa0b803eea6a683e31b79680a3ea8ba72417e7ec26f206e0b027b014a SHA512 6ab52d116cb9f755871f2fd196ec1b352dbbe59f2ecedeb5551237e4e672da77205ef0c2f80ec746ba1fd94cab1995ab1729c8adb0f29d10f3c74a67f5327493
 DIST mbedtls-2.18.0.tar.gz 2809466 BLAKE2B 38f768b97c6b3c1942c9bbf6de230c99b1d2c257a6e3eff2cb4208b670425d83541829eefefaf2bddca72c770f25d9f92f6c72773177ac3687dfdca2b323637c SHA512 f98b93c32d34107cd303a7e2dfcb6ce3072cf230400c3608aaf1e52abd31c8d759df9bf856444b6f4279c26f7d2403dfb69b1ceb89bb940652eb326efc979261
+DIST mbedtls-2.18.1.tar.gz 2810688 BLAKE2B 25e8cfdb16e18049e4c89e271babe5b711634099ef89c54169e606da7aabedde1ac862ecd34dbe05e8052ea0183a7aa3b575d431305af4f8ecdd22da0f79f103 SHA512 39d1844806a0312ad97236d247e624fca15f10d7aff2336e764f214594a505f5109d6407fe6d399171086376124bc74da0c0f0b7aa9db85fa41f70143f04b95b
diff --git a/net-libs/mbedtls/mbedtls-2.18.1.ebuild b/net-libs/mbedtls/mbedtls-2.18.1.ebuild
new file mode 100644 (file)
index 0000000..92717eb
--- /dev/null
@@ -0,0 +1,100 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils multilib-minimal
+
+DESCRIPTION="Cryptographic library for embedded systems"
+HOMEPAGE="https://tls.mbed.org/"
+CRYPTO_SUBMODULE="mbedcrypto-1.1.0d0"
+SRC_URI="https://github.com/ARMmbed/mbedtls/archive/${P}.tar.gz
+       https://github.com/ARMmbed/mbed-crypto/archive/${CRYPTO_SUBMODULE}.tar.gz"
+S=${WORKDIR}/${PN}-${P}
+
+LICENSE="Apache-2.0"
+SLOT="0/12" # slot for libmbedtls.so
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="cpu_flags_x86_sse2 doc havege libressl programs -static-libs test threads zlib"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       programs? (
+               !libressl? ( dev-libs/openssl:0= )
+               libressl? ( dev-libs/libressl:0= )
+       )
+       zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+       doc? ( app-doc/doxygen media-gfx/graphviz )
+       test? ( dev-lang/perl )"
+
+enable_mbedtls_option() {
+       local myopt="$@"
+       # check that config.h syntax is the same at version bump
+       sed -i \
+               -e "s://#define ${myopt}:#define ${myopt}:" \
+               include/mbedtls/config.h || die
+}
+
+src_prepare() {
+       use cpu_flags_x86_sse2 && enable_mbedtls_option MBEDTLS_HAVE_SSE2
+       use zlib && enable_mbedtls_option MBEDTLS_ZLIB_SUPPORT
+       use havege && enable_mbedtls_option MBEDTLS_HAVEGE_C
+       use threads && enable_mbedtls_option MBEDTLS_THREADING_C
+       use threads && enable_mbedtls_option MBEDTLS_THREADING_PTHREAD
+
+       # pretend to be git submodule
+       rmdir "${S}"/crypto
+       mv "${WORKDIR}"/mbed-crypto-${CRYPTO_SUBMODULE} "${S}"/crypto
+
+       cmake-utils_src_prepare
+}
+
+multilib_src_configure() {
+       local mycmakeargs=(
+               -DENABLE_PROGRAMS=$(multilib_native_usex programs)
+               -DENABLE_ZLIB_SUPPORT=$(usex zlib)
+               -DUSE_STATIC_MBEDTLS_LIBRARY=$(usex static-libs)
+               -DENABLE_TESTING=$(usex test)
+               -DUSE_SHARED_MBEDTLS_LIBRARY=ON
+               -DINSTALL_MBEDTLS_HEADERS=ON
+               -DLIB_INSTALL_DIR="/usr/$(get_libdir)"
+       )
+
+       cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+       cmake-utils_src_compile
+       use doc && multilib_is_native_abi && emake apidoc
+}
+
+multilib_src_test() {
+       LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${BUILD_DIR}/library" \
+               cmake-utils_src_test
+}
+
+multilib_src_install() {
+       cmake-utils_src_install
+}
+
+multilib_src_install_all() {
+       use doc && HTML_DOCS=( apidoc )
+
+       einstalldocs
+
+       if use programs ; then
+               # avoid file collisions with sys-apps/coreutils
+               local p e
+               for p in "${ED%/}"/usr/bin/* ; do
+                       if [[ -x "${p}" && ! -d "${p}" ]] ; then
+                               mv "${p}" "${ED%/}"/usr/bin/mbedtls_${p##*/} || die
+                       fi
+               done
+               for e in aes hash pkey ssl test ; do
+                       docinto "${e}"
+                       dodoc programs/"${e}"/*.c
+                       dodoc programs/"${e}"/*.txt
+               done
+       fi
+}