net-libs/libtorrent: fix undefined __sync_add_and_fetch_8 (bug 518582)
authorJason Zaman <perfinion@gentoo.org>
Sat, 19 Aug 2017 07:53:16 +0000 (15:53 +0800)
committerJason Zaman <perfinion@gentoo.org>
Sat, 19 Aug 2017 10:07:07 +0000 (18:07 +0800)
Package-Manager: Portage-2.3.6, Repoman-2.3.1

net-libs/libtorrent/libtorrent-0.13.6-r1.ebuild [new file with mode: 0644]

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 (file)
index 0000000..7eafcd2
--- /dev/null
@@ -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
+}