forked from hasufell/hasufell-repository
94 lines
2.3 KiB
Bash
94 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:*
|
|
"
|
|
|
|
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
|
|
}
|
|
|