# Maintainer: David Vachulka <arch_dvx@users.sourceforge.net>

_realname=libpurple
pkgname="${MINGW_PACKAGE_PREFIX}-libpurple"
pkgver=2.14.3
pkgrel=1
pkgdesc="Multi-protocol instant messaging library (mingw-w64)"
arch=('any')
url="http://pidgin.im/"
license=("GPL")
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
             "${MINGW_PACKAGE_PREFIX}-pkg-config"
             "intltool")
depends=("${MINGW_PACKAGE_PREFIX}-ca-certificates"
         "${MINGW_PACKAGE_PREFIX}-gettext"
         "${MINGW_PACKAGE_PREFIX}-cyrus-sasl"
         "${MINGW_PACKAGE_PREFIX}-gsasl"
         "${MINGW_PACKAGE_PREFIX}-libgadu"
         "${MINGW_PACKAGE_PREFIX}-libidn"
         "${MINGW_PACKAGE_PREFIX}-meanwhile"
         "${MINGW_PACKAGE_PREFIX}-nss"
         "${MINGW_PACKAGE_PREFIX}-silc-toolkit"
         "${MINGW_PACKAGE_PREFIX}-sqlite3"
         "${MINGW_PACKAGE_PREFIX}-libxml2"
         "${MINGW_PACKAGE_PREFIX}-zlib")
options=(!libtool strip staticlibs)

source=("http://downloads.sourceforge.net/pidgin/pidgin-${pkgver}.tar.bz2"
        libpurple-plugins.patch
        libpurple-protocols.patch)
md5sums=('SKIP' 'SKIP' 'SKIP')

prepare() {
cd "${srcdir}"/pidgin-${pkgver}
patch -p0 -i ${srcdir}/libpurple-plugins.patch
patch -p0 -i ${srcdir}/libpurple-protocols.patch
}

build() {
  cd "${srcdir}/pidgin-${pkgver}"
cat << EOF > local.mak
INCLUDE_PATHS := $(pkg-config --cflags glib-2.0 libxml-2.0 meanwhile nss) -Wp,-w
LIBS          := $(pkg-config --libs glib-2.0 libxml-2.0 meanwhile nss)
EOF
  make -C libpurple -f Makefile.mingw
  make -C share/ca-certs -f Makefile.mingw
  make -C po -f Makefile.mingw GMSGFMT=msgfmt
}

package() {
  cd "${srcdir}/pidgin-${pkgver}"/libpurple
  install -Dpm 755 libpurple.dll   "${pkgdir}"${MINGW_PREFIX}/bin/libpurple.dll
  install -Dpm 755 libpurple.dll.a "${pkgdir}"${MINGW_PREFIX}/lib/libpurple.dll.a
  install -Dpm 755 protocols/gg/libgg.dll "${pkgdir}"${MINGW_PREFIX}/bin/plugins/libgg.dll
  install -Dpm 755 protocols/irc/libirc.dll "${pkgdir}"${MINGW_PREFIX}/bin/plugins/libirc.dll
  install -Dpm 755 protocols/jabber/libxmpp.dll "${pkgdir}"${MINGW_PREFIX}/bin/plugins/libxmpp.dll
  install -Dpm 755 protocols/jabber/libjabber.dll "${pkgdir}"${MINGW_PREFIX}/bin/libjabber.dll
  install -Dpm 755 protocols/jabber/libjabber.dll.a "${pkgdir}"${MINGW_PREFIX}/lib/libjabber.dll.a
  install -Dpm 755 protocols/novell/libnovell.dll "${pkgdir}"${MINGW_PREFIX}/bin/plugins/libnovell.dll
  install -Dpm 755 protocols/sametime/libsametime.dll "${pkgdir}"${MINGW_PREFIX}/bin/plugins/libsametime.dll
  install -Dpm 755 protocols/silc/libsilc.dll "${pkgdir}"${MINGW_PREFIX}/bin/plugins/libsilc.dll
  install -Dpm 755 protocols/simple/libsimple.dll "${pkgdir}"${MINGW_PREFIX}/bin/plugins/libsimple.dll
  install -Dpm 755 plugins/autoaccept.dll "${pkgdir}"${MINGW_PREFIX}/bin/plugins/autoaccept.dll
  install -Dpm 755 plugins/buddynote.dll "${pkgdir}"${MINGW_PREFIX}/bin/plugins/buddynote.dll
  install -Dpm 755 plugins/idle.dll "${pkgdir}"${MINGW_PREFIX}/bin/plugins/idle.dll
  install -Dpm 755 plugins/joinpart.dll "${pkgdir}"${MINGW_PREFIX}/bin/plugins/joinpart.dll
  install -Dpm 755 plugins/log_reader.dll "${pkgdir}"${MINGW_PREFIX}/bin/plugins/log_reader.dll
  install -Dpm 755 plugins/newline.dll "${pkgdir}"${MINGW_PREFIX}/bin/plugins/newline.dll
  install -Dpm 755 plugins/offlinemsg.dll "${pkgdir}"${MINGW_PREFIX}/bin/plugins/offlinemsg.dll
  install -Dpm 755 plugins/psychic.dll "${pkgdir}"${MINGW_PREFIX}/bin/plugins/psychic.dll
  install -Dpm 755 plugins/statenotify.dll "${pkgdir}"${MINGW_PREFIX}/bin/plugins/statenotify.dll
  install -Dpm 755 plugins/ssl/ssl.dll "${pkgdir}"${MINGW_PREFIX}/bin/plugins/ssl.dll
  install -Dpm 755 plugins/ssl/ssl-nss.dll "${pkgdir}"${MINGW_PREFIX}/bin/plugins/ssl-nss.dll
  install -Dpm 644 win32/win32dep.h "${pkgdir}"${MINGW_PREFIX}/include/purple/win32/win32dep.h
  install -Dpm 644 win32/libc_interface.h "${pkgdir}"${MINGW_PREFIX}/include/purple/win32/libc_interface.h
  install -Dpm 644 win32/libc_internal.h "${pkgdir}"${MINGW_PREFIX}/include/purple/win32/libc_internal.h
  install -Dpm 644 win32/wpurpleerror.h "${pkgdir}"${MINGW_PREFIX}/include/purple/win32/wpurpleerror.h
  cd ..
  make -C share/ca-certs -f Makefile.mingw install
  cd win32-install-dir/ca-certs/
  for pem in *pem
  do
    install -Dpm 644 $pem "${pkgdir}"${MINGW_PREFIX}/bin/ca-certs/$pem
  done
  cd ../..
  make -C po -f Makefile.mingw install PURPLE_INSTALL_PO_DIR="${pkgdir}"${MINGW_PREFIX}/share/locale
  cd libpurple
  for h in $(sed -n < Makefile.am '
    /purple_builtheaders = /         {s/^.*= //;p;}
    /purple_coreheaders = /, /[^\\]$/{s/^.*= //;s/\\$//;p;}
    /purple_mediaheaders = /,/[^\\]$/{s/^.*= //;s/\\$//;s,^\t,media/,;p;}')
  do
    install -Dpm 644 $h "${pkgdir}"${MINGW_PREFIX}/include/purple/$h
  done
}
