# Contributor: Jakub Jirutka # Maintainer: Jakub Jirutka pkgname=libcoro pkgver=6.513 pkgrel=0 pkgdesc="Coroutines (cooperative multitasking) in a portable fashion implemented in C" url="http://software.schmorp.de/pkg/libcoro.html" arch="all" license="BSD-2-Clause" makedepends="cvs gzip musl-dev" subpackages="$pkgname-dev" source="https://dev.alpinelinux.org/archive/$pkgname/$pkgname-$pkgver.tar.gz test.c" builddir="$srcdir/$pkgname-$pkgver" _cvsurl="cvs.schmorp.de/schmorpforge" _cvstag="rel-${pkgver/./_}" snapshot() { local tarball="$pkgname-$pkgver.tar.gz" mkdir -p "$srcdir" cd "$srcdir" msg "Creating $tarball" cvs -z3 -d :pserver:anonymous@$_cvsurl export -r $_cvstag \ -d ${tarball%.tar.gz} $pkgname # Create reproducible tarball (always same checksum for same content). tar -c --owner=0 --group=0 --mtime='2017-07-15' ${tarball%.tar.gz} \ | gzip -n -9 > "$SRCDEST"/$tarball msg "Uploading $tarball" scp "$SRCDEST"/$tarball dev.alpinelinux.org:/archive/$pkgname/ } prepare() { default_prepare ln -s "$srcdir"/test.c "$builddir"/ } build() { cd "$builddir" CFLAGS="-fPIC -pedantic -Wall" case "$CARCH" in x86* | armv7*) CFLAGS="$CFLAGS -DCORO_ASM";; *) CFLAGS="$CFLAGS -DCORO_SJLJ";; esac # Build shared lib. $CC $CFLAGS -O3 -c coro.c $CC $LDFLAGS -shared -o libcoro.so coro.o # Build static lib. $CC $CFLAGS -c coro.c -o coro.o ar rc libcoro.a coro.o ranlib libcoro.a # Build test. $CC $CFLAGS $LDFLAGS -L. test.c -o test -lcoro } check() { cd "$builddir" LD_LIBRARY_PATH=. ./test } package() { cd "$builddir" local abiver=$(sed -En 's/#define\s*CORO_VERSION\s*(\d+)/\1/p' coro.h) local soname="libcoro.so.$abiver" install -D -m 755 ${soname%.$abiver} "$pkgdir"/usr/lib/$soname ln -s $soname "$pkgdir"/usr/lib/${soname%.$abiver} install -D -m 644 libcoro.a "$pkgdir"/usr/lib/libcoro.a install -D -m 644 coro.h "$pkgdir"/usr/include/coro.h } sha512sums="e4d0bb21333d4fe4f8afdcd8a8b7bb27a97bf30727e2425d9cb04d6b01934972d65c7f9d90fe30f83a933b6e863c8f85377b87945f6739d7bc409602c0d2fbac libcoro-6.513.tar.gz 643cdbc3e4a9b48d05cd54b9cf436652abd41485def821cfaf682c5efc77c63c9aaff0b40dbaad17c87f9ef16f7b3739360c9d28fa15d61b620f0508fe5a7701 test.c"