hasufell-repository/packages/dev-libs/mbedtls/mbedtls-2.16.0-r1.exheres-0
2020-10-16 14:53:09 +02:00

95 lines
2.3 KiB
Bash

# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require github [ user=ARMmbed tag=mbedtls-${PV} ]
WORK="${WORKBASE}/${PNV}" # because github.exlib is broken
require cmake [ api=2 ]
SUMMARY="Cryptographic library for embedded systems"
HOMEPAGE="https://tls.mbed.org/"
DOWNLOADS="https://tls.mbed.org/download/${PNV}-gpl.tgz"
LICENCES="|| ( Apache-2.0 GPL-2 )"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS="
doc
havege [[ description = [ Enable the HAVEGE random generator,
not suitable for virtualized environments! ] ]]
threads [[ description = [ Enables the threading abstraction layer
via pthread. This is used if you do intend
to use contexts between threads. ] ]]
x86_cpu_features:
sse2
"
DEPENDENCIES="
build:
doc? (
app-doc/doxygen[>=1.8.4]
media-gfx/graphviz
)
build+run:
sys-libs/zlib
test:
dev-lang/perl:*
dev-lang/python:*[>=3]
"
CMAKE_SRC_CONFIGURE_PARAMS=(
-DENABLE_PROGRAMS=OFF
-DUSE_SHARED_MBEDTLS_LIBRARY=ON
-DINSTALL_MBEDTLS_HEADERS=ON
-DLIB_INSTALL_DIR="/usr/$(exhost --target)/lib"
-DUSE_STATIC_MBEDTLS_LIBRARY=OFF
-DENABLE_ZLIB_SUPPORT=ON
)
CMAKE_SRC_CONFIGURE_TESTS=(
'-DENABLE_TESTING=ON'
)
enable_mbedtls_option() {
local myopt="$@"
# check that config.h syntax is the same at version bump
edo sed -i \
-e "s://#define ${myopt}:#define ${myopt}:" \
"${CMAKE_SOURCE}"/include/mbedtls/config.h
}
src_prepare() {
option x86_cpu_features:sse2 && enable_mbedtls_option MBEDTLS_HAVE_SSE2
enable_mbedtls_option MBEDTLS_ZLIB_SUPPORT
option havege && enable_mbedtls_option MBEDTLS_HAVEGE_C
option threads && enable_mbedtls_option MBEDTLS_THREADING_C
option threads && enable_mbedtls_option MBEDTLS_THREADING_PTHREAD
enable_mbedtls_option MBEDTLS_MD4_C
cmake_src_prepare
}
src_compile() {
default
if option doc ; then
emake apidoc
fi
}
src_test() {
LD_LIBRARY_PATH="${ECMAKE_BUILD_DIR}/library" \
emake test
}
src_install() {
cmake_src_install
if option doc ; then
docinto html
dodoc -r "${CMAKE_SOURCE}"/apidoc/*
fi
}