net-libs/mbedtls: restore 2.17.0 for net-p2p/fms
authorAnthony G. Basile <blueness@gentoo.org>
Sun, 15 Mar 2020 02:41:31 +0000 (22:41 -0400)
committerAnthony G. Basile <blueness@gentoo.org>
Sun, 15 Mar 2020 02:41:31 +0000 (22:41 -0400)
Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
net-libs/mbedtls/Manifest
net-libs/mbedtls/mbedtls-2.17.0.ebuild [new file with mode: 0644]

index ea769ddd87658d10bc86211c6328d73aa93a6b40..8f51e686fbf17b1324a01d6eaed721aa7ea8e60d 100644 (file)
@@ -1,2 +1,3 @@
 DIST mbedcrypto-2.0.0.tar.gz 3001813 BLAKE2B 35a01b7cb11a94cb5ef333f5939945b40ecd0da482959980931e389ac5aec3c1c1b2f40970bbde4587454aee5957dce220593bfc31943ec3deddfa70d2386a25 SHA512 3a8fa6b7160065ef175139ba9cb4c8599be11f9d0df5fd60f9f96c425400a0a40eaa31d571ce61d4a00e3b10c1e2b81756c1ad31df6fc32777f40ade7806948a
+DIST mbedtls-2.17.0.tar.gz 2738368 BLAKE2B efcf2a6c84a85afdca0205bd9e8bcf039074c5e6f40e0814f835cf26c2d13dce87bd140aa0b803eea6a683e31b79680a3ea8ba72417e7ec26f206e0b027b014a SHA512 6ab52d116cb9f755871f2fd196ec1b352dbbe59f2ecedeb5551237e4e672da77205ef0c2f80ec746ba1fd94cab1995ab1729c8adb0f29d10f3c74a67f5327493
 DIST mbedtls-2.19.1.tar.gz 1165843 BLAKE2B c8e6764b493a6ca011e74d7b297d5ae5140d7bdf17c1cfd5b9d37913d615ad3c5a6dbf71d44cbf14c938646e51bbf04cd63cc1657eb3775addb2dee3ee94c587 SHA512 07ec1cdf98e51ed35bb2940e485d7d8422e9fd440d2077d5cd4c80781d73848228386fe9064773ef8bb1a02c1bc060185b9c8310349d695926bd2c9b7cf6582b
diff --git a/net-libs/mbedtls/mbedtls-2.17.0.ebuild b/net-libs/mbedtls/mbedtls-2.17.0.ebuild
new file mode 100644 (file)
index 0000000..fa71e95
--- /dev/null
@@ -0,0 +1,94 @@
+# Copyright 1999-2020 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/"
+SRC_URI="https://github.com/ARMmbed/mbedtls/archive/${P}.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
+
+       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
+}