view net-im/psi-plus/psi-plus-1.4.924.ebuild @ 495:581dec9f6015

new ebuild for vscodium
author Dirk Olmes <dirk@xanthippe.ping.de>
date Fri, 13 Dec 2019 08:14:35 +0100
parents 996ca3a846c3
children bfa37ca24eec
line wrap: on
line source


EAPI=7

#inherit eutils l10n multilib gnome2-utils
inherit l10n qmake-utils xdg

DESCRIPTION="Qt5 Jabber client, with Licq-like interface"
HOMEPAGE="https://github.com/psi-plus/psi-plus-snapshots/"
SRC_URI="https://github.com/psi-plus/psi-plus-snapshots/archive/${PV}.tar.gz -> ${P}.tar.gz"

S="${WORKDIR}/psi-plus-snapshots-${PV}"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="aspell autoreplyplugin crypt debug doc enchant hunspell jingle keychain omemo otrplugin spell ssl xscreensaver watcherplugin webkit +webengine whiteboarding"

BDEPEND="
	dev-qt/linguist-tools:5
	virtual/pkgconfig
"

DEPEND="
	app-crypt/qca:2[ssl]
	dev-qt/qtconcurrent:5
	dev-qt/qtcore:5
	dev-qt/qtdbus:5
	dev-qt/qtgui:5
	dev-qt/qtmultimedia:5
	dev-qt/qtnetwork:5
	dev-qt/qtwidgets:5
	dev-qt/qtx11extras:5
	dev-qt/qtxml:5
	net-dns/libidn:0
	net-libs/http-parser
	sys-libs/zlib[minizip]
	x11-libs/libX11
	x11-libs/libxcb
	aspell? ( app-text/aspell )
	enchant? ( >=app-text/enchant-1.3.0 )
	hunspell? ( app-text/hunspell:= )
	keychain? ( dev-libs/qtkeychain )
	omemo? ( net-libs/libsignal-protocol-c )
	otrplugin? ( net-libs/libotr app-text/htmltidy )
	webengine? (
		dev-qt/qtwebchannel:5
		dev-qt/qtwebengine:5[widgets]
	)
	webkit? ( dev-qt/qtwebkit:5 )
	whiteboarding? ( dev-qt/qtsvg:5 )
	xscreensaver? ( x11-libs/libXScrnSaver )
"	

RDEPEND="${DEPEND}
	dev-qt/qtimageformats
"

src_configure() {
	CONF=(
		--prefix="${EPREFIX}"/usr
		--libdir="${EPREFIX}"/usr/$(get_libdir)
		--no-separate-debug-info
		--qtdir="$(qt5_get_bindir)/.."
		$(use_enable aspell)
		$(use_enable enchant)
		$(use_enable hunspell)
		$(use_enable keychain)
		$(use_enable xscreensaver xss)
		$(use_enable whiteboarding)
	)

	use debug && CONF+=("--debug")
	use webengine && CONF+=("--enable-webkit" "--with-webkit=qtwebengine")
	use webkit && CONF+=("--enable-webkit" "--with-webkit=qtwebkit")

	# This may generate warnings if passed option already matches with default.
	# Just ignore them. It's how qconf-based configure works and will be fixed in
	# future qconf versions.
	./configure "${CONF[@]}" || die "configure failed"

	eqmake5 psi.pro
}

src_compile() {
	emake
	use doc && emake -C doc api_public
	
	if use autoreplyplugin; then
		cd src/plugins/generic/autoreplyplugin
		qmake
		make
		cd ../../../..
	fi

	if use otrplugin; then
		cd src/plugins/generic/otrplugin
		qmake
		make
		cd ../../../..
	fi

	if use omemo; then
		cd src/plugins/generic/omemoplugin
		qmake
		make
		cd ../../../..
	fi
	
	if use watcherplugin; then
		cd src/plugins/generic/watcherplugin
		qmake
		make
		cd ../../../..
	fi
}

src_install() {
	emake INSTALL_ROOT="${D}" install

	# this way the docs will be installed in the standard gentoo dir
	rm "${ED}"/usr/share/${PN}/{COPYING,README.html} || die "doc files set seems to have changed"
	newdoc iconsets/roster/README README.roster
	newdoc iconsets/system/README README.system
	newdoc certs/README README.certs
	dodoc README.html
	
	use doc && HTML_DOCS=( doc/api/. )
	einstalldocs

	# install translations
#	local mylrelease="$(qt5_get_bindir)"/lrelease
#	cd "${WORKDIR}/${PN}/psi-l10n" || die
#	insinto /usr/share/${PN}
#	install_locale() {
#		"${mylrelease}" "translations/${PN}_${1}.ts" || die "lrelease ${1} failed"
#		doins "translations/${PN}_${1}.qm"
#	}
#	l10n_for_each_locale_do install_locale

	local plugindir="/usr/share/psi-plus/plugins"
	if use autoreplyplugin; then
		cd src/plugins/generic/autoreplyplugin

		strip --strip-unneeded libautoreplyplugin.so

		dodir "${plugindir}"
		insinto "${plugindir}"
		doins libautoreplyplugin.so

		cd ../../../..
	fi

	if use otrplugin; then
		cd src/plugins/generic/otrplugin

		strip --strip-unneeded libotrplugin.so

		dodir "${plugindir}"
		insinto "${plugindir}"
		doins libotrplugin.so

		cd ../../../..
	fi

	if use omemo; then
		cd src/plugins/generic/omemoplugin

		strip --strip-unneeded libomemoplugin.so

		dodir "${plugindir}"
		insinto "${plugindir}"
		doins libomemoplugin.so

		cd ../../../..
	fi

	if use watcherplugin; then
		cd src/plugins/generic/watcherplugin

		strip --strip-unneeded libwatcherplugin.so

		dodir "${plugindir}"
		insinto "${plugindir}"
		doins libwatcherplugin.so

		cd ../../../..
	fi
}

pkg_postinst() {
	xdg_pkg_postinst
}