| 1 |
# Copyright 1999-2012 Gentoo Foundation |
| 2 |
# Distributed under the terms of the GNU General Public License v2 |
| 3 |
# $Header: /var/cvsroot/gentoo-x86/net-im/pidgin/pidgin-2.10.4.ebuild,v 1.6 2012/06/06 14:10:17 ranger Exp $ |
| 4 |
|
| 5 |
EAPI=4 |
| 6 |
|
| 7 |
GENTOO_DEPEND_ON_PERL=no |
| 8 |
inherit flag-o-matic eutils toolchain-funcs multilib perl-app gnome2 python |
| 9 |
|
| 10 |
DESCRIPTION="GTK Instant Messenger client" |
| 11 |
HOMEPAGE="http://pidgin.im/" |
| 12 |
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" |
| 13 |
|
| 14 |
LICENSE="GPL-2" |
| 15 |
SLOT="0" |
| 16 |
KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86 ~x86-freebsd ~amd64-linux ~x86-linux ~x86-macos" |
| 17 |
IUSE="dbus debug doc eds gadu gnutls +gstreamer +gtk idn meanwhile" |
| 18 |
IUSE+=" networkmanager nls perl silc tcl tk spell sasl ncurses" |
| 19 |
IUSE+=" groupwise prediction python +xscreensaver zephyr zeroconf" # mono" |
| 20 |
IUSE+=" aqua" |
| 21 |
|
| 22 |
# dbus requires python to generate C code for dbus bindings (thus DEPEND only). |
| 23 |
# finch uses libgnt that links with libpython - {R,}DEPEND. But still there is |
| 24 |
# no way to build dbus and avoid libgnt linkage with python. If you want this |
| 25 |
# send patch upstream. |
| 26 |
# purple-url-handler and purple-remote require dbus-python thus in reality we |
| 27 |
# rdepend on python if dbus enabled. But it is possible to separate this dep. |
| 28 |
RDEPEND=" |
| 29 |
>=dev-libs/glib-2.16 |
| 30 |
>=dev-libs/libxml2-2.6.18 |
| 31 |
ncurses? ( sys-libs/ncurses[unicode] |
| 32 |
dbus? ( <dev-lang/python-3 ) |
| 33 |
python? ( <dev-lang/python-3 ) ) |
| 34 |
gtk? ( |
| 35 |
>=x11-libs/gtk+-2.10:2[aqua=] |
| 36 |
x11-libs/libSM |
| 37 |
xscreensaver? ( x11-libs/libXScrnSaver ) |
| 38 |
spell? ( >=app-text/gtkspell-2.0.2:2 ) |
| 39 |
eds? ( gnome-extra/evolution-data-server ) |
| 40 |
prediction? ( >=dev-db/sqlite-3.3:3 ) ) |
| 41 |
gstreamer? ( =media-libs/gstreamer-0.10* |
| 42 |
=media-libs/gst-plugins-good-0.10* |
| 43 |
|| ( net-libs/farstream net-libs/farsight2 ) |
| 44 |
media-plugins/gst-plugins-meta |
| 45 |
media-plugins/gst-plugins-gconf ) |
| 46 |
zeroconf? ( net-dns/avahi[dbus] ) |
| 47 |
dbus? ( >=dev-libs/dbus-glib-0.71 |
| 48 |
>=sys-apps/dbus-0.90 |
| 49 |
dev-python/dbus-python ) |
| 50 |
perl? ( >=dev-lang/perl-5.8.2-r1[-build] ) |
| 51 |
gadu? ( || ( >=net-libs/libgadu-1.11.0[ssl,gnutls] |
| 52 |
>=net-libs/libgadu-1.11.0[-ssl] ) ) |
| 53 |
gnutls? ( net-libs/gnutls ) |
| 54 |
!gnutls? ( >=dev-libs/nss-3.11 ) |
| 55 |
meanwhile? ( net-libs/meanwhile ) |
| 56 |
silc? ( >=net-im/silc-toolkit-1.0.1 ) |
| 57 |
tcl? ( dev-lang/tcl ) |
| 58 |
tk? ( dev-lang/tk ) |
| 59 |
sasl? ( dev-libs/cyrus-sasl:2 ) |
| 60 |
networkmanager? ( net-misc/networkmanager ) |
| 61 |
idn? ( net-dns/libidn ) |
| 62 |
!<x11-plugins/pidgin-facebookchat-1.69-r1" |
| 63 |
# Mono support crashes pidgin |
| 64 |
#mono? ( dev-lang/mono )" |
| 65 |
|
| 66 |
# We want nls in case gtk is enabled, bug # |
| 67 |
NLS_DEPEND=">=dev-util/intltool-0.41.1 sys-devel/gettext" |
| 68 |
|
| 69 |
DEPEND="$RDEPEND |
| 70 |
dev-lang/perl |
| 71 |
dev-perl/XML-Parser |
| 72 |
virtual/pkgconfig |
| 73 |
gtk? ( x11-proto/scrnsaverproto |
| 74 |
${NLS_DEPEND} ) |
| 75 |
dbus? ( <dev-lang/python-3 ) |
| 76 |
doc? ( app-doc/doxygen ) |
| 77 |
!gtk? ( nls? ( ${NLS_DEPEND} ) )" |
| 78 |
|
| 79 |
DOCS="AUTHORS HACKING NEWS README ChangeLog" |
| 80 |
|
| 81 |
# Enable Default protocols |
| 82 |
DYNAMIC_PRPLS="irc,jabber,oscar,yahoo,simple,msn,myspace" |
| 83 |
|
| 84 |
# List of plugins |
| 85 |
# app-accessibility/pidgin-festival |
| 86 |
# net-im/librvp |
| 87 |
# x11-plugins/guifications |
| 88 |
# x11-plugins/msn-pecan |
| 89 |
# x11-plugins/pidgin-encryption |
| 90 |
# x11-plugins/pidgin-extprefs |
| 91 |
# x11-plugins/pidgin-hotkeys |
| 92 |
# x11-plugins/pidgin-latex |
| 93 |
# x11-plugins/pidgintex |
| 94 |
# x11-plugins/pidgin-libnotify |
| 95 |
# x11-plugins/pidgin-mbpurple |
| 96 |
# x11-plugins/pidgin-bot-sentry |
| 97 |
# x11-plugins/pidgin-otr |
| 98 |
# x11-plugins/pidgin-rhythmbox |
| 99 |
# x11-plugins/purple-plugin_pack |
| 100 |
# x11-themes/pidgin-smileys |
| 101 |
# x11-plugins/pidgin-knotify |
| 102 |
# Plugins in Sunrise: |
| 103 |
# x11-plugins/pidgin-audacious-remote |
| 104 |
# x11-plugins/pidgin-autoanswer |
| 105 |
# x11-plugins/pidgin-birthday-reminder |
| 106 |
# x11-plugins/pidgin-blinklight |
| 107 |
# x11-plugins/pidgin-convreverse |
| 108 |
# x11-plugins/pidgin-embeddedvideo |
| 109 |
# x11-plugins/pidgin-extended-blist-sort |
| 110 |
# x11-plugins/pidgin-gfire |
| 111 |
# x11-plugins/pidgin-lastfm |
| 112 |
# x11-plugins/pidgin-sendscreenshot |
| 113 |
# x11-plugins/pidgimpd |
| 114 |
|
| 115 |
pkg_setup() { |
| 116 |
if ! use gtk && ! use ncurses ; then |
| 117 |
elog "You did not pick the ncurses or gtk use flags, only libpurple" |
| 118 |
elog "will be built." |
| 119 |
fi |
| 120 |
if use dbus || { use ncurses && use python; }; then |
| 121 |
python_set_active_version 2 |
| 122 |
python_pkg_setup |
| 123 |
fi |
| 124 |
|
| 125 |
# dbus is enabled, no way to disable linkage with python => python is enabled |
| 126 |
#REQUIRED_USE="gtk? ( nls ) dbus? ( python )" |
| 127 |
if use gtk && ! use nls; then |
| 128 |
ewarn "gtk build => nls is enabled!" |
| 129 |
fi |
| 130 |
if use dbus && ! use python; then |
| 131 |
elog "dbus is enabled, no way to disable linkage with python => python is enabled" |
| 132 |
fi |
| 133 |
} |
| 134 |
|
| 135 |
src_prepare() { |
| 136 |
epatch "${FILESDIR}/${PN}-2.10.0-gold.patch" |
| 137 |
} |
| 138 |
|
| 139 |
src_configure() { |
| 140 |
# Stabilize things, for your own good |
| 141 |
strip-flags |
| 142 |
replace-flags -O? -O2 |
| 143 |
|
| 144 |
local myconf |
| 145 |
|
| 146 |
if use gadu; then |
| 147 |
DYNAMIC_PRPLS="${DYNAMIC_PRPLS},gg" |
| 148 |
myconf="${myconf} --with-gadu-includes=." |
| 149 |
myconf="${myconf} --with-gadu-libs=." |
| 150 |
fi |
| 151 |
|
| 152 |
use silc && DYNAMIC_PRPLS+=",silc" |
| 153 |
use meanwhile && DYNAMIC_PRPLS+=",sametime" |
| 154 |
use zeroconf && DYNAMIC_PRPLS+=",bonjour" |
| 155 |
use groupwise && DYNAMIC_PRPLS+=",novell" |
| 156 |
use zephyr && DYNAMIC_PRPLS+=",zephyr" |
| 157 |
|
| 158 |
if use gnutls; then |
| 159 |
einfo "Disabling NSS, using GnuTLS" |
| 160 |
myconf+=" --enable-nss=no --enable-gnutls=yes" |
| 161 |
myconf+=" --with-gnutls-includes=${EPREFIX}/usr/include/gnutls" |
| 162 |
myconf+=" --with-gnutls-libs=${EPREFIX}/usr/$(get_libdir)" |
| 163 |
else |
| 164 |
einfo "Disabling GnuTLS, using NSS" |
| 165 |
myconf+=" --enable-gnutls=no --enable-nss=yes" |
| 166 |
fi |
| 167 |
|
| 168 |
if use dbus || { use ncurses && use python; }; then |
| 169 |
myconf+=" --with-python=$(PYTHON)" |
| 170 |
else |
| 171 |
myconf+=" --without-python" |
| 172 |
fi |
| 173 |
|
| 174 |
econf \ |
| 175 |
--disable-silent-rules \ |
| 176 |
$(use_enable ncurses consoleui) \ |
| 177 |
$(use_enable gtk gtkui) \ |
| 178 |
$(use_enable gtk sm) \ |
| 179 |
$(use gtk || use_enable nls) \ |
| 180 |
$(use gtk && echo "--enable-nls") \ |
| 181 |
$(use gtk && use_enable xscreensaver screensaver) \ |
| 182 |
$(use gtk && use_enable prediction cap) \ |
| 183 |
$(use gtk && use_enable eds gevolution) \ |
| 184 |
$(use gtk && use_enable spell gtkspell) \ |
| 185 |
$(use_enable perl) \ |
| 186 |
$(use_enable tk) \ |
| 187 |
$(use_enable tcl) \ |
| 188 |
$(use_enable debug) \ |
| 189 |
$(use_enable dbus) \ |
| 190 |
$(use_enable meanwhile) \ |
| 191 |
$(use_enable gstreamer) \ |
| 192 |
$(use_enable gstreamer farstream) \ |
| 193 |
$(use_enable gstreamer vv) \ |
| 194 |
$(use_enable sasl cyrus-sasl ) \ |
| 195 |
$(use_enable doc doxygen) \ |
| 196 |
$(use_enable networkmanager nm) \ |
| 197 |
$(use_enable zeroconf avahi) \ |
| 198 |
$(use_enable idn) \ |
| 199 |
--with-system-ssl-certs="${EPREFIX}/etc/ssl/certs/" \ |
| 200 |
--with-dynamic-prpls="${DYNAMIC_PRPLS}" \ |
| 201 |
--disable-mono \ |
| 202 |
--x-includes="${EPREFIX}"/usr/include/X11 \ |
| 203 |
${myconf} |
| 204 |
#$(use_enable mono) \ |
| 205 |
} |
| 206 |
|
| 207 |
src_install() { |
| 208 |
gnome2_src_install |
| 209 |
if use gtk; then |
| 210 |
# Fix tray pathes for kde-3.5, e16 (x11-wm/enlightenment) and other |
| 211 |
# implementations that are not complient with new hicolor theme yet, #323355 |
| 212 |
local pixmapdir |
| 213 |
for d in 16 22 32 48; do |
| 214 |
pixmapdir=${ED}/usr/share/pixmaps/pidgin/tray/hicolor/${d}x${d}/actions |
| 215 |
mkdir "${pixmapdir}" || die |
| 216 |
pushd "${pixmapdir}" >/dev/null || die |
| 217 |
for f in ../status/*; do |
| 218 |
ln -s ${f} || die |
| 219 |
done |
| 220 |
popd >/dev/null |
| 221 |
done |
| 222 |
fi |
| 223 |
use perl && fixlocalpod |
| 224 |
|
| 225 |
dodoc finch/plugins/pietray.py |
| 226 |
docompress -x /usr/share/doc/${PF}/pietray.py |
| 227 |
|
| 228 |
find "${ED}" -type f -name '*.la' -exec rm -rf '{}' '+' || die "la removal failed" |
| 229 |
} |