diff options
Diffstat (limited to 'meta-oe/recipes-support/pidgin/libgnt/0001-meson-import-changes-from-3.0.-version.patch')
-rw-r--r-- | meta-oe/recipes-support/pidgin/libgnt/0001-meson-import-changes-from-3.0.-version.patch | 215 |
1 files changed, 215 insertions, 0 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 @@ +From 51d66c1c257f7487497f562033ac32ac75f648cb Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Mon, 8 Feb 2021 12:27:51 +0100 +Subject: [PATCH] meson: import changes from 3.0.* version + +* we need to use the meson option to disable introspection and docs + +Upstream-Status: Backport +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + meson.build | 139 ++++++++++++++++++++++++++++------------------ + meson_options.txt | 5 ++ + 2 files changed, 90 insertions(+), 54 deletions(-) + create mode 100644 meson_options.txt + +diff --git a/meson.build b/meson.build +index 1084c82..ed040b4 100644 +--- a/meson.build ++++ b/meson.build +@@ -53,9 +53,9 @@ compiler = meson.get_compiler('c') + pkgconfig = import('pkgconfig') + + # ####################################################################### +-# # Check for GLib 2.16 ++# # Check for GLib 2.44 + # ####################################################################### +-glib = dependency('glib-2.0', version : '>= 2.16.0') ++glib = dependency('glib-2.0', version : '>= 2.44.0') + gobject = dependency('gobject-2.0') + gmodule = dependency('gmodule-2.0') + gnome = import('gnome') +@@ -63,74 +63,88 @@ gnome = import('gnome') + ####################################################################### + # Check for LibXML2 + ####################################################################### +-libxml = dependency('libxml-2.0', version : '>= 2.6.0', required : false) +-gnt_config.set('NO_LIBXML', not libxml.found()) ++libxml = dependency('libxml-2.0', version : '>= 2.6.0') + + ####################################################################### + # Check for ncurses and other things used by it + ####################################################################### + ncurses_available = true +-ncurses_inc = [] +-# The order of this list is important to the condition that follows. +-ncurses_libs = [ +- compiler.find_library('ncursesw', required : false), +- compiler.find_library('panelw', required : false), +- compiler.find_library('tinfow', required : false), +-] +-if not ncurses_libs[0].found() or not ncurses_libs[1].found() +- ncurses_available = false +-endif ++ncurses_widechar = true ++ncurses_header = 'ncurses.h' ++# Some distros put the headers in ncursesw/, some don't. These are ordered to ++# pick the last available as most-specific version. ++ncursesw_header_paths = ['', 'ncursesw/'] + +-if host_machine.system() == 'windows' +- # FIXME: $host ? +- ncurses_sys_prefix = '/usr/$host/sys-root/mingw' ++ncurses = [ ++ dependency('ncursesw', required : false), ++ dependency('panelw', required : false), ++] ++if ncurses[0].found() and ncurses[1].found() ++ foreach location : ncursesw_header_paths ++ f = location + 'ncurses.h' ++ if compiler.has_header_symbol(f, 'get_wch', ++ prefix : '#define _XOPEN_SOURCE_EXTENDED') ++ ncurses_header = f ++ endif ++ endforeach + else +- ncurses_sys_prefix = '/usr' +-endif +- +-ncurses_sys_dirs = [ncurses_sys_prefix + '/include/ncursesw', +- ncurses_sys_prefix + '/include'] +- +-if ncurses_available +- # Some distros put the headers in ncursesw/, some don't +- found_ncurses_h = false +- foreach location : ncurses_sys_dirs +- f = location + '/ncurses.h' +- if not found_ncurses_h ++ ncurses_available = false ++ ncurses_inc = [] ++ ncurses_libs = [ ++ compiler.find_library('ncursesw', required : false), ++ compiler.find_library('panelw', required : false) ++ ] ++ if ncurses_libs[0].found() and ncurses_libs[1].found() ++ foreach location : ncursesw_header_paths ++ f = location + 'ncurses.h' + if compiler.has_header_symbol(f, 'get_wch', + prefix : '#define _XOPEN_SOURCE_EXTENDED') +- if location != '.' +- ncurses_inc += [include_directories(location)] +- endif +- found_ncurses_h = true ++ ncurses_available = true ++ ncurses_header = f + endif +- endif +- endforeach ++ endforeach + +- if not found_ncurses_h +- ncurses_inc = [] +- ncurses_libs = [] +- ncurses_available = false ++ if ncurses_available ++ ncurses = declare_dependency( ++ include_directories : ncurses_inc, ++ dependencies : ncurses_libs ++ ) ++ endif + endif +-else ++endif ++ ++if not ncurses_available + # ncursesw was not found. Look for plain old ncurses +- # The order of this list is important to the condition that follows. +- ncurses_libs = [ +- compiler.find_library('ncurses', required : false), +- compiler.find_library('panel', required : false), +- compiler.find_library('tinfo', required : false), ++ ncurses = [ ++ dependency('ncurses', required : false), ++ dependency('panel', required : false), + ] +- ncurses_available = ncurses_libs[0].found() and ncurses_libs[1].found() +- gnt_config.set('NO_WIDECHAR', true) ++ if ncurses[0].found() and ncurses_libs[1].found() ++ ncurses_available = true ++ else ++ ncurses_libs = [ ++ compiler.find_library('ncurses', required : false), ++ compiler.find_library('panel', required : false), ++ ] ++ ncurses_available = ncurses_libs[0].found() and ncurses_libs[1].found() ++ ncurses = declare_dependency(dependencies : ncurses_libs) ++ endif ++ ncurses_widechar = false + endif ++ ++if not ncurses_available and host_machine.system() == 'windows' ++ # Try pdcurses too. ++ ncurses_header = 'curses.h' ++ ncurses_libs = compiler.find_library('pdcurses', required : false) ++ ncurses_available = compiler.has_header(ncurses_header) and ncurses_libs.found() ++ ncurses = declare_dependency(dependencies : ncurses_libs) ++endif ++ + if not ncurses_available + error('ncurses could not be found!') + endif +- +-ncurses = declare_dependency( +- include_directories : ncurses_inc, +- dependencies : ncurses_libs +-) ++gnt_config.set('NCURSES_HEADER', ncurses_header) ++gnt_config.set10('NCURSES_WIDECHAR', ncurses_widechar) + + libgnt_SOURCES = [ + 'gntwidget.c', +@@ -191,7 +205,10 @@ libgnt_headers = [ + ] + + # Check for Python headers +-python_dep = dependency('python2', required : false) ++python_dep = dependency('python3-embed', required: false) ++if not python_dep.found() ++ python_dep = dependency('python3', required : false) ++endif + gnt_config.set('USE_PYTHON', python_dep.found()) + + configure_file(output : 'gntconfig.h', +@@ -233,6 +250,20 @@ pkgconfig.generate( + variables : ['plugindir = ${libdir}/gnt'], + ) + ++if get_option('introspection') ++ libgnt_gir = gnome.generate_gir(libgnt, ++ sources : libgnt_headers + [gnt_h], ++ includes : 'GObject-2.0', ++ namespace : 'Gnt', ++ symbol_prefix : 'gnt', ++ identifier_prefix : 'Gnt', ++ nsversion : '@0@.@1@'.format(gnt_major_version, gnt_minor_version), ++ install : true, ++ extra_args : ['-DGNT_COMPILATION', '--quiet']) ++endif ++ + subdir('wms') + subdir('test') +-subdir('doc') ++if get_option('doc') ++ subdir('doc') ++endif +diff --git a/meson_options.txt b/meson_options.txt +new file mode 100644 +index 0000000..f2414e2 +--- /dev/null ++++ b/meson_options.txt +@@ -0,0 +1,5 @@ ++option('doc', type : 'boolean', value : true, yield : true, ++ description : 'build documentation with gtk-doc') ++ ++option('introspection', type : 'boolean', value : true, yield : true, ++ description : 'build introspection data') |