From 4ad7bbe555e8293305faf5191e22613724026890 Mon Sep 17 00:00:00 2001 From: Pacho Ramos Date: Mon, 24 Oct 2016 14:58:03 +0200 Subject: net-libs/rb_libtorrent: Drop old Package-Manager: portage-2.3.2 RepoMan-Options: --force --- net-libs/rb_libtorrent/Manifest | 2 - .../files/rb_libtorrent-1.0.2-python.patch | 32 --- .../files/rb_libtorrent-1.0.9-CVE-2016-5301.patch | 289 --------------------- net-libs/rb_libtorrent/rb_libtorrent-1.0.7.ebuild | 78 ------ .../rb_libtorrent/rb_libtorrent-1.0.9-r2.ebuild | 114 -------- 5 files changed, 515 deletions(-) delete mode 100644 net-libs/rb_libtorrent/files/rb_libtorrent-1.0.2-python.patch delete mode 100644 net-libs/rb_libtorrent/files/rb_libtorrent-1.0.9-CVE-2016-5301.patch delete mode 100644 net-libs/rb_libtorrent/rb_libtorrent-1.0.7.ebuild delete mode 100644 net-libs/rb_libtorrent/rb_libtorrent-1.0.9-r2.ebuild (limited to 'net-libs/rb_libtorrent') diff --git a/net-libs/rb_libtorrent/Manifest b/net-libs/rb_libtorrent/Manifest index 8a441a22a766..30fae0518fec 100644 --- a/net-libs/rb_libtorrent/Manifest +++ b/net-libs/rb_libtorrent/Manifest @@ -1,5 +1,3 @@ DIST libtorrent-rasterbar-0.16.17.tar.gz 3018881 SHA256 67a1d29c626d991d6e39c2f9828ca70c4053d057070ce01fff9b4ad37e64aff0 SHA512 532b2438e24c3ecad239480a1bd6241a0d73d40f8d5bdcf61ddfcee1a41f1644c9004d4f234968efd50158224219b78852ec936a05b75b15f3442b594460cdd6 WHIRLPOOL 755e201741ed77cf91cb0976cbaa83c645647341d2cfe40564552599f2792ba76bd02e82a94669d80b199f1a1d6290824686d2bb52d6b0da8663d2274176f3eb DIST libtorrent-rasterbar-0.16.19.tar.gz 3030253 SHA256 9ebd3fa8accfa27d0c81cdbbe15d7b411ea1deec34ac6325dec7197f05d82982 SHA512 8e605802cb1ae80228d253adba44da6f5af39e7d65c59f65e15444ed1122500529ee068f6d3608b1c2a249f18b4de695073f7b67772fa445618757697d779340 WHIRLPOOL 4429d07bd95f398a09f283a7cbcf6611aeb8ac5d2b8ed76d98f89d601aa6ed66e6eb8f044b351fad6cca3606351ccc67081dba7c8dd8d9c3c433eae84aedeb2c DIST libtorrent-rasterbar-1.0.10.tar.gz 3324494 SHA256 a865ceaca8b14acdd7be56d361ce4e64361299647e157ef7b3ac7e2812ca4c3e SHA512 08976239ec12e2d67a974dadf3f16330f48e4b6de314f9d97c5fbbdbc696b76b6b1f8e20ceab6830d46d17b1bfd7e2fe4048fb1a5a97ece12c242c0cd0f7ded2 WHIRLPOOL 1e4ef2fb41eef0b825bd7c8c665638e3f689c3cefca3caa18a01c328caad9d31cd417fb49d25a7d55da6457a89e35a891427d70fb4f4d070c74be2e2e0347a60 -DIST libtorrent-rasterbar-1.0.7.tar.gz 3298005 SHA256 3e16e024b175fefada17471c659fdbcfab235f9619d4f0913faa13cb02ca8d83 SHA512 d60736af4b7c38317821810995dd9bec21688a9506e9b908394c2a1a87acd2abf23000856dedcad487b9ecc7b5680f83cfc09ff9db79af00fe21e94337daeacf WHIRLPOOL aff289e3ca85eedf688e8a898f0164a4d692e8c813b04dbae6323bc56003f5c3af862167a1d00a8bfe193dfda15d20a18a48bcbeac9313e29d6f2de35d20e621 -DIST libtorrent-rasterbar-1.0.9.tar.gz 3292886 SHA256 11a93125ed49f796fca83da925ab7dc29e91d88b915f078caaddaaf559d63db6 SHA512 68558d440c8220711a410e54a28316b7b98f6dd4d0dae2d56cee3a3f0bd031f8b0623a8eb3fde312c4d1b61b4be8fc21396cb3e9fd7f6d86e3a9a693ee036b66 WHIRLPOOL 2c2f695458fe1069d4159d308def7591bc318eed30e649bc5ad4579fef1c67d3ccabc6acfb7570ae09a9b78fe8c00f975c88d48231b9db71e714672e1043d1f5 diff --git a/net-libs/rb_libtorrent/files/rb_libtorrent-1.0.2-python.patch b/net-libs/rb_libtorrent/files/rb_libtorrent-1.0.2-python.patch deleted file mode 100644 index e729a190c79a..000000000000 --- a/net-libs/rb_libtorrent/files/rb_libtorrent-1.0.2-python.patch +++ /dev/null @@ -1,32 +0,0 @@ - bindings/python/setup.py | 2 +- - configure.ac | 4 ---- - 2 files changed, 1 insertion(+), 5 deletions(-) - -diff --git a/bindings/python/setup.py b/bindings/python/setup.py -index 961395f..c38ef52 100644 ---- a/bindings/python/setup.py -+++ b/bindings/python/setup.py -@@ -36,7 +36,7 @@ def target_specific(): - - try: - with open('compile_flags') as _file: -- extra_cmd = _file.read() -+ extra_cmd = _file.read() + '-lboost_python-%s-mt' % (platform.python_version()[:3]) - - except: - extra_cmd = None -diff --git a/configure.ac b/configure.ac -index ebb1f7e..3e07828 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -540,10 +540,6 @@ AS_CASE(["$ARG_ENABLE_PYTHON_BINDING"], - - AM_PATH_PYTHON([2.4], [], AC_MSG_ERROR([Python interpreter not found.])) - AX_PYTHON_DEVEL([>= '2.4']) -- AX_BOOST_PYTHON() -- -- AS_IF([test -z "$BOOST_PYTHON_LIB"], -- [AC_MSG_ERROR([Boost.Python library not found. Try using --with-boost-python=lib.])]) - ], - ["no"], [ - AC_MSG_RESULT([no]) diff --git a/net-libs/rb_libtorrent/files/rb_libtorrent-1.0.9-CVE-2016-5301.patch b/net-libs/rb_libtorrent/files/rb_libtorrent-1.0.9-CVE-2016-5301.patch deleted file mode 100644 index 19ebeeb2fd98..000000000000 --- a/net-libs/rb_libtorrent/files/rb_libtorrent-1.0.9-CVE-2016-5301.patch +++ /dev/null @@ -1,289 +0,0 @@ -From 22099cec46741417a6fb6df560468eb64655db33 Mon Sep 17 00:00:00 2001 -From: arvidn -Date: Sat, 4 Jun 2016 12:49:38 -0400 -Subject: [PATCH] back-port http_parser bugfix - ---- - src/http_parser.cpp | 32 +++++++ - test/test_http_parser.cpp | 142 ++++++++++++++++++++++++------ - -diff --git a/src/http_parser.cpp b/src/http_parser.cpp -index 7664cad..89de739 100644 ---- a/src/http_parser.cpp -+++ b/src/http_parser.cpp -@@ -151,6 +151,7 @@ namespace libtorrent - if (m_state == read_status) - { - TORRENT_ASSERT(!m_finished); -+ TORRENT_ASSERT(pos <= recv_buffer.end); - char const* newline = std::find(pos, recv_buffer.end, '\n'); - // if we don't have a full line yet, wait. - if (newline == recv_buffer.end) -@@ -171,6 +172,7 @@ namespace libtorrent - - char const* line = pos; - ++newline; -+ TORRENT_ASSERT(newline >= pos); - int incoming = int(newline - pos); - m_recv_pos += incoming; - boost::get<1>(ret) += newline - (m_recv_buffer.begin + start_pos); -@@ -204,6 +206,7 @@ namespace libtorrent - if (m_state == read_header) - { - TORRENT_ASSERT(!m_finished); -+ TORRENT_ASSERT(pos <= recv_buffer.end); - char const* newline = std::find(pos, recv_buffer.end, '\n'); - std::string line; - -@@ -254,6 +257,12 @@ namespace libtorrent - if (name == "content-length") - { - m_content_length = strtoll(value.c_str(), 0, 10); -+ if (m_content_length < 0) -+ { -+ m_state = error_state; -+ error = true; -+ return ret; -+ } - } - else if (name == "connection") - { -@@ -271,12 +280,24 @@ namespace libtorrent - if (string_begins_no_case("bytes ", ptr)) ptr += 6; - char* end; - m_range_start = strtoll(ptr, &end, 10); -+ if (m_range_start < 0) -+ { -+ m_state = error_state; -+ error = true; -+ return ret; -+ } - if (end == ptr) success = false; - else if (*end != '-') success = false; - else - { - ptr = end + 1; - m_range_end = strtoll(ptr, &end, 10); -+ if (m_range_end < 0) -+ { -+ m_state = error_state; -+ error = true; -+ return ret; -+ } - if (end == ptr) success = false; - } - -@@ -295,6 +316,7 @@ namespace libtorrent - } - - TORRENT_ASSERT(m_recv_pos <= recv_buffer.left()); -+ TORRENT_ASSERT(pos <= recv_buffer.end); - newline = std::find(pos, recv_buffer.end, '\n'); - } - boost::get<1>(ret) += newline - (m_recv_buffer.begin + start_pos); -@@ -324,6 +346,12 @@ namespace libtorrent - int header_size; - if (parse_chunk_header(buf, &chunk_size, &header_size)) - { -+ if (chunk_size < 0) -+ { -+ m_state = error_state; -+ error = true; -+ return ret; -+ } - if (chunk_size > 0) - { - std::pair chunk_range(m_cur_chunk_end + header_size -@@ -396,6 +424,7 @@ namespace libtorrent - bool http_parser::parse_chunk_header(buffer::const_interval buf - , size_type* chunk_size, int* header_size) - { -+ TORRENT_ASSERT(buf.begin <= buf.end); - char const* pos = buf.begin; - - // ignore one optional new-line. This is since each chunk -@@ -406,6 +435,7 @@ namespace libtorrent - if (pos < buf.end && pos[0] == '\n') ++pos; - if (pos == buf.end) return false; - -+ TORRENT_ASSERT(pos <= buf.end); - char const* newline = std::find(pos, buf.end, '\n'); - if (newline == buf.end) return false; - ++newline; -@@ -418,6 +448,8 @@ namespace libtorrent - - // first, read the chunk length - *chunk_size = strtoll(pos, 0, 16); -+ if (*chunk_size < 0) return true; -+ - if (*chunk_size != 0) - { - *header_size = newline - buf.begin; -diff --git a/test/test_http_parser.cpp b/test/test_http_parser.cpp -index 1385e94..0bbb038 100644 ---- a/test/test_http_parser.cpp -+++ b/test/test_http_parser.cpp -@@ -64,10 +64,13 @@ tuple feed_bytes(http_parser& parser, char const* str) - ret.get<1>() += protocol; - ret.get<2>() |= error; - // std::cerr << payload << ", " << protocol << ", " << chunk_size << std::endl; -- TORRENT_ASSERT(payload + protocol == chunk_size); -+ TORRENT_ASSERT(payload + protocol == chunk_size || error); -+ } -+ if (!ret.get<2>()) -+ { -+ TEST_CHECK(prev == make_tuple(0, 0, false) || ret == prev); -+ TEST_EQUAL(ret.get<0>() + ret.get<1>(), strlen(str)); - } -- TEST_CHECK(prev == make_tuple(0, 0, false) || ret == prev); -- TEST_EQUAL(ret.get<0>() + ret.get<1>(), strlen(str)); - prev = ret; - } - return ret; -@@ -316,29 +319,6 @@ int test_main() - TEST_EQUAL(parser.headers().find("test2")->second, "bar"); - } - -- // test chunked encoding -- -- parser.reset(); -- -- char const* chunked_input = -- "HTTP/1.1 200 OK\r\n" -- "Transfer-Encoding: chunked\r\n" -- "Content-Type: text/plain\r\n" -- "\r\n" -- "4\r\ntest\r\n4\r\n1234\r\n10\r\n0123456789abcdef\r\n" -- "0\r\n\r\n"; -- received = feed_bytes(parser, chunked_input); -- -- TEST_EQUAL(strlen(chunked_input), 24 + 94) -- TEST_CHECK(received == make_tuple(24, 94, false)); -- TEST_CHECK(parser.finished()); -- -- char mutable_buffer[100]; -- memcpy(mutable_buffer, parser.get_body().begin, parser.get_body().left()); -- int len = parser.collapse_chunk_headers(mutable_buffer, parser.get_body().left()); -- -- TEST_CHECK(std::equal(mutable_buffer, mutable_buffer + len, "test12340123456789abcdef")); -- - // test url parsing - - error_code ec; -@@ -392,6 +372,116 @@ int test_main() - TEST_EQUAL(resolve_redirect_location("http://example.com/a/b", "http://test.com/d") - , "http://test.com/d"); - -+ char const* chunked_input = -+ "HTTP/1.1 200 OK\r\n" -+ "Transfer-Encoding: chunked\r\n" -+ "Content-Type: text/plain\r\n" -+ "\r\n" -+ "4\r\ntest\r\n4\r\n1234\r\n10\r\n0123456789abcdef\r\n" -+ "0\r\n\r\n"; -+ -+{ -+ http_parser parser; -+ boost::tuple const received -+ = feed_bytes(parser, chunked_input); -+ -+ TEST_EQUAL(strlen(chunked_input), 24 + 94) -+ TEST_CHECK(received == make_tuple(24, 94, false)); -+ TEST_CHECK(parser.finished()); -+ -+ char mutable_buffer[100]; -+ memcpy(mutable_buffer, parser.get_body().begin, parser.get_body().left()); -+ int len = parser.collapse_chunk_headers(mutable_buffer, parser.get_body().left()); -+ -+ TEST_CHECK(std::equal(mutable_buffer, mutable_buffer + len, "test12340123456789abcdef")); -+} -+ -+{ -+ char const* chunked_input = -+ "HTTP/1.1 200 OK\r\n" -+ "Transfer-Encoding: chunked\r\n" -+ "Content-Length: -45345\r\n" -+ "\r\n"; -+ -+ http_parser parser; -+ boost::tuple const received -+ = feed_bytes(parser, chunked_input); -+ -+ TEST_CHECK(boost::get<2>(received) == true); -+} -+ -+{ -+ char const* chunked_input = -+ "HTTP/1.1 200 OK\r\n" -+ "Transfer-Encoding: chunked\r\n" -+ "\r\n" -+ "-53465234545\r\n" -+ "foobar"; -+ -+ http_parser parser; -+ boost::tuple const received -+ = feed_bytes(parser, chunked_input); -+ -+ TEST_CHECK(boost::get<2>(received) == true); -+} -+ -+{ -+ char const* chunked_input = -+ "HTTP/1.1 206 OK\n" -+ "Content-Range: bYTes -3-4\n" -+ "\n"; -+ -+ http_parser parser; -+ boost::tuple const received -+ = feed_bytes(parser, chunked_input); -+ -+ TEST_CHECK(boost::get<2>(received) == true); -+} -+ -+{ -+ char const* chunked_input = -+ "HTTP/1.1 206 OK\n" -+ "Content-Range: bYTes 3--434\n" -+ "\n"; -+ -+ http_parser parser; -+ boost::tuple const received -+ = feed_bytes(parser, chunked_input); -+ -+ TEST_CHECK(boost::get<2>(received) == true); -+} -+ -+{ -+ boost::uint8_t const invalid_chunked_input[] = { -+ 0x48, 0x6f, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x31, // HoTP/1.1 200 OK -+ 0x20, 0x32, 0x30, 0x30, 0x20, 0x4f, 0x4b, 0x0d, // Cont-Length: 20 -+ 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x2d, 0x4c, 0x65, // Contente: tn -+ 0x6e, 0x67, 0x74, 0x68, 0x3a, 0x20, 0x32, 0x30, // Transfer-Encoding: chunked -+ 0x0d, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, // -+ 0x74, 0x65, 0x3a, 0x20, 0x74, 0x6e, 0x0d, 0x0a, // -+ 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, // -+ 0x2d, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, // -89abc9abcdef -+ 0x67, 0x3a, 0x20, 0x63, 0x68, 0x75, 0x6e, 0x6b, // � -+ 0x65, 0x64, 0x0d, 0x0a, 0x0d, 0x0d, 0x0a, 0x0d, // T����������def -+ 0x0a, 0x0a, 0x2d, 0x38, 0x39, 0x61, 0x62, 0x63, // � -+ 0x39, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x0d, // T�����������est-headyr: foobar -+ 0x0a, 0xd6, 0x0d, 0x0a, 0x54, 0xbd, 0xbd, 0xbd, -+ 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0x64, -+ 0x65, 0x66, 0x0d, 0x0a, 0xd6, 0x0d, 0x0a, 0x54, -+ 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, -+ 0xbd, 0xbd, 0xbd, 0x65, 0x73, 0x74, 0x2d, 0x68, -+ 0x65, 0x61, 0x64, 0x79, 0x72, 0x3a, 0x20, 0x66, -+ 0x6f, 0x6f, 0x62, 0x61, 0x72, 0x0d, 0x0a, 0x0d, -+ 0x0a, 0x00 -+ }; -+ -+ http_parser parser; -+ boost::tuple const received -+ = feed_bytes(parser, reinterpret_cast(invalid_chunked_input)); -+ -+ TEST_CHECK(boost::get<2>(received) == true); -+} -+ - return 0; - } - diff --git a/net-libs/rb_libtorrent/rb_libtorrent-1.0.7.ebuild b/net-libs/rb_libtorrent/rb_libtorrent-1.0.7.ebuild deleted file mode 100644 index 938d680b9d5d..000000000000 --- a/net-libs/rb_libtorrent/rb_libtorrent-1.0.7.ebuild +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -PYTHON_COMPAT=( python2_7 python3_{3,4} ) -PYTHON_REQ_USE="threads" -DISTUTILS_OPTIONAL=true -AUTOTOOLS_AUTORECONF=true - -inherit autotools-utils multilib distutils-r1 versionator - -MY_P=${P/rb_/} -MY_P=${MY_P/torrent/torrent-rasterbar} -MY_PV=$(replace_all_version_separators '_' ) -S=${WORKDIR}/${MY_P} - -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}/${MY_P}.tar.gz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" -IUSE="debug doc examples python ssl static-libs test" - -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -RDEPEND=" - >=dev-libs/boost-1.53:=[threads] - sys-libs/zlib - examples? ( !net-p2p/mldonkey ) - ssl? ( dev-libs/openssl:0= ) - python? ( - ${PYTHON_DEPS} - dev-libs/boost:=[python,${PYTHON_USEDEP}] - )" -DEPEND="${RDEPEND} - >=sys-devel/libtool-2.2" - -RESTRICT="test" - -PATCHES=( - "${FILESDIR}"/${PN}-1.0.2-python.patch -) - -AUTOTOOLS_IN_SOURCE_BUILD=1 - -src_configure() { - local myeconfargs=( - --disable-silent-rules # bug 441842 - --with-boost-libdir=/usr/$(get_libdir) - $(use_enable debug) - $(use_enable test tests) - $(use_enable examples) - $(use_enable ssl encryption) - $(use_enable python python-binding) - $(usex debug "--enable-logging=verbose" "") - ) - - use python && python_setup - - autotools-utils_src_configure - use python && cd "${BUILD_DIR}"/bindings/python && distutils-r1_src_configure -} - -src_compile() { - autotools-utils_src_compile - use python && cd "${BUILD_DIR}"/bindings/python && distutils-r1_src_compile -} - -src_install() { - use doc && HTML_DOCS=( "${S}"/docs/. ) - - autotools-utils_src_install - use python && cd "${BUILD_DIR}"/bindings/python && distutils-r1_src_install -} diff --git a/net-libs/rb_libtorrent/rb_libtorrent-1.0.9-r2.ebuild b/net-libs/rb_libtorrent/rb_libtorrent-1.0.9-r2.ebuild deleted file mode 100644 index 0fc1b7bb7049..000000000000 --- a/net-libs/rb_libtorrent/rb_libtorrent-1.0.9-r2.ebuild +++ /dev/null @@ -1,114 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=6 - -PYTHON_COMPAT=( python2_7 python3_{4,5} ) -PYTHON_REQ_USE="threads" -DISTUTILS_OPTIONAL=true -DISTUTILS_IN_SOURCE_BUILD=true - -inherit distutils-r1 eutils versionator - -MY_P=libtorrent-rasterbar-${PV} # TODO: rename, bug 576126 -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}/${MY_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} )" - -RDEPEND=" - dev-libs/boost:=[threads] - virtual/libiconv - examples? ( !net-p2p/mldonkey ) - geoip? ( dev-libs/geoip ) - 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}/${MY_P} - -PATCHES=( - "${FILESDIR}/${PN}-1.0.9-CVE-2016-5301.patch" - "${FILESDIR}/${PN}-1.0.9-test_torrent_parse.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 - - prune_libtool_files -} -- cgit v1.2.3-65-gdbad