diff options
3 files changed, 129 insertions, 0 deletions
diff --git a/net-libs/libtorrent-rasterbar/Manifest b/net-libs/libtorrent-rasterbar/Manifest new file mode 100644 index 00000000..a38f28f1 --- /dev/null +++ b/net-libs/libtorrent-rasterbar/Manifest @@ -0,0 +1 @@ +DIST libtorrent-rasterbar-1.2.2.tar.gz 3584187 BLAKE2B 93c77544d4641122f0bd2b5c5f0577629fb7bdfc9e81bd54f7a849f5a477255adc699676516865c93610d24a830a26a0de45f10e50ce64ad6f0214c116f7754c SHA512 34dcf5421dfccbba78bdd30890b9c18b92fdee1a2e1693ada9b55b79a167730093862017581b9251a654b5517011dbe4c46b520b03b78aa86a909457f7edcf2c diff --git a/net-libs/libtorrent-rasterbar/files/fix-boost-1.72.patch b/net-libs/libtorrent-rasterbar/files/fix-boost-1.72.patch new file mode 100644 index 00000000..ded59a56 --- /dev/null +++ b/net-libs/libtorrent-rasterbar/files/fix-boost-1.72.patch @@ -0,0 +1,14 @@ +diff -Nur a/include/libtorrent/aux_/socket_type.hpp b/include/libtorrent/aux_/socket_type.hpp +--- a/include/libtorrent/aux_/socket_type.hpp 2019-09-24 00:28:43.000000000 +0100 ++++ b/include/libtorrent/aux_/socket_type.hpp 2019-12-17 22:48:27.679305842 +0000 +@@ -184,6 +184,10 @@ + using receive_buffer_size = tcp::socket::receive_buffer_size; + using send_buffer_size = tcp::socket::send_buffer_size; + ++#if BOOST_VERSION >= 106600 ++ using executor_type = tcp::socket::executor_type; ++#endif ++ + explicit socket_type(io_service& ios): m_io_service(ios), m_type(0) {} + ~socket_type(); + diff --git a/net-libs/libtorrent-rasterbar/libtorrent-rasterbar-1.2.2-r314.ebuild b/net-libs/libtorrent-rasterbar/libtorrent-rasterbar-1.2.2-r314.ebuild new file mode 100644 index 00000000..871f0ce1 --- /dev/null +++ b/net-libs/libtorrent-rasterbar/libtorrent-rasterbar-1.2.2-r314.ebuild @@ -0,0 +1,114 @@ +# 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,7} ) +PYTHON_REQ_USE="threads(+)" +DISTUTILS_OPTIONAL=true +DISTUTILS_IN_SOURCE_BUILD=true + +inherit autotools distutils-r1 + +MY_PV=$(ver_rs 1-2 '_') +MY_P=${PN/-rasterbar}-${MY_PV} + +DESCRIPTION="C++ BitTorrent implementation focusing on efficiency and scalability" +HOMEPAGE="https://libtorrent.org https://github.com/arvidn/libtorrent" +SRC_URI="https://github.com/arvidn/libtorrent/archive/${MY_P}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0/9" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86" +IUSE="debug +dht doc examples libressl python +ssl static-libs test" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RESTRICT="!test? ( test )" + +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 +" + +S="${WORKDIR}/${PN/-rasterbar}-${MY_P}" + +PATCHES="( "${FILESDIR}/fix-boost-1.72.patch" )" + +src_prepare() { + mkdir "${S}"/build-aux/ || die + touch "${S}"/build-aux/config.rpath || die + eautoreconf + + 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() { + + local myeconfargs=( + $(use_enable debug) + $(use_enable debug export-all) + $(use_enable debug logging) + $(use_enable dht) + $(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="boost_${EPYTHON/./}" + } + 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 +} |