From fc1bf85e5fdc6beac9a1e701254b1442221ad91a Mon Sep 17 00:00:00 2001 From: Sam James Date: Fri, 10 Mar 2023 13:46:44 +0000 Subject: net-libs/libtorrent: fix configure w/ clang 16 Closes: https://bugs.gentoo.org/899566 Signed-off-by: Sam James --- .../libtorrent-0.13.8-configure-clang-16.patch | 22 ++++++++ net-libs/libtorrent/libtorrent-0.13.8-r2.ebuild | 59 -------------------- net-libs/libtorrent/libtorrent-0.13.8-r3.ebuild | 62 ++++++++++++++++++++++ 3 files changed, 84 insertions(+), 59 deletions(-) create mode 100644 net-libs/libtorrent/files/libtorrent-0.13.8-configure-clang-16.patch delete mode 100644 net-libs/libtorrent/libtorrent-0.13.8-r2.ebuild create mode 100644 net-libs/libtorrent/libtorrent-0.13.8-r3.ebuild (limited to 'net-libs') diff --git a/net-libs/libtorrent/files/libtorrent-0.13.8-configure-clang-16.patch b/net-libs/libtorrent/files/libtorrent-0.13.8-configure-clang-16.patch new file mode 100644 index 000000000000..0a23141a7e58 --- /dev/null +++ b/net-libs/libtorrent/files/libtorrent-0.13.8-configure-clang-16.patch @@ -0,0 +1,22 @@ +https://bugs.gentoo.org/899566 +https://github.com/rakshasa/libtorrent/pull/237 + +From e851a8657d2ef5c332260f1e3a3896f438dba255 Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Tue, 3 Jan 2023 14:41:11 +0100 +Subject: [PATCH] configure: Define _GNU_SOURCE when checking for + pthread_setname_np + +Previously, the test would always fail with compilers that do not +support implicit function declarations because the pthread_setname_np +function was not declared. +--- a/scripts/checks.m4 ++++ b/scripts/checks.m4 +@@ -469,6 +469,7 @@ AC_DEFUN([TORRENT_CHECK_PTHREAD_SETNAME_NP], [ + AC_MSG_CHECKING(for pthread_setname_np type) + + AC_TRY_LINK([ ++ #define _GNU_SOURCE + #include + #include + ],[ diff --git a/net-libs/libtorrent/libtorrent-0.13.8-r2.ebuild b/net-libs/libtorrent/libtorrent-0.13.8-r2.ebuild deleted file mode 100644 index 5bb36208d46b..000000000000 --- a/net-libs/libtorrent/libtorrent-0.13.8-r2.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools 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 ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris" -IUSE="debug ssl" - -# cppunit dependency - https://github.com/rakshasa/libtorrent/issues/182 -RDEPEND=" - dev-util/cppunit:= - sys-libs/zlib - ssl? ( dev-libs/openssl:= )" -DEPEND="${RDEPEND}" -BDEPEND="virtual/pkgconfig" - -PATCHES=( "${FILESDIR}"/${PN}-0.13.8-sysroot.patch ) - -src_prepare() { - default - eautoreconf -} - -src_configure() { - # bug 518582 - local disable_instrumentation - echo -e "#include \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 - einfo "Disabling instrumentation" - 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 ssl openssl) \ - ${disable_instrumentation} \ - --with-posix-fallocate -} - -src_install() { - default - - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/net-libs/libtorrent/libtorrent-0.13.8-r3.ebuild b/net-libs/libtorrent/libtorrent-0.13.8-r3.ebuild new file mode 100644 index 000000000000..16ec5d67b750 --- /dev/null +++ b/net-libs/libtorrent/libtorrent-0.13.8-r3.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools 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 ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris" +IUSE="debug ssl" + +# cppunit dependency - https://github.com/rakshasa/libtorrent/issues/182 +RDEPEND=" + dev-util/cppunit:= + sys-libs/zlib + ssl? ( dev-libs/openssl:= )" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-0.13.8-sysroot.patch + "${FILESDIR}"/${PN}-0.13.8-configure-clang-16.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # bug 518582 + local disable_instrumentation + echo -e "#include \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 + einfo "Disabling instrumentation" + 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 ssl openssl) \ + ${disable_instrumentation} \ + --with-posix-fallocate +} + +src_install() { + default + + find "${ED}" -type f -name '*.la' -delete || die +} -- cgit v1.2.3-65-gdbad