forked from hasufell/hasufell-repository
		
	
		
			
				
	
	
		
			95 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			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
 | |
| }
 | |
| 
 |