1SUMMARY = "multi-protocol instant messaging client"
2
3SECTION = "x11/network"
4LICENSE = "GPL-2.0-only"
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
18CVE_STATUS[CVE-2010-1624] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
19CVE_STATUS[CVE-2011-3594] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
20
21PACKAGECONFIG ??= "gnutls consoleui avahi dbus idn nss \
22    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtk startup-notification', '', d)} \
23"
24PACKAGECONFIG[farsight2] = "--enable-farstream,--disable-farstream,farsight2"
25#  --disable-gstreamer     compile without GStreamer audio support
26#  --disable-gstreamer-video
27#                          compile without GStreamer 1.0 Video Overlay support
28#  --disable-gstreamer-interfaces
29#                          compile without GStreamer 0.10 interface support
30#  --with-gstreamer=<version>
31#                          compile with GStreamer 0.10 or 1.0 interface
32PACKAGECONFIG[gstreamer] = "--enable-gstreamer,--disable-gstreamer,gstreamer"
33PACKAGECONFIG[vv] = "--enable-vv,--disable-vv,gstreamer"
34PACKAGECONFIG[idn] = "--enable-idn,--disable-idn,libidn"
35PACKAGECONFIG[gtk] = "--enable-gtkui,--disable-gtkui,gtk+"
36PACKAGECONFIG[x11] = "--with-x=yes --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--with-x=no,virtual/libx11"
37PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
38PACKAGECONFIG[consoleui] = "--enable-consoleui --with-ncurses-headers=${STAGING_INCDIR},--disable-consoleui,libgnt"
39PACKAGECONFIG[gnutls] = "--enable-gnutls --with-gnutls-includes=${STAGING_INCDIR} --with-gnutls-libs=${STAGING_LIBDIR},--disable-gnutls,gnutls,libpurple-plugin-ssl-gnutls"
40PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib"
41PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
42PACKAGECONFIG[nss] = "--enable-nss,--disable-nss,nss nspr,libpurple-plugin-ssl-nss"
43PACKAGECONFIG[cyrus-sasl] = "--enable-cyrus-sasl,--disable-cyrus-sasl,cyrus-sasl"
44
45EXTRA_OECONF = " \
46    --disable-perl \
47    --disable-tcl \
48    --disable-gevolution \
49    --disable-schemas-install \
50    --disable-gtkspell \
51    --disable-meanwhile \
52    --disable-nm \
53    --disable-screensaver \
54"
55
56OE_LT_RPATH_ALLOW=":${libdir}/purple-2:"
57OE_LT_RPATH_ALLOW[export]="1"
58
59PACKAGES =+ "libpurple-dev libpurple finch finch-dev ${PN}-data"
60
61RPROVIDES:${PN}-dbg += "libpurple-dbg finch-dbg"
62
63LEAD_SONAME = "libpurple.so.0"
64FILES:libpurple     = "${libdir}/libpurple*.so.* ${libdir}/purple-2 ${bindir}/purple-* ${sysconfdir}/gconf/schemas/purple* ${datadir}/purple/ca-certs"
65FILES:libpurple-dev = "${libdir}/libpurple*.la \
66                       ${libdir}/libpurple*.so \
67                       ${libdir}/purple-2/*.la \
68                       ${libdir}/purple-2/libjabber.so \
69                       ${libdir}/purple-2/liboscar.so \
70                       ${libdir}/purple-2/libymsg.so \
71                       ${datadir}/aclocal"
72FILES:finch          = "${bindir}/finch"
73FILES:finch-dev      = "${libdir}/finch/*.la"
74
75FILES:${PN} = "${bindir} ${datadir}/${PN} ${libdir}/${PN}/*.so \
76           ${datadir}/applications"
77RRECOMMENDS:${PN} = "${PN}-data libpurple-protocol-irc libpurple-protocol-xmpp"
78
79FILES:${PN}-data = "${datadir}/pixmaps ${datadir}/sounds ${datadir}/icons ${datadir}/appdata"
80FILES:${PN}-dev += "${libdir}/${PN}/*.la"
81
82PACKAGES_DYNAMIC += "^libpurple-protocol-.* ^libpurple-plugin-.* ^pidgin-plugin-.* ^finch-plugin-.*"
83
84python populate_packages:prepend () {
85    pidgroot = d.expand('${libdir}/pidgin')
86    purple   = d.expand('${libdir}/purple-2')
87    finch    = d.expand('${libdir}/finch')
88
89    do_split_packages(d, pidgroot, r'^([^l][^i][^b].*)\.so$',
90        output_pattern='pidgin-plugin-%s',
91        description='Pidgin plugin %s',
92        prepend=True, extra_depends='')
93
94    do_split_packages(d, purple, r'^lib(.*)\.so$',
95        output_pattern='libpurple-protocol-%s',
96        description='Libpurple protocol plugin for %s',
97        prepend=True, extra_depends='')
98
99    do_split_packages(d, purple, r'^(ssl-.*)\.so$',
100        output_pattern='libpurple-plugin-%s',
101        description='libpurple plugin %s',
102        prepend=True, extra_depends='libpurple-plugin-ssl')
103
104    do_split_packages(d, purple, r'^([^l][^i][^b].*)\.so$',
105        output_pattern='libpurple-plugin-%s',
106        description='libpurple plugin %s',
107        prepend=True, extra_depends='')
108
109    do_split_packages(d, finch, r'^([^l][^i][^b].*)\.so$',
110        output_pattern='finch-plugin-%s',
111        description='Finch plugin %s',
112        prepend=True, extra_depends='')
113}
114