net-libs/libtorrent-rasterbar: Temp. restore 1.0.11-r1

Package-Manager: Portage-2.3.24, Repoman-2.3.6
This commit is contained in:
Andreas Sturmlechner
2018-02-05 06:50:07 +01:00
parent 4d823c1308
commit 6db8993750
7 changed files with 402 additions and 0 deletions

View File

@@ -1 +1,2 @@
DIST libtorrent-rasterbar-1.0.11.tar.gz 3325786 BLAKE2B ef49c3242f520e222da2724385a41944fb752f09eab45fe60588df999d69832a82ed6b7b7494a0bf303cd6f05b28679f4d7776e6dd66e41cd22b1038f3391800 SHA512 770d16b241174ae4b121af9b2ac7bcde8b14c6ed99352b827b760a3cbdc2c0ebd0d505319762897720c5f72acdff506ee9948ac1140e6d4591805eca5439b184
DIST libtorrent-rasterbar-1.1.5.tar.gz 3942894 BLAKE2B 0a1102e1b74049c1f5d8980363a6b92a3378339349609d64d3b7a38a58baf6c2898a26f70e92b0de0d6a1f4b6725a576a850aacaa5764fe7d96fa0b541dfa2d7 SHA512 d0e7fe944c8a396aaf79ce80c7513be07a855bc8a9eee3bca46ed83d5e190aaa5ea4dc9a8a7208e27e18ae8f15733e6e34eabd375f0bde43d4dc4607840782e7

View File

@@ -0,0 +1,31 @@
commit 7eb3cf6bc6dbada3fa7bb7ff4d5981182813a0e2
Author: arvidn <arvid@cs.umu.se>
Date: Tue Jul 11 23:16:50 2017 -0700
use the official boost.config header
diff --git a/include/libtorrent/export.hpp b/include/libtorrent/export.hpp
index 87536af2a..503afe27a 100644
--- a/include/libtorrent/export.hpp
+++ b/include/libtorrent/export.hpp
@@ -33,19 +33,7 @@ POSSIBILITY OF SUCH DAMAGE.
#ifndef TORRENT_EXPORT_HPP_INCLUDED
#define TORRENT_EXPORT_HPP_INCLUDED
-#if !defined(BOOST_COMPILER_CONFIG) && !defined(BOOST_NO_COMPILER_CONFIG)
-# include <boost/config/select_compiler_config.hpp>
-#endif
-#ifdef BOOST_COMPILER_CONFIG
-# include BOOST_COMPILER_CONFIG
-#endif
-
-#if !defined(BOOST_PLATFORM_CONFIG) && !defined(BOOST_NO_PLATFORM_CONFIG)
-# include <boost/config/select_platform_config.hpp>
-#endif
-#ifdef BOOST_PLATFORM_CONFIG
-# include BOOST_PLATFORM_CONFIG
-#endif
+#include <boost/config.hpp>
// backwards compatibility with older versions of boost
#if !defined BOOST_SYMBOL_EXPORT && !defined BOOST_SYMBOL_IMPORT

View File

