view net-im/psi-plus/psi-plus-0.16.457.ebuild @ 398:442474170ed1

use the wxwidgets eclass to choose the correct version - wxwidgets is slotted
author Dirk Olmes <dirk@xanthippe.ping.de>
date Tue, 01 Sep 2015 06:05:13 +0200
parents 041db1ee4881
children
line wrap: on
line source


EAPI=5

inherit eutils l10n multilib gnome2-utils qt4-r2

DESCRIPTION="Qt4 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"

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

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="autoreplyplugin crypt dbus debug doc jingle otrplugin plugins spell ssl xscreensaver watcherplugin whiteboarding"
#RESTRICT="test"

RDEPEND="app-arch/unzip
	>=dev-qt/qtgui-4.7:4
	>=app-crypt/qca-2.0.2:2[qt4(+)]
	x11-libs/libX11
	dbus? ( >=dev-qt/qtdbus-4.7:4 )
	spell? ( >=app-text/enchant-1.3.0 )
	xscreensaver? ( x11-libs/libXScrnSaver )
	whiteboarding? ( dev-qt/qtsvg:4 )
	|| ( >=sys-libs/zlib-1.2.5.1-r2[minizip] <sys-libs/zlib-1.2.5.1-r1 )"

DEPEND="${RDEPEND}
	sys-devel/qconf
	doc? ( app-doc/doxygen )"

PDEPEND="crypt? ( app-crypt/qca:2[gpg] )
	jingle? ( net-im/psimedia
		app-crypt/qca:2[openssl] )
	ssl? ( app-crypt/qca:2[openssl] )
	otrplugin? ( net-libs/libotr app-text/htmltidy )"

src_prepare() {
	epatch_user
}

src_configure() {
	# unable to use econf because of non-standard configure script
	local confcmd="./configure
		--prefix=/usr
		--datadir=/usr/share
		--libdir=/usr/lib64
		--disable-growl
		--with-qca-inc=/usr/include/qca2
		--with-qca-lib=/usr/lib64/qca2
		$(use dbus || echo '--disable-qdbus')
		$(use debug && echo '--debug')
		$(use plugins && echo '--enable-plugins')
		$(use spell || echo '--disable-aspell')
		$(use spell || echo '--disable-enchant')
		$(use xscreensaver || echo '--disable-xss')
		$(use whiteboarding && echo '--enable-whiteboarding')"

	echo ${confcmd}
	${confcmd} || die "configure failed"
	## Makefile is not always created...
	#[[ ! -f Makefile ]] && die "configure failed"
}

src_compile() {
	emake || die "emake failed"
	
	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 watcherplugin; then
		cd src/plugins/generic/watcherplugin
		qmake
		make
		cd ../../../..
	fi
}

src_install() {
	emake DESTDIR="${D}" INSTALL_ROOT="${D}" install
	dodoc README TODO ChangeLog
	
	if use autoreplyplugin; then
		cd src/plugins/generic/autoreplyplugin

		local plugindir="/usr/$(get_libdir)/psi-plus/plugins"
		dodir "${plugindir}"
		insinto "${plugindir}"
		doins libautoreplyplugin.so

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

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

		local plugindir="/usr/$(get_libdir)/psi-plus/plugins"
		dodir "${plugindir}"
		insinto "${plugindir}"
		doins libotrplugin.so

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

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

		local plugindir="/usr/$(get_libdir)/psi-plus/plugins"
		dodir "${plugindir}"
		insinto "${plugindir}"
		doins libwatcherplugin.so

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

pkg_preinst() {
	gnome2_icon_savelist
}

pkg_postinst() {
	gnome2_icon_cache_update
}

pkg_postrm() {
	gnome2_icon_cache_update
}