public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Conrad Kostecki" <conikost@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: net-im/swift/
Date: Sun, 27 Dec 2020 14:02:41 +0000 (UTC)	[thread overview]
Message-ID: <1609077748.635645e4df3d22ce0163e2c070b29f7e661f3786.conikost@gentoo> (raw)

commit:     635645e4df3d22ce0163e2c070b29f7e661f3786
Author:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 27 13:50:27 2020 +0000
Commit:     Conrad Kostecki <conikost <AT> gentoo <DOT> 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 <conikost <AT> 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
+}


             reply	other threads:[~2020-12-27 14:02 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-27 14:02 Conrad Kostecki [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-03-09 17:41 [gentoo-commits] repo/gentoo:master commit in: net-im/swift/ Conrad Kostecki
2023-11-11 23:37 Conrad Kostecki
2023-11-11 23:37 Conrad Kostecki
2023-10-04 21:55 Conrad Kostecki
2022-11-03 23:15 Conrad Kostecki
2022-11-03 22:37 Conrad Kostecki
2022-04-13 14:46 Sam James
2021-07-01 21:16 Conrad Kostecki
2021-03-07 16:27 Conrad Kostecki
2021-01-27 20:16 Conrad Kostecki
2021-01-27 19:55 Sam James
2020-12-27 14:02 Conrad Kostecki
2020-12-25 14:41 Conrad Kostecki
2020-12-25  0:44 Conrad Kostecki
2020-12-20 23:28 Conrad Kostecki
2020-12-20 23:28 Conrad Kostecki
2020-12-03 12:54 Marek Szuba
2020-08-26 21:43 Conrad Kostecki
2020-08-24 22:33 Conrad Kostecki
2020-08-09 11:38 Conrad Kostecki
2020-08-01 19:40 Conrad Kostecki
2020-08-01 19:40 Conrad Kostecki
2020-02-08 16:53 David Seifert
2019-04-13 19:10 Agostino Sarubbo
2019-01-28  1:52 Andrey Utkin
2018-11-27 19:20 Andrey Utkin
2018-11-24  2:46 Andrey Utkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1609077748.635645e4df3d22ce0163e2c070b29f7e661f3786.conikost@gentoo \
    --to=conikost@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox