1SUMMARY = "multi-protocol instant messaging client"
2
3SECTION = "x11/network"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
6DEPENDS = "python3 virtual/libintl intltool-native libxml2 gconf glib-2.0-native"
7
8inherit autotools gettext pkgconfig gconf perlnative python3native
9
10SRC_URI = "\
11    ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \
12    file://sanitize-configure.ac.patch \
13    file://purple-OE-branding-25.patch \
14"
15
16SRC_URI[sha256sum] = "19654ad276b149646371fbdac21bc7620742f2975f7399fed0ffc1a18fbaf603"
17
18PACKAGECONFIG ??= "gnutls consoleui avahi dbus idn nss \
19    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtk startup-notification', '', d)} \
20"
21PACKAGECONFIG[farsight2] = "--enable-farstream,--disable-farstream,farsight2"
22#  --disable-gstreamer     compile without GStreamer audio support
23#  --disable-gstreamer-video
24#                          compile without GStreamer 1.0 Video Overlay support
25#  --disable-gstreamer-interfaces
26#                          compile without GStreamer 0.10 interface support
27#  --with-gstreamer=<version>
28#                          compile with GStreamer 0.10 or 1.0 interface
29PACKAGECONFIG[gstreamer] = "--enable-gstreamer,--disable-gstreamer,gstreamer"
30PACKAGECONFIG[vv] = "--enable-vv,--disable-vv,gstreamer"
31PACKAGECONFIG[idn] = "--enable-idn,--disable-idn,libidn"
32PACKAGECONFIG[gtk] = "--enable-gtkui,--disable-gtkui,gtk+"
33PACKAGECONFIG[x11] = "--with-x=yes --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--with-x=no,virtual/libx11"
34PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
35PACKAGECONFIG[consoleui] = "--enable-consoleui --with-ncurses-headers=${STAGING_INCDIR},--disable-consoleui,libgnt"
36PACKAGECONFIG[gnutls] = "--enable-gnutls --with-gnutls-includes=${STAGING_INCDIR} --with-gnutls-libs=${STAGING_LIBDIR},--disable-gnutls,gnutls,libpurple-plugin-ssl-gnutls"
37PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib"
38PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
39PACKAGECONFIG[nss] = "--enable-nss,--disable-nss,nss nspr,libpurple-plugin-ssl-nss"
40PACKAGECONFIG[cyrus-sasl] = "--enable-cyrus-sasl,--disable-cyrus-sasl,cyrus-sasl"
41
42EXTRA_OECONF = " \
43    --disable-perl \
44    --disable-tcl \
45    --disable-gevolution \
46    --disable-schemas-install \
47    --disable-gtkspell \
48    --disable-meanwhile \
49    --disable-nm \
50    --disable-screensaver \
51"
52
53OE_LT_RPATH_ALLOW=":${libdir}/purple-2:"
54OE_LT_RPATH_ALLOW[export]="1"
55
56PACKAGES =+ "libpurple-dev libpurple finch finch-dev ${PN}-data"
57
58RPROVIDES_${PN}-dbg += "libpurple-dbg finch-dbg"
59
60LEAD_SONAME = "libpurple.so.0"
61FILES_libpurple     = "${libdir}/libpurple*.so.* ${libdir}/purple-2 ${bindir}/purple-* ${sysconfdir}/gconf/schemas/purple* ${datadir}/purple/ca-certs"
62FILES_libpurple-dev = "${libdir}/libpurple*.la \
63                       ${libdir}/libpurple*.so \
64                       ${libdir}/purple-2/*.la \
65                       ${libdir}/purple-2/libjabber.so \
66                       ${libdir}/purple-2/liboscar.so \
67                       ${libdir}/purple-2/libymsg.so \
68                       ${datadir}/aclocal"
69FILES_finch          = "${bindir}/finch"
70FILES_finch-dev      = "${libdir}/finch/*.la"
71
72FILES_${PN} = "${bindir} ${datadir}/${PN} ${libdir}/${PN}/*.so \
73           ${datadir}/applications"
74RRECOMMENDS_${PN} = "${PN}-data libpurple-protocol-irc libpurple-protocol-xmpp"
75
76FILES_${PN}-data = "${datadir}/pixmaps ${datadir}/sounds ${datadir}/icons ${datadir}/appdata"
77FILES_${PN}-dev += "${libdir}/${PN}/*.la"
78
79PACKAGES_DYNAMIC += "^libpurple-protocol-.* ^libpurple-plugin-.* ^pidgin-plugin-.* ^finch-plugin-.*"
80
81python populate_packages_prepend () {
82    pidgroot = d.expand('${libdir}/pidgin')
83    purple   = d.expand('${libdir}/purple-2')
84    finch    = d.expand('${libdir}/finch')
85
86    do_split_packages(d, pidgroot, '^([^l][^i][^b].*)\.so$',
87        output_pattern='pidgin-plugin-%s',
88        description='Pidgin plugin %s',
89        prepend=True, extra_depends='')
90
91    do_split_packages(d, purple, '^lib(.*)\.so$',
92        output_pattern='libpurple-protocol-%s',
93        description='Libpurple protocol plugin for %s',
94        prepend=True, extra_depends='')
95
96    do_split_packages(d, purple, '^(ssl-.*)\.so$',
97        output_pattern='libpurple-plugin-%s',
98        description='libpurple plugin %s',
99        prepend=True, extra_depends='libpurple-plugin-ssl')
100
101    do_split_packages(d, purple, '^([^l][^i][^b].*)\.so$',
102        output_pattern='libpurple-plugin-%s',
103        description='libpurple plugin %s',
104        prepend=True, extra_depends='')
105
106    do_split_packages(d, finch, '^([^l][^i][^b].*)\.so$',
107        output_pattern='finch-plugin-%s',
108        description='Finch plugin %s',
109        prepend=True, extra_depends='')
110}
111