Skip to content

Commit 9d1ae97

Browse files
sp1ritCSjpakkane
authored andcommitted
gnome: Reintroduce "don't rely on gobject-introspection-1.0 anymore"
This reverts commit a3437c4, which itself reverted ab57be7.
1 parent 6447832 commit 9d1ae97

File tree

1 file changed

+10
-12
lines changed

1 file changed

+10
-12
lines changed

mesonbuild/modules/gnome.py

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,6 @@ class GnomeModule(ExtensionModule):
254254

255255
def __init__(self, interpreter: 'Interpreter') -> None:
256256
super().__init__(interpreter)
257-
self.gir_dep: T.Optional[Dependency] = None
258257
self.giscanner: T.Optional[ToolType] = None
259258
self.gicompiler: T.Optional[ToolType] = None
260259
self.install_glib_compile_schemas = False
@@ -788,20 +787,18 @@ def postconf_hook(self, b: build.Build) -> None:
788787
if self.devenv is not None:
789788
b.devenv.append(self.devenv)
790789

791-
def _get_gir_dep(self, state: 'ModuleState') -> T.Tuple[Dependency, T.Union[Executable, 'ExternalProgram', 'OverrideProgram'],
792-
T.Union[Executable, 'ExternalProgram', 'OverrideProgram']]:
793-
if not self.gir_dep:
794-
self.gir_dep = state.dependency('gobject-introspection-1.0')
795-
self.giscanner = self._find_tool(state, 'g-ir-scanner')
796-
self.gicompiler = self._find_tool(state, 'g-ir-compiler')
797-
return self.gir_dep, self.giscanner, self.gicompiler
790+
def _get_gi(self, state: 'ModuleState') -> T.Tuple[ToolType, ToolType]:
791+
if not self.giscanner:
792+
self.giscanner = self._find_tool(state, 'g-ir-scanner', for_machine=MachineChoice.BUILD)
793+
self.gicompiler = self._find_tool(state, 'g-ir-compiler', for_machine=MachineChoice.HOST)
794+
return self.giscanner, self.gicompiler
798795

799796
def _giscanner_version_compare(self, state: 'ModuleState', cmp: str) -> bool:
800797
# Support for --version was introduced in g-i 1.58, but Ubuntu
801798
# Bionic shipped 1.56.1. As all our version checks are greater
802799
# than 1.58, we can just return False if get_version fails.
803800
try:
804-
giscanner, _, _ = self._get_gir_dep(state)
801+
giscanner, _ = self._get_gi(state)
805802
return mesonlib.version_compare(giscanner.get_version(), cmp)
806803
except MesonException:
807804
return False
@@ -997,6 +994,8 @@ def _make_gir_target(
997994
run_env.set('CFLAGS', [quote_arg(x) for x in env_flags], ' ')
998995
run_env.merge(kwargs['env'])
999996

997+
giscanner, _ = self._get_gi(state)
998+
1000999
# response file supported?
10011000
rspable = self._giscanner_version_compare(state, '>= 1.85.0')
10021001

@@ -1150,7 +1149,7 @@ def generate_gir(self, state: 'ModuleState', args: T.Tuple[T.List[T.Union[Execut
11501149
if len(girtargets) > 1 and any(isinstance(el, Executable) for el in girtargets):
11511150
raise MesonException('generate_gir only accepts a single argument when one of the arguments is an executable')
11521151

1153-
gir_dep, giscanner, gicompiler = self._get_gir_dep(state)
1152+
giscanner, gicompiler = self._get_gi(state)
11541153

11551154
ns = kwargs['namespace']
11561155
nsversion = kwargs['nsversion']
@@ -1161,14 +1160,13 @@ def generate_gir(self, state: 'ModuleState', args: T.Tuple[T.List[T.Union[Execut
11611160
builddir = os.path.join(state.environment.get_build_dir(), state.subdir)
11621161

11631162
depends: T.List[T.Union['FileOrString', 'build.GeneratedTypes', build.BuildTarget, build.StructuredSources]] = []
1164-
depends.extend(gir_dep.sources)
11651163
depends.extend(girtargets)
11661164

11671165
langs_compilers = self._get_girtargets_langs_compilers(girtargets)
11681166
cflags, internal_ldflags, external_ldflags = self._get_langs_compilers_flags(state, langs_compilers)
11691167
deps = self._get_gir_targets_deps(girtargets)
11701168
deps += kwargs['dependencies']
1171-
deps += [gir_dep]
1169+
deps += [state.dependency('glib-2.0'), state.dependency('gobject-2.0'), state.dependency('gmodule-2.0'), state.dependency('gio-2.0')]
11721170
typelib_includes, depends = self._gather_typelib_includes_and_update_depends(state, deps, depends)
11731171
# ldflags will be misinterpreted by gir scanner (showing
11741172
# spurious dependencies) but building GStreamer fails if they

0 commit comments

Comments
 (0)