# Contributor: Ɓukasz Jendrysik <scadu@yandex.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
setvar pkgname = 'mbedtls'
setvar pkgver = '2.6.0'
setvar pkgrel = '0'
setvar pkgdesc = ""Light-weight cryptographic and SSL/TLS library""
setvar url = ""https://tls.mbed.org/""
setvar arch = ""all""
setvar license = ""GPL2+ ASL 2.0""
setvar makedepends = ""cmake perl""
setvar subpackages = ""$pkgname-static $pkgname-dev $pkgname-utils""
setvar source = ""$pkgname-$pkgver.tar.gz::https://github.com/ARMmbed/$pkgname/archive/$pkgname-$pkgver.tar.gz
	verbose-testsuite.patch""
setvar builddir = ""$srcdir/$pkgname-$pkgname-$pkgver""

# secfixes:
#   2.4.2-r0:
#   - CVE-2017-2784
#   2.6.0-r0:
#   - CVE-2017-14032

proc prepare {
	default_prepare

	# Enable flags for non-embedded systems.
	sed -i \
		-e 's|//\(#define MBEDTLS_THREADING_C\)|\1|' \
		-e 's|//\(#define MBEDTLS_THREADING_PTHREAD\)|\1|' \
		"$builddir"/include/mbedtls/config.h
}

proc build {
	cd $builddir

	cmake . \
		-DCMAKE_BUILD_TYPE="MinSizeRel" \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_VERBOSE_MAKEFILE=ON \
		-DUSE_SHARED_MBEDTLS_LIBRARY=ON
	make
}

proc check {
	cd $builddir
	make test
}

proc package {
	cd $builddir
	make DESTDIR="$pkgdir" install
}

proc utils {
	setvar pkgdesc = ""Utilities for mbedtls""

	mkdir -p "$subpkgdir"/usr/libexec
	mv "$pkgdir"/usr/bin "$subpkgdir"/usr/libexec/mbedtls
}

proc static {
	setvar pkgdesc = ""Static files for mbedtls""

	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/*.a "$subpkgdir"/usr/lib/
	chmod -x "$subpkgdir"/usr/lib/*.a
}

setvar sha512sums = ""d03c7adace6647d7d4700bf45becde9d31144bd2adf10cc7f2a73d19fd338c8b81ab8373a81400d74818fd99ce1661979bc5386760b7a68d263fb67406ee2641  mbedtls-2.6.0.tar.gz
1a0f0c8c794f8aab2a050b660e86f3cba293fcd4d0ffba9a1a1b8fd88f631d68fe194256495ed584d13e577c577829f0bbe821ffaf11165163b5a78c9d68efe8  verbose-testsuite.patch""