From e335d72678f0bac3c47fc200af5f34d48481ad11 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Fri, 31 Jul 2020 20:53:43 +0200 Subject: [PATCH] - updated to 1.2.7 - removed obsolete boost patch --- libtorrent-rasterbar-boost.patch | 229 ------------------------------- libtorrent-rasterbar.spec | 21 +-- 2 files changed, 11 insertions(+), 239 deletions(-) delete mode 100644 libtorrent-rasterbar-boost.patch diff --git a/libtorrent-rasterbar-boost.patch b/libtorrent-rasterbar-boost.patch deleted file mode 100644 index 765d086..0000000 --- a/libtorrent-rasterbar-boost.patch +++ /dev/null @@ -1,229 +0,0 @@ ---- libtorrent-rasterbar-1.1.11/include/libtorrent/io_service_fwd.hpp.orig 2018-11-18 13:55:50.000000000 +0100 -+++ libtorrent-rasterbar-1.1.11/include/libtorrent/io_service_fwd.hpp 2019-04-28 16:31:24.497229017 +0200 -@@ -69,6 +69,15 @@ - #else - typedef boost::asio::io_service io_service; - #endif -+ -+#if BOOST_VERSION >= 107000 -+template -+io_service& get_io_service(T& o) { return static_cast(o.get_executor().context()); } -+#else -+template -+io_service& get_io_service(T& o) { return o.get_io_service(); } -+#endif -+ - } - - #endif ---- libtorrent-rasterbar-1.2.0/include/libtorrent/io_service.hpp.orig 2019-04-28 21:20:37.963217224 +0200 -+++ libtorrent-rasterbar-1.2.0/include/libtorrent/io_service.hpp 2019-04-28 22:13:25.612723260 +0200 -@@ -41,13 +41,6 @@ - #include "libtorrent/aux_/disable_warnings_pop.hpp" - #endif // SIMULATOR - --namespace libtorrent { -- --#if defined TORRENT_BUILD_SIMULATOR -- using io_service = sim::asio::io_service; --#else -- using io_service = boost::asio::io_service; --#endif --} -+#include "libtorrent/io_service_fwd.hpp" - - #endif ---- libtorrent-rasterbar-1.0.11/include/libtorrent/tracker_manager.hpp.orig 2017-02-04 19:16:33.000000000 +0100 -+++ libtorrent-rasterbar-1.0.11/include/libtorrent/tracker_manager.hpp 2019-04-27 18:54:42.557868860 +0200 -@@ -191,7 +191,7 @@ - virtual void on_timeout(error_code const& ec) = 0; - virtual ~timeout_handler() {} - -- io_service& get_io_service() { return m_timeout.get_io_service(); } -+ io_service& get_io_service() { return libtorrent::get_io_service(m_timeout); } - - private: - ---- libtorrent-rasterbar-1.1.11/include/libtorrent/proxy_base.hpp.orig 2017-02-04 19:16:33.000000000 +0100 -+++ libtorrent-rasterbar-1.1.11/include/libtorrent/proxy_base.hpp 2019-04-27 21:18:33.689487409 +0200 -@@ -250,7 +250,7 @@ - - io_service& get_io_service() - { -- return m_sock.get_io_service(); -+ return libtorrent::get_io_service(m_sock); - } - - lowest_layer_type& lowest_layer() ---- libtorrent-rasterbar-1.2.0/include/libtorrent/udp_socket.hpp.orig 2019-04-28 22:13:51.845914476 +0200 -+++ libtorrent-rasterbar-1.2.0/include/libtorrent/udp_socket.hpp 2019-04-28 22:15:48.195284157 +0200 -@@ -61,7 +61,7 @@ - static constexpr udp_send_flags_t dont_fragment = 3_bit; - - bool is_open() const { return m_abort == false; } -- io_service& get_io_service() { return m_socket.get_io_service(); } -+ io_service& get_io_service() { return libtorrent::get_io_service(m_socket); } - - template - void async_read(Handler&& h) ---- libtorrent-rasterbar-1.2.0/src/http_connection.cpp.orig 2019-04-28 22:16:06.475185127 +0200 -+++ libtorrent-rasterbar-1.2.0/src/http_connection.cpp 2019-04-29 05:45:33.065761241 +0200 -@@ -148,7 +148,7 @@ - - if (ec) - { -- m_timer.get_io_service().post(std::bind(&http_connection::callback -+ libtorrent::get_io_service(m_timer).post(std::bind(&http_connection::callback - , me, ec, span{})); - return; - } -@@ -160,7 +160,7 @@ - ) - { - error_code err(errors::unsupported_url_protocol); -- m_timer.get_io_service().post(std::bind(&http_connection::callback -+ libtorrent::get_io_service(m_timer).post(std::bind(&http_connection::callback - , me, err, span{})); - return; - } -@@ -258,7 +258,7 @@ - - if (ec) - { -- m_timer.get_io_service().post(std::bind(&http_connection::callback -+ libtorrent::get_io_service(m_timer).post(std::bind(&http_connection::callback - , me, ec, span{})); - return; - } -@@ -297,7 +297,7 @@ - #if TORRENT_USE_I2P - if (i2p_conn->proxy().type != settings_pack::i2p_proxy) - { -- m_timer.get_io_service().post(std::bind(&http_connection::callback -+ libtorrent::get_io_service(m_timer).post(std::bind(&http_connection::callback - , me, error_code(errors::no_i2p_router), span{})); - return; - } -@@ -332,7 +332,7 @@ - m_ssl_ctx->set_verify_mode(ssl::context::verify_none, ec); - if (ec) - { -- m_timer.get_io_service().post(std::bind(&http_connection::callback -+ libtorrent::get_io_service(m_timer).post(std::bind(&http_connection::callback - , me, ec, span{})); - return; - } -@@ -344,7 +344,7 @@ - // assume this is not a tracker connection. Tracker connections that - // shouldn't be subject to the proxy should pass in nullptr as the proxy - // pointer. -- instantiate_connection(m_timer.get_io_service() -+ instantiate_connection(libtorrent::get_io_service(m_timer) - , proxy ? *proxy : null_proxy, m_sock, userdata, nullptr, false, false); - - if (m_bind_addr) -@@ -353,7 +353,7 @@ - m_sock.bind(tcp::endpoint(*m_bind_addr, 0), ec); - if (ec) - { -- m_timer.get_io_service().post(std::bind(&http_connection::callback -+ libtorrent::get_io_service(m_timer).post(std::bind(&http_connection::callback - , me, ec, span{})); - return; - } -@@ -362,7 +362,7 @@ - setup_ssl_hostname(m_sock, hostname, ec); - if (ec) - { -- m_timer.get_io_service().post(std::bind(&http_connection::callback -+ libtorrent::get_io_service(m_timer).post(std::bind(&http_connection::callback - , me, ec, span{})); - return; - } ---- libtorrent-rasterbar-1.2.0/src/natpmp.cpp.orig 2019-04-29 05:46:02.395602348 +0200 -+++ libtorrent-rasterbar-1.2.0/src/natpmp.cpp 2019-04-29 05:47:21.881838401 +0200 -@@ -160,13 +160,13 @@ - // try to find one even if the listen socket isn't bound to a device - if (device.empty()) - { -- device = device_for_address(local_address, m_socket.get_io_service(), ec); -+ device = device_for_address(local_address, libtorrent::get_io_service(m_socket), ec); - // if this fails fall back to using the first default gateway in the - // routing table - ec.clear(); - } - -- auto const route = get_default_route(m_socket.get_io_service() -+ auto const route = get_default_route(libtorrent::get_io_service(m_socket) - , device, local_address.is_v6(), ec); - - if (!route) -@@ -194,7 +194,7 @@ - if (local_address.is_unspecified()) - { - std::vector const net = enum_net_interfaces( -- m_socket.get_io_service(), ec); -+ libtorrent::get_io_service(m_socket), ec); - - auto const it = std::find_if(net.begin(), net.end(), [&](ip_interface const& i) - { ---- libtorrent-rasterbar-1.2.0/src/lsd.cpp.orig 2019-04-29 05:46:02.395602348 +0200 -+++ libtorrent-rasterbar-1.2.0/src/lsd.cpp 2019-04-29 05:48:04.508274140 +0200 -@@ -100,11 +100,11 @@ - void lsd::start(error_code& ec) - { - m_socket.open(std::bind(&lsd::on_announce, self(), _1, _2) -- , m_broadcast_timer.get_io_service(), ec); -+ , libtorrent::get_io_service(m_broadcast_timer), ec); - if (ec) return; - - m_socket6.open(std::bind(&lsd::on_announce, self(), _1, _2) -- , m_broadcast_timer.get_io_service(), ec); -+ , libtorrent::get_io_service(m_broadcast_timer), ec); - } - - lsd::~lsd() = default; ---- libtorrent-rasterbar-1.2.0/src/upnp.cpp.orig 2019-04-29 05:46:02.395602348 +0200 -+++ libtorrent-rasterbar-1.2.0/src/upnp.cpp 2019-04-29 05:48:43.981393629 +0200 -@@ -121,7 +121,7 @@ - - error_code ec; - m_socket.open(std::bind(&upnp::on_reply, self(), _1, _2) -- , m_refresh_timer.get_io_service(), ec); -+ , libtorrent::get_io_service(m_refresh_timer), ec); - - m_mappings.reserve(10); - } ---- libtorrent-rasterbar-1.2.0/src/disk_io_thread_pool.cpp.orig 2019-01-12 16:01:06.000000000 +0100 -+++ libtorrent-rasterbar-1.2.0/src/disk_io_thread_pool.cpp 2019-04-29 17:25:13.851665143 +0200 -@@ -174,7 +174,7 @@ - // buffer pool won't exist anymore, and crash. This prevents that. - m_threads.emplace_back(&pool_thread_interface::thread_fun - , &m_thread_iface, std::ref(*this) -- , io_service::work(m_idle_timer.get_io_service())); -+ , io_service::work(libtorrent::get_io_service(m_idle_timer))); - } - } - ---- libtorrent-rasterbar-1.2.0/src/udp_socket.cpp.orig 2019-01-12 16:01:06.000000000 +0100 -+++ libtorrent-rasterbar-1.2.0/src/udp_socket.cpp 2019-04-29 18:22:44.892969248 +0200 -@@ -492,7 +492,7 @@ - { - // connect to socks5 server and open up the UDP tunnel - -- m_socks5_connection = std::make_shared(m_socket.get_io_service()); -+ m_socks5_connection = std::make_shared(libtorrent::get_io_service(m_socket)); - m_socks5_connection->start(ps); - } - } ---- libtorrent-rasterbar-1.2.0/src/kademlia/dht_tracker.cpp.orig 2019-01-12 16:01:06.000000000 +0100 -+++ libtorrent-rasterbar-1.2.0/src/kademlia/dht_tracker.cpp 2019-04-29 19:30:02.651094835 +0200 -@@ -130,7 +130,7 @@ - // must use piecewise construction because tracker_node::connection_timer - // is neither copyable nor movable - auto n = m_nodes.emplace(std::piecewise_construct_t(), std::forward_as_tuple(s) -- , std::forward_as_tuple(m_key_refresh_timer.get_io_service() -+ , std::forward_as_tuple(libtorrent::get_io_service(m_key_refresh_timer) - , s, this, m_settings, nid, m_log, m_counters - , std::bind(&dht_tracker::get_node, this, _1, _2) - , m_storage)); diff --git a/libtorrent-rasterbar.spec b/libtorrent-rasterbar.spec index 01d6936..23e7b21 100644 --- a/libtorrent-rasterbar.spec +++ b/libtorrent-rasterbar.spec @@ -1,25 +1,25 @@ -# WARNING: qbittorrent 3.x uses 1.0.x (libtorrent-1.0 branch), 4.x 1.1.x (master), there is no version ready for 1.2.x (DEVEL-1.2 branch) +# WARNING: qbittorrent 4.1.x uses libtorrent-rasterbar 1.1.x (master), 4.2.x allows 1.2.x (DEVEL-1.2 branch) # %define tagver %(echo %{version} | tr . _) Summary: A C++ BitTorrent library Summary(hu.UTF-8): C++ BitTorrent könyvtár Summary(pl.UTF-8): Biblioteka BitTorrenta napisana w C++ Name: libtorrent-rasterbar -Version: 1.2.0 +Version: 1.2.7 Release: 1 Epoch: 2 License: BSD Group: Libraries +#Source0Download: https://github.com/arvidn/libtorrent/releases Source0: https://github.com/arvidn/libtorrent/releases/download/libtorrent_%{tagver}/%{name}-%{version}.tar.gz -# Source0-md5: 4bd50b9b773f2f206c90a77bd911fae5 -Patch0: %{name}-boost.patch +# Source0-md5: 0c5e9d3c141704d1801f6da65c4554fe URL: http://www.rasterbar.com/products/libtorrent/ BuildRequires: GeoIP-devel BuildRequires: autoconf >= 2.63 BuildRequires: automake >= 1:1.11 -BuildRequires: boost-devel >= 1.36 -BuildRequires: boost-python-devel >= 1.36 -BuildRequires: libstdc++-devel +BuildRequires: boost-devel >= 1.58 +BuildRequires: boost-python-devel >= 1.58 +BuildRequires: libstdc++-devel >= 6:4.7 BuildRequires: libtool >= 2:2.2.6 BuildRequires: openssl-devel BuildRequires: pkgconfig >= 1:0.20 @@ -67,7 +67,8 @@ Summary(pl.UTF-8): Pliki nagłówkowe biblioteki %{name} License: BSD, zlib/libpng License, Boost Software License Group: Development/Libraries Requires: %{name} = %{epoch}:%{version}-%{release} -Requires: boost-devel +Requires: boost-devel >= 1.58 +Requires: libstdc++-devel >= 6:4.7 Requires: openssl-devel Obsoletes: rb_libtorrent-devel @@ -122,7 +123,6 @@ Wiązania Pythona do biblioteki libtorrent-rasterbar. %prep %setup -q -%patch0 -p1 ## Some of the sources and docs are executable, which makes rpmlint against ## the resulting -debuginfo and -devel packages, respectively, quite angry. :] @@ -177,8 +177,9 @@ rm -rf $RPM_BUILD_ROOT %doc docs/ %attr(755,root,root) %{_libdir}/libtorrent-rasterbar.so %{_libdir}/libtorrent-rasterbar.la -%{_pkgconfigdir}/libtorrent-rasterbar.pc %{_includedir}/libtorrent +%{_pkgconfigdir}/libtorrent-rasterbar.pc +%{_datadir}/cmake/Modules/FindLibtorrentRasterbar.cmake %files static %defattr(644,root,root,755) -- 2.44.0