From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id CFA001382C5 for ; Sun, 27 Dec 2020 14:02:44 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 30E2E2BC0B8; Sun, 27 Dec 2020 14:02:44 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 082B72BC0B8 for ; Sun, 27 Dec 2020 14:02:44 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id EA1F4340DDA for ; Sun, 27 Dec 2020 14:02:42 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id A08B1B8 for ; Sun, 27 Dec 2020 14:02:41 +0000 (UTC) From: "Conrad Kostecki" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Conrad Kostecki" Message-ID: <1609077748.635645e4df3d22ce0163e2c070b29f7e661f3786.conikost@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: net-im/swift/ X-VCS-Repository: repo/gentoo X-VCS-Files: net-im/swift/swift-4.0.2-r102.ebuild X-VCS-Directories: net-im/swift/ X-VCS-Committer: conikost X-VCS-Committer-Name: Conrad Kostecki X-VCS-Revision: 635645e4df3d22ce0163e2c070b29f7e661f3786 X-VCS-Branch: master Date: Sun, 27 Dec 2020 14:02:41 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: c7235930-c852-4330-bf75-c9ebe2ccdec6 X-Archives-Hash: 7709bf0c6df6a4599e335ec4a2f999f3 commit: 635645e4df3d22ce0163e2c070b29f7e661f3786 Author: Conrad Kostecki gentoo org> AuthorDate: Sun Dec 27 13:50:27 2020 +0000 Commit: Conrad Kostecki gentoo org> CommitDate: Sun Dec 27 14:02:28 2020 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=635645e4 net-im/swift: fix compilation Closes: https://bugs.gentoo.org/761691 Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Conrad Kostecki gentoo.org> net-im/swift/swift-4.0.2-r102.ebuild | 201 +++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) diff --git a/net-im/swift/swift-4.0.2-r102.ebuild b/net-im/swift/swift-4.0.2-r102.ebuild new file mode 100644 index 00000000000..00166ea9823 --- /dev/null +++ b/net-im/swift/swift-4.0.2-r102.ebuild @@ -0,0 +1,201 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +LUA_COMPAT=( lua5-{1..2} luajit ) +PYTHON_COMPAT=( python3_{6..9} ) + +inherit lua-single python-any-r1 scons-utils toolchain-funcs + +DESCRIPTION="An elegant, secure, adaptable and intuitive XMPP Client" +HOMEPAGE="https://www.swift.im/" +SRC_URI=" + https://swift.im/downloads/releases/${P}/${P}.tar.gz + https://dev.gentoo.org/~conikost/distfiles/patches/swift-4.0.2-python3-compatibility.patch.gz" + +LICENSE="BSD BSD-1 CC-BY-3.0 GPL-3 OFL-1.1" +SLOT="4/0" +KEYWORDS="~amd64" +IUSE="expat +icu +idn lua test zeroconf" +REQUIRED_USE=" + || ( icu idn ) + lua? ( ${LUA_REQUIRED_USE} ) +" + +RDEPEND=" + dev-db/sqlite:3 + dev-libs/boost:= + dev-libs/openssl:0= + net-libs/libnatpmp + net-libs/miniupnpc:= + sys-libs/zlib + expat? ( dev-libs/expat ) + !expat? ( dev-libs/libxml2:2 ) + icu? ( dev-libs/icu:= ) + idn? ( net-dns/libidn:= ) + lua? ( ${LUA_DEPS} ) +" + +DEPEND=" + ${RDEPEND} + >=dev-util/scons-3.0.1-r3 + test? ( net-dns/avahi ) +" + +# Tests don't run, as they fail with "[QA/UnitTest/**dummy**] Error -6". +RESTRICT="test" + +DOCS=( + "DEVELOPMENT.md" + "README.md" + "Swiften/ChangeLog.md" +) + +PATCHES=( + "${FILESDIR}"/${P}-boost-1.69-compatibility.patch + "${WORKDIR}"/${P}-python3-compatibility.patch + "${FILESDIR}"/${P}-qt-5.11-compatibility.patch + "${FILESDIR}"/${P}-qt-5.15-compatibility.patch +) + +pkg_setup() { + python-any-r1_pkg_setup + use lua && lua-single_pkg_setup +} + +src_prepare() { + default + + # Don't include '/usr/lib*' in the link command line for `swiften-config` + sed -e '/_LIBDIRFLAGS/d' -i Swiften/Config/SConscript || die + + # Use correct LIBDIR for Lua + sed -e "s/lib/$(get_libdir)/g" -i Sluift/SConscript.variant || die + + # Hack for finding Qt system libs + mkdir "${T}"/qt || die + ln -s "${EPREFIX}"/usr/$(get_libdir)/qt5/bin "${T}"/qt/bin || die + ln -s "${EPREFIX}"/usr/$(get_libdir)/qt5 "${T}"/qt/lib || die + ln -s "${EPREFIX}"/usr/include/qt5 "${T}"/qt/include || die + + # Remove parts of Swift, which a user don't want to compile + rm -fr Swift Slimber || die + if ! use lua; then rm -fr Sluift || die; fi + if ! use zeroconf; then rm -fr Limber || die; fi + + # Remove '3rdParty', as the system libs should be used + # `CppUnit`, `GoogleTest` and `HippoMocks` are needed for tests + local my3rdparty=( + Boost + Breakpad + DocBook + Expat + LCov + Ldns + LibIDN + LibMiniUPnPc + LibNATPMP + Lua + OpenSSL + SCons + SQLite + Unbound + ZLib + ) + + if use test; then + cd 3rdParty && rm -fr "${my3rdparty[@]}" || die + else + rm -fr 3rdParty || die + fi +} + +src_configure() { + MYSCONS=( + ar="$(tc-getAR)" + allow_warnings="yes" + assertions="no" + build_examples="yes" + boost_bundled_enable="false" + boost_force_bundled="false" + cc="$(tc-getCC)" + ccache="no" + ccflags="${CFLAGS}" + coverage="no" + cxx="$(tc-getCXX)" + cxxflags="${CXXFLAGS}" + debug="no" + distcc="no" + experimental="no" + experimental_ft="yes" + hunspell_enable="no" + icu="$(usex icu)" + install_git_hooks="no" + libidn_bundled_enable="false" + libminiupnpc_force_bundled="false" + libnatpmp_force_bundled="false" + link="$(tc-getCXX)" + linkflags="${LDFLAGS}" + max_jobs="no" + optimize="no" + qt="${T}/qt" + qt5="no" + swiften_dll="true" + swift_mobile="no" + target="native" + test="none" + try_avahi="no" + try_expat="$(usex expat)" + try_gconf="no" + try_libidn="$(usex idn)" + try_libxml="$(usex !expat)" + tls_backend="openssl" + unbound="no" + V="1" + valgrind="no" + zlib_bundled_enable="false" + ) + + if use lua; then + MYSCONS+=( + lua_includedir="$(lua_get_include_dir)" + lua_libdir="${EPREFIX}/usr/$(get_libdir)" + lua_libname="$(basename -s '.so' $(lua_get_shared_lib))" + ) + fi +} + +src_compile() { + local myesconsinstall=( + Swiften + $(usex lua Sluift '') + $(usex zeroconf Limber '') + ) + + escons "${MYSCONS[@]}" "${myesconsinstall[@]}" +} + +src_test() { + MYSCONS=( + V="1" + ) + + escons "${MYSCONS[@]}" test=unit QA +} + +src_install() { + local myesconsinstall=( + SWIFTEN_INSTALLDIR="${ED}/usr" + SWIFTEN_LIBDIR="${ED}/usr/$(get_libdir)" + $(usex lua "SLUIFT_DIR=${ED}/usr" '') + $(usex lua "SLUIFT_INSTALLDIR=${ED}/usr" '') + "${ED}" + ) + + escons "${MYSCONS[@]}" "${myesconsinstall[@]}" + + use zeroconf && dobin Limber/limber + + einstalldocs +}