Skip to content
Snippets Groups Projects
Commit fb547581 authored by Natanael Copa's avatar Natanael Copa
Browse files

testing/asio: new aport

A cross-platform C++ library for network programming
https://think-async.com
parent 05179150
No related branches found
No related tags found
No related merge requests found
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=asio
pkgver=1.10.6
_ver=${pkgver//./-}
pkgrel=0
pkgdesc="A cross-platform C++ library for network programming"
url="https://think-async.com"
arch="all"
license="Boost"
depends=""
depends_dev="boost-dev openssl-dev"
makedepends="$depends_dev"
install=""
subpackages="$pkgname-dev"
source="http://downloads.sourceforge.net/project/asio/asio/${pkgver}%20%28Stable%29/asio-$pkgver.tar.bz2
fix-strerror_r.patch
"
_builddir="$srcdir"/asio-$pkgver
prepare() {
local i
cd "$_builddir"
update_config_sub || return 1
for i in $source; do
case $i in
*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
esac
done
}
build() {
cd "$_builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--mandir=/usr/share/man \
|| return 1
make || return 1
}
package() {
cd "$_builddir"
make DESTDIR="$pkgdir" install || return 1
}
md5sums="85d014a356a6e004cd30ccd4c9b6a5c2 asio-1.10.6.tar.bz2
dfc0d5d1c14ca0a247d835c944e400a6 fix-strerror_r.patch"
sha256sums="e0d71c40a7b1f6c1334008fb279e7361b32a063e020efd21e40d9d8ff037195e asio-1.10.6.tar.bz2
0b3eb6d74c9dd11e08368da0f9e09446e2383b5fc840e630581fef3672db95ac fix-strerror_r.patch"
sha512sums="7146e75a378de57daab88e7ba509ae01367ffa0d7c4c90481e221977a6b9f4fd80e9caac5c6b4c27bc7652e44cd210e2c6cabf5681d7c62747df14bbc25e8c23 asio-1.10.6.tar.bz2
a023e305a9efa6b93489374dfe9881c447d748a8d48ff803e0ac7ff1be618460b57de024e79da8c08dab4bcd214cbf2c3991d963eef678ca8dbd48b3c8933a70 fix-strerror_r.patch"
From 52d862c4e8af60a31f0067e1070b8625e805cdc3 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Thu, 21 Jan 2016 23:37:32 +0100
Subject: [PATCH] Fix use of strerror_r()
Don't try keep track of all platforms which follows posix standard.
Instead, make the platform which don't follow standard to an exception
and fall back to standard implementation for everything else.
This fixes building with musl libc.
Fixes #94
---
asio/include/asio/impl/error_code.ipp | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/asio/include/asio/impl/error_code.ipp b/asio/include/asio/impl/error_code.ipp
index b996773..3a1cff1 100644
--- a/include/asio/impl/error_code.ipp
+++ b/include/asio/impl/error_code.ipp
@@ -98,17 +98,14 @@ public:
#if defined(__sun) || defined(__QNX__) || defined(__SYMBIAN32__)
using namespace std;
return strerror(value);
-#elif defined(__MACH__) && defined(__APPLE__) \
- || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) \
- || defined(_AIX) || defined(__hpux) || defined(__osf__) \
- || defined(__ANDROID__)
+#elif defined(__GLIBC__) && defined(_GNU_SOURCE)
+ char buf[256] = "";
+ return strerror_r(value, buf, sizeof(buf));
+#else
char buf[256] = "";
using namespace std;
strerror_r(value, buf, sizeof(buf));
return buf;
-#else
- char buf[256] = "";
- return strerror_r(value, buf, sizeof(buf));
#endif
#endif // defined(ASIO_WINDOWS_DESKTOP) || defined(__CYGWIN__)
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment