summaryrefslogtreecommitdiff
path: root/dev-build
diff options
context:
space:
mode:
Diffstat (limited to 'dev-build')
-rw-r--r--dev-build/Manifest.gzbin7715 -> 7716 bytes
-rw-r--r--dev-build/bazel-buildtools/Manifest2
-rw-r--r--dev-build/bazel-buildtools/bazel-buildtools-8.0.3.ebuild2
-rw-r--r--dev-build/meson/Manifest1
-rw-r--r--dev-build/meson/files/meson-1.6.0-generate_git-both-libraries.patch345
5 files changed, 2 insertions, 348 deletions
diff --git a/dev-build/Manifest.gz b/dev-build/Manifest.gz
index 89baaaca976f..40a2edef47db 100644
--- a/dev-build/Manifest.gz
+++ b/dev-build/Manifest.gz
Binary files differ
diff --git a/dev-build/bazel-buildtools/Manifest b/dev-build/bazel-buildtools/Manifest
index 302de5a285c4..4709ecdf13a3 100644
--- a/dev-build/bazel-buildtools/Manifest
+++ b/dev-build/bazel-buildtools/Manifest
@@ -2,5 +2,5 @@ DIST bazel-buildtools-8.0.0-deps.tar.xz 3587652 BLAKE2B d33d6136591c1e1835cb2de4
DIST bazel-buildtools-8.0.1.tar.gz 335114 BLAKE2B 264caaa59066e1a55bbcc053c64d65f68e6ecf72f483b1318bf7b9b56cda598cc09b58c6bdbac2f7aaf4e778e553b7c3b6b5d21127a3abe1267e4d00b070ccd8 SHA512 0d3f76d26d8c9b9b9d13cc777fc33c407f6802f1f3a88b306127edc40005e86acc8adb33160810ce187a2eb22d1890db1c3e51986059f3649386d412d75dcb79
DIST bazel-buildtools-8.0.3.gh.tar.gz 337647 BLAKE2B 67826fc7ed1b21ff2148acdb96c64b000291af0ce69b5c2750920299b47ccd1b978628828895e875663d2ed6f7392a71f11c71b39f1b274c8022f534e642bef6 SHA512 1d28c409090b2be4de3f02735cf00673fb59e64cfb492e30af79a52a048ae43f3ace56df041bf4402e967e2bef8e71fde897ac8e1dbeeaed30f63a359924647c
EBUILD bazel-buildtools-8.0.1.ebuild 1445 BLAKE2B ef2cc8f2ed7543470f1c22c56fd7beeb69f97615fb08aded3db83aae614c9c03fe231c21b01336549ef53b6fd1e1ac1389bd3278a72b12579e72dcfd77a0d2c4 SHA512 be22b7e3c501a5eb075a4fd2bb33eb082d800232e47854a67607acc299bee77bc58f259b6cfd67b4d8d07ef574b8e8cb964cdaccbd99075c2bac76c5df77cf1d
-EBUILD bazel-buildtools-8.0.3.ebuild 1450 BLAKE2B d43e601b7a5ead401d114c933d3fc5ebeffce171e44cfe0a97b755bb94bbfe1864171f6135374f40763fb590b2103acc87df90ebead2d9485e810fbd331bddfd SHA512 21fbd216f40aa040eb4c1215d34c81229c7bd7f383256a6f979151fd7b98555e29140aaa07021b8f927b79a3b4448e13df5961fc9764cd5e92180c734441bb8e
+EBUILD bazel-buildtools-8.0.3.ebuild 1448 BLAKE2B 1799a9ff4285c478ab2909a391b5808630337260c216d3a8b0137d33a4e973c446a34dc972b32352ba50811ca2cbffabf53ebc7686dcd73ad52ed53597feb74b SHA512 74a81701d68bb17ac40e7e3eedb227b153b513a372aa083d4d3c9faa0a597c866e8df400cc3c276900f65dfa0782779eb690d01f26886bc847885b76133aed18
MISC metadata.xml 719 BLAKE2B 12b4496d75f6d7d139e28aad645477c8a4e4f72395b98859b7114d93cd3f3493b03faa79acdb34246faf11dc834cdb0ae1723a790449308a9e581b0c1eba18a9 SHA512 0be70ebe1ebd098018e7bb4d88e11b865267e3753b8bf392186a212d4d9e3ba10f4f05f0d262948d4d3a1672419fefee81b55246d86a6743308ae781c034070a
diff --git a/dev-build/bazel-buildtools/bazel-buildtools-8.0.3.ebuild b/dev-build/bazel-buildtools/bazel-buildtools-8.0.3.ebuild
index a29c2a535ded..8ec7ba9296ca 100644
--- a/dev-build/bazel-buildtools/bazel-buildtools-8.0.3.ebuild
+++ b/dev-build/bazel-buildtools/bazel-buildtools-8.0.3.ebuild
@@ -19,7 +19,7 @@ else
-> ${P}.gh.tar.gz"
S="${WORKDIR}/${REAL_PN}-${PV}"
- KEYWORDS="~amd64 ~arm64 ~x86"
+ KEYWORDS="amd64 arm64 ~x86"
fi
SRC_URI+="
diff --git a/dev-build/meson/Manifest b/dev-build/meson/Manifest
index 1eb493739620..744ce01f9d2c 100644
--- a/dev-build/meson/Manifest
+++ b/dev-build/meson/Manifest
@@ -1,7 +1,6 @@
AUX 0001-ninja-backend-don-t-hide-all-compiler-warnings-for-t.patch 12301 BLAKE2B 44875bf6aa6e18de99e9c7202cd931f95a43dc29dac69a83cfa1cefbdf5442bc292920bd46b2479e39f150a534afe9f8db72022eb029c344b4c3e5f59a7274a6 SHA512 f106bf93bdedb82d079061715178bb0cbdf333113555ca0f61da0d0112ca6eff08135585d7e442d16a85b65232ff501a33e5ad208d230ea6d9fa10b30271f247
AUX meson-0.63-xtools-support.patch 1136 BLAKE2B 7600b29f1c4accbf33ca587b848566d4f9d30e26695b125aa895ec8a48ee0f7355c7692845c0d9bbb59eb452fc0cd8b634bd2a90d8918efa0b65ef4759b56d8e SHA512 725b193afe229690b6ef0d7a2a832695b7c09ca3376512097baec597a84df6e8e18791e9f29221e8a4a3537ad2371672e74041aa05ec6a218ed9b6218ea2ab61
AUX meson-1.2.1-python-path.patch 1233 BLAKE2B 0e40fae6cbb9a66929d7f8d5d4e73f6e0105730722ec8db0236fc5376ad58fb4ef961531bf459d69eb4521efa3d26d74332a97fa0012b6107a49b20a86667c33 SHA512 0f072ff2eb310c9884db2fa255a6b7634d69e28f3a1e9ec3782fe63aeec1b544ff0208c5c087bb29ce08dc28a998482a5d3854bcaac372e958b483830d3c8c08
-AUX meson-1.6.0-generate_git-both-libraries.patch 15642 BLAKE2B e8fcb1edd52d58d532096a8354b3c8e41df9bc5f82949825c73d539653fc51eed2758638f9c02c44207e77581938a268f45f6d30304c7fe2bbeb0d1040216b53 SHA512 a009b36fc8dba8fd5eaa504a69b88d19171b19e0dd5f28d62cecd475afabb9669c1b6db46a6670cbfe6eaf5598dd620c8470b7fe411603ae69ec77f2529e91e8
DIST meson-1.1.1.tar.gz 2125503 BLAKE2B 295b46d19c8a1d64d326a6c826e2abe11d9768902ed2f8816df18677e7f3f58decc0c660925821825ecd9a4955a65bda8b2aa66a7bb1961810d8f78f92a3fd8a SHA512 c6259d73566d2532b87e8a23951363103f7be2aacdf120e50946273a2fed6b1602104a3ffbfda159138ac8f780d2c3e67a6fe2c8c228b73c1266775491797adb
DIST meson-1.1.1.tar.gz.asc 833 BLAKE2B 165f3a0e8093995e82efcdea78b8cf0d2479505aeec145cf0c4bf3448dd74f0b5d1631e574e7d945d5b5976e11c065043ab0a6efe5646484a5bcd6386050a073 SHA512 004ec7e530ad21b012e461c8d50322295e4ec96a1a3197dbcbeb24b8bd6465a34008541e6fc547e451a50dce53f7ce170ec1bfd8c465ded56a5924e880aa0539
DIST meson-1.2.3.tar.gz 2184484 BLAKE2B 7d76c54bddba249ab97ebd5dd0afc448177ff9fa70812a8ca0cc9fe308c9b145b3fbc3ee068acae0fdc73edff42134b7a0b618cd80a05347a424aca7bc8bbef8 SHA512 cdcadc731effc1ffb2de98b795ba37955f934ed9b54b9f7f3ac5fe96ab33268d4de4fce734a4c2ef7d2ecc5051616df127e1f8665e197ff954310bf1483b81fc
diff --git a/dev-build/meson/files/meson-1.6.0-generate_git-both-libraries.patch b/dev-build/meson/files/meson-1.6.0-generate_git-both-libraries.patch
deleted file mode 100644
index ed4d4ef7303f..000000000000
--- a/dev-build/meson/files/meson-1.6.0-generate_git-both-libraries.patch
+++ /dev/null
@@ -1,345 +0,0 @@
-https://bugs.gentoo.org/945770
-https://bugs.gentoo.org/945769
-https://github.com/mesonbuild/meson/issues/13850
-https://github.com/mesonbuild/meson/commit/d8ea5c4d8875bf198f088c603868edf66a3c7c65
-
-From d8ea5c4d8875bf198f088c603868edf66a3c7c65 Mon Sep 17 00:00:00 2001
-From: Charles Brunet <charles.brunet@optelgroup.com>
-Date: Tue, 29 Oct 2024 16:51:36 -0400
-Subject: [PATCH] fix generate_gir with BothLibraries dependency
-
-Co-authored-by: Xavier Claessens <xclaesse@gmail.com>
----
- mesonbuild/build.py | 52 ++++++++++++-------
- mesonbuild/interpreter/interpreter.py | 22 ++++----
- mesonbuild/interpreter/interpreterobjects.py | 10 ++--
- .../frameworks/38 gir both_libraries/bar.c | 7 +++
- .../frameworks/38 gir both_libraries/bar.h | 1 +
- .../frameworks/38 gir both_libraries/foo.c | 6 +++
- .../frameworks/38 gir both_libraries/foo.h | 1 +
- .../38 gir both_libraries/meson.build | 42 +++++++++++++++
- .../38 gir both_libraries/test.json | 3 ++
- 9 files changed, 111 insertions(+), 33 deletions(-)
- create mode 100644 test cases/frameworks/38 gir both_libraries/bar.c
- create mode 100644 test cases/frameworks/38 gir both_libraries/bar.h
- create mode 100644 test cases/frameworks/38 gir both_libraries/foo.c
- create mode 100644 test cases/frameworks/38 gir both_libraries/foo.h
- create mode 100644 test cases/frameworks/38 gir both_libraries/meson.build
- create mode 100644 test cases/frameworks/38 gir both_libraries/test.json
-
-diff --git a/mesonbuild/build.py b/mesonbuild/build.py
-index a00209ad45a8..35f1f24a42f8 100644
---- a/mesonbuild/build.py
-+++ b/mesonbuild/build.py
-@@ -774,6 +774,7 @@ def __init__(
- }
- self.pic = False
- self.pie = False
-+ self.both_lib: T.Optional[T.Union[StaticLibrary, SharedLibrary]] = None
- # Track build_rpath entries so we can remove them at install time
- self.rpath_dirs_to_remove: T.Set[bytes] = set()
- self.process_sourcelist(sources)
-@@ -1740,16 +1741,20 @@ def process_vs_module_defs_kw(self, kwargs: T.Dict[str, T.Any]) -> None:
- def extract_targets_as_list(self, kwargs: T.Dict[str, T.Union[LibTypes, T.Sequence[LibTypes]]], key: T.Literal['link_with', 'link_whole']) -> T.List[LibTypes]:
- bl_type = self.environment.coredata.get_option(OptionKey('default_both_libraries'))
- if bl_type == 'auto':
-- bl_type = 'static' if isinstance(self, StaticLibrary) else 'shared'
--
-- def _resolve_both_libs(lib: LibTypes) -> LibTypes:
-- if isinstance(lib, BothLibraries):
-- return lib.get(bl_type)
-- return lib
-+ if isinstance(self, StaticLibrary):
-+ bl_type = 'static'
-+ elif isinstance(self, SharedLibrary):
-+ bl_type = 'shared'
-
- self_libs: T.List[LibTypes] = self.link_targets if key == 'link_with' else self.link_whole_targets
-- lib_list = listify(kwargs.get(key, [])) + self_libs
-- return [_resolve_both_libs(t) for t in lib_list]
-+
-+ lib_list = []
-+ for lib in listify(kwargs.get(key, [])) + self_libs:
-+ if isinstance(lib, (Target, BothLibraries)):
-+ lib_list.append(lib.get(bl_type))
-+ else:
-+ lib_list.append(lib)
-+ return lib_list
-
- def get(self, lib_type: T.Literal['static', 'shared', 'auto']) -> LibTypes:
- """Base case used by BothLibraries"""
-@@ -2204,6 +2209,14 @@ def is_linkable_target(self):
- def is_internal(self) -> bool:
- return not self.install
-
-+ def set_shared(self, shared_library: SharedLibrary) -> None:
-+ self.both_lib = shared_library
-+
-+ def get(self, lib_type: T.Literal['static', 'shared', 'auto']) -> LibTypes:
-+ if lib_type == 'shared':
-+ return self.both_lib or self
-+ return self
-+
- class SharedLibrary(BuildTarget):
- known_kwargs = known_shlib_kwargs
-
-@@ -2470,6 +2483,14 @@ def type_suffix(self):
- def is_linkable_target(self):
- return True
-
-+ def set_static(self, static_library: StaticLibrary) -> None:
-+ self.both_lib = static_library
-+
-+ def get(self, lib_type: T.Literal['static', 'shared']) -> LibTypes:
-+ if lib_type == 'static':
-+ return self.both_lib or self
-+ return self
-+
- # A shared library that is meant to be used with dlopen rather than linking
- # into something else.
- class SharedModule(SharedLibrary):
-@@ -2506,7 +2527,7 @@ def get_default_install_dir(self) -> T.Union[T.Tuple[str, str], T.Tuple[None, No
- return self.environment.get_shared_module_dir(), '{moduledir_shared}'
-
- class BothLibraries(SecondLevelHolder):
-- def __init__(self, shared: SharedLibrary, static: StaticLibrary, preferred_library: Literal['shared', 'static', 'auto']) -> None:
-+ def __init__(self, shared: SharedLibrary, static: StaticLibrary, preferred_library: Literal['shared', 'static']) -> None:
- self._preferred_library = preferred_library
- self.shared = shared
- self.static = static
-@@ -2914,23 +2935,14 @@ class AliasTarget(RunTarget):
-
- typename = 'alias'
-
-- def __init__(self, name: str, dependencies: T.Sequence[T.Union[Target, BothLibraries]],
-+ def __init__(self, name: str, dependencies: T.Sequence[Target],
- subdir: str, subproject: str, environment: environment.Environment):
-- super().__init__(name, [], list(self._deps_generator(dependencies)), subdir, subproject, environment)
-+ super().__init__(name, [], dependencies, subdir, subproject, environment)
-
- def __repr__(self):
- repr_str = "<{0} {1}>"
- return repr_str.format(self.__class__.__name__, self.get_id())
-
-- @staticmethod
-- def _deps_generator(dependencies: T.Sequence[T.Union[Target, BothLibraries]]) -> T.Iterator[Target]:
-- for dep in dependencies:
-- if isinstance(dep, BothLibraries):
-- yield dep.shared
-- yield dep.static
-- else:
-- yield dep
--
- class Jar(BuildTarget):
- known_kwargs = known_jar_kwargs
-
-diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py
-index 58385c58c5f7..10ca3e6bb2e8 100644
---- a/mesonbuild/interpreter/interpreter.py
-+++ b/mesonbuild/interpreter/interpreter.py
-@@ -31,7 +31,7 @@
- from ..interpreterbase import Disabler, disablerIfNotFound
- from ..interpreterbase import FeatureNew, FeatureDeprecated, FeatureBroken, FeatureNewKwargs
- from ..interpreterbase import ObjectHolder, ContextManagerObject
--from ..interpreterbase import stringifyUserArguments, resolve_second_level_holders
-+from ..interpreterbase import stringifyUserArguments
- from ..modules import ExtensionModule, ModuleObject, MutableModuleObject, NewExtensionModule, NotFoundExtensionModule
- from ..optinterpreter import optname_regex
-
-@@ -681,7 +681,6 @@ def func_files(self, node: mparser.FunctionNode, args: T.Tuple[T.List[str]], kwa
- KwargInfo('version', (str, NoneType)),
- KwargInfo('objects', ContainerTypeInfo(list, build.ExtractedObjects), listify=True, default=[], since='1.1.0'),
- )
-- @noSecondLevelHolderResolving
- def func_declare_dependency(self, node: mparser.BaseNode, args: T.List[TYPE_var],
- kwargs: kwtypes.FuncDeclareDependency) -> dependencies.Dependency:
- deps = kwargs['dependencies']
-@@ -1906,15 +1905,12 @@ def func_jar(self, node: mparser.BaseNode,
- @permittedKwargs(known_build_target_kwargs)
- @typed_pos_args('build_target', str, varargs=SOURCES_VARARGS)
- @typed_kwargs('build_target', *BUILD_TARGET_KWS, allow_unknown=True)
-- @noSecondLevelHolderResolving
- def func_build_target(self, node: mparser.BaseNode,
- args: T.Tuple[str, SourcesVarargsType],
- kwargs: kwtypes.BuildTarget
- ) -> T.Union[build.Executable, build.StaticLibrary, build.SharedLibrary,
- build.SharedModule, build.BothLibraries, build.Jar]:
- target_type = kwargs['target_type']
-- if target_type not in {'both_libraries', 'library'}:
-- args, kwargs = resolve_second_level_holders(args, kwargs)
-
- if target_type == 'executable':
- return self.build_target(node, args, kwargs, build.Executable)
-@@ -2176,13 +2172,19 @@ def func_run_target(self, node: mparser.FunctionNode, args: T.Tuple[str],
- @FeatureNew('alias_target', '0.52.0')
- @typed_pos_args('alias_target', str, varargs=(build.Target, build.BothLibraries), min_varargs=1)
- @noKwargs
-- @noSecondLevelHolderResolving
- def func_alias_target(self, node: mparser.BaseNode, args: T.Tuple[str, T.List[T.Union[build.Target, build.BothLibraries]]],
- kwargs: TYPE_kwargs) -> build.AliasTarget:
- name, deps = args
- if any(isinstance(d, build.RunTarget) for d in deps):
- FeatureNew.single_use('alias_target that depends on run_targets', '0.60.0', self.subproject)
-- tg = build.AliasTarget(name, deps, self.subdir, self.subproject, self.environment)
-+ real_deps: T.List[build.Target] = []
-+ for d in deps:
-+ if isinstance(d, build.BothLibraries):
-+ real_deps.append(d.shared)
-+ real_deps.append(d.static)
-+ else:
-+ real_deps.append(d)
-+ tg = build.AliasTarget(name, real_deps, self.subdir, self.subproject, self.environment)
- self.add_target(name, tg)
- return tg
-
-@@ -3286,16 +3288,18 @@ def build_both_libraries(self, node: mparser.BaseNode, args: T.Tuple[str, Source
- # Keep only compilers used for linking
- static_lib.compilers = {k: v for k, v in static_lib.compilers.items() if k in compilers.clink_langs}
-
-+ # Cross reference them to implement as_shared() and as_static() methods.
-+ shared_lib.set_static(static_lib)
-+ static_lib.set_shared(shared_lib)
-+
- return build.BothLibraries(shared_lib, static_lib, preferred_library)
-
- def build_library(self, node: mparser.BaseNode, args: T.Tuple[str, SourcesVarargsType], kwargs: kwtypes.Library):
- default_library = self.coredata.get_option(OptionKey('default_library', subproject=self.subproject))
- assert isinstance(default_library, str), 'for mypy'
- if default_library == 'shared':
-- args, kwargs = resolve_second_level_holders(args, kwargs)
- return self.build_target(node, args, T.cast('kwtypes.StaticLibrary', kwargs), build.SharedLibrary)
- elif default_library == 'static':
-- args, kwargs = resolve_second_level_holders(args, kwargs)
- return self.build_target(node, args, T.cast('kwtypes.SharedLibrary', kwargs), build.StaticLibrary)
- elif default_library == 'both':
- return self.build_both_libraries(node, args, kwargs)
-diff --git a/mesonbuild/interpreter/interpreterobjects.py b/mesonbuild/interpreter/interpreterobjects.py
-index a919102607be..f4a2b4107ed3 100644
---- a/mesonbuild/interpreter/interpreterobjects.py
-+++ b/mesonbuild/interpreter/interpreterobjects.py
-@@ -1001,8 +1001,6 @@ class SharedLibraryHolder(BuildTargetHolder[build.SharedLibrary]):
-
- class BothLibrariesHolder(BuildTargetHolder[build.BothLibraries]):
- def __init__(self, libs: build.BothLibraries, interp: 'Interpreter'):
-- # FIXME: This build target always represents the shared library, but
-- # that should be configurable.
- super().__init__(libs, interp)
- self.methods.update({'get_shared_lib': self.get_shared_lib_method,
- 'get_static_lib': self.get_static_lib_method,
-@@ -1017,12 +1015,16 @@ def __repr__(self) -> str:
- @noPosargs
- @noKwargs
- def get_shared_lib_method(self, args: T.List[TYPE_var], kwargs: TYPE_kwargs) -> build.SharedLibrary:
-- return self.held_object.shared
-+ lib = copy.copy(self.held_object.shared)
-+ lib.both_lib = None
-+ return lib
-
- @noPosargs
- @noKwargs
- def get_static_lib_method(self, args: T.List[TYPE_var], kwargs: TYPE_kwargs) -> build.StaticLibrary:
-- return self.held_object.static
-+ lib = copy.copy(self.held_object.static)
-+ lib.both_lib = None
-+ return lib
-
- class SharedModuleHolder(BuildTargetHolder[build.SharedModule]):
- pass
-diff --git a/test cases/frameworks/38 gir both_libraries/bar.c b/test cases/frameworks/38 gir both_libraries/bar.c
-new file mode 100644
-index 000000000000..4cb41f798294
---- /dev/null
-+++ b/test cases/frameworks/38 gir both_libraries/bar.c
-@@ -0,0 +1,7 @@
-+#include "bar.h"
-+#include "foo.h"
-+
-+int bar_func(void)
-+{
-+ return foo_func() + 42;
-+}
-diff --git a/test cases/frameworks/38 gir both_libraries/bar.h b/test cases/frameworks/38 gir both_libraries/bar.h
-new file mode 100644
-index 000000000000..d22827b837f7
---- /dev/null
-+++ b/test cases/frameworks/38 gir both_libraries/bar.h
-@@ -0,0 +1 @@
-+int bar_func(void);
-diff --git a/test cases/frameworks/38 gir both_libraries/foo.c b/test cases/frameworks/38 gir both_libraries/foo.c
-new file mode 100644
-index 000000000000..b88aa91dabb4
---- /dev/null
-+++ b/test cases/frameworks/38 gir both_libraries/foo.c
-@@ -0,0 +1,6 @@
-+#include "foo.h"
-+
-+int foo_func(void)
-+{
-+ return 42;
-+}
-diff --git a/test cases/frameworks/38 gir both_libraries/foo.h b/test cases/frameworks/38 gir both_libraries/foo.h
-new file mode 100644
-index 000000000000..2a0867249307
---- /dev/null
-+++ b/test cases/frameworks/38 gir both_libraries/foo.h
-@@ -0,0 +1 @@
-+int foo_func(void);
-diff --git a/test cases/frameworks/38 gir both_libraries/meson.build b/test cases/frameworks/38 gir both_libraries/meson.build
-new file mode 100644
-index 000000000000..cb9cdd31f3ed
---- /dev/null
-+++ b/test cases/frameworks/38 gir both_libraries/meson.build
-@@ -0,0 +1,42 @@
-+project('gir both libraries', 'c')
-+
-+gir = dependency('gobject-introspection-1.0', required: false)
-+if not gir.found()
-+ error('MESON_SKIP_TEST gobject-introspection not found.')
-+endif
-+
-+if host_machine.system() == 'cygwin'
-+ # FIXME: g-ir-scanner seems broken on cygwin:
-+ # ERROR: can't resolve libraries to shared libraries: foo++
-+ error('MESON_SKIP_TEST g-ir-scanner is broken on cygwin.')
-+endif
-+
-+gnome = import('gnome')
-+
-+# Regression test simulating how GStreamer generate its GIRs.
-+# Generated gobject-introspection binaries for every GStreamer libraries must
-+# first call gst_init() defined in the main libgstreamer, which means they need
-+# to link on that lib.
-+# A regression caused by https://github.com/mesonbuild/meson/pull/12632 made
-+# Meson not link the binary generated for bar with libfoo in the case it uses
-+# both_libraries().
-+
-+libfoo = both_libraries('foo', 'foo.c')
-+foo_gir = gnome.generate_gir(libfoo,
-+ namespace: 'foo',
-+ nsversion: '1.0',
-+ sources: ['foo.c', 'foo.h'],
-+)
-+foo_dep = declare_dependency(
-+ link_with: libfoo,
-+ sources: foo_gir,
-+)
-+
-+libbar = both_libraries('bar', 'bar.c', dependencies: foo_dep)
-+gnome.generate_gir(libbar,
-+ namespace: 'bar',
-+ nsversion: '1.0',
-+ sources: ['bar.c', 'bar.h'],
-+ extra_args: '--add-init-section=extern void foo_func(void);foo_func();',
-+ dependencies: foo_dep,
-+)
-diff --git a/test cases/frameworks/38 gir both_libraries/test.json b/test cases/frameworks/38 gir both_libraries/test.json
-new file mode 100644
-index 000000000000..82ac42a293b3
---- /dev/null
-+++ b/test cases/frameworks/38 gir both_libraries/test.json
-@@ -0,0 +1,3 @@
-+{
-+ "expect_skip_on_jobname": ["azure", "macos", "msys2", "cygwin"]
-+}
-\ No newline at end of file
-