summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Zaman <perfinion@gentoo.org>2017-08-19 15:53:16 +0800
committerJason Zaman <perfinion@gentoo.org>2017-08-19 18:07:07 +0800
commit11ea311f95c00f9a9003c4cf41d9fe1ce4244960 (patch)
tree0122ba526e98a2208777211cc4de9ed9ac56935c /net-libs
parentnet-libs/libtorrent: drop old (diff)
downloadgentoo-11ea311f95c00f9a9003c4cf41d9fe1ce4244960.tar.gz
gentoo-11ea311f95c00f9a9003c4cf41d9fe1ce4244960.tar.bz2
gentoo-11ea311f95c00f9a9003c4cf41d9fe1ce4244960.zip
net-libs/libtorrent: fix undefined __sync_add_and_fetch_8 (bug 518582)
Package-Manager: Portage-2.3.6, Repoman-2.3.1
Diffstat (limited to 'net-libs')
-rw-r--r--net-libs/libtorrent/libtorrent-0.13.6-r1.ebuild61
1 files changed, 61 insertions, 0 deletions
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 000000000000..7eafcd218bef
--- /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
+}