diff --git a/fix-build-against-boost-1.66.patch b/fix-build-against-boost-1.66.patch deleted file mode 100644 index 8dc740e..0000000 --- a/fix-build-against-boost-1.66.patch +++ /dev/null @@ -1,298 +0,0 @@ -From d1a63cd781e79e1e3792a258c0bc7f9455f2272f Mon Sep 17 00:00:00 2001 -From: arvidn -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 - 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 - 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 - 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 - 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 - 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 ctx = boost::make_shared(boost::ref(m_ses.get_io_service()), context::sslv23); -+ boost::shared_ptr ctx = boost::make_shared(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 -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 diff --git a/libtorrent-rasterbar-1.1.5.tar.gz b/libtorrent-rasterbar-1.1.5.tar.gz deleted file mode 100644 index e8ecd25..0000000 --- a/libtorrent-rasterbar-1.1.5.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:103134068389155a0f2bccaca72a57765460eb8188495089dcad280dcf426930 -size 3942894 diff --git a/libtorrent-rasterbar-1.1.6.tar.gz b/libtorrent-rasterbar-1.1.6.tar.gz new file mode 100644 index 0000000..f0fc5cb --- /dev/null +++ b/libtorrent-rasterbar-1.1.6.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7c74d004bd121bd6e9f8975ee1fec3c95c74044c6a6250f6b07f259f55121ef +size 3846476 diff --git a/libtorrent-rasterbar.changes b/libtorrent-rasterbar.changes index 7423136..f8cb9f7 100644 --- a/libtorrent-rasterbar.changes +++ b/libtorrent-rasterbar.changes @@ -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 diff --git a/libtorrent-rasterbar.spec b/libtorrent-rasterbar.spec index 43821b0..83316e8 100644 --- a/libtorrent-rasterbar.spec +++ b/libtorrent-rasterbar.spec @@ -1,7 +1,7 @@ # # 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 # remain the property of their copyright owners, unless otherwise agreed @@ -18,19 +18,17 @@ %define _name libtorrent %define sover 9 -%define _version 1_1_5 +%define _version 1_1_6 %bcond_with examples %bcond_with tests Name: libtorrent-rasterbar -Version: 1.1.5 +Version: 1.1.6 Release: 0 Summary: Libtorrent is a C++ implementation of the BitTorrent protocol License: BSD-3-Clause Group: Development/Libraries/C and C++ Url: http://libtorrent.org/ 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: pkgconfig BuildRequires: python-devel @@ -139,7 +137,6 @@ Documentation for the libtorrent-rasterbar package. %prep %setup -q -%patch -p1 %build export CFLAGS="%{optflags} -fno-strict-aliasing"