From eab5731cdf11d4ae8cdf111461d46fd96c5bdd37 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 4 May 2019 12:02:00 +0100 Subject: gentoo resync : 04.05.2019 --- net-libs/libtorrent-rasterbar/Manifest | 5 +- .../files/fix-boost-1.70.patch | 295 +++++++++++++++++++++ .../libtorrent-rasterbar-1.1.13.ebuild | 104 ++++++++ .../libtorrent-rasterbar-1.2.0.ebuild | 2 + 4 files changed, 405 insertions(+), 1 deletion(-) create mode 100644 net-libs/libtorrent-rasterbar/files/fix-boost-1.70.patch create mode 100644 net-libs/libtorrent-rasterbar/libtorrent-rasterbar-1.1.13.ebuild (limited to 'net-libs/libtorrent-rasterbar') diff --git a/net-libs/libtorrent-rasterbar/Manifest b/net-libs/libtorrent-rasterbar/Manifest index f2ac5320efc4..dca589b39474 100644 --- a/net-libs/libtorrent-rasterbar/Manifest +++ b/net-libs/libtorrent-rasterbar/Manifest @@ -1,7 +1,10 @@ +AUX fix-boost-1.70.patch 11122 BLAKE2B 274caa89f6ba189398aaf9c41c51c7570020fdbe67fd235622bf4821f9a094570d038f86e5d68ff77e54cb7ff7581c9cd4a4a7df29ecf60192c1a212b363ebb8 SHA512 724a391e05144a0492d3bf44e4040d7bba6723f343f7bd6eb1ee34e6822b1694b26f914a96e16c09fc561bf1428ad600f81750fb3cdf4ffe309f7f51f090cc74 DIST libtorrent-rasterbar-1.1.10.tar.gz 3902542 BLAKE2B 3a78862ce2825c9da32ab38122db05c2816daa237559446a60702f562e971c5597210dfc2612235294cec3f60fa3de8cab3a0246887ac4779b01171a460f70f0 SHA512 414deeb9765bfb6072af5fa00ad836bfe3751622a80783ea84389e31355b342a4371f0dc195b2d27b154826e515b2e6063c8786f792afa347abba9caadaa5b2a DIST libtorrent-rasterbar-1.1.12.tar.gz 3897237 BLAKE2B 0988b16d79df9499e2f7ab9d568ec560fa701e78fa0c6cc0158629d219259a73f3b2aa8b79d6f9c3a757f97559bc6b354148d5885b29f089a41893df65c92b11 SHA512 6f264ca9fcdcb93c4e16ced4b2657ccb19d47cbd483c3ad9f14909ee7de280b50c15d180c05ebd454236871fceca48cd79647bf89f8cbebf234b8f0f351aa699 +DIST libtorrent-rasterbar-1.1.13.tar.gz 3896007 BLAKE2B b94f843437be348b10082f19d0b416f909daf15078b1461ab6724ee086d3194f6c378c305174676a3399fc3e6cb23133faaa334ac5dfc9457fb597c65dad7d36 SHA512 021fc54353fdf5063d55ccdc2057dada292bb0008fb92e93e8d94dd89f529630f290fcdc4f4d095e3192522c57fe0f0da260b5ef8e8e15a8c6ac05728f5f7160 DIST libtorrent-rasterbar-1.2.0.tar.gz 3546062 BLAKE2B a02ef8f273d8e6ec3b6f6a42d518f7cbba669f109f907e243bb90cd674009894b9edce2f355b52d77275f3fcd9537e9c26280f7b78dfbb1792f52d6c7f50f7da SHA512 2dae77f32cf3da388edece7e64b8d9cf359cca735a101d96bb18fb06573fd1d84c303e5bebd370f637d7c73010ea2d99e38748b2259ce02ae8f0dbc0c4f01518 EBUILD libtorrent-rasterbar-1.1.10.ebuild 2383 BLAKE2B 8aa73342140939d5842d80d686c127e62e8ab1f3186a2af48144274ea7c531c70ce5bf4ed45efbfe87aa7b341111dbc0158f86810841a4877d3cc1d6e0acff6b SHA512 b493746cc819c8f43e68a53bc06ea7091cec77959bf6d51d3c204c5c793e2871cf093352e6a854c0b79744552e8005382468447a86185b4b58a0c38d20007fd2 EBUILD libtorrent-rasterbar-1.1.12.ebuild 2383 BLAKE2B 919a3ca47460f14e9e22dbf3bba66539122960051bbbb4957d56e15f7f8dcd7edf8807f637f23b89022b6b2574747edef90f2edbc9b28f4ee005190d7aa384cc SHA512 4365325228634965e650d633ec1378bd8acfcb13398bf98de79b5190782c6e312e525ec8326b7e3eea48d8efddd64c7accae6e3ed138625098fbb1b305e5e381 -EBUILD libtorrent-rasterbar-1.2.0.ebuild 2515 BLAKE2B 05610fdb0e96e75eec8c3ed9e65be02ae5cfa811cd827e13b2f3c9a3474c258580355fe04befda7a66e50f72c34ef977fe2526956407d95658b032212df65cdd SHA512 123037531086ec81e71c0a1d37cb284418e3fc331d0092f8167d0ea77b553f41a3210bbda56571a25b372bbb3f300678470c060cb31083a2d5a4748ece4a901b +EBUILD libtorrent-rasterbar-1.1.13.ebuild 2385 BLAKE2B b5d51c97dcae1ca920224a81cda528297cd71aea5428605d1db66d0c7dba18f1f611b4327fd4400e056e30b97427eb935f1f93551e299231b4e4d77a4ff15573 SHA512 7362ba19287ff719da67543df0f327173713b3161bf2d06af85884724b51485e0a9d5dbe94b434e2556b5f35c544f2b574a5fed6549c81a0893ae88661e0890c +EBUILD libtorrent-rasterbar-1.2.0.ebuild 2563 BLAKE2B 324eb4c1491dcff9fd62dc82f0e51490b066f52ca673a8e710b77418b8d9dc41a4fb787f63e951eeff62818acdf5bac54e3a04e6167f8e3e61700c0a67a567b2 SHA512 e8f0ce97f77781f9e2ca202bef02837bc612a3407a03b60358fd1c5578c847924103a5c92cbc12eadbca71f9700803a6d495fde32d9d5723d553cd485da2738c MISC metadata.xml 524 BLAKE2B cb56b15139e8d52871acb1f2979178e182c385658d3fb59025e3f19e1844deb4c0442c12ad490c645d456ec09dd68c268fd6863a205f30a0c241a3d02f10a45b SHA512 47c117d10a88cd13375fa10bfaaa827012d0451713bfff80c587295f68f1243051c477611d9b830a7b525ff2bd77d38c2a45f172ecbe18ba66827e3e6ca664f3 diff --git a/net-libs/libtorrent-rasterbar/files/fix-boost-1.70.patch b/net-libs/libtorrent-rasterbar/files/fix-boost-1.70.patch new file mode 100644 index 000000000000..25adcdedcea7 --- /dev/null +++ b/net-libs/libtorrent-rasterbar/files/fix-boost-1.70.patch @@ -0,0 +1,295 @@ +From 76c2794923c4c101ff715be11d794f7fefc6c524 Mon Sep 17 00:00:00 2001 +From: Arvid Norberg +Date: Fri, 19 Apr 2019 20:56:19 +0200 +Subject: [PATCH] fix build with boost-1.70 (#3788) + +fix build with boost 1.70.0 Fix #3683 +Signed-off-by: Fabrice Fontaine +--- + include/libtorrent/io_service.hpp | 3 +++ + include/libtorrent/io_service_fwd.hpp | 13 +++++++++++-- + include/libtorrent/proxy_base.hpp | 2 +- + include/libtorrent/tracker_manager.hpp | 2 +- + include/libtorrent/udp_socket.hpp | 2 +- + src/disk_io_thread_pool.cpp | 2 +- + src/http_connection.cpp | 18 +++++++++--------- + src/kademlia/dht_tracker.cpp | 2 +- + src/lsd.cpp | 4 ++-- + src/natpmp.cpp | 6 +++--- + src/udp_socket.cpp | 2 +- + src/upnp.cpp | 2 +- + test/test_fast_extension.cpp | 2 +- + 13 files changed, 36 insertions(+), 24 deletions(-) + +diff --git a/include/libtorrent/io_service.hpp b/include/libtorrent/io_service.hpp +index 123274019b..5f6be1a2ca 100644 +--- a/include/libtorrent/io_service.hpp ++++ b/include/libtorrent/io_service.hpp +@@ -38,9 +38,12 @@ POSSIBILITY OF SUCH DAMAGE. + #else + #include "libtorrent/aux_/disable_warnings_push.hpp" + #include ++#include + #include "libtorrent/aux_/disable_warnings_pop.hpp" + #endif // SIMULATOR + ++#include "libtorrent/io_service_fwd.hpp" ++ + namespace libtorrent { + + #if defined TORRENT_BUILD_SIMULATOR +diff --git a/include/libtorrent/io_service_fwd.hpp b/include/libtorrent/io_service_fwd.hpp +index 1b22c3e58f..71b845d3f3 100644 +--- a/include/libtorrent/io_service_fwd.hpp ++++ b/include/libtorrent/io_service_fwd.hpp +@@ -55,10 +55,19 @@ namespace boost { namespace asio { + namespace libtorrent { + + #if defined TORRENT_BUILD_SIMULATOR +- typedef sim::asio::io_service io_service; ++ using io_service = sim::asio::io_service; + #else +- typedef boost::asio::io_service io_service; ++ using io_service = boost::asio::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 +diff --git a/include/libtorrent/proxy_base.hpp b/include/libtorrent/proxy_base.hpp +index 344c230977..d7666545c6 100644 +--- a/include/libtorrent/proxy_base.hpp ++++ b/include/libtorrent/proxy_base.hpp +@@ -246,7 +246,7 @@ class proxy_base + + io_service& get_io_service() + { +- return m_sock.get_io_service(); ++ return lt::get_io_service(m_sock); + } + + lowest_layer_type& lowest_layer() +diff --git a/include/libtorrent/tracker_manager.hpp b/include/libtorrent/tracker_manager.hpp +index 86331adbca..1fc28e89ff 100644 +--- a/include/libtorrent/tracker_manager.hpp ++++ b/include/libtorrent/tracker_manager.hpp +@@ -259,7 +259,7 @@ namespace libtorrent { + 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 lt::get_io_service(m_timeout); } + + private: + +diff --git a/include/libtorrent/udp_socket.hpp b/include/libtorrent/udp_socket.hpp +index f4dcbeb248..c5c9aeba66 100644 +--- a/include/libtorrent/udp_socket.hpp ++++ b/include/libtorrent/udp_socket.hpp +@@ -61,7 +61,7 @@ namespace libtorrent { + 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 lt::get_io_service(m_socket); } + + template + void async_read(Handler&& h) +diff --git a/src/disk_io_thread_pool.cpp b/src/disk_io_thread_pool.cpp +index 4d4b5ee678..123159a45d 100644 +--- a/src/disk_io_thread_pool.cpp ++++ b/src/disk_io_thread_pool.cpp +@@ -173,7 +173,7 @@ namespace libtorrent { + // 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(get_io_service(m_idle_timer))); + } + } + +diff --git a/src/http_connection.cpp b/src/http_connection.cpp +index e01e9ea1d5..81e5368a55 100644 +--- a/src/http_connection.cpp ++++ b/src/http_connection.cpp +@@ -148,7 +148,7 @@ void http_connection::get(std::string const& url, time_duration timeout, int pri + + if (ec) + { +- m_timer.get_io_service().post(std::bind(&http_connection::callback ++ lt::get_io_service(m_timer).post(std::bind(&http_connection::callback + , me, ec, span{})); + return; + } +@@ -160,7 +160,7 @@ void http_connection::get(std::string const& url, time_duration timeout, int pri + ) + { + error_code err(errors::unsupported_url_protocol); +- m_timer.get_io_service().post(std::bind(&http_connection::callback ++ lt::get_io_service(m_timer).post(std::bind(&http_connection::callback + , me, err, span{})); + return; + } +@@ -258,7 +258,7 @@ void http_connection::start(std::string const& hostname, int port + + if (ec) + { +- m_timer.get_io_service().post(std::bind(&http_connection::callback ++ lt::get_io_service(m_timer).post(std::bind(&http_connection::callback + , me, ec, span{})); + return; + } +@@ -297,7 +297,7 @@ void http_connection::start(std::string const& hostname, int port + #if TORRENT_USE_I2P + if (i2p_conn->proxy().type != settings_pack::i2p_proxy) + { +- m_timer.get_io_service().post(std::bind(&http_connection::callback ++ lt::get_io_service(m_timer).post(std::bind(&http_connection::callback + , me, error_code(errors::no_i2p_router), span{})); + return; + } +@@ -332,8 +332,8 @@ void http_connection::start(std::string const& hostname, int port + m_ssl_ctx->set_verify_mode(ssl::context::verify_none, ec); + if (ec) + { +- m_timer.get_io_service().post(std::bind(&http_connection::callback +- , me, ec, span{})); ++ lt::get_io_service(m_timer).post(std::bind(&http_connection::callback ++ , me, ec, span{})); + return; + } + } +@@ -344,7 +344,7 @@ void http_connection::start(std::string const& hostname, int port + // 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(lt::get_io_service(m_timer) + , proxy ? *proxy : null_proxy, m_sock, userdata, nullptr, false, false); + + if (m_bind_addr) +@@ -353,7 +353,7 @@ void http_connection::start(std::string const& hostname, int port + m_sock.bind(tcp::endpoint(*m_bind_addr, 0), ec); + if (ec) + { +- m_timer.get_io_service().post(std::bind(&http_connection::callback ++ lt::get_io_service(m_timer).post(std::bind(&http_connection::callback + , me, ec, span{})); + return; + } +@@ -362,7 +362,7 @@ void http_connection::start(std::string const& hostname, int port + setup_ssl_hostname(m_sock, hostname, ec); + if (ec) + { +- m_timer.get_io_service().post(std::bind(&http_connection::callback ++ lt::get_io_service(m_timer).post(std::bind(&http_connection::callback + , me, ec, span{})); + return; + } +diff --git a/src/kademlia/dht_tracker.cpp b/src/kademlia/dht_tracker.cpp +index a840bcf991..f2b2b9e2a1 100644 +--- a/src/kademlia/dht_tracker.cpp ++++ b/src/kademlia/dht_tracker.cpp +@@ -130,7 +130,7 @@ namespace libtorrent { namespace dht { + // 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(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/src/lsd.cpp b/src/lsd.cpp +index 99e21ead44..562f374c62 100644 +--- a/src/lsd.cpp ++++ b/src/lsd.cpp +@@ -100,11 +100,11 @@ void lsd::debug_log(char const* fmt, ...) const + void lsd::start(error_code& ec) + { + m_socket.open(std::bind(&lsd::on_announce, self(), _1, _2) +- , m_broadcast_timer.get_io_service(), ec); ++ , lt::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); ++ , lt::get_io_service(m_broadcast_timer), ec); + } + + lsd::~lsd() = default; +diff --git a/src/natpmp.cpp b/src/natpmp.cpp +index 1226bcebac..5876683ea9 100644 +--- a/src/natpmp.cpp ++++ b/src/natpmp.cpp +@@ -160,13 +160,13 @@ void natpmp::start(address local_address, std::string device) + // 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, 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(get_io_service(m_socket) + , device, local_address.is_v6(), ec); + + if (!route) +@@ -194,7 +194,7 @@ void natpmp::start(address local_address, std::string device) + if (local_address.is_unspecified()) + { + std::vector const net = enum_net_interfaces( +- m_socket.get_io_service(), ec); ++ get_io_service(m_socket), ec); + + auto const it = std::find_if(net.begin(), net.end(), [&](ip_interface const& i) + { +diff --git a/src/udp_socket.cpp b/src/udp_socket.cpp +index 9ca38e5486..2459e4f1ca 100644 +--- a/src/udp_socket.cpp ++++ b/src/udp_socket.cpp +@@ -492,7 +492,7 @@ void udp_socket::set_proxy_settings(aux::proxy_settings const& ps) + { + // 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(lt::get_io_service(m_socket)); + m_socks5_connection->start(ps); + } + } +diff --git a/src/upnp.cpp b/src/upnp.cpp +index a300571e47..b1e8a5bb19 100644 +--- a/src/upnp.cpp ++++ b/src/upnp.cpp +@@ -121,7 +121,7 @@ void upnp::start() + + error_code ec; + m_socket.open(std::bind(&upnp::on_reply, self(), _1, _2) +- , m_refresh_timer.get_io_service(), ec); ++ , lt::get_io_service(m_refresh_timer), ec); + + m_mappings.reserve(10); + } +diff --git a/test/test_fast_extension.cpp b/test/test_fast_extension.cpp +index 91256fa0c9..cddc508825 100644 +--- a/test/test_fast_extension.cpp ++++ b/test/test_fast_extension.cpp +@@ -462,7 +462,7 @@ std::shared_ptr setup_peer(tcp::socket& s, sha1_hash& ih + } + else + { +- tcp::acceptor l(s.get_io_service()); ++ tcp::acceptor l(lt::get_io_service(s)); + l.open(tcp::v4()); + l.bind(tcp::endpoint(address_v4::from_string("127.0.0.1"), 0)); + l.listen(); diff --git a/net-libs/libtorrent-rasterbar/libtorrent-rasterbar-1.1.13.ebuild b/net-libs/libtorrent-rasterbar/libtorrent-rasterbar-1.1.13.ebuild new file mode 100644 index 000000000000..68db15e431cf --- /dev/null +++ b/net-libs/libtorrent-rasterbar/libtorrent-rasterbar-1.1.13.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 python3_{5,6} ) +PYTHON_REQ_USE="threads" +DISTUTILS_OPTIONAL=true +DISTUTILS_IN_SOURCE_BUILD=true + +inherit distutils-r1 flag-o-matic + +MY_PV=$(ver_rs 1-2 '_') + +DESCRIPTION="C++ BitTorrent implementation focusing on efficiency and scalability" +HOMEPAGE="https://libtorrent.org" +SRC_URI="https://github.com/arvidn/libtorrent/releases/download/libtorrent-${MY_PV}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0/9" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +IUSE="debug +dht doc examples libressl python +ssl static-libs test" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + dev-libs/boost:=[threads] + virtual/libiconv + examples? ( !net-p2p/mldonkey ) + python? ( + ${PYTHON_DEPS} + dev-libs/boost:=[python,${PYTHON_USEDEP}] + ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:= ) + ) +" +DEPEND="${RDEPEND} + sys-devel/libtool +" + +src_prepare() { + default + + # bug 578026 + # prepend -L${S}/... to ensure bindings link against the lib we just built + sed -i -e "s|^|-L${S}/src/.libs |" bindings/python/link_flags.in || die + + # prepend -I${S}/... to ensure bindings use the right headers + sed -i -e "s|^|-I${S}/src/include |" bindings/python/compile_flags.in || die + + use python && distutils-r1_src_prepare +} + +src_configure() { + append-cxxflags -std=c++11 # bug 634506 + + local myeconfargs=( + $(use_enable debug) + $(use_enable debug logging) + $(use_enable debug disk-stats) + $(use_enable dht dht $(usex debug logging $(usex ('yes' 'no')))) + $(use_enable examples) + $(use_enable ssl encryption) + $(use_enable static-libs static) + $(use_enable test tests) + --with-libiconv + ) + econf "${myeconfargs[@]}" + + if use python; then + python_configure() { + econf "${myeconfargs[@]}" \ + --enable-python-binding \ + --with-boost-python="${EPYTHON#python}" + } + distutils-r1_src_configure + fi +} + +src_compile() { + default + + python_compile() { + cd "${BUILD_DIR}/../bindings/python" || die + distutils-r1_python_compile + } + use python && distutils-r1_src_compile +} + +src_install() { + use doc && HTML_DOCS+=( "${S}"/docs ) + + default + + python_install() { + cd "${BUILD_DIR}/../bindings/python" || die + distutils-r1_python_install + } + use python && distutils-r1_src_install + + find "${D}" -name '*.la' -delete || die +} diff --git a/net-libs/libtorrent-rasterbar/libtorrent-rasterbar-1.2.0.ebuild b/net-libs/libtorrent-rasterbar/libtorrent-rasterbar-1.2.0.ebuild index ff391a34b944..a182fa18ab32 100644 --- a/net-libs/libtorrent-rasterbar/libtorrent-rasterbar-1.2.0.ebuild +++ b/net-libs/libtorrent-rasterbar/libtorrent-rasterbar-1.2.0.ebuild @@ -43,6 +43,8 @@ DEPEND="${RDEPEND} S="${WORKDIR}/${PN/-rasterbar}-${MY_P}" +PATCHES=( "${FILESDIR}"/fix-boost-1.70.patch ) + src_prepare() { mkdir "${S}"/build-aux/ || die touch "${S}"/build-aux/config.rpath || die -- cgit v1.2.3