forked from pool/libtorrent-rasterbar
Accepting request 561730 from network
OBS-URL: https://build.opensuse.org/request/show/561730 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libtorrent-rasterbar?expand=0&rev=102
This commit is contained in:
parent
938720b927
commit
157ba3daef
@ -1,298 +0,0 @@
|
|||||||
From d1a63cd781e79e1e3792a258c0bc7f9455f2272f Mon Sep 17 00:00:00 2001
|
|
||||||
From: arvidn <arvid@libtorrent.org>
|
|
||||||
Date: Thu, 14 Dec 2017 01:37:27 +0100
|
|
||||||
Subject: [PATCH] fix build against boost-1.66, specifically the boost.asio
|
|
||||||
changes
|
|
||||||
|
|
||||||
diff --git a/include/libtorrent/proxy_base.hpp b/include/libtorrent/proxy_base.hpp
|
|
||||||
index 00246af76e..7e8ab32930 100644
|
|
||||||
--- a/include/libtorrent/proxy_base.hpp
|
|
||||||
+++ b/include/libtorrent/proxy_base.hpp
|
|
||||||
@@ -66,6 +66,11 @@ class proxy_base : boost::noncopyable
|
|
||||||
m_port = port;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if BOOST_VERSION >= 106600
|
|
||||||
+ typedef tcp::socket::executor_type executor_type;
|
|
||||||
+ executor_type get_executor() { return m_sock.get_executor(); }
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
template <class Mutable_Buffers, class Handler>
|
|
||||||
void async_read_some(Mutable_Buffers const& buffers, Handler const& handler)
|
|
||||||
{
|
|
||||||
@@ -122,6 +127,18 @@ class proxy_base : boost::noncopyable
|
|
||||||
m_sock.async_write_some(buffers, handler);
|
|
||||||
}
|
|
||||||
|
|
||||||
+#ifndef BOOST_NO_EXCEPTIONS
|
|
||||||
+ void non_blocking(bool b)
|
|
||||||
+ {
|
|
||||||
+ m_sock.non_blocking(b);
|
|
||||||
+ }
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+ error_code non_blocking(bool b, error_code& ec)
|
|
||||||
+ {
|
|
||||||
+ return m_sock.non_blocking(b, ec);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
#ifndef BOOST_NO_EXCEPTIONS
|
|
||||||
template <class SettableSocketOption>
|
|
||||||
void set_option(SettableSocketOption const& opt)
|
|
||||||
diff --git a/include/libtorrent/socket_type.hpp b/include/libtorrent/socket_type.hpp
|
|
||||||
index 0b58159715..884a86e684 100644
|
|
||||||
--- a/include/libtorrent/socket_type.hpp
|
|
||||||
+++ b/include/libtorrent/socket_type.hpp
|
|
||||||
@@ -267,6 +267,14 @@ namespace libtorrent
|
|
||||||
error_code set_option(SettableSocketOption const& opt, error_code& ec)
|
|
||||||
{ TORRENT_SOCKTYPE_FORWARD_RET(set_option(opt, ec), ec) }
|
|
||||||
|
|
||||||
+ void non_blocking(bool b, error_code& ec)
|
|
||||||
+ { TORRENT_SOCKTYPE_FORWARD(non_blocking(b, ec)) }
|
|
||||||
+
|
|
||||||
+#ifndef BOOST_NO_EXCEPTIONS
|
|
||||||
+ void non_blocking(bool b)
|
|
||||||
+ { TORRENT_SOCKTYPE_FORWARD(non_blocking(b)) }
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#ifndef BOOST_NO_EXCEPTIONS
|
|
||||||
template <class GettableSocketOption>
|
|
||||||
void get_option(GettableSocketOption& opt)
|
|
||||||
diff --git a/include/libtorrent/ssl_stream.hpp b/include/libtorrent/ssl_stream.hpp
|
|
||||||
index 48fe111289..a18416c723 100644
|
|
||||||
--- a/include/libtorrent/ssl_stream.hpp
|
|
||||||
+++ b/include/libtorrent/ssl_stream.hpp
|
|
||||||
@@ -85,6 +85,10 @@ class ssl_stream
|
|
||||||
typedef typename Stream::lowest_layer_type lowest_layer_type;
|
|
||||||
typedef typename Stream::endpoint_type endpoint_type;
|
|
||||||
typedef typename Stream::protocol_type protocol_type;
|
|
||||||
+#if BOOST_VERSION >= 106600
|
|
||||||
+ typedef typename sock_type::executor_type executor_type;
|
|
||||||
+ executor_type get_executor() { return m_sock.get_executor(); }
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
void set_host_name(std::string name)
|
|
||||||
{
|
|
||||||
@@ -204,6 +208,13 @@ class ssl_stream
|
|
||||||
m_sock.next_layer().io_control(ioc, ec);
|
|
||||||
}
|
|
||||||
|
|
||||||
+#ifndef BOOST_NO_EXCEPTIONS
|
|
||||||
+ void non_blocking(bool b) { m_sock.next_layer().non_blocking(b); }
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+ error_code non_blocking(bool b, error_code& ec)
|
|
||||||
+ { return m_sock.next_layer().non_blocking(b, ec); }
|
|
||||||
+
|
|
||||||
template <class Const_Buffers, class Handler>
|
|
||||||
void async_write_some(Const_Buffers const& buffers, Handler const& handler)
|
|
||||||
{
|
|
||||||
diff --git a/include/libtorrent/utp_stream.hpp b/include/libtorrent/utp_stream.hpp
|
|
||||||
index ede524e2e6..896c0365e0 100644
|
|
||||||
--- a/include/libtorrent/utp_stream.hpp
|
|
||||||
+++ b/include/libtorrent/utp_stream.hpp
|
|
||||||
@@ -201,6 +201,11 @@ class TORRENT_EXTRA_EXPORT utp_stream
|
|
||||||
typedef tcp::socket::endpoint_type endpoint_type;
|
|
||||||
typedef tcp::socket::protocol_type protocol_type;
|
|
||||||
|
|
||||||
+#if BOOST_VERSION >= 106600
|
|
||||||
+ typedef tcp::socket::executor_type executor_type;
|
|
||||||
+ executor_type get_executor() { return m_io_service.get_executor(); }
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
explicit utp_stream(io_service& io_service);
|
|
||||||
~utp_stream();
|
|
||||||
|
|
||||||
@@ -218,6 +223,12 @@ class TORRENT_EXTRA_EXPORT utp_stream
|
|
||||||
template <class IO_Control_Command>
|
|
||||||
void io_control(IO_Control_Command&, error_code&) {}
|
|
||||||
|
|
||||||
+#ifndef BOOST_NO_EXCEPTIONS
|
|
||||||
+ void non_blocking(bool) {}
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+ error_code non_blocking(bool, error_code&) { return error_code(); }
|
|
||||||
+
|
|
||||||
#ifndef BOOST_NO_EXCEPTIONS
|
|
||||||
void bind(endpoint_type const& /*endpoint*/) {}
|
|
||||||
#endif
|
|
||||||
@@ -330,8 +341,13 @@ class TORRENT_EXTRA_EXPORT utp_stream
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
std::size_t bytes_added = 0;
|
|
||||||
+#if BOOST_VERSION >= 106600
|
|
||||||
+ for (auto i = buffer_sequence_begin(buffers)
|
|
||||||
+ , end(buffer_sequence_end(buffers)); i != end; ++i)
|
|
||||||
+#else
|
|
||||||
for (typename Mutable_Buffers::const_iterator i = buffers.begin()
|
|
||||||
, end(buffers.end()); i != end; ++i)
|
|
||||||
+#endif
|
|
||||||
{
|
|
||||||
if (buffer_size(*i) == 0) continue;
|
|
||||||
using boost::asio::buffer_cast;
|
|
||||||
@@ -401,8 +417,13 @@ class TORRENT_EXTRA_EXPORT utp_stream
|
|
||||||
size_t buf_size = 0;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if BOOST_VERSION >= 106600
|
|
||||||
+ for (auto i = buffer_sequence_begin(buffers)
|
|
||||||
+ , end(buffer_sequence_end(buffers)); i != end; ++i)
|
|
||||||
+#else
|
|
||||||
for (typename Mutable_Buffers::const_iterator i = buffers.begin()
|
|
||||||
, end(buffers.end()); i != end; ++i)
|
|
||||||
+#endif
|
|
||||||
{
|
|
||||||
using boost::asio::buffer_cast;
|
|
||||||
using boost::asio::buffer_size;
|
|
||||||
@@ -466,8 +487,13 @@ class TORRENT_EXTRA_EXPORT utp_stream
|
|
||||||
}
|
|
||||||
|
|
||||||
std::size_t bytes_added = 0;
|
|
||||||
+#if BOOST_VERSION >= 106600
|
|
||||||
+ for (auto i = buffer_sequence_begin(buffers)
|
|
||||||
+ , end(buffer_sequence_end(buffers)); i != end; ++i)
|
|
||||||
+#else
|
|
||||||
for (typename Const_Buffers::const_iterator i = buffers.begin()
|
|
||||||
, end(buffers.end()); i != end; ++i)
|
|
||||||
+#endif
|
|
||||||
{
|
|
||||||
if (buffer_size(*i) == 0) continue;
|
|
||||||
using boost::asio::buffer_cast;
|
|
||||||
diff --git a/src/http_connection.cpp b/src/http_connection.cpp
|
|
||||||
index a099973f99..7efb4131b7 100644
|
|
||||||
--- a/src/http_connection.cpp
|
|
||||||
+++ b/src/http_connection.cpp
|
|
||||||
@@ -330,8 +330,7 @@ void http_connection::start(std::string const& hostname, int port
|
|
||||||
{
|
|
||||||
if (m_ssl_ctx == 0)
|
|
||||||
{
|
|
||||||
- m_ssl_ctx = new (std::nothrow) ssl::context(
|
|
||||||
- m_timer.get_io_service(), ssl::context::sslv23_client);
|
|
||||||
+ m_ssl_ctx = new (std::nothrow) ssl::context(ssl::context::sslv23_client);
|
|
||||||
if (m_ssl_ctx)
|
|
||||||
{
|
|
||||||
m_own_ssl_context = true;
|
|
||||||
diff --git a/src/peer_connection.cpp b/src/peer_connection.cpp
|
|
||||||
index 1c94fb278f..10b8e1a57c 100644
|
|
||||||
--- a/src/peer_connection.cpp
|
|
||||||
+++ b/src/peer_connection.cpp
|
|
||||||
@@ -309,9 +309,8 @@ namespace libtorrent
|
|
||||||
|
|
||||||
if (!m_outgoing)
|
|
||||||
{
|
|
||||||
- tcp::socket::non_blocking_io ioc(true);
|
|
||||||
error_code ec;
|
|
||||||
- m_socket->io_control(ioc, ec);
|
|
||||||
+ m_socket->non_blocking(true, ec);
|
|
||||||
if (ec)
|
|
||||||
{
|
|
||||||
disconnect(ec, op_iocontrol);
|
|
||||||
@@ -6406,11 +6405,10 @@ namespace libtorrent
|
|
||||||
|
|
||||||
// set the socket to non-blocking, so that we can
|
|
||||||
// read the entire buffer on each read event we get
|
|
||||||
- tcp::socket::non_blocking_io ioc(true);
|
|
||||||
#ifndef TORRENT_DISABLE_LOGGING
|
|
||||||
peer_log(peer_log_alert::info, "SET_NON_BLOCKING");
|
|
||||||
#endif
|
|
||||||
- m_socket->io_control(ioc, ec);
|
|
||||||
+ m_socket->non_blocking(true, ec);
|
|
||||||
if (ec)
|
|
||||||
{
|
|
||||||
disconnect(ec, op_iocontrol);
|
|
||||||
diff --git a/src/session_impl.cpp b/src/session_impl.cpp
|
|
||||||
index 043d791fef..88718441bd 100644
|
|
||||||
--- a/src/session_impl.cpp
|
|
||||||
+++ b/src/session_impl.cpp
|
|
||||||
@@ -346,7 +346,7 @@ namespace aux {
|
|
||||||
#endif
|
|
||||||
m_io_service(ios)
|
|
||||||
#ifdef TORRENT_USE_OPENSSL
|
|
||||||
- , m_ssl_ctx(m_io_service, boost::asio::ssl::context::sslv23)
|
|
||||||
+ , m_ssl_ctx(boost::asio::ssl::context::sslv23)
|
|
||||||
#endif
|
|
||||||
, m_alerts(m_settings.get_int(settings_pack::alert_queue_size), alert::all_categories)
|
|
||||||
#ifndef TORRENT_NO_DEPRECATE
|
|
||||||
diff --git a/src/torrent.cpp b/src/torrent.cpp
|
|
||||||
index 2b6bae7446..0795b1d104 100644
|
|
||||||
--- a/src/torrent.cpp
|
|
||||||
+++ b/src/torrent.cpp
|
|
||||||
@@ -1702,7 +1702,7 @@ namespace libtorrent
|
|
||||||
// create the SSL context for this torrent. We need to
|
|
||||||
// inject the root certificate, and no other, to
|
|
||||||
// verify other peers against
|
|
||||||
- boost::shared_ptr<context> ctx = boost::make_shared<context>(boost::ref(m_ses.get_io_service()), context::sslv23);
|
|
||||||
+ boost::shared_ptr<context> ctx = boost::make_shared<context>(context::sslv23);
|
|
||||||
|
|
||||||
if (!ctx)
|
|
||||||
{
|
|
||||||
@@ -1739,7 +1739,7 @@ namespace libtorrent
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
- SSL_CTX* ssl_ctx = ctx->impl();
|
|
||||||
+ SSL_CTX* ssl_ctx = ctx->native_handle();
|
|
||||||
// create a new x.509 certificate store
|
|
||||||
X509_STORE* cert_store = X509_STORE_new();
|
|
||||||
if (!cert_store)
|
|
||||||
diff --git a/src/udp_socket.cpp b/src/udp_socket.cpp
|
|
||||||
index d2e6ae3b80..551412c659 100644
|
|
||||||
--- a/src/udp_socket.cpp
|
|
||||||
+++ b/src/udp_socket.cpp
|
|
||||||
@@ -806,8 +806,7 @@ void udp_socket::bind(udp::endpoint const& ep, error_code& ec)
|
|
||||||
|
|
||||||
m_ipv4_sock.bind(ep, ec);
|
|
||||||
if (ec) return;
|
|
||||||
- udp::socket::non_blocking_io ioc(true);
|
|
||||||
- m_ipv4_sock.io_control(ioc, ec);
|
|
||||||
+ m_ipv4_sock.non_blocking(true, ec);
|
|
||||||
if (ec) return;
|
|
||||||
setup_read(&m_ipv4_sock);
|
|
||||||
}
|
|
||||||
@@ -837,8 +836,7 @@ void udp_socket::bind(udp::endpoint const& ep, error_code& ec)
|
|
||||||
, boost::system::generic_category()))
|
|
||||||
{
|
|
||||||
if (ec) return;
|
|
||||||
- udp::socket::non_blocking_io ioc(true);
|
|
||||||
- m_ipv6_sock.io_control(ioc, ec);
|
|
||||||
+ m_ipv6_sock.non_blocking(true, ec);
|
|
||||||
if (ec) return;
|
|
||||||
setup_read(&m_ipv6_sock);
|
|
||||||
}
|
|
||||||
diff --git a/test/test_ssl.cpp b/test/test_ssl.cpp
|
|
||||||
index 2903332dd2..679780b1b1 100644
|
|
||||||
--- a/test/test_ssl.cpp
|
|
||||||
+++ b/test/test_ssl.cpp
|
|
||||||
@@ -363,7 +363,7 @@ bool try_connect(libtorrent::session& ses1, int port
|
|
||||||
// create the SSL context for this torrent. We need to
|
|
||||||
// inject the root certificate, and no other, to
|
|
||||||
// verify other peers against
|
|
||||||
- context ctx(ios, context::sslv23);
|
|
||||||
+ context ctx(context::sslv23);
|
|
||||||
|
|
||||||
ctx.set_options(context::default_workarounds
|
|
||||||
| boost::asio::ssl::context::no_sslv2
|
|
||||||
|
|
||||||
From f42b63c7ea82173837920d8712d2891cc3ecb6c2 Mon Sep 17 00:00:00 2001
|
|
||||||
From: arvidn <arvid@libtorrent.org>
|
|
||||||
Date: Tue, 28 Nov 2017 23:57:38 +0100
|
|
||||||
Subject: [PATCH] update io_service forward declaration to be boost-1.66
|
|
||||||
compatible
|
|
||||||
|
|
||||||
diff --git a/include/libtorrent/io_service_fwd.hpp b/include/libtorrent/io_service_fwd.hpp
|
|
||||||
index c14997d82e..398c91216f 100644
|
|
||||||
--- a/include/libtorrent/io_service_fwd.hpp
|
|
||||||
+++ b/include/libtorrent/io_service_fwd.hpp
|
|
||||||
@@ -54,7 +54,12 @@ namespace sim { namespace asio {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace boost { namespace asio {
|
|
||||||
+#if BOOST_VERSION < 106600
|
|
||||||
class io_service;
|
|
||||||
+#else
|
|
||||||
+ class io_context;
|
|
||||||
+ typedef io_context io_service;
|
|
||||||
+#endif
|
|
||||||
}}
|
|
||||||
|
|
||||||
namespace libtorrent
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:103134068389155a0f2bccaca72a57765460eb8188495089dcad280dcf426930
|
|
||||||
size 3942894
|
|
3
libtorrent-rasterbar-1.1.6.tar.gz
Normal file
3
libtorrent-rasterbar-1.1.6.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:b7c74d004bd121bd6e9f8975ee1fec3c95c74044c6a6250f6b07f259f55121ef
|
||||||
|
size 3846476
|
@ -1,3 +1,22 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jan 4 08:08:44 UTC 2018 - virtuousfox@gmail.com
|
||||||
|
|
||||||
|
- Update to version 1.1.6:
|
||||||
|
* Deprecate save_encryption_settings (they are part of the normal settings).
|
||||||
|
* Add getters for peer_class_filter and peer_class_type_filter.
|
||||||
|
* Make torrent_handler::set_priority() to use peer_classes.
|
||||||
|
* Fix support for boost-1.66 (requires C++11).
|
||||||
|
* Fix i2p support.
|
||||||
|
* Fix loading resume data when in seed mode.
|
||||||
|
* Fix part-file creation race condition.
|
||||||
|
* Fix issue with initializing settings on session construction.
|
||||||
|
* Fix issue with receiving interested before metadata.
|
||||||
|
* Fix IPv6 tracker announce issue.
|
||||||
|
* Restore path sanitization behavior of ":".
|
||||||
|
* Fix listen socket issue when disabling "force_proxy" mode.
|
||||||
|
* Fix full allocation failure on APFS.
|
||||||
|
- Remove fix-build-against-boost-1.66.patch: fixed upstream.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sat Dec 30 13:59:54 UTC 2017 - wbauer@tmo.at
|
Sat Dec 30 13:59:54 UTC 2017 - wbauer@tmo.at
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package libtorrent-rasterbar
|
# spec file for package libtorrent-rasterbar
|
||||||
#
|
#
|
||||||
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -18,19 +18,17 @@
|
|||||||
|
|
||||||
%define _name libtorrent
|
%define _name libtorrent
|
||||||
%define sover 9
|
%define sover 9
|
||||||
%define _version 1_1_5
|
%define _version 1_1_6
|
||||||
%bcond_with examples
|
%bcond_with examples
|
||||||
%bcond_with tests
|
%bcond_with tests
|
||||||
Name: libtorrent-rasterbar
|
Name: libtorrent-rasterbar
|
||||||
Version: 1.1.5
|
Version: 1.1.6
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Libtorrent is a C++ implementation of the BitTorrent protocol
|
Summary: Libtorrent is a C++ implementation of the BitTorrent protocol
|
||||||
License: BSD-3-Clause
|
License: BSD-3-Clause
|
||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
Url: http://libtorrent.org/
|
Url: http://libtorrent.org/
|
||||||
Source: https://github.com/arvidn/%{_name}/releases/download/%{_name}-%{_version}/%{name}-%{version}.tar.gz
|
Source: https://github.com/arvidn/%{_name}/releases/download/%{_name}-%{_version}/%{name}-%{version}.tar.gz
|
||||||
# PATCH-FIX-UPSTREAM fix-build-against-boost-1.66.patch -- fix build with latest boost in Factory
|
|
||||||
Patch: fix-build-against-boost-1.66.patch
|
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
BuildRequires: python-devel
|
BuildRequires: python-devel
|
||||||
@ -139,7 +137,6 @@ Documentation for the libtorrent-rasterbar package.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
export CFLAGS="%{optflags} -fno-strict-aliasing"
|
export CFLAGS="%{optflags} -fno-strict-aliasing"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user