pantry/projects/github.com/Mbed-TLS/mbedtls/package.yml
2023-10-03 11:23:56 -04:00

70 lines
2.2 KiB
YAML

distributable:
url: https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v{{version}}.tar.gz
strip-components: 1
versions:
github: Mbed-TLS/mbedtls
provides:
- bin/generic_sum
build:
dependencies:
cmake.org: '*'
linux/aarch64:
llvm.org: <16 # otherwise we get an error from the arm_neon.h include
python.org: ~3.11
script:
# MBEDTLS_THREADING_PTHREAD - enable pthread mutexes
# MBEDTLS_THREADING_C - allow use of mutexes within mbed TLS
# MBEDTLS_SSL_DTLS_SRTP - enable DTLS-SRTP extension
- run: CFG=include/mbedtls/mbedtls_config.h
if: '>=3'
- run: CFG=include/mbedtls/config.h
if: '<3'
- |
sed -i.bak \
-e "s://#define MBEDTLS_THREADING_PTHREAD:#define MBEDTLS_THREADING_PTHREAD:" \
-e "s://#define MBEDTLS_THREADING_C:#define MBEDTLS_THREADING_C:" \
-e "s://#define MBEDTLS_SSL_DTLS_SRTP:#define MBEDTLS_SSL_DTLS_SRTP:" \
$CFG
rm $CFG.bak
- cmake -S . -B build $ARGS
- cmake --build build
# We run CTest because this is a crypto library. Running tests in parallel causes failures.
# https://github.com/Mbed-TLS/mbedtls/issues/4980
- ctest --parallel 1 --test-dir build --rerun-failed --output-on-failure
- cmake --install build
# Why does Mbedtls ship with a "Hello World" executable. Let's remove that.
- run: rm -f hello
working-directory: ${{prefix}}/bin/
# Rename benchmark & selftest, which are awfully generic names.
- run: |
mv benchmark mbedtls-benchmark
mv selftest mbedtls-selftest
working-directory: ${{prefix}}/bin
# Demonstration files shouldn't be in the main bin
- run: mv ../bin/mpi_demo mpi_demo
working-directory: ${{prefix}}/libexec
env:
ARGS:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX={{prefix}}
- -DUSE_SHARED_MBEDTLS_LIBRARY=On
- -DPython3_EXECUTABLE=$(which python3)
- -DCMAKE_INSTALL_RPATH={{prefix}}
- -DGEN_FILES=OFF
test:
script:
- printf '%s' 'This is a test file' > testfile.txt
- test "$(generic_sum SHA256 testfile.txt)" = "$SUM"
env:
SUM: e2d0fe1585a63ec6009c8016ff8dda8b17719a637405a4e23c0ff81339148249 testfile.txt