From 67e37d6a0c4f97209e573fb52fc58dc5af0924e2 Mon Sep 17 00:00:00 2001 From: Markos Chandras Date: Thu, 1 Jul 2010 08:32:25 +0000 Subject: [PATCH] Version bump.Fixes bug #325313. Remove old configure options. FIx pthread linking Package-Manager: portage-2.2_rc67/cvs/Linux x86_64 --- net-libs/rb_libtorrent/ChangeLog | 10 +- net-libs/rb_libtorrent/Manifest | 5 +- ...ibtorrent-0.15.1-ax_pthread_asneeded.patch | 122 ++++++++++++++++++ .../rb_libtorrent/rb_libtorrent-0.15.1.ebuild | 70 ++++++++++ 4 files changed, 205 insertions(+), 2 deletions(-) create mode 100644 net-libs/rb_libtorrent/files/rb_libtorrent-0.15.1-ax_pthread_asneeded.patch create mode 100644 net-libs/rb_libtorrent/rb_libtorrent-0.15.1.ebuild diff --git a/net-libs/rb_libtorrent/ChangeLog b/net-libs/rb_libtorrent/ChangeLog index 28ed93f55825..0a3ff3c0c6c9 100644 --- a/net-libs/rb_libtorrent/ChangeLog +++ b/net-libs/rb_libtorrent/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for net-libs/rb_libtorrent # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-libs/rb_libtorrent/ChangeLog,v 1.86 2010/06/16 17:40:38 hwoarang Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-libs/rb_libtorrent/ChangeLog,v 1.87 2010/07/01 08:32:25 hwoarang Exp $ + +*rb_libtorrent-0.15.1 (01 Jul 2010) + + 01 Jul 2010; Markos Chandras + +rb_libtorrent-0.15.1.ebuild, + +files/rb_libtorrent-0.15.1-ax_pthread_asneeded.patch: + Version bump. Fixes tracker announcement bug wrt bug #325313. Remove + obsolete configure options. Proper fix for lpthread linking *rb_libtorrent-0.15.0 (16 Jun 2010) diff --git a/net-libs/rb_libtorrent/Manifest b/net-libs/rb_libtorrent/Manifest index a70aaa4bbc0e..c091be8f18aa 100644 --- a/net-libs/rb_libtorrent/Manifest +++ b/net-libs/rb_libtorrent/Manifest @@ -2,11 +2,14 @@ AUX 0.14.6-configure-ldflags-fix.patch 364 RMD160 e637a5c5116892fc7b27d5245abb91 AUX rb_libtorrent-0.14.8-as-needed-fix.patch 357 RMD160 392f35d48dfd14cdd1d23edc0fb111ab954996dc SHA1 1fee86047249e29d82a4f2492dafd27d156a66ef SHA256 5d5dadd95ab8ab21b4c537d7abdda9f52926331ac658054de189fb92adbd0583 AUX rb_libtorrent-0.14.8-boost-detect.patch 1969 RMD160 8d2c4b412a72b69978bef1f8c659941473657a79 SHA1 2ec58b038e9c1b896b1eeb42e646afbf4f9af5ea SHA256 63d782c54b18ff1fccc08345c4b9afe112b146fa41021da3d717ee313c862ec0 AUX rb_libtorrent-0.14.9-as-needed-fix.patch 520 RMD160 e75c51c39acd3df37274d465296406d24328a8cf SHA1 2a73ad7edc9b98bd16466dde1112542336b9fd1a SHA256 04d0b833d109523764bbb410cebc59196a047bd72a8c6267a32bdf458a48877c +AUX rb_libtorrent-0.15.1-ax_pthread_asneeded.patch 4254 RMD160 57ecaa0aba6363cbac669f901529c1b157de9aa5 SHA1 af7171eadbe4e2dbcd9fbf5a0752579b9a6d3890 SHA256 aeba842df39d7149ef3722b6c62956f7c20ed1a81b778252ea7ed0514ab2ece3 DIST libtorrent-rasterbar-0.14.10.tar.gz 1997446 RMD160 8492917f54b482d5a195af00a5c89756c6282a4d SHA1 68303b76ef88d1315725c9d114edd8bc95972c83 SHA256 524a19effb6b7e410a20e385e0d0421bfefc1d3f87cb7f78b77f391f12351957 DIST libtorrent-rasterbar-0.14.9.tar.gz 1989956 RMD160 67f31b8dd98a3ead862a042ae226b23bdeb242a0 SHA1 cd7579100529cb2b0f0b4fcd2bee3d28c35b74c3 SHA256 08ea1eeea7d0fb8ed2ca2628c2e9c79d3bacc9f08011b4d9020a15dcd24e6ea3 DIST libtorrent-rasterbar-0.15.0.tar.gz 2569328 RMD160 fa91bdcaf39e6d0da2c68346c9acffaa62a6a846 SHA1 ebc9ce111f59e538aff17102fcce907fd967cd8b SHA256 e1a79045ad041dd82850d2255037108bb17dcbe9a9a8819169a2624b72667db0 +DIST libtorrent-rasterbar-0.15.1.tar.gz 2464727 RMD160 1408abbf37c77059b9db1693c94da9d31b2c5462 SHA1 0a6e24c4a137d202243fab5ed4cf3c6acecebde9 SHA256 a837cd101177b24989609191cee568bc94b2defab13ac28c97b6c0951c73a952 EBUILD rb_libtorrent-0.14.10.ebuild 2449 RMD160 9f019c36a704444cfc39787ee8fa9ce2c7101f2c SHA1 07545b2c436663c7051cdfc48538523464d68b24 SHA256 16324ef88bb44dec8dfccacfc4255a6d62b73817a8ce7eee010b6f07081f27ed EBUILD rb_libtorrent-0.14.9-r1.ebuild 2451 RMD160 a9f90e3929c6935c40402e6f9f4a325e8bdad4eb SHA1 9ea40a83bf1c5b9ab3d2928e500a17995a64b8e4 SHA256 24b861675f42cd623145fd606069bfee513ee3487f89f5588465c637ef201996 EBUILD rb_libtorrent-0.15.0.ebuild 2451 RMD160 266bd9aace4bb081180555c96cf0a212545402f8 SHA1 42a663b25929d9732301d63862dbd661e93bd67e SHA256 e0d9fc01ac0627fc828ce3e610fb6bee860f5e3bec4c75cdbb8767c20258250c -MISC ChangeLog 14805 RMD160 e5bc5cc7c3838a905a4656553847189a9a5d780c SHA1 2a1866cc43ce73cb7f58371f4d955edcd4dc532c SHA256 62e913c14f2adc27d25f2547f2fc7ea0c41e728b1f9387853bb5e1411d2a13f1 +EBUILD rb_libtorrent-0.15.1.ebuild 2174 RMD160 7a6bb8c8fc6f56ea709cc9ea14b1de09a0377e3b SHA1 37b6ac7099275586208332e6bb15e7a8951fb511 SHA256 cb8d841dc8dc93be970002515ff7ec6f6229d6a74a3334aafb066d74d1cbd861 +MISC ChangeLog 15118 RMD160 5eba5ceae50c54152f1d51d35a9c7306fcea9602 SHA1 b6855dd85b1957ac1f53d06698b474f2bc571ea4 SHA256 098d54e2c33e85fb0bf94168b0caa9d0aad5e8b9c018056f4568a0fd33ae5a9a MISC metadata.xml 180 RMD160 b3fdae264805d1dbe224d18e30b43cc9379b48c0 SHA1 3ece90b24dcd1ecd3e833660e8094afa809d2d93 SHA256 d4bbc70ee1028611e44086fc0b56d097b6945f22c66750538034bca5bf699f5c diff --git a/net-libs/rb_libtorrent/files/rb_libtorrent-0.15.1-ax_pthread_asneeded.patch b/net-libs/rb_libtorrent/files/rb_libtorrent-0.15.1-ax_pthread_asneeded.patch new file mode 100644 index 000000000000..3171d03ce309 --- /dev/null +++ b/net-libs/rb_libtorrent/files/rb_libtorrent-0.15.1-ax_pthread_asneeded.patch @@ -0,0 +1,122 @@ +http://bugs.gentoo.org/247067 + +--- m4/ax_pthread.m4 ++++ m4/ax_pthread.m4 +@@ -266,6 +266,117 @@ + else + PTHREAD_CC=$CC + fi ++ ++ # The next part tries to detect GCC inconsistency with -shared on some ++ # architectures and systems. The problem is that in certain ++ # configurations, when -shared is specified, GCC "forgets" to ++ # internally use various flags which are still necessary. ++ ++ # ++ # Prepare the flags ++ # ++ save_LDFLAGS="$LDFLAGS" ++ save_CFLAGS="$CFLAGS" ++ save_LIBS="$LIBS" ++ save_CC="$CC" ++ ++ # Try with the flags determined by the earlier checks. ++ # ++ # -Wl,-z,defs forces link-time symbol resolution, so that the ++ # linking checks with -shared actually have any value ++ # ++ # FIXME: -fPIC is required for -shared on many architectures, ++ # so we specify it here, but the right way would probably be to ++ # properly detect whether it is actually required. ++ CFLAGS="-shared -fPIC -Wl,-z,defs $CFLAGS $PTHREAD_CFLAGS" ++ LIBS="$PTHREAD_LIBS $LIBS" ++ CC="$PTHREAD_CC" ++ ++ # In order not to create several levels of indentation, we test ++ # the value of "$done" until we find the cure or run out of ideas. ++ done="no" ++ ++ # First, make sure the CFLAGS we added are actually accepted by our ++ # compiler. If not (and OS X's ld, for instance, does not accept -z), ++ # then we can't do this test. ++ if test x"$done" = xno; then ++ AC_MSG_CHECKING([whether to check for GCC pthread/shared inconsistencies]) ++ AC_TRY_LINK(,, , [done=yes]) ++ ++ if test "x$done" = xyes ; then ++ AC_MSG_RESULT([no]) ++ else ++ AC_MSG_RESULT([yes]) ++ fi ++ fi ++ ++ if test x"$done" = xyes; then ++ done="no" ++ AC_MSG_CHECKING([whether -pthread is sufficient with -shared]) ++ AC_TRY_LINK([#include ], ++ [pthread_t th; pthread_join(th, 0); ++ pthread_attr_init(0); pthread_cleanup_push(0, 0); ++ pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], ++ [done=yes]) ++ ++ if test "x$done" = xyes; then ++ AC_MSG_RESULT([yes]) ++ else ++ AC_MSG_RESULT([no]) ++ fi ++ fi ++ ++ # ++ # Linux gcc on some architectures such as mips/mipsel forgets ++ # about -lpthread ++ # ++ if test x"$done" = xno; then ++ AC_MSG_CHECKING([whether -lpthread fixes that]) ++ LIBS="-lpthread $PTHREAD_LIBS $save_LIBS" ++ AC_TRY_LINK([#include ], ++ [pthread_t th; pthread_join(th, 0); ++ pthread_attr_init(0); pthread_cleanup_push(0, 0); ++ pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], ++ [done=yes]) ++ ++ if test "x$done" = xyes; then ++ AC_MSG_RESULT([yes]) ++ PTHREAD_LIBS="-lpthread $PTHREAD_LIBS" ++ else ++ AC_MSG_RESULT([no]) ++ fi ++ fi ++ # ++ # FreeBSD 4.10 gcc forgets to use -lc_r instead of -lc ++ # ++ if test x"$done" = xno; then ++ AC_MSG_CHECKING([whether -lc_r fixes that]) ++ LIBS="-lc_r $PTHREAD_LIBS $save_LIBS" ++ AC_TRY_LINK([#include ], ++ [pthread_t th; pthread_join(th, 0); ++ pthread_attr_init(0); pthread_cleanup_push(0, 0); ++ pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], ++ [done=yes]) ++ ++ if test "x$done" = xyes; then ++ AC_MSG_RESULT([yes]) ++ PTHREAD_LIBS="-lc_r $PTHREAD_LIBS" ++ else ++ AC_MSG_RESULT([no]) ++ fi ++ fi ++ if test x"$done" = xno; then ++ # OK, we have run out of ideas ++ AC_MSG_WARN([Impossible to determine how to use pthreads with shared libraries]) ++ ++ # so it's not safe to assume that we may use pthreads ++ acx_pthread_ok=no ++ fi ++ ++ CFLAGS="$save_CFLAGS" ++ LIBS="$save_LIBS" ++ CC="$save_CC" ++ + else + PTHREAD_CC="$CC" + fi diff --git a/net-libs/rb_libtorrent/rb_libtorrent-0.15.1.ebuild b/net-libs/rb_libtorrent/rb_libtorrent-0.15.1.ebuild new file mode 100644 index 000000000000..ffd99d893628 --- /dev/null +++ b/net-libs/rb_libtorrent/rb_libtorrent-0.15.1.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-libs/rb_libtorrent/rb_libtorrent-0.15.1.ebuild,v 1.1 2010/07/01 08:32:25 hwoarang Exp $ + +EAPI="2" +WANT_AUTOMAKE="1.11.1" +inherit autotools eutils versionator + +MY_P=${P/rb_/} +MY_P=${MY_P/torrent/torrent-rasterbar} +S=${WORKDIR}/${MY_P} + +DESCRIPTION="C++ BitTorrent implementation focusing on efficiency and scalability" +HOMEPAGE="http://www.rasterbar.com/products/libtorrent/" +SRC_URI="http://libtorrent.googlecode.com/files/${MY_P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd" +IUSE="debug doc examples python" +RESTRICT="test" + +DEPEND="|| ( >=dev-libs/boost-1.35 + ( ~dev-libs/boost-1.34.1 dev-cpp/asio ) ) + python? ( >=dev-libs/boost-1.35.0-r5[python] dev-lang/python:2.6[threads] ) + =sys-devel/libtool-2.2* + sys-libs/zlib + examples? ( !net-p2p/mldonkey )" #292998 +RDEPEND="${DEPEND}" + +src_prepare() { + epatch "${FILESDIR}"/${P}-ax_pthread_asneeded.patch + eautoreconf +} + +src_configure() { + # use multi-threading versions of boost libs + local BOOST_LIBS="--with-boost-system=boost_system-mt \ + --with-boost-filesystem=boost_filesystem-mt \ + --with-boost-thread=boost_thread-mt \ + --with-boost-python=boost_python-mt" + + # detect boost version and location, bug 295474 + BOOST_PKG="$(best_version ">=dev-libs/boost-1.34.1")" + BOOST_VER="$(get_version_component_range 1-2 "${BOOST_PKG/*boost-/}")" + BOOST_VER="$(replace_all_version_separators _ "${BOOST_VER}")" + BOOST_INC="/usr/include/boost-${BOOST_VER}" + BOOST_LIB="/usr/$(get_libdir)/boost-${BOOST_VER}" + + local LOGGING + use debug && LOGGING="--with-logging=verbose" + + econf $(use_enable debug) \ + $(use_enable test tests) \ + $(use_enable examples) \ + $(use_enable python python-binding) \ + --with-zlib=system \ + ${LOGGING} \ + --with-boost=${BOOST_INC} \ + --with-boost-libdir=${BOOST_LIB} \ + ${BOOST_LIBS} +} + +src_install() { + emake DESTDIR="${D}" install || die 'emake install failed' + dodoc ChangeLog AUTHORS NEWS README || die 'dodoc failed' + if use doc ; then + dohtml docs/* || die "Could not install HTML documentation" + fi +} -- 2.26.2