summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Jansa <Martin.Jansa@gmail.com>2021-02-08 14:11:41 +0100
committerKhem Raj <raj.khem@gmail.com>2021-02-08 10:17:23 -0800
commitd830e7901eda5863af4dbbcb6018603371151b88 (patch)
tree3d87e40a149b653b8e7e51a1509676e09fc42743
parent86c15d5a3cfa5bbd2173d9a444d7cff0dff78f08 (diff)
downloadmeta-openembedded-d830e7901eda5863af4dbbcb6018603371151b88.tar.gz
pidgin: upgrade to 2.14.1 and fix autoconf-2.71 compatibility
* also log.do_configure is showing this since switch to python3: DEBUG: Executing shell function do_configure File "<string>", line 1 import sys ; print sys.version[0:3] ^ SyntaxError: invalid syntax and this whole line doesn't make much sense and PY_VERSION shouldn't be used in configure.ac since: commit 9087a59b1c3f9708642a2327b0cf6ecceac0a66f Author: Martin Jansa <Martin.Jansa@gmail.com> Date: Thu May 5 16:58:59 2016 +0200 pidgin: use pkg-config instead of hardcoded paths or python-config * use separate recipe for libgnt (needed only when consoleui PACKAGECONFIG is enabled) with 0.14.0 release libgnt was moved to separate repository Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-oe/recipes-support/pidgin/libgnt/0001-meson-import-changes-from-3.0.-version.patch215
-rw-r--r--meta-oe/recipes-support/pidgin/libgnt_2.14.1.bb20
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin/0001-configure.ac-fix-build-with-autoconf-2.71.patch229
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin/0002-configure.ac-disable-few-languages-not-compatible-wi.patch49
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin/pidgin-cross-python-265.patch42
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin/use_py3.patch20
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin_2.14.1.bb (renamed from meta-oe/recipes-support/pidgin/pidgin_2.13.0.bb)22
7 files changed, 521 insertions, 76 deletions
diff --git a/meta-oe/recipes-support/pidgin/libgnt/0001-meson-import-changes-from-3.0.-version.patch b/meta-oe/recipes-support/pidgin/libgnt/0001-meson-import-changes-from-3.0.-version.patch
new file mode 100644
index 0000000000..8bb60b5557
--- /dev/null
+++ b/meta-oe/recipes-support/pidgin/libgnt/0001-meson-import-changes-from-3.0.-version.patch
@@ -0,0 +1,215 @@
1From 51d66c1c257f7487497f562033ac32ac75f648cb Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Mon, 8 Feb 2021 12:27:51 +0100
4Subject: [PATCH] meson: import changes from 3.0.* version
5
6* we need to use the meson option to disable introspection and docs
7
8Upstream-Status: Backport
9Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
10---
11 meson.build | 139 ++++++++++++++++++++++++++++------------------
12 meson_options.txt | 5 ++
13 2 files changed, 90 insertions(+), 54 deletions(-)
14 create mode 100644 meson_options.txt
15
16diff --git a/meson.build b/meson.build
17index 1084c82..ed040b4 100644
18--- a/meson.build
19+++ b/meson.build
20@@ -53,9 +53,9 @@ compiler = meson.get_compiler('c')
21 pkgconfig = import('pkgconfig')
22
23 # #######################################################################
24-# # Check for GLib 2.16
25+# # Check for GLib 2.44
26 # #######################################################################
27-glib = dependency('glib-2.0', version : '>= 2.16.0')
28+glib = dependency('glib-2.0', version : '>= 2.44.0')
29 gobject = dependency('gobject-2.0')
30 gmodule = dependency('gmodule-2.0')
31 gnome = import('gnome')
32@@ -63,74 +63,88 @@ gnome = import('gnome')
33 #######################################################################
34 # Check for LibXML2
35 #######################################################################
36-libxml = dependency('libxml-2.0', version : '>= 2.6.0', required : false)
37-gnt_config.set('NO_LIBXML', not libxml.found())
38+libxml = dependency('libxml-2.0', version : '>= 2.6.0')
39
40 #######################################################################
41 # Check for ncurses and other things used by it
42 #######################################################################
43 ncurses_available = true
44-ncurses_inc = []
45-# The order of this list is important to the condition that follows.
46-ncurses_libs = [
47- compiler.find_library('ncursesw', required : false),
48- compiler.find_library('panelw', required : false),
49- compiler.find_library('tinfow', required : false),
50-]
51-if not ncurses_libs[0].found() or not ncurses_libs[1].found()
52- ncurses_available = false
53-endif
54+ncurses_widechar = true
55+ncurses_header = 'ncurses.h'
56+# Some distros put the headers in ncursesw/, some don't. These are ordered to
57+# pick the last available as most-specific version.
58+ncursesw_header_paths = ['', 'ncursesw/']
59
60-if host_machine.system() == 'windows'
61- # FIXME: $host ?
62- ncurses_sys_prefix = '/usr/$host/sys-root/mingw'
63+ncurses = [
64+ dependency('ncursesw', required : false),
65+ dependency('panelw', required : false),
66+]
67+if ncurses[0].found() and ncurses[1].found()
68+ foreach location : ncursesw_header_paths
69+ f = location + 'ncurses.h'
70+ if compiler.has_header_symbol(f, 'get_wch',
71+ prefix : '#define _XOPEN_SOURCE_EXTENDED')
72+ ncurses_header = f
73+ endif
74+ endforeach
75 else
76- ncurses_sys_prefix = '/usr'
77-endif
78-
79-ncurses_sys_dirs = [ncurses_sys_prefix + '/include/ncursesw',
80- ncurses_sys_prefix + '/include']
81-
82-if ncurses_available
83- # Some distros put the headers in ncursesw/, some don't
84- found_ncurses_h = false
85- foreach location : ncurses_sys_dirs
86- f = location + '/ncurses.h'
87- if not found_ncurses_h
88+ ncurses_available = false
89+ ncurses_inc = []
90+ ncurses_libs = [
91+ compiler.find_library('ncursesw', required : false),
92+ compiler.find_library('panelw', required : false)
93+ ]
94+ if ncurses_libs[0].found() and ncurses_libs[1].found()
95+ foreach location : ncursesw_header_paths
96+ f = location + 'ncurses.h'
97 if compiler.has_header_symbol(f, 'get_wch',
98 prefix : '#define _XOPEN_SOURCE_EXTENDED')
99- if location != '.'
100- ncurses_inc += [include_directories(location)]
101- endif
102- found_ncurses_h = true
103+ ncurses_available = true
104+ ncurses_header = f
105 endif
106- endif
107- endforeach
108+ endforeach
109
110- if not found_ncurses_h
111- ncurses_inc = []
112- ncurses_libs = []
113- ncurses_available = false
114+ if ncurses_available
115+ ncurses = declare_dependency(
116+ include_directories : ncurses_inc,
117+ dependencies : ncurses_libs
118+ )
119+ endif
120 endif
121-else
122+endif
123+
124+if not ncurses_available
125 # ncursesw was not found. Look for plain old ncurses
126- # The order of this list is important to the condition that follows.
127- ncurses_libs = [
128- compiler.find_library('ncurses', required : false),
129- compiler.find_library('panel', required : false),
130- compiler.find_library('tinfo', required : false),
131+ ncurses = [
132+ dependency('ncurses', required : false),
133+ dependency('panel', required : false),
134 ]
135- ncurses_available = ncurses_libs[0].found() and ncurses_libs[1].found()
136- gnt_config.set('NO_WIDECHAR', true)
137+ if ncurses[0].found() and ncurses_libs[1].found()
138+ ncurses_available = true
139+ else
140+ ncurses_libs = [
141+ compiler.find_library('ncurses', required : false),
142+ compiler.find_library('panel', required : false),
143+ ]
144+ ncurses_available = ncurses_libs[0].found() and ncurses_libs[1].found()
145+ ncurses = declare_dependency(dependencies : ncurses_libs)
146+ endif
147+ ncurses_widechar = false
148 endif
149+
150+if not ncurses_available and host_machine.system() == 'windows'
151+ # Try pdcurses too.
152+ ncurses_header = 'curses.h'
153+ ncurses_libs = compiler.find_library('pdcurses', required : false)
154+ ncurses_available = compiler.has_header(ncurses_header) and ncurses_libs.found()
155+ ncurses = declare_dependency(dependencies : ncurses_libs)
156+endif
157+
158 if not ncurses_available
159 error('ncurses could not be found!')
160 endif
161-
162-ncurses = declare_dependency(
163- include_directories : ncurses_inc,
164- dependencies : ncurses_libs
165-)
166+gnt_config.set('NCURSES_HEADER', ncurses_header)
167+gnt_config.set10('NCURSES_WIDECHAR', ncurses_widechar)
168
169 libgnt_SOURCES = [
170 'gntwidget.c',
171@@ -191,7 +205,10 @@ libgnt_headers = [
172 ]
173
174 # Check for Python headers
175-python_dep = dependency('python2', required : false)
176+python_dep = dependency('python3-embed', required: false)
177+if not python_dep.found()
178+ python_dep = dependency('python3', required : false)
179+endif
180 gnt_config.set('USE_PYTHON', python_dep.found())
181
182 configure_file(output : 'gntconfig.h',
183@@ -233,6 +250,20 @@ pkgconfig.generate(
184 variables : ['plugindir = ${libdir}/gnt'],
185 )
186
187+if get_option('introspection')
188+ libgnt_gir = gnome.generate_gir(libgnt,
189+ sources : libgnt_headers + [gnt_h],
190+ includes : 'GObject-2.0',
191+ namespace : 'Gnt',
192+ symbol_prefix : 'gnt',
193+ identifier_prefix : 'Gnt',
194+ nsversion : '@0@.@1@'.format(gnt_major_version, gnt_minor_version),
195+ install : true,
196+ extra_args : ['-DGNT_COMPILATION', '--quiet'])
197+endif
198+
199 subdir('wms')
200 subdir('test')
201-subdir('doc')
202+if get_option('doc')
203+ subdir('doc')
204+endif
205diff --git a/meson_options.txt b/meson_options.txt
206new file mode 100644
207index 0000000..f2414e2
208--- /dev/null
209+++ b/meson_options.txt
210@@ -0,0 +1,5 @@
211+option('doc', type : 'boolean', value : true, yield : true,
212+ description : 'build documentation with gtk-doc')
213+
214+option('introspection', type : 'boolean', value : true, yield : true,
215+ description : 'build introspection data')
diff --git a/meta-oe/recipes-support/pidgin/libgnt_2.14.1.bb b/meta-oe/recipes-support/pidgin/libgnt_2.14.1.bb
new file mode 100644
index 0000000000..67d8cc87ce
--- /dev/null
+++ b/meta-oe/recipes-support/pidgin/libgnt_2.14.1.bb
@@ -0,0 +1,20 @@
1SUMMARY = "GNT: The GLib Ncurses Toolkit"
2
3SECTION = "libs"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=c9a1abacd0166f595a9fbe6afb1f0d5e"
6DEPENDS = "glib-2.0 ncurses libxml2 glib-2.0-native"
7
8inherit meson
9
10# SRCREV = "0a44b1d01c41"
11# SRC_URI = "hg://keep.imfreedom.org/${BPN};module=${BPN}
12
13SRC_URI = "${SOURCEFORGE_MIRROR}/project/pidgin/${BPN}/${PV}/${BP}.tar.xz \
14 file://0001-meson-import-changes-from-3.0.-version.patch \
15"
16SRC_URI[sha256sum] = "5ec3e68e18f956e9998d79088b299fa3bca689bcc95c86001bc5da17c1eb4bd8"
17
18EXTRA_OEMESON = "-Dintrospection=false -Ddoc=false"
19
20FILES_${PN} += "${libdir}/gnt/s.so ${libdir}/gnt/irssi.so"
diff --git a/meta-oe/recipes-support/pidgin/pidgin/0001-configure.ac-fix-build-with-autoconf-2.71.patch b/meta-oe/recipes-support/pidgin/pidgin/0001-configure.ac-fix-build-with-autoconf-2.71.patch
new file mode 100644
index 0000000000..cfb0290f9b
--- /dev/null
+++ b/meta-oe/recipes-support/pidgin/pidgin/0001-configure.ac-fix-build-with-autoconf-2.71.patch
@@ -0,0 +1,229 @@
1From e03d3ef5aadd582ebf7102b7d5785fed177a0cb1 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Sun, 7 Feb 2021 13:25:29 +0100
4Subject: [PATCH] configure.ac: fix build with autoconf-2.71
5
6* fixes:
7 | autoreconf: running: intltoolize --copy --force
8 | ERROR: 'IT_PROG_INTLTOOL' must appear in configure.ac for intltool to work.
9 | autoreconf: error: intltoolize failed with exit status: 1
10
11* replace AM_GLIB_GNU_GETTEXT with AM_GNU_GETTEXT as suggested in:
12 https://wiki.gnome.org/Initiatives/GnomeGoals/GettextMigration
13 https://blogs.gnome.org/jjardon/2010/10/08/use-upstream-gettext-instead-the-glib-one/
14 because the former is causing issues with autoconf-2.71:
15
16 -m4trace:configure.ac:266: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
17 -You should run autoupdate.], [../autoconf-2.71/lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
18 -../autoconf-2.71/lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
19 -../autoconf-2.71/lib/autoconf/headers.m4:89: _AC_CHECK_HEADER_COMPILE is expanded from...
20 -../autoconf-2.71/lib/autoconf/headers.m4:56: AC_CHECK_HEADER is expanded from...
21 -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:150: GLIB_WITH_NLS is expanded from...
22 -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:370: GLIB_GNU_GETTEXT is expanded from...
23 -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:470: AM_GLIB_GNU_GETTEXT is expanded from...
24 -configure.ac:266: the top level])
25 -m4trace:configure.ac:266: -1- m4_pattern_allow([^ENABLE_NLS$])
26 -m4trace:configure.ac:266: -1- _m4_warn([obsolete], [The macro `AC_OUTPUT_COMMANDS' is obsolete.
27 -You should run autoupdate.], [../autoconf-2.71/lib/autoconf/status.m4:1025: AC_OUTPUT_COMMANDS is expanded from...
28 -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:150: GLIB_WITH_NLS is expanded from...
29 -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:370: GLIB_GNU_GETTEXT is expanded from...
30 -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:470: AM_GLIB_GNU_GETTEXT is expanded from...
31 -configure.ac:266: the top level])
32
33 and then configure fails with:
34
35 configure.ac:2621: error: `po/stamp-it' is already registered with AC_CONFIG_COMMANDS.
36 autoconf-2.71/lib/autoconf/status.m4:1008: AC_CONFIG_COMMANDS is expanded from...
37 configure.ac:2621: the top level
38
39* add AM_GNU_GETTEXT_VERSION as well to resolve warning with autoconf-2.71
40 configure.ac: warning: AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSION or AM_GNU_GETTEXT_REQUIRE_VERSION
41
42Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
43---
44 ABOUT-NLS | 1 +
45 Makefile.am | 6 +---
46 configure.ac | 6 ++--
47 pidgin/Makefile.am | 7 ++--
48 po/Makevars | 82 ++++++++++++++++++++++++++++++++++++++++++++++
49 po/POTFILES.in | 1 -
50 6 files changed, 92 insertions(+), 11 deletions(-)
51 create mode 100644 ABOUT-NLS
52 create mode 100644 po/Makevars
53
54diff --git a/ABOUT-NLS b/ABOUT-NLS
55new file mode 100644
56index 0000000..0a9d56d
57--- /dev/null
58+++ b/ABOUT-NLS
59@@ -0,0 +1 @@
60+<https://www.gnu.org/software/gettext/manual/html_node/Users.html>
61diff --git a/Makefile.am b/Makefile.am
62index f8e2bc9..a74145f 100644
63--- a/Makefile.am
64+++ b/Makefile.am
65@@ -13,9 +13,6 @@ EXTRA_DIST = \
66 fix-casts.sh \
67 gaim.pc.in \
68 gaim-uninstalled.pc.in \
69- intltool-extract.in \
70- intltool-merge.in \
71- intltool-update.in \
72 package_revision.h \
73 pidgin.apspec.in \
74 pidgin.spec.in \
75@@ -139,5 +136,4 @@ endif
76 distuninstallcheck_listfiles = \
77 find . -type f -print | grep -v perl | grep -v Purple.3pm | grep -v Pidgin.3pm
78
79-DISTCLEANFILES= intltool-extract intltool-merge intltool-update \
80- package_revision_raw.txt
81+DISTCLEANFILES=package_revision_raw.txt
82diff --git a/configure.ac b/configure.ac
83index 81d8592..e2280cd 100644
84--- a/configure.ac
85+++ b/configure.ac
86@@ -43,7 +43,7 @@ fi
87
88 AC_CANONICAL_HOST
89 AC_CONFIG_HEADERS([config.h])
90-AM_INIT_AUTOMAKE([1.9 -Wno-portability dist-bzip2])
91+AM_INIT_AUTOMAKE([1.9 -Wno-portability dist-bzip2 foreign])
92 dnl TODO: Always use AM_SILENT_RULES when we depend on automake >= 1.11
93 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
94
95@@ -257,12 +257,12 @@ dnl #######################################################################
96 AC_ARG_ENABLE(nls, AC_HELP_STRING([--disable-nls], [disable installation of translation files]), enable_i18n="$enableval", enable_i18n=yes)
97
98 if test x$enable_i18n = xyes; then
99- AC_PROG_INTLTOOL
100 GETTEXT_PACKAGE=pidgin
101 AC_SUBST(GETTEXT_PACKAGE)
102
103 ALL_LINGUAS="af am ar ar_SA as ast az be@latin bg bn_IN bn br brx bs ca ca@valencia cs da de dz el en_AU en_CA en_GB eo es_AR es et eu fa fi fr ga gl gu he hi hr hu id it ja ka kk km kn ko ks ku_IQ ku lt lv mai mhr mk ml mn mr ms_MY my_MM nb ne nl nn oc or pa pl ps pt_BR pt ro ru sd si sk sl sq sr@latin sr sv sw ta te th tr tt uk ur uz vi xh zh_CN zh_HK zh_TW"
104- AM_GLIB_GNU_GETTEXT
105+ AM_GNU_GETTEXT([external])
106+ AM_GNU_GETTEXT_VERSION([0.21])
107
108 dnl If we don't have msgfmt, then po/ is going to fail -- ensure that
109 dnl AM_GLIB_GNU_GETTEXT found it.
110diff --git a/pidgin/Makefile.am b/pidgin/Makefile.am
111index 2278b88..4d32c53 100644
112--- a/pidgin/Makefile.am
113+++ b/pidgin/Makefile.am
114@@ -192,13 +192,16 @@ DESKTOP_FILE=data/pidgin.desktop
115 appsdir = $(datadir)/applications
116 apps_in_files = data/pidgin.desktop.in
117 apps_DATA = $(apps_in_files:.desktop.in=.desktop)
118-@INTLTOOL_DESKTOP_RULE@
119+
120+data/pidgin.desktop: data/pidgin.desktop.in
121+ $(AM_V_GEN)$(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
122
123 appdatadir = $(datarootdir)/appdata
124 appdata_DATA = $(appdata_in_files:.xml.in=.xml)
125 appdata_in_files = data/pidgin.appdata.xml.in
126
127-@INTLTOOL_XML_RULE@
128+data/pidgin.appdata.xml: data/pidgin.appdata.xml.in
129+ $(AM_V_GEN)$(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@ || cp $< $@
130
131 endif # INSTALL_I18N
132
133diff --git a/po/Makevars b/po/Makevars
134new file mode 100644
135index 0000000..970237a
136--- /dev/null
137+++ b/po/Makevars
138@@ -0,0 +1,82 @@
139+# Makefile variables for PO directory in any package using GNU gettext.
140+#
141+# Copyright (C) 2003-2019 Free Software Foundation, Inc.
142+# This file is free software; the Free Software Foundation gives
143+# unlimited permission to use, copy, distribute, and modify it.
144+
145+# Usually the message domain is the same as the package name.
146+DOMAIN = $(PACKAGE)
147+
148+# These two variables depend on the location of this directory.
149+subdir = po
150+top_builddir = ..
151+
152+# These options get passed to xgettext.
153+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --from-code=UTF-8
154+
155+# This is the copyright holder that gets inserted into the header of the
156+# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
157+# package. (Note that the msgstr strings, extracted from the package's
158+# sources, belong to the copyright holder of the package.) Translators are
159+# expected to transfer the copyright for their translations to this person
160+# or entity, or to disclaim their copyright. The empty string stands for
161+# the public domain; in this case the translators are expected to disclaim
162+# their copyright.
163+COPYRIGHT_HOLDER = Free Software Foundation, Inc.
164+
165+# This tells whether or not to prepend "GNU " prefix to the package
166+# name that gets inserted into the header of the $(DOMAIN).pot file.
167+# Possible values are "yes", "no", or empty. If it is empty, try to
168+# detect it automatically by scanning the files in $(top_srcdir) for
169+# "GNU packagename" string.
170+PACKAGE_GNU =
171+
172+# This is the email address or URL to which the translators shall report
173+# bugs in the untranslated strings:
174+# - Strings which are not entire sentences, see the maintainer guidelines
175+# in the GNU gettext documentation, section 'Preparing Strings'.
176+# - Strings which use unclear terms or require additional context to be
177+# understood.
178+# - Strings which make invalid assumptions about notation of date, time or
179+# money.
180+# - Pluralisation problems.
181+# - Incorrect English spelling.
182+# - Incorrect formatting.
183+# It can be your email address, or a mailing list address where translators
184+# can write to without being subscribed, or the URL of a web page through
185+# which the translators can contact you.
186+MSGID_BUGS_ADDRESS =
187+
188+# This is the list of locale categories, beyond LC_MESSAGES, for which the
189+# message catalogs shall be used. It is usually empty.
190+EXTRA_LOCALE_CATEGORIES =
191+
192+# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
193+# context. Possible values are "yes" and "no". Set this to yes if the
194+# package uses functions taking also a message context, like pgettext(), or
195+# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
196+USE_MSGCTXT = no
197+
198+# These options get passed to msgmerge.
199+# Useful options are in particular:
200+# --previous to keep previous msgids of translated messages,
201+# --quiet to reduce the verbosity.
202+MSGMERGE_OPTIONS =
203+
204+# These options get passed to msginit.
205+# If you want to disable line wrapping when writing PO files, add
206+# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
207+# MSGINIT_OPTIONS.
208+MSGINIT_OPTIONS =
209+
210+# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
211+# has changed. Possible values are "yes" and "no". Set this to no if
212+# the POT file is checked in the repository and the version control
213+# program ignores timestamps.
214+PO_DEPENDS_ON_POT = no
215+
216+# This tells whether or not to forcibly update $(DOMAIN).pot and
217+# regenerate PO files on "make dist". Possible values are "yes" and
218+# "no". Set this to no if the POT file and PO files are maintained
219+# externally.
220+DIST_DEPENDS_ON_UPDATE_PO = no
221diff --git a/po/POTFILES.in b/po/POTFILES.in
222index a5691a1..b494bf3 100644
223--- a/po/POTFILES.in
224+++ b/po/POTFILES.in
225@@ -1,4 +1,3 @@
226-[encoding: UTF-8]
227 finch/finch.c
228 finch/gntaccount.c
229 finch/gntblist.c
diff --git a/meta-oe/recipes-support/pidgin/pidgin/0002-configure.ac-disable-few-languages-not-compatible-wi.patch b/meta-oe/recipes-support/pidgin/pidgin/0002-configure.ac-disable-few-languages-not-compatible-wi.patch
new file mode 100644
index 0000000000..99c523d5d9
--- /dev/null
+++ b/meta-oe/recipes-support/pidgin/pidgin/0002-configure.ac-disable-few-languages-not-compatible-wi.patch
@@ -0,0 +1,49 @@
1From 861c8a63c36f9ee7d46238c9bc13a2c1f14372c3 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Sun, 7 Feb 2021 14:35:14 +0000
4Subject: [PATCH] configure.ac: disable few languages not compatible with
5 modern gettext
6
7* as pidgin-3 development is moving to meson and probably
8 most of these changes won't be applicable there, lets just
9 disable them until someone interested steps-up to maintain it
10
11* these 3 fail with:
12cd ../../pidgin-2.14.1/po && rm -f brx.gmo && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgmerge --for-msgfmt -o brx.1po brx.po pidgin.pot && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt -c --statistics --verbose -o brx.gmo brx.1po && rm -f brx.1po
13cd ../../pidgin-2.14.1/po && rm -f zh_HK.gmo && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgmerge --for-msgfmt -o zh_HK.1po zh_HK.po pidgin.pot && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt -c --statistics --verbose -o zh_HK.gmo zh_HK.1po && rm -f zh_HK.1po
14cd ../../pidgin-2.14.1/po && rm -f zh_TW.gmo && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgmerge --for-msgfmt -o zh_TW.1po zh_TW.po pidgin.pot && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt -c --statistics --verbose -o zh_TW.gmo zh_TW.1po && rm -f zh_TW.1po
15zh_HK.1po:2790: 'msgstr' is not a valid C format string, unlike 'msgid'. Reason: The string refers to arguments both through absolute argument numbers and through unnumbered argument specifications.
16pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt: found 1 fatal error
17zh_TW.1po:2790: 'msgstr' is not a valid C format string, unlike 'msgid'. Reason: The string refers to arguments both through absolute argument numbers and through unnumbered argument specifications.
18pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt: found 1 fatal error
19zh_HK.1po: 3234 translated messages.
20make[3]: *** [Makefile:415: ../../pidgin-2.14.1/po/zh_HK.gmo] Error 1
21make[3]: *** Waiting for unfinished jobs....
22zh_TW.1po: 3234 translated messages.
23make[3]: *** [Makefile:415: ../../pidgin-2.14.1/po/zh_TW.gmo] Error 1
24brx.1po:778: number of format specifications in 'msgid' and 'msgstr' does not match
25brx.1po:3179: number of format specifications in 'msgid' and 'msgstr' does not match
26brx.1po:5175: format specifications in 'msgid_plural' and 'msgstr[0]' for argument 1 are not the same
27brx.1po:5184: format specifications in 'msgid_plural' and 'msgstr[0]' for argument 1 are not the same
28brx.1po:7754: format specifications in 'msgid_plural' and 'msgstr[0]' for argument 1 are not the same
29pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt: found 8 fatal errors
30brx.1po: 3246 translated messages.
31
32Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
33---
34 configure.ac | 2 +-
35 1 file changed, 1 insertion(+), 1 deletion(-)
36
37diff --git a/configure.ac b/configure.ac
38index e2280cd..9332932 100644
39--- a/configure.ac
40+++ b/configure.ac
41@@ -260,7 +260,7 @@ if test x$enable_i18n = xyes; then
42 GETTEXT_PACKAGE=pidgin
43 AC_SUBST(GETTEXT_PACKAGE)
44
45- ALL_LINGUAS="af am ar ar_SA as ast az be@latin bg bn_IN bn br brx bs ca ca@valencia cs da de dz el en_AU en_CA en_GB eo es_AR es et eu fa fi fr ga gl gu he hi hr hu id it ja ka kk km kn ko ks ku_IQ ku lt lv mai mhr mk ml mn mr ms_MY my_MM nb ne nl nn oc or pa pl ps pt_BR pt ro ru sd si sk sl sq sr@latin sr sv sw ta te th tr tt uk ur uz vi xh zh_CN zh_HK zh_TW"
46+ ALL_LINGUAS="af am ar ar_SA as ast az be@latin bg bn_IN bn br bs ca ca@valencia cs da de dz el en_AU en_CA en_GB eo es_AR es et eu fa fi fr ga gl gu he hi hr hu id it ja ka kk km kn ko ks ku_IQ ku lt lv mai mhr mk ml mn mr ms_MY my_MM nb ne nl nn oc or pa pl ps pt_BR pt ro ru sd si sk sl sq sr@latin sr sv sw ta te th tr tt uk ur uz vi xh zh_CN"
47 AM_GNU_GETTEXT([external])
48 AM_GNU_GETTEXT_VERSION([0.21])
49
diff --git a/meta-oe/recipes-support/pidgin/pidgin/pidgin-cross-python-265.patch b/meta-oe/recipes-support/pidgin/pidgin/pidgin-cross-python-265.patch
deleted file mode 100644
index 312fc8593f..0000000000
--- a/meta-oe/recipes-support/pidgin/pidgin/pidgin-cross-python-265.patch
+++ /dev/null
@@ -1,42 +0,0 @@
1From 855cc20bafa30597ae7a62f7672d42654b25cde0 Mon Sep 17 00:00:00 2001
2From: Herrie <github.com@herrie.org>
3Date: Mon, 24 Jul 2017 21:30:16 +0200
4Subject: [PATCH] Use pkg-config instead of ${PYTHON}-config to find python
5
6---
7 configure.ac | 21 ++++++++-------------
8 1 file changed, 8 insertions(+), 13 deletions(-)
9
10diff --git a/configure.ac b/configure.ac
11index d20a18e..c741829 100644
12--- a/configure.ac
13+++ b/configure.ac
14@@ -1567,20 +1567,15 @@ AM_CONDITIONAL(ENABLE_DBUS, test "x$enable_dbus" = "xyes")
15 dnl Check for Python headers (currently useful only for libgnt)
16 dnl (Thanks to XChat)
17 if test "x$enable_consoleui" = "xyes" -a ! -z "$PYTHON" -a x"$PYTHON" != x"no" ; then
18- AC_MSG_CHECKING(for Python compile flags)
19- if test -f ${PYTHON}-config; then
20- PY_CFLAGS=`${PYTHON}-config --includes`
21- PY_LIBS=`${PYTHON}-config --libs`
22- AC_DEFINE(USE_PYTHON, [1], [Define if python headers are available.])
23- AC_MSG_RESULT(ok)
24- else
25- AC_MSG_RESULT([Cannot find ${PYTHON}-config])
26- PY_CFLAGS=""
27- PY_LIBS=""
28- fi
29+ AC_MSG_CHECKING(for Python compile flags)
30+ PKG_CHECK_MODULES(PY, python, [
31+ AC_SUBST(PY_CFLAGS)
32+ AC_SUBST(PY_LIBS)
33+ ], [
34+ AC_MSG_RESULT(no)
35+ AC_MSG_ERROR([Can't find python])
36+ ])
37 fi
38-AC_SUBST(PY_CFLAGS)
39-AC_SUBST(PY_LIBS)
40
41 dnl #######################################################################
42 dnl # Check for Mono support
diff --git a/meta-oe/recipes-support/pidgin/pidgin/use_py3.patch b/meta-oe/recipes-support/pidgin/pidgin/use_py3.patch
deleted file mode 100644
index c7b4163cb5..0000000000
--- a/meta-oe/recipes-support/pidgin/pidgin/use_py3.patch
+++ /dev/null
@@ -1,20 +0,0 @@
1--- a/configure.ac
2+++ b/configure.ac
3@@ -1488,7 +1488,7 @@ AC_ARG_WITH([python],
4
5 if test "x$enable_dbus" = "xyes" || test "x$enable_consoleui" = "xyes" ; then
6 if test -z "$PYTHON" -o "x$PYTHON" = "xyes"; then
7- AC_PATH_PROG([PYTHON], [python], [no])
8+ AC_PATH_PROG([PYTHON], [python3], [no])
9 fi
10
11 if test x"$PYTHON" = x"no" ; then
12@@ -1568,7 +1568,7 @@ dnl Check for Python headers (currently
13 dnl (Thanks to XChat)
14 if test "x$enable_consoleui" = "xyes" -a ! -z "$PYTHON" -a x"$PYTHON" != x"no" ; then
15 AC_MSG_CHECKING(for Python compile flags)
16- PKG_CHECK_MODULES(PY, python, [
17+ PKG_CHECK_MODULES(PY, python3, [
18 AC_SUBST(PY_CFLAGS)
19 AC_SUBST(PY_LIBS)
20 ], [
diff --git a/meta-oe/recipes-support/pidgin/pidgin_2.13.0.bb b/meta-oe/recipes-support/pidgin/pidgin_2.14.1.bb
index fdc79e81b2..d22380eb0d 100644
--- a/meta-oe/recipes-support/pidgin/pidgin_2.13.0.bb
+++ b/meta-oe/recipes-support/pidgin/pidgin_2.14.1.bb
@@ -1,4 +1,5 @@
1SUMMARY = "multi-protocol instant messaging client" 1SUMMARY = "multi-protocol instant messaging client"
2
2SECTION = "x11/network" 3SECTION = "x11/network"
3LICENSE = "GPLv2" 4LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" 5LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
@@ -10,12 +11,11 @@ SRC_URI = "\
10 ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \ 11 ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \
11 file://sanitize-configure.ac.patch \ 12 file://sanitize-configure.ac.patch \
12 file://purple-OE-branding-25.patch \ 13 file://purple-OE-branding-25.patch \
13 file://pidgin-cross-python-265.patch \ 14 file://0001-configure.ac-fix-build-with-autoconf-2.71.patch \
14 file://use_py3.patch \ 15 file://0002-configure.ac-disable-few-languages-not-compatible-wi.patch \
15" 16"
16 17
17SRC_URI[md5sum] = "423403494fe1951e47cc75231f743bb0" 18SRC_URI[sha256sum] = "f132e18d551117d9e46acce29ba4f40892a86746c366999166a3862b51060780"
18SRC_URI[sha256sum] = "2747150c6f711146bddd333c496870bfd55058bab22ffb7e4eb784018ec46d8f"
19 19
20PACKAGECONFIG ??= "gnutls consoleui avahi dbus idn nss \ 20PACKAGECONFIG ??= "gnutls consoleui avahi dbus idn nss \
21 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtk startup-notification', '', d)} \ 21 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtk startup-notification', '', d)} \
@@ -34,13 +34,14 @@ PACKAGECONFIG[idn] = "--enable-idn,--disable-idn,libidn"
34PACKAGECONFIG[gtk] = "--enable-gtkui,--disable-gtkui,gtk+" 34PACKAGECONFIG[gtk] = "--enable-gtkui,--disable-gtkui,gtk+"
35PACKAGECONFIG[x11] = "--with-x=yes --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--with-x=no,virtual/libx11" 35PACKAGECONFIG[x11] = "--with-x=yes --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--with-x=no,virtual/libx11"
36PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification" 36PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
37PACKAGECONFIG[consoleui] = "--enable-consoleui --with-ncurses-headers=${STAGING_INCDIR},--disable-consoleui,ncurses" 37PACKAGECONFIG[consoleui] = "--enable-consoleui --with-ncurses-headers=${STAGING_INCDIR},--disable-consoleui,libgnt"
38PACKAGECONFIG[gnutls] = "--enable-gnutls --with-gnutls-includes=${STAGING_INCDIR} --with-gnutls-libs=${STAGING_LIBDIR},--disable-gnutls,gnutls,libpurple-plugin-ssl-gnutls" 38PACKAGECONFIG[gnutls] = "--enable-gnutls --with-gnutls-includes=${STAGING_INCDIR} --with-gnutls-libs=${STAGING_LIBDIR},--disable-gnutls,gnutls,libpurple-plugin-ssl-gnutls"
39PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib" 39PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib"
40PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi" 40PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
41PACKAGECONFIG[nss] = "--enable-nss,--disable-nss,nss nspr,libpurple-plugin-ssl-nss" 41PACKAGECONFIG[nss] = "--enable-nss,--disable-nss,nss nspr,libpurple-plugin-ssl-nss"
42 42
43EXTRA_OECONF = " \ 43EXTRA_OECONF = " \
44 --with-python=python3 \
44 --disable-perl \ 45 --disable-perl \
45 --disable-tcl \ 46 --disable-tcl \
46 --disable-gevolution \ 47 --disable-gevolution \
@@ -51,17 +52,12 @@ EXTRA_OECONF = " \
51 --disable-screensaver \ 52 --disable-screensaver \
52" 53"
53 54
54do_configure_prepend() {
55 touch ${S}/po/Makefile
56 sed -i "s#PY_VERSION=`$PYTHON -c 'import sys ; print sys.version[0:3]'`#PY_VERSION=${PYTHON_BASEVERSION}#g" ${S}/configure.ac
57}
58
59OE_LT_RPATH_ALLOW=":${libdir}/purple-2:" 55OE_LT_RPATH_ALLOW=":${libdir}/purple-2:"
60OE_LT_RPATH_ALLOW[export]="1" 56OE_LT_RPATH_ALLOW[export]="1"
61 57
62PACKAGES =+ "libpurple-dev libpurple libgnt libgnt-dev finch finch-dev ${PN}-data" 58PACKAGES =+ "libpurple-dev libpurple finch finch-dev ${PN}-data"
63 59
64RPROVIDES_${PN}-dbg += "libpurple-dbg libgnt-dbg finch-dbg" 60RPROVIDES_${PN}-dbg += "libpurple-dbg finch-dbg"
65 61
66LEAD_SONAME = "libpurple.so.0" 62LEAD_SONAME = "libpurple.so.0"
67FILES_libpurple = "${libdir}/libpurple*.so.* ${libdir}/purple-2 ${bindir}/purple-* ${sysconfdir}/gconf/schemas/purple* ${datadir}/purple/ca-certs" 63FILES_libpurple = "${libdir}/libpurple*.so.* ${libdir}/purple-2 ${bindir}/purple-* ${sysconfdir}/gconf/schemas/purple* ${datadir}/purple/ca-certs"
@@ -72,8 +68,6 @@ FILES_libpurple-dev = "${libdir}/libpurple*.la \
72 ${libdir}/purple-2/liboscar.so \ 68 ${libdir}/purple-2/liboscar.so \
73 ${libdir}/purple-2/libymsg.so \ 69 ${libdir}/purple-2/libymsg.so \
74 ${datadir}/aclocal" 70 ${datadir}/aclocal"
75FILES_libgnt = "${libdir}/libgnt.so.* ${libdir}/gnt/*.so"
76FILES_libgnt-dev = "${libdir}/gnt/*.la"
77FILES_finch = "${bindir}/finch" 71FILES_finch = "${bindir}/finch"
78FILES_finch-dev = "${libdir}/finch/*.la" 72FILES_finch-dev = "${libdir}/finch/*.la"
79 73