From bc8c938148a55910dd1bd454fc3c5e8ab7477baa Mon Sep 17 00:00:00 2001 From: Eli Schwartz Date: Tue, 30 Nov 2021 16:19:25 -0500 Subject: [PATCH] gnome module: deprecate passing false to install_dir_gir Use a proper install option for this. Now `install_` can directly override `install` instead of passing a boolean to the string kwarg `install_dir_`. --- mesonbuild/modules/gnome.py | 12 ++++++++++-- test cases/frameworks/12 multiple gir/meson.build | 2 +- .../frameworks/12 multiple gir/mesongir/meson.build | 3 ++- test cases/frameworks/12 multiple gir/test.json | 11 ++++++++--- 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py index 038d17956..62e3277e2 100644 --- a/mesonbuild/modules/gnome.py +++ b/mesonbuild/modules/gnome.py @@ -801,7 +801,9 @@ class GnomeModule(ExtensionModule): def _make_gir_target(self, state: 'ModuleState', girfile: str, scan_command: T.List[str], generated_files: T.Sequence[T.Union[str, mesonlib.File, build.CustomTarget, build.CustomTargetIndex, build.GeneratedList]], depends: T.List[build.Target], kwargs: T.Dict[str, T.Any]) -> GirTarget: - install = kwargs['install'] + install = kwargs['install_gir'] + if install is None: + install = kwargs['install'] install_dir = kwargs['install_dir_gir'] if install_dir is None: @@ -825,7 +827,9 @@ class GnomeModule(ExtensionModule): def _make_typelib_target(self, state: 'ModuleState', typelib_output: str, typelib_cmd: T.List[str], generated_files: T.Sequence[T.Union[str, mesonlib.File, build.CustomTarget, build.CustomTargetIndex, build.GeneratedList]], kwargs: T.Dict[str, T.Any]) -> TypelibTarget: - install = kwargs['install'] + install = kwargs['install_typelib'] + if install is None: + install = kwargs['install'] install_dir = kwargs['install_dir_typelib'] if install_dir is None: @@ -916,9 +920,13 @@ class GnomeModule(ExtensionModule): KwargInfo('identifier_prefix', ContainerTypeInfo(list, str), default=[], listify=True), KwargInfo('include_directories', ContainerTypeInfo(list, (str, build.IncludeDirs)), default=[], listify=True), KwargInfo('includes', ContainerTypeInfo(list, (str, GirTarget)), default=[], listify=True), + KwargInfo('install_gir', (bool, NoneType), since='0.61.0'), KwargInfo('install_dir_gir', (str, bool, NoneType), + deprecated_values={False: ('0.61.0', 'Use install_gir to disable installation')}, validator=lambda x: 'as boolean can only be false' if x is True else None), + KwargInfo('install_typelib', (bool, NoneType), since='0.61.0'), KwargInfo('install_dir_typelib', (str, bool, NoneType), + deprecated_values={False: ('0.61.0', 'Use install_typelib to disable installation')}, validator=lambda x: 'as boolean can only be false' if x is True else None), KwargInfo('link_with', ContainerTypeInfo(list, (build.SharedLibrary, build.StaticLibrary)), default=[], listify=True), KwargInfo('namespace', str, required=True), diff --git a/test cases/frameworks/12 multiple gir/meson.build b/test cases/frameworks/12 multiple gir/meson.build index ddc9830d5..639193765 100644 --- a/test cases/frameworks/12 multiple gir/meson.build +++ b/test cases/frameworks/12 multiple gir/meson.build @@ -1,4 +1,4 @@ -project('multiple-gobject-introspection', 'c') +project('multiple-gobject-introspection', 'c', meson_version: '>=0.50.0') gir = find_program('g-ir-scanner', required: false) if not gir.found() diff --git a/test cases/frameworks/12 multiple gir/mesongir/meson.build b/test cases/frameworks/12 multiple gir/mesongir/meson.build index 3ca4333d2..1ae3f034d 100644 --- a/test cases/frameworks/12 multiple gir/mesongir/meson.build +++ b/test cases/frameworks/12 multiple gir/mesongir/meson.build @@ -24,7 +24,8 @@ girtarget = gnome.generate_gir( identifier_prefix : 'Meson', includes : ['GObject-2.0'], export_packages : 'meson', - install : true + install : true, + install_gir: false, ) meson_gir = girtarget[0] meson_typelib = girtarget[1] diff --git a/test cases/frameworks/12 multiple gir/test.json b/test cases/frameworks/12 multiple gir/test.json index 977440286..e59c3e6cd 100644 --- a/test cases/frameworks/12 multiple gir/test.json +++ b/test cases/frameworks/12 multiple gir/test.json @@ -5,8 +5,13 @@ {"type": "expr", "file": "usr/lib/?libgirlib.so"}, {"type": "file", "platform": "cygwin", "file": "usr/lib/libgirlib.dll.a"}, {"type": "expr", "file": "usr/lib/?libgirsubproject.so"}, - {"type": "file", "platform": "cygwin", "file": "usr/lib/libgirsubproject.dll.a"}, - {"type": "file", "file": "usr/share/gir-1.0/Meson-1.0.gir"} + {"type": "file", "platform": "cygwin", "file": "usr/lib/libgirsubproject.dll.a"} ], - "skip_on_jobname": ["azure", "macos", "msys2"] + "skip_on_jobname": ["azure", "macos", "msys2"], + "stdout": [ + { + "comment": "This will either match in the future-deprecated notice summary, or match the warning summary", + "line": " * 0.61.0: {'\"gnome.generate_gir\" keyword argument \"install_dir_gir\" value \"False\"'}" + } + ] }