From 58e8b01f1daac769d1077654884e799d1fd663dd Mon Sep 17 00:00:00 2001 From: Sergei Reznikov Date: Mon, 4 Mar 2019 15:55:41 +0300 Subject: [PATCH] libtorrent: apply a workaround --- net-libs/libtorrent/libtorrent-0.13.7.recipe | 2 +- .../patches/libtorrent-0.13.7.patchset | 62 ++++++++++++++++++- 2 files changed, 62 insertions(+), 2 deletions(-) diff --git a/net-libs/libtorrent/libtorrent-0.13.7.recipe b/net-libs/libtorrent/libtorrent-0.13.7.recipe index 04bb4aad1..a2354af0b 100644 --- a/net-libs/libtorrent/libtorrent-0.13.7.recipe +++ b/net-libs/libtorrent/libtorrent-0.13.7.recipe @@ -4,7 +4,7 @@ with the goals of being efficient and easy to use." HOMEPAGE="http://libtorrent.rakshasa.no/" COPYRIGHT="2005-2018 Jari Sundell" LICENSE="GNU LGPL v2" -REVISION="1" +REVISION="2" SOURCE_URI="https://github.com/rakshasa/rtorrent/releases/download/v0.9.7/libtorrent-$portVersion.tar.gz" CHECKSUM_SHA256="c738f60f4d7b6879cd2745fb4310bf24c9287219c1fd619706a9d5499ca7ecc1" PATCHES="libtorrent-$portVersion.patchset" diff --git a/net-libs/libtorrent/patches/libtorrent-0.13.7.patchset b/net-libs/libtorrent/patches/libtorrent-0.13.7.patchset index 7551f4041..aeac92efb 100644 --- a/net-libs/libtorrent/patches/libtorrent-0.13.7.patchset +++ b/net-libs/libtorrent/patches/libtorrent-0.13.7.patchset @@ -1,4 +1,4 @@ -From 20901d2aa6674bb2a9887a3775811da0e0cca88e Mon Sep 17 00:00:00 2001 +From 3a221c1f3a413103a32aea71451ab7cd82222edf Mon Sep 17 00:00:00 2001 From: Sergei Reznikov Date: Thu, 3 Jan 2019 11:47:05 +0300 Subject: Fix build on Haiku @@ -25,3 +25,63 @@ index 54cb6de..fba9d7c -- 2.19.1 + +From 6ca0922b9b43d10199357c1e4a97506431452ad5 Mon Sep 17 00:00:00 2001 +From: Sergei Reznikov +Date: Mon, 4 Mar 2019 15:51:53 +0300 +Subject: Workaround a bug "rtorrent: Could not allocate socket for listening." + +https://github.com/rakshasa/rtorrent/issues/820#issuecomment-455900997 + +diff --git a/src/net/socket_fd.cc b/src/net/socket_fd.cc +index fba9d7c..725e76e 100644 +--- a/src/net/socket_fd.cc ++++ b/src/net/socket_fd.cc +@@ -128,40 +128,14 @@ SocketFd::get_error() const { + + bool + SocketFd::open_stream() { +- m_fd = socket(rak::socket_address::pf_inet6, SOCK_STREAM, IPPROTO_TCP); +- +- if (m_fd == -1) { +- m_ipv6_socket = false; +- return (m_fd = socket(rak::socket_address::pf_inet, SOCK_STREAM, IPPROTO_TCP)) != -1; +- } +- +- m_ipv6_socket = true; +- +- if (!set_ipv6_v6only(false)) { +- close(); +- return false; +- } +- +- return true; ++ m_ipv6_socket = false; ++ return (m_fd = socket(rak::socket_address::pf_inet, SOCK_STREAM, IPPROTO_TCP)) != -1; + } + + bool + SocketFd::open_datagram() { +- m_fd = socket(rak::socket_address::pf_inet6, SOCK_DGRAM, 0); +- +- if (m_fd == -1) { +- m_ipv6_socket = false; +- return (m_fd = socket(rak::socket_address::pf_inet, SOCK_DGRAM, 0)) != -1; +- } +- +- m_ipv6_socket = true; +- +- if (!set_ipv6_v6only(false)) { +- close(); +- return false; +- } +- +- return true; ++ m_ipv6_socket = false; ++ return (m_fd = socket(rak::socket_address::pf_inet, SOCK_DGRAM, 0)) != -1; + } + + bool +-- +2.19.1 +