@@ -0,0 +1,157 @@
From 76381835be19da2f8f1fc501445e31d32e6d83e4 Mon Sep 17 00:00:00 2001
From: Arvid Norberg <arvid.norberg@gmail.com>
Date: Sun, 12 Feb 2017 21:05:22 -0500
Subject: [PATCH] fix ABI compatibility issue introduced with preformatted
entry type (#1702)
fix ABI compatibility issue introduced with preformatted entry type
---
ChangeLog | 2 ++
bindings/python/src/create_torrent.cpp | 2 +-
include/libtorrent/create_torrent.hpp | 6 ++++++
src/create_torrent.cpp | 31 ++++++++++++++++++++++++++++---
src/torrent.cpp | 11 ++++++++---
test/test_create_torrent.cpp | 2 +-
6 files changed, 46 insertions(+), 8 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 9b501ce..9defe7c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,5 @@
+ * fix ABI compatibility issue introduced with preformatted entry type
+
1.0.11 release
* updating super seeding would include the torrent in state_update_alert
diff --git a/bindings/python/src/create_torrent.cpp b/bindings/python/src/create_torrent.cpp
index 55b6b51..31abb07 100644
--- a/bindings/python/src/create_torrent.cpp
+++ b/bindings/python/src/create_torrent.cpp
@@ -127,7 +127,7 @@ void bind_create_torrent()
class_<create_torrent>("create_torrent", no_init)
.def(init<file_storage&>())
- .def(init<torrent_info const&>(arg("ti")))
+ .def(init<torrent_info const&, int>((arg("ti"), arg("version") = LIBTORRENT_VERSION_NUM)))
.def(init<file_storage&, int, int, int>((arg("storage"), arg("piece_size") = 0
, arg("pad_file_limit") = -1, arg("flags") = int(libtorrent::create_torrent::optimize))))
diff --git a/include/libtorrent/create_torrent.hpp b/include/libtorrent/create_torrent.hpp
index 05dc6ca..d55e86a 100644
--- a/include/libtorrent/create_torrent.hpp
+++ b/include/libtorrent/create_torrent.hpp
@@ -42,6 +42,7 @@ POSSIBILITY OF SUCH DAMAGE.
#include "libtorrent/utf8.hpp"
#include "libtorrent/allocator.hpp"
#include "libtorrent/file.hpp" // for combine_path etc.
+#include "libtorrent/version.hpp"
#include <vector>
#include <string>
@@ -171,9 +172,12 @@ namespace libtorrent
// ``alignment`` is used when pad files are enabled. This is the size
// eligible files are aligned to. The default is -1, which means the
// piece size of the torrent.
+ // The ``use_preformatted`` parameter can be set to true to preserve
+ // invalid encoding of the .torrent file.
create_torrent(file_storage& fs, int piece_size = 0
, int pad_file_limit = -1, int flags = optimize, int alignment = -1);
create_torrent(torrent_info const& ti);
+ create_torrent(torrent_info const& ti, bool use_preformatted);
// internal
~create_torrent();
@@ -290,6 +294,8 @@ namespace libtorrent
private:
+ void load_from_torrent_info(torrent_info const& ti, bool const use_preformatted);
+
file_storage& m_files;
// if m_info_dict is initialized, it is
// used instead of m_files to generate
diff --git a/src/create_torrent.cpp b/src/create_torrent.cpp
index df4c759..aab5574 100644
--- a/src/create_torrent.cpp
+++ b/src/create_torrent.cpp
@@ -330,6 +330,24 @@ namespace libtorrent
, m_include_symlinks(false)
, m_calculate_file_hashes(false)
{
+ load_from_torrent_info(ti, false);
+ }
+
+ create_torrent::create_torrent(torrent_info const& ti, bool const use_preformatted)
+ : m_files(const_cast<file_storage&>(ti.files()))
+ , m_creation_date(time(0))
+ , m_multifile(ti.num_files() > 1)
+ , m_private(ti.priv())
+ , m_merkle_torrent(ti.is_merkle_torrent())
+ , m_include_mtime(false)
+ , m_include_symlinks(false)
+ , m_calculate_file_hashes(false)
+ {
+ load_from_torrent_info(ti, use_preformatted);
+ }
+
+ void create_torrent::load_from_torrent_info(torrent_info const& ti, bool const use_preformatted)
+ {
TORRENT_ASSERT(ti.is_valid());
if (!ti.is_valid()) return;
@@ -361,9 +379,16 @@ namespace libtorrent
m_piece_hash.resize(m_files.num_pieces());
for (int i = 0; i < num_pieces(); ++i) set_hash(i, ti.hash_for_piece(i));
- boost::shared_array<char> const info = ti.metadata();
- int const size = ti.metadata_size();
- m_info_dict.preformatted().assign(&info[0], &info[0] + size);
+ if (use_preformatted)
+ {
+ boost::shared_array<char> const info = ti.metadata();
+ int const size = ti.metadata_size();
+ m_info_dict.preformatted().assign(&info[0], &info[0] + size);
+ }
+ else
+ {
+ m_info_dict = bdecode(&ti.metadata()[0], &ti.metadata()[0] + ti.metadata_size());
+ }
m_info_hash = ti.info_hash();
}
diff --git a/src/torrent.cpp b/src/torrent.cpp
index 75f0cc7..ef05dfd 100644
--- a/src/torrent.cpp
+++ b/src/torrent.cpp
@@ -5601,9 +5601,14 @@ namespace libtorrent
{
if (m_magnet_link || (m_save_resume_flags & torrent_handle::save_info_dict))
{
- boost::shared_array<char> const info = torrent_file().metadata();
- int const size = torrent_file().metadata_size();
- ret["info"].preformatted().assign(&info[0], &info[0] + size);
+ ret["info"] = bdecode(&torrent_file().metadata()[0]
+ , &torrent_file().metadata()[0] + torrent_file().metadata_size());
+// TODO: re-enable this code once there's a non-inlined encoder function. Or
+// perhaps this should not be used until saving resume_data via
+// add_torrent_params and a free function, similar to read_resume_data
+// boost::shared_array<char> const info = torrent_file().metadata();
+// int const size = torrent_file().metadata_size();
+// ret["info"].preformatted().assign(&info[0], &info[0] + size);
}
}
diff --git a/test/test_create_torrent.cpp b/test/test_create_torrent.cpp
index 0a87c08..33fd3e8 100644
--- a/test/test_create_torrent.cpp
+++ b/test/test_create_torrent.cpp
@@ -51,7 +51,7 @@ int test_main()
lt::torrent_info info(test_torrent, sizeof(test_torrent) - 1);
- lt::create_torrent t(info);
+ lt::create_torrent t(info, true);
std::vector<char> buffer;
lt::bencode(std::back_inserter(buffer), t.generate());

View File

@@ -0,0 +1,21 @@
From 7f060e4a70b21974bcf154cf1a93c7b68c5a9aa8 Mon Sep 17 00:00:00 2001
From: Alden Torres <aldenml@gmail.com>
Date: Sat, 8 Oct 2016 01:12:15 -0400
Subject: [PATCH] fix openssl compilation with boost 1.62 (#1193)
---
test/test_ssl.cpp | 1 -
1 file changed, 1 deletion(-)
diff --git a/test/test_ssl.cpp b/test/test_ssl.cpp
index 659973c..5aa6b15 100644
--- a/test/test_ssl.cpp
+++ b/test/test_ssl.cpp
@@ -47,7 +47,6 @@ POSSIBILITY OF SUCH DAMAGE.
#include <boost/asio/connect.hpp>
#ifdef TORRENT_USE_OPENSSL
-#include <boost/asio/ssl/error.hpp> // for asio::error::get_ssl_category()
#include <boost/asio/ssl.hpp>
using namespace libtorrent;

View File

@@ -0,0 +1,34 @@
From ecd20f15cb3fa5a0ebabd647b1f57f3cd62cb4b7 Mon Sep 17 00:00:00 2001
From: sledgehammer_999 <hammered999@gmail.com>
Date: Mon, 20 Feb 2017 01:22:27 +0200
Subject: [PATCH] Move include into implementation instead(from #1702).
---
bindings/python/src/create_torrent.cpp | 1 +
include/libtorrent/create_torrent.hpp | 1 -
2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/bindings/python/src/create_torrent.cpp b/bindings/python/src/create_torrent.cpp
index 31abb07..e856d85 100644
--- a/bindings/python/src/create_torrent.cpp
+++ b/bindings/python/src/create_torrent.cpp
@@ -6,6 +6,7 @@
#include <libtorrent/create_torrent.hpp>
#include <libtorrent/file_storage.hpp>
#include "libtorrent/intrusive_ptr_base.hpp"
+#include <libtorrent/version.hpp>
#include "bytes.hpp"
using namespace boost::python;
diff --git a/include/libtorrent/create_torrent.hpp b/include/libtorrent/create_torrent.hpp
index d55e86a..8d2c680 100644
--- a/include/libtorrent/create_torrent.hpp
+++ b/include/libtorrent/create_torrent.hpp
@@ -42,7 +42,6 @@ POSSIBILITY OF SUCH DAMAGE.
#include "libtorrent/utf8.hpp"
#include "libtorrent/allocator.hpp"
#include "libtorrent/file.hpp" // for combine_path etc.
-#include "libtorrent/version.hpp"
#include <vector>
#include <string>

View File

@@ -0,0 +1,41 @@
From bdd91e29225b44a1a13e670dc4cecfb58f241d28 Mon Sep 17 00:00:00 2001
From: Davide Pesavento <pesa@gentoo.org>
Date: Sun, 7 Aug 2016 12:14:57 +0200
Subject: [PATCH] Disable failing torrent_parse tests
For unknown reasons, some test torrents are missing from the tarball.
Skip the corresponding test cases to avoid spurious failures.
---
test/test_torrent_parse.cpp | 5 -----
1 file changed, 5 deletions(-)
diff --git a/test/test_torrent_parse.cpp b/test/test_torrent_parse.cpp
index 663f341..2de6fb5 100644
--- a/test/test_torrent_parse.cpp
+++ b/test/test_torrent_parse.cpp
@@ -49,13 +49,10 @@ using namespace libtorrent;
test_torrent_t test_torrents[] =
{
{ "base.torrent" },
- { "empty_path.torrent" },
{ "parent_path.torrent" },
{ "hidden_parent_path.torrent" },
{ "single_multi_file.torrent" },
{ "slash_path.torrent" },
- { "slash_path2.torrent" },
- { "slash_path3.torrent" },
{ "backslash_path.torrent" },
{ "url_list.torrent" },
{ "url_list2.torrent" },
@@ -75,8 +72,6 @@ test_torrent_t test_torrents[] =
{ "root_hash.torrent" },
{ "empty_path_multi.torrent" },
{ "duplicate_web_seeds.torrent" },
- { "invalid_name3.torrent" },
- { "symlink1.torrent" },
};
struct test_failing_torrent_t
--
2.9.2

View File

@@ -0,0 +1,117 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 python3_{4,5} )
PYTHON_REQ_USE="threads"
DISTUTILS_OPTIONAL=true
DISTUTILS_IN_SOURCE_BUILD=true
inherit distutils-r1 versionator
MY_PV=$(replace_all_version_separators _)
DESCRIPTION="C++ BitTorrent implementation focusing on efficiency and scalability"
HOMEPAGE="http://libtorrent.org"
SRC_URI="https://github.com/arvidn/libtorrent/releases/download/libtorrent-${MY_PV}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/8"
KEYWORDS="amd64 arm ppc ppc64 ~sparc x86 ~x86-fbsd"
IUSE="debug +dht doc examples +geoip libressl python +ssl static-libs test"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
COMMON_DEPEND="
dev-libs/boost:=[threads]
virtual/libiconv
geoip? ( dev-libs/geoip )
python? (
${PYTHON_DEPS}
dev-libs/boost:=[python,${PYTHON_USEDEP}]
)
ssl? (
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
)
"
DEPEND="${COMMON_DEPEND}
sys-devel/libtool
"
RDEPEND="${COMMON_DEPEND}
examples? ( !net-p2p/mldonkey )
"
PATCHES=(
"${FILESDIR}/${PN}-1.0.9-test_torrent_parse.patch"
# RC_1_0 branch
"${FILESDIR}/${P}-fix-abicompat.patch"
"${FILESDIR}/${P}-move-header.patch"
# master branch
"${FILESDIR}/${P}-fix-test_ssl.patch"
"${FILESDIR}/${P}-boost-config-header.patch"
)
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/compile_flags.in || die
use python && distutils-r1_src_prepare
}
src_configure() {
local myeconfargs=(
$(use_enable debug)
$(use_enable debug logging)
$(use_enable debug statistics)
$(use_enable debug disk-stats)
$(use_enable dht dht $(usex debug logging yes))
$(use_enable examples)
$(use_enable geoip)
$(use_with geoip libgeoip)
$(use_enable ssl encryption)
$(use_enable static-libs static)
$(use_enable test tests)
--with-libiconv
)
econf "${myeconfargs[@]}"
if use python; then
myeconfargs+=(
--enable-python-binding
--with-boost-python
)
python_configure() {
econf "${myeconfargs[@]}"
}
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
}