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

community/asio: upgrade to 1.12.0

fixes #8662
parent 67573823
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
pkgver=1.12.0
_ver=${pkgver//./-}
pkgrel=1
pkgrel=0
pkgdesc="A cross-platform C++ library for network programming"
url="https://think-async.com"
arch="all"
license="BSL-1.0"
depends=""
depends_dev="boost-dev libressl-dev"
makedepends="$depends_dev"
makedepends="$depends_dev autoconf automake libtool"
install=""
subpackages="$pkgname-dev"
source="http://downloads.sourceforge.net/project/asio/asio/${pkgver}%20%28Stable%29/asio-$pkgver.tar.bz2
fix-strerror_r.patch
libressl.patch
"
source="https://github.com/chriskohlhoff/asio/archive/asio-${pkgver//./-}.tar.gz"
_builddir="$srcdir"/asio-$pkgver
builddir="$srcdir"/asio-asio-${pkgver//./-}/asio
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
cd "$builddir"
./autogen.sh
}
build() {
cd "$_builddir"
cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--mandir=/usr/share/man \
|| return 1
make || return 1
--enable-shared
make
}
package() {
cd "$_builddir"
make DESTDIR="$pkgdir" install || return 1
cd "$builddir"
make DESTDIR="$pkgdir" install
}
md5sums="85d014a356a6e004cd30ccd4c9b6a5c2 asio-1.10.6.tar.bz2
dfc0d5d1c14ca0a247d835c944e400a6 fix-strerror_r.patch
7b3d05cf45e59abc04a61549a401fb82 libressl.patch"
sha256sums="e0d71c40a7b1f6c1334008fb279e7361b32a063e020efd21e40d9d8ff037195e asio-1.10.6.tar.bz2
0b3eb6d74c9dd11e08368da0f9e09446e2383b5fc840e630581fef3672db95ac fix-strerror_r.patch
6b78adbf094b956e2b3451cfd19a73b1f2c12a9a78a491d64819dd0276239991 libressl.patch"
sha512sums="7146e75a378de57daab88e7ba509ae01367ffa0d7c4c90481e221977a6b9f4fd80e9caac5c6b4c27bc7652e44cd210e2c6cabf5681d7c62747df14bbc25e8c23 asio-1.10.6.tar.bz2
a023e305a9efa6b93489374dfe9881c447d748a8d48ff803e0ac7ff1be618460b57de024e79da8c08dab4bcd214cbf2c3991d963eef678ca8dbd48b3c8933a70 fix-strerror_r.patch
6caeb4748f1a68783e2da3f548f3a4f91e413d96ba3a508b8279f04a1fd1f73f8d5d53f1b2bb1accf2a15bd3056144fce64668bf06091550055d125aef2169b7 libressl.patch"
sha512sums="a0e341fd6a848784e1533df84d1e6b361c8468f59d4fbde68c1500c1f8a2124ad78db0169098dbbc594ce26717eb9760f37af13cb288a549e2bda563eecf2be3 asio-1-12-0.tar.gz"
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__)
}
diff --git a/include/asio/ssl/impl/context.ipp b/include/asio/ssl/impl/context.ipp
index 4a66a0a..dfa6cee 100644
--- a/include/asio/ssl/impl/context.ipp
+++ b/include/asio/ssl/impl/context.ipp
@@ -88,6 +88,14 @@ context::context(context::method m)
handle_ = ::SSL_CTX_new(::SSLv2_server_method());
break;
#endif // defined(OPENSSL_NO_SSL2)
+#if defined(OPENSSL_NO_SSL3)
+ case context::sslv3:
+ case context::sslv3_client:
+ case context::sslv3_server:
+ asio::detail::throw_error(
+ asio::error::invalid_argument, "context");
+ break;
+#else
case context::sslv3:
handle_ = ::SSL_CTX_new(::SSLv3_method());
break;
@@ -97,6 +105,7 @@ context::context(context::method m)
case context::sslv3_server:
handle_ = ::SSL_CTX_new(::SSLv3_server_method());
break;
+#endif
case context::tlsv1:
handle_ = ::SSL_CTX_new(::TLSv1_method());
break;
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