commit:     11ea311f95c00f9a9003c4cf41d9fe1ce4244960
Author:     Jason Zaman <perfinion <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 19 07:53:16 2017 +0000
Commit:     Jason Zaman <perfinion <AT> gentoo <DOT> org>
CommitDate: Sat Aug 19 10:07:07 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=11ea311f

net-libs/libtorrent: fix undefined __sync_add_and_fetch_8 (bug 518582)

Package-Manager: Portage-2.3.6, Repoman-2.3.1

 net-libs/libtorrent/libtorrent-0.13.6-r1.ebuild | 61 +++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/net-libs/libtorrent/libtorrent-0.13.6-r1.ebuild 
b/net-libs/libtorrent/libtorrent-0.13.6-r1.ebuild
new file mode 100644
index 00000000000..7eafcd218be
--- /dev/null
+++ b/net-libs/libtorrent/libtorrent-0.13.6-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils libtool toolchain-funcs
+
+DESCRIPTION="BitTorrent library written in C++ for *nix"
+HOMEPAGE="https://rakshasa.github.io/rtorrent/";
+SRC_URI="http://rtorrent.net/downloads/${P}.tar.gz";
+
+LICENSE="GPL-2"
+
+# The README says that the library ABI is not yet stable and dependencies on
+# the library should be an explicit, syncronized version until the library
+# has had more time to mature. Until it matures we should not include a soname
+# subslot.
+SLOT="0"
+
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd 
~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos 
~sparc-solaris ~x64-solaris"
+IUSE="debug ipv6 libressl ssl test"
+
+RDEPEND="
+       sys-libs/zlib
+       >=dev-libs/libsigc++-2.2.2:2
+       ssl? (
+           !libressl? ( dev-libs/openssl:0= )
+           libressl? ( dev-libs/libressl:= )
+       )"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig
+       test? ( dev-util/cppunit )"
+
+src_prepare() {
+       elibtoolize
+}
+
+src_configure() {
+       # bug 518582
+       local disable_instrumentation
+       echo -e "#include <inttypes.h>\nint main(){ int64_t var = 7; 
__sync_add_and_fetch(&var, 1); return 0;}" > "${T}/sync_add_and_fetch.c" || die
+       $(tc-getCC) ${CFLAGS} -o /dev/null -x c "${T}/sync_add_and_fetch.c" 
>/dev/null 2>&1
+       if [[ $? -ne 0 ]]; then
+               disable_instrumentation="--disable-instrumentation"
+       fi
+
+       # configure needs bash or script bombs out on some null shift, bug 
#291229
+       CONFIG_SHELL=${BASH} econf \
+               --enable-aligned \
+               $(use_enable debug) \
+               $(use_enable ipv6) \
+               $(use_enable ssl openssl) \
+               ${disable_instrumentation} \
+               --with-posix-fallocate
+}
+
+src_install() {
+       default
+
+       prune_libtool_files --all
+}

Reply via email to