Version bump.Fixes bug #325313. Remove old configure options. FIx pthread linking
authorMarkos Chandras <hwoarang@gentoo.org>
Thu, 1 Jul 2010 08:32:25 +0000 (08:32 +0000)
committerMarkos Chandras <hwoarang@gentoo.org>
Thu, 1 Jul 2010 08:32:25 +0000 (08:32 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

net-libs/rb_libtorrent/ChangeLog
net-libs/rb_libtorrent/Manifest
net-libs/rb_libtorrent/files/rb_libtorrent-0.15.1-ax_pthread_asneeded.patch [new file with mode: 0644]
net-libs/rb_libtorrent/rb_libtorrent-0.15.1.ebuild [new file with mode: 0644]

index 28ed93f55825bb1d0207bc81550100370513ebb3..0a3ff3c0c6c95ad82f6a847066640a577cb446cd 100644 (file)
@@ -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 <hwoarang@gentoo.org>
+  +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)
 
index a70aaa4bbc0eab9484bf830ccb4ac40cef01542a..c091be8f18aa15418eff96f89639e22b6a63dc30 100644 (file)
@@ -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 (file)
index 0000000..3171d03
--- /dev/null
@@ -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.h>],
++              [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.h>],
++              [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.h>],
++               [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 (file)
index 0000000..ffd99d8
--- /dev/null
@@ -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
+}