# $Id$ PNAME="pidgin" PVER="2.10.11" PBUILD="r2" SPLIT_PACKAGES="libpurple libpurple-ssl libpurple-perl libpurple-tcl libpurple-sametime libpurple-gadu libpurple-bonjour finch pidgin pidgin-perl pidgin-encryption pidgin-otr pidgin-notify" PCAT="net-im" HOMEPAGE="http://www.pidgin.im/" # Todo: farsight2 support for voice/video -> --disable-vv atm PIDGIN_DEPEND=">= x11-libs/gtk2+-2.24 >= app-text/gtkspell-2.0.16 >= x11-libs/startup-notification-0.12 >= media-libs/gstreamer0.10-plugins-good-0.10 >= dev-db/sqlite-3.8 >= x11-libs/libXScrnSaver-1.2" LIBPURPLE_DEPEND=">= dev-libs/glib2-2.42 >= dev-libs/cyrus-sasl-2.1.26 >= dev-libs/libxml2-2.9 >= net-dns/libidn-1.29 >= media-libs/gstreamer0.10-0.10 >= media-libs/gstreamer0.10-plugins-base-0.10 >= sys-libs/zlib-1.2.8" FINCH_DEPEND=">= sys-libs/ncurses-5.9 >= dev-lang/python-2.7" PERL_DEPEND=">= dev-lang/perl-5.20.1" TCL_DEPEND=">= dev-lang/tcl-8.6 >= dev-lang/tk-8.6" SAMETIME_DEPEND=">= net-libs/meanwhile-1.0.2" GADU_DEPEND=">= net-libs/libgadu-1.12" BONJOUR_DEPEND=">= net-dns/avahi-0.6.31" DBUS_DEPEND=">= sys-libs/dbus-libs-1.8 >= dev-libs/dbus-glib-0.102" SSL_DEPEND=">= app-crypt/gnutls-3.3 >= app-crypt/ca-certificates-2014" ENCRYPT_DEPEND=">= dev-libs/nspr-4.10 >= dev-libs/nss-3.17" OTR_DEPEND=">= net-libs/libotr-4.1 >= app-crypt/libgcrypt-1.6" NOTIFY_DEPEND=">= x11-libs/libnotify-0.7 >= virtual/notification-daemon" SDEPEND="${PIDGIN_DEPEND} ${LIBPURPLE_DEPEND} ${FINK_DEPEND} ${PERL_DEPEND} ${TCL_DEPEND} ${SAMETIME_DEPEND} ${GADU_DEPEND} ${BONJOUR_DEPEND} ${DBUS_DEPEND} ${SSL_DEPEND} ${ENCRYPT_DEPEND} ${OTR_DEPEND} ${NOTIFY_DEPEND} >= net-misc/networkmanager-1.0 >= sys-dev/gettext-0.18 >= dev-util/intltool-0.50" if mqueryfeature "check" then SDEPEND+=" >= dev-util/check-0.9" fi SRCFILE="${PNAME}-${PVER}.tar.bz2" SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" ENCRYPT_PVER="3.1" ENCRYPT_SRCFILE="${PNAME}-encryption-${ENCRYPT_PVER}.tar.gz" ENCRYPT_SRCDIR="${BUILDDIR}/${PNAME}-encryption-${ENCRYPT_PVER}" OTR_PVER="4.0.1" OTR_SRCFILE="${PNAME}-otr-${OTR_PVER}.tar.gz" OTR_SRCDIR="${BUILDDIR}/${PNAME}-otr-${OTR_PVER}" NOTIFY_PVER="0.14" NOTIFY_SRCFILE="${PNAME}-libnotify-${NOTIFY_PVER}.tar.gz" NOTIFY_SRCDIR="${BUILDDIR}/${PNAME}-libnotify-${NOTIFY_PVER}" sminclude mtools cleanutils SRC_URI=( sourceforge://${PNAME}/${SRCFILE} sourceforge://pidgin-encrypt/${ENCRYPT_SRCFILE} http://www.cypherpunks.ca/otr/${OTR_SRCFILE} sourceforge://gaim-libnotify/${NOTIFY_SRCFILE} mirror://${PNAME}/${SRCFILE} mirror://${PNAME}/${ENCRYPT_SRCFILE} mirror://${PNAME}/${OTR_SRCFILE} mirror://${PNAME}/${NOTIFY_SRCFILE} mirror://${PNAME}/pidgin-2.0.2-prefs.xml mirror://${PNAME}/${PNAME}-libnotify-0.14-libnotify07.patch mirror://${PNAME}/${PNAME}-libnotify-0.14-language.patch ) UP2TARBALL="${PNAME}" UP2DATE="updatecmd_sourceforge ${PNAME} Pidgin" split_info_libpurple() { DESCRIPTION="libpurple contains the core IM support for IM clients such as Pidgin and Finch." PCAT="net-libs" DEPEND="${LIBPURPLE_DEPEND} ${DBUS_DEPEND}" } split_info_libpurple-ssl() { DESCRIPTION="SSL/TLS support for libpurple." PCAT="net-libs" DEPEND="== net-libs/libpurple-${PVER} ${SSL_DEPEND} ${ENCRYPT_DEPEND}" } split_info_libpurple-perl() { DESCRIPTION="Perl scripting support for libpurple." PCAT="net-libs" DEPEND="== net-libs/libpurple-${PVER} ${PERL_DEPEND}" } split_info_libpurple-tcl() { DESCRIPTION="TCL/TK scripting support for libpurple." PCAT="net-libs" DEPEND="== net-libs/libpurple-${PVER} ${TCL_DEPEND}" } split_info_libpurple-sametime() { DESCRIPTION="Lotus Sametime protocol support for libpurple." DEPEND="== net-libs/libpurple-${PVER} ${SAMETIME_DEPEND}" } split_info_libpurple-gadu() { DESCRIPTION="Gadu-Gadu protocol support for libpurple." DEPEND="== net-libs/libpurple-${PVER} == net-libs/libpurple-ssl-${PVER} ${GADU_DEPEND}" } split_info_libpurple-bonjour() { DESCRIPTION="Bonjour/Zeroconf protocol support for libpurple." DEPEND="== net-libs/libpurple-${PVER} ${BONJOUR_DEPEND}" } split_info_finch() { DESCRIPTION="A text-base interface for Pidgin." DEPEND="== net-libs/libpurple-${PVER} ${FINCH_DEPEND}" } split_info_pidgin() { DESCRIPTION="Pigin is a multi-protocol instant messaging client for Linux." DEPEND="== net-libs/libpurple-${PVER} ${PIDGIN_DEPEND}" } split_info_pidgin-perl() { DESCRIPTION="Perl scripting support for Pidgin." DEPEND="== net-libs/libpurple-${PVER} == net-libs/libpurple-perl-${PVER} == net-im/pidgin-${PVER} ${PERL_DEPEND}" } split_info_pidgin-encryption() { DESCRIPTION="Pidgin plugin providing transparent RSA encryption using NSS." HOMEPAGE="http://pidgin-encrypt.sourceforge.net/" DEPEND="== net-libs/libpurple-${PVER} == net-im/pidgin-${PVER} ${ENCRYPT_DEPEND}" } split_info_pidgin-otr() { DESCRIPTION="Pidgin plugin providing Off-the-Record Messaging." HOMEPAGE="http://www.cypherpunks.ca/otr/" DEPEND="== net-libs/libpurple-${PVER} == net-im/pidgin-${PVER} ${OTR_DEPEND}" } split_info_pidgin-notify() { DESCRIPTION="Pidgin plugin that provide popups when someone logs in or messages you." HOMEPAGE="http://gaim-libnotify.sourceforge.net/" DEPEND="== net-libs/libpurple-${PVER} ${NOTIFY_DEPEND}" } src_prepare() { munpack ${SRCFILE} || die munpack ${ENCRYPT_SRCFILE} || die munpack ${OTR_SRCFILE} || die munpack ${NOTIFY_SRCFILE} || die cd ${SRCDIR} # fix missing dso with --as-needed enabled sed -i "s:@LDFLAGS@:@LDFLAGS@ -lm:" pidgin/Makefile.in || die cd ${NOTIFY_SRCDIR} # support >=libnotif-0.7 mpatch ${PNAME}-libnotify-0.14-libnotify07.patch || die # several language fixups mpatch ${PNAME}-libnotify-0.14-language.patch || die cd ${ENCRYPT_SRCDIR} # fix ftbfs with newer glib2 versions sed -i "s:glib/gmain.h:glib.h:" rsa_nss.c || die } src_compile() { cd ${SRCDIR} # pidgin mconfigure \ --enable-nss \ --enable-perl \ --enable-tcl \ --enable-tk \ --enable-dbus \ --enable-gstreamer \ --enable-cyrus-sasl \ --enable-meanwhile \ --enable-avahi \ --enable-consoleui \ --enable-cap \ --enable-idn \ --enable-nm \ --disable-mono \ --disable-gevolution \ --disable-vv \ || die mmake || die # fix broken in place build with >=2.10.11 - dirty hack, fixme! sed -i 's:/data::g' ${SRCDIR}/pidgin/data/*-uninstalled.pc ${SRCDIR}/libpurple/data/*-uninstalled.pc || die # pidgin-encryption cd ${ENCRYPT_SRCDIR} PKG_CONFIG_PATH=${SRCDIR}/pidgin/data:${SRCDIR}/libpurple/data:${PKG_CONFIG_PATH} \ mconfigure --disable-static || die mmake || die # pidgin-otr cd ${OTR_SRCDIR} PKG_CONFIG_PATH=${SRCDIR}/pidgin/data:${SRCDIR}/libpurple/data:${PKG_CONFIG_PATH} \ mconfigure --disable-static || die mmake || die # pidgin-notify cd ${NOTIFY_SRCDIR} PKG_CONFIG_PATH=${SRCDIR}/pidgin/data:${SRCDIR}/libpurple/data:${PKG_CONFIG_PATH} \ mconfigure --disable-static || die mmake || die } src_install_libpurple() { cd ${SRCDIR} mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ usr/bin/purple-* \ usr/include/libpurple \ usr/$(mlibdir)/pkgconfig/purple.pc \ usr/$(mlibdir)/libpurple.so.* \ usr/$(mlibdir)/libpurple.so \ usr/$(mlibdir)/libpurple.la \ usr/$(mlibdir)/libpurple-client.so.* \ usr/$(mlibdir)/libpurple-client.so \ usr/$(mlibdir)/libpurple-client.la \ usr/$(mlibdir)/purple-${PVER:0:1} \ usr/$(mlibdir)/purple-${PVER:0:1}/dbus-example.so \ usr/share/aclocal \ usr/share/dbus-1 \ usr/share/locale \ usr/share/sounds/purple \ usr/share/purple \ || die # remove this, provided by other packages mdelete -r /usr/$(mlibdir)/purple-${PVER:0:1}/perl || die mdelete /usr/$(mlibdir)/purple-${PVER:0:1}/perl.so || die mdelete /usr/$(mlibdir)/purple-${PVER:0:1}/tcl.so || die mdelete /usr/$(mlibdir)/purple-${PVER:0:1}/libgg.so || die mdelete /usr/$(mlibdir)/purple-${PVER:0:1}/libbonjour.so || die mdelete /usr/$(mlibdir)/purple-${PVER:0:1}/libsametime.so || die mdelete /usr/$(mlibdir)/purple-${PVER:0:1}/ssl\*.so || die mdelete /usr/$(mlibdir)/purple-${PVER:0:1}/\*.la || die # install default preferences minstalldir /etc/purple || die minstallfile -s pidgin-2.0.2-prefs.xml /etc/purple/prefs.xml || die cd ${SRCDIR} minstalldocs ABOUT-NLS NEWS AUTHORS PROGRAMMING_NOTES COPYING \ README* COPYRIGHT ChangeLog* HACKING \ doc/CREDITS doc/FAQ || die } src_install_libpurple-ssl() { cd ${SRCDIR} mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} usr/$(mlibdir)/purple-${PVER:0:1}/ssl*.so || die } src_install_libpurple-perl() { cd ${SRCDIR} mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ usr/$(mlibdir)/purple-${PVER:0:1}/perl.so \ usr/$(mlibdir)/purple-${PVER:0:1}/perl \ usr/share/man/man3/Purple* \ || die } src_install_libpurple-tcl() { cd ${SRCDIR} mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} usr/$(mlibdir)/purple-${PVER:0:1}/tcl.so || die } src_install_libpurple-sametime() { cd ${SRCDIR} mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} usr/$(mlibdir)/purple-${PVER:0:1}/libsametime.so || die } src_install_libpurple-gadu() { cd ${SRCDIR} mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} usr/$(mlibdir)/purple-${PVER:0:1}/libgg.so || die } src_install_libpurple-bonjour() { cd ${SRCDIR} mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} usr/$(mlibdir)/purple-${PVER:0:1}/libbonjour.so || die } src_install_finch() { cd ${SRCDIR} mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ usr/bin/finch \ usr/include/finch \ usr/include/gnt \ usr/$(mlibdir)/pkgconfig/gnc.pc \ usr/$(mlibdir)/pkgconfig/finch.pc \ usr/$(mlibdir)/finch \ usr/$(mlibdir)/gnt \ usr/$(mlibdir)/libgnt.so.* \ usr/$(mlibdir)/libgnt.so \ usr/$(mlibdir)/libgnt.la \ usr/share/man/man1/finch.* \ || die # remove la files mdelete /usr/$(mlibdir)/finch/\*.la || die mdelete /usr/$(mlibdir)/gnt/\*.la || die } src_install_pidgin() { cd ${SRCDIR} mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ usr/bin/pidgin \ usr/include/pidgin \ usr/$(mlibdir)/pkgconfig/pidgin.pc \ usr/$(mlibdir)/pidgin \ usr/share/man/man1/pidgin.* \ usr/share/applications \ usr/share/pixmaps/pidgin \ usr/share/icons \ etc/gconf \ die # remove this, provided by other packages mdelete -r /usr/$(mlibdir)/pidgin/perl || die mdelete /usr/$(mlibdir)/pidgin/\*.la || die # install includes minstalldir /usr/include/pidgin/src || die minstallfile config.h /usr/include/pidgin || die cd ${SRCDIR}/src tar cf - *.h | (cd ${BINDIR}/usr/include/pidgin/src ; tar xvf -) cd ${SRCDIR} minstalldocs ABOUT-NLS NEWS AUTHORS PROGRAMMING_NOTES COPYING \ README* COPYRIGHT ChangeLog* HACKING \ doc/CREDITS doc/FAQ || die } src_install_pidgin-perl() { cd ${SRCDIR} mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ usr/share/man3/Pidgin* \ usr/$(mlibdir)/pidgin/perl \ || die } src_install_pidgin-encryption() { cd ${ENCRYPT_SRCDIR} mmake DESTDIR=${BINDIR} install || die # remove la files mdelete /usr/$(mlibdir)/pidgin/\*.la || die # docs minstalldir /usr/share/doc/${PNAME}-encryption-${ENCRYPT_PVER} || die local i for i in CHANGELOG NOTES README TODO VERSION WISHLIST do minstallfile ${i} /usr/share/doc/${PNAME}-encryption-${ENCRYPT_PVER} || die ${i} done gzip -r9 ${BINDIR}/usr/share/doc/${PNAME}-encryption-${ENCRYPT_PVER} || die } src_install_pidgin-otr() { cd ${OTR_SRCDIR} mmake DESTDIR=${BINDIR} install || die # remove la files mdelete /usr/$(mlibdir)/pidgin/\*.la || die # docs minstalldir /usr/share/doc/${PNAME}-otr-${OTR_PVER} || die local i for i in ChangeLog COPYING README do minstallfile ${i} /usr/share/doc/${PNAME}-otr-${OTR_PVER} || die ${i} done gzip -r9 ${BINDIR}/usr/share/doc/${PNAME}-otr-${OTR_PVER} || die } src_install_pidgin-notify() { cd ${NOTIFY_SRCDIR} mmake DESTDIR=${BINDIR} install || die # remove la files mdelete /usr/$(mlibdir)/purple-${PVER:0:1}/\*.la || die # docs minstalldir /usr/share/doc/${PNAME}-notify-${NOTIFY_PVER} || die local i for i in AUTHORS ChangeLog COPYING NEWS README TODO VERSION do minstallfile ${i} /usr/share/doc/${PNAME}-notify-${NOTIFY_PVER} || die ${i} done gzip -r9 ${BINDIR}/usr/share/doc/${PNAME}-notify-${NOTIFY_PVER} || die }