Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package meson for openSUSE:Factory checked 
in at 2024-01-05 21:40:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/meson (Old)
 and      /work/SRC/openSUSE:Factory/.meson.new.28375 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "meson"

Fri Jan  5 21:40:59 2024 rev:105 rq:1136898 version:1.3.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/meson/meson.changes      2023-12-14 
22:02:20.222328413 +0100
+++ /work/SRC/openSUSE:Factory/.meson.new.28375/meson.changes   2024-01-05 
21:41:20.466121640 +0100
@@ -1,0 +2,10 @@
+Thu Jan  4 16:37:38 UTC 2024 - Dominique Leuenberger <dims...@opensuse.org>
+
+- Update to version 1.3.1:
+  + Make the Requires.private line in generated .pkgconfig files
+    reproducible.
+  + Always use posix paths when retrieving link name.
+  + dependencies/llvm: strip default include dirs also for
+    config-tool version.
+
+-------------------------------------------------------------------

Old:
----
  meson-1.3.0.tar.gz
  meson-1.3.0.tar.gz.asc

New:
----
  meson-1.3.1.tar.gz
  meson-1.3.1.tar.gz.asc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ meson.spec ++++++
--- /var/tmp/diff_new_pack.j3gtdf/_old  2024-01-05 21:41:22.522196820 +0100
+++ /var/tmp/diff_new_pack.j3gtdf/_new  2024-01-05 21:41:22.542197551 +0100
@@ -1,7 +1,7 @@
 #
 # spec file
 #
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -35,7 +35,7 @@
 %bcond_with     setuptools
 %bcond_without  mono
 Name:           meson%{name_ext}
-Version:        1.3.0
+Version:        1.3.1
 Release:        0
 Summary:        Python-based build system
 License:        Apache-2.0

++++++ meson-1.3.0.tar.gz -> meson-1.3.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/meson-1.3.0/PKG-INFO new/meson-1.3.1/PKG-INFO
--- old/meson-1.3.0/PKG-INFO    2023-11-19 20:58:43.744429600 +0100
+++ new/meson-1.3.1/PKG-INFO    2023-12-26 18:30:55.094429700 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: meson
-Version: 1.3.0
+Version: 1.3.1
 Summary: A high performance build system
 Home-page: https://mesonbuild.com
 Author: Jussi Pakkanen
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/meson-1.3.0/man/meson.1 new/meson-1.3.1/man/meson.1
--- old/meson-1.3.0/man/meson.1 2023-11-05 23:48:04.000000000 +0100
+++ new/meson-1.3.1/man/meson.1 2023-12-26 17:05:14.000000000 +0100
@@ -1,4 +1,4 @@
-.TH MESON "1" "November 2023" "meson 1.3.0" "User Commands"
+.TH MESON "1" "December 2023" "meson 1.3.1" "User Commands"
 .SH NAME
 meson - a high productivity build system
 .SH DESCRIPTION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/meson-1.3.0/meson.egg-info/PKG-INFO 
new/meson-1.3.1/meson.egg-info/PKG-INFO
--- old/meson-1.3.0/meson.egg-info/PKG-INFO     2023-11-19 20:58:37.000000000 
+0100
+++ new/meson-1.3.1/meson.egg-info/PKG-INFO     2023-12-26 18:30:49.000000000 
+0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: meson
-Version: 1.3.0
+Version: 1.3.1
 Summary: A high performance build system
 Home-page: https://mesonbuild.com
 Author: Jussi Pakkanen
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/meson-1.3.0/meson.egg-info/SOURCES.txt 
new/meson-1.3.1/meson.egg-info/SOURCES.txt
--- old/meson-1.3.0/meson.egg-info/SOURCES.txt  2023-11-19 20:58:37.000000000 
+0100
+++ new/meson-1.3.1/meson.egg-info/SOURCES.txt  2023-12-26 18:30:49.000000000 
+0100
@@ -1685,6 +1685,7 @@
 test cases/common/52 object generator/source.c
 test cases/common/52 object generator/source2.c
 test cases/common/52 object generator/source3.c
+test cases/common/52 object generator/source4.c
 test cases/common/53 install script/customtarget.py
 test cases/common/53 install script/meson.build
 test cases/common/53 install script/myinstall.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/meson-1.3.0/mesonbuild/backend/backends.py 
new/meson-1.3.1/mesonbuild/backend/backends.py
--- old/meson-1.3.0/mesonbuild/backend/backends.py      2023-11-19 
18:43:28.000000000 +0100
+++ new/meson-1.3.1/mesonbuild/backend/backends.py      2023-12-26 
17:05:14.000000000 +0100
@@ -358,16 +358,16 @@
             # In AIX, if we archive .so, the blibpath must link to archived 
shared library otherwise to the .so file.
             if mesonlib.is_aix() and target.aix_so_archive:
                 link_lib = re.sub('[.][a]([.]?([0-9]+))*([.]?([a-z]+))*', 
'.a', link_lib.replace('.so', '.a'))
-            return os.path.join(self.get_target_dir(target), link_lib)
+            return Path(self.get_target_dir(target), link_lib).as_posix()
         elif isinstance(target, build.StaticLibrary):
-            return os.path.join(self.get_target_dir(target), 
target.get_filename())
+            return Path(self.get_target_dir(target), 
target.get_filename()).as_posix()
         elif isinstance(target, (build.CustomTarget, build.CustomTargetIndex)):
             if not target.is_linkable_target():
                 raise MesonException(f'Tried to link against custom target 
"{target.name}", which is not linkable.')
-            return os.path.join(self.get_target_dir(target), 
target.get_filename())
+            return Path(self.get_target_dir(target), 
target.get_filename()).as_posix()
         elif isinstance(target, build.Executable):
             if target.import_filename:
-                return os.path.join(self.get_target_dir(target), 
target.get_import_filename())
+                return Path(self.get_target_dir(target), 
target.get_import_filename()).as_posix()
             else:
                 return None
         raise AssertionError(f'BUG: Tried to link to {target!r} which is not 
linkable')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/meson-1.3.0/mesonbuild/backend/vs2010backend.py 
new/meson-1.3.1/mesonbuild/backend/vs2010backend.py
--- old/meson-1.3.0/mesonbuild/backend/vs2010backend.py 2023-10-26 
18:04:31.000000000 +0200
+++ new/meson-1.3.1/mesonbuild/backend/vs2010backend.py 2023-12-26 
17:05:14.000000000 +0100
@@ -893,18 +893,6 @@
         ET.SubElement(parent_node, "AdditionalIncludeDirectories").text = 
';'.join(dirs)
 
     @staticmethod
-    def has_objects(objects, additional_objects, generated_objects):
-        # Ignore generated objects, those are automatically used by MSBuild 
because they are part of
-        # the CustomBuild Outputs.
-        return len(objects) + len(additional_objects) > 0
-
-    @staticmethod
-    def add_generated_objects(node, generated_objects):
-        # Do not add generated objects to project file. Those are 
automatically used by MSBuild, because
-        # they are part of the CustomBuild Outputs.
-        return
-
-    @staticmethod
     def escape_preprocessor_define(define: str) -> str:
         # See: https://msdn.microsoft.com/en-us/library/bb383819.aspx
         table = str.maketrans({'%': '%25', '$': '%24', '@': '%40',
@@ -1777,17 +1765,20 @@
         for o in custom_objs:
             additional_objects.append(o)
 
+        # VS automatically links CustomBuild outputs whose name ends in .obj 
or .res,
+        # but the others need to be included explicitly
+        explicit_link_gen_objs = [obj for obj in gen_objs if not 
obj.endswith(('.obj', '.res'))]
+
         previous_objects = []
-        if self.has_objects(objects, additional_objects, gen_objs):
+        if len(objects) + len(additional_objects) + 
len(explicit_link_gen_objs) > 0:
             inc_objs = ET.SubElement(root, 'ItemGroup')
             for s in objects:
                 relpath = os.path.join(proj_to_build_root, 
s.rel_to_builddir(self.build_to_src))
                 if path_normalize_add(relpath, previous_objects):
                     ET.SubElement(inc_objs, 'Object', Include=relpath)
-            for s in additional_objects:
+            for s in additional_objects + explicit_link_gen_objs:
                 if path_normalize_add(s, previous_objects):
                     ET.SubElement(inc_objs, 'Object', Include=s)
-            self.add_generated_objects(inc_objs, gen_objs)
 
         ET.SubElement(root, 'Import', 
Project=r'$(VCTargetsPath)\Microsoft.Cpp.targets')
         self.add_regen_dependency(root)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/meson-1.3.0/mesonbuild/cmake/tracetargets.py 
new/meson-1.3.1/mesonbuild/cmake/tracetargets.py
--- old/meson-1.3.0/mesonbuild/cmake/tracetargets.py    2023-10-26 
18:04:24.000000000 +0200
+++ new/meson-1.3.1/mesonbuild/cmake/tracetargets.py    2023-12-26 
17:05:14.000000000 +0100
@@ -55,7 +55,11 @@
                 # CMake brute-forces a combination of prefix/suffix 
combinations to find the
                 # right library. Assume any bare argument passed which is not 
also a CMake
                 # target must be a system library we should try to link 
against.
-                res.libraries += clib_compiler.find_library(curr, env, [])
+                flib = clib_compiler.find_library(curr, env, [])
+                if flib is not None:
+                    res.libraries += flib
+                else:
+                    not_found_warning(curr)
             else:
                 not_found_warning(curr)
             continue
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/meson-1.3.0/mesonbuild/compilers/mixins/clike.py 
new/meson-1.3.1/mesonbuild/compilers/mixins/clike.py
--- old/meson-1.3.0/mesonbuild/compilers/mixins/clike.py        2023-10-26 
18:04:31.000000000 +0200
+++ new/meson-1.3.1/mesonbuild/compilers/mixins/clike.py        2023-12-26 
17:05:14.000000000 +0100
@@ -1,4 +1,4 @@
-# Copyright 2012-2022 The Meson development team
+# Copyright 2012-2023 The Meson development team
 
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -64,7 +64,7 @@
 
     # NOTE: not thorough. A list of potential corner cases can be found in
     # https://github.com/mesonbuild/meson/pull/4593#pullrequestreview-182016038
-    dedup1_prefixes = ('-l', '-Wl,-l', '-Wl,--export-dynamic')
+    dedup1_prefixes = ('-l', '-Wl,-l', '-Wl,--export-dynamic', '-Wl,-rpath')
     dedup1_suffixes = ('.lib', '.dll', '.so', '.dylib', '.a')
     dedup1_args = ('-c', '-S', '-E', '-pipe', '-pthread')
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/meson-1.3.0/mesonbuild/coredata.py 
new/meson-1.3.1/mesonbuild/coredata.py
--- old/meson-1.3.0/mesonbuild/coredata.py      2023-11-19 20:43:55.000000000 
+0100
+++ new/meson-1.3.1/mesonbuild/coredata.py      2023-12-26 17:05:14.000000000 
+0100
@@ -61,7 +61,7 @@
 #
 # Pip requires that RCs are named like this: '0.1.0.rc1'
 # But the corresponding Git tag needs to be '0.1.0rc1'
-version = '1.3.0'
+version = '1.3.1'
 
 # The next stable version when we are in dev. This is used to allow projects to
 # require meson version >=1.2.0 when using 1.1.99. FeatureNew won't warn when
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/meson-1.3.0/mesonbuild/dependencies/base.py 
new/meson-1.3.1/mesonbuild/dependencies/base.py
--- old/meson-1.3.0/mesonbuild/dependencies/base.py     2023-10-26 
18:04:24.000000000 +0200
+++ new/meson-1.3.1/mesonbuild/dependencies/base.py     2023-12-26 
17:05:14.000000000 +0100
@@ -39,15 +39,34 @@
     )
     from ..interpreter.type_checking import PkgConfigDefineType
 
+    _MissingCompilerBase = Compiler
+else:
+    _MissingCompilerBase = object
+
 
 class DependencyException(MesonException):
     '''Exceptions raised while trying to find dependencies'''
 
 
-class MissingCompiler:
+class MissingCompiler(_MissingCompilerBase):
     """Represent a None Compiler - when no tool chain is found.
     replacing AttributeError with DependencyException"""
 
+    # These are needed in type checking mode to avoid errors, but we don't want
+    # the extra overhead at runtime
+    if T.TYPE_CHECKING:
+        def __init__(self) -> None:
+            pass
+
+        def get_optimization_args(self, optimization_level: str) -> 
T.List[str]:
+            return []
+
+        def get_output_args(self, outputname: str) -> T.List[str]:
+            return []
+
+        def sanity_check(self, work_dir: str, environment: 'Environment') -> 
None:
+            return None
+
     def __getattr__(self, item: str) -> T.Any:
         if item.startswith('__'):
             raise AttributeError()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/meson-1.3.0/mesonbuild/dependencies/dev.py 
new/meson-1.3.1/mesonbuild/dependencies/dev.py
--- old/meson-1.3.0/mesonbuild/dependencies/dev.py      2023-09-29 
12:50:20.000000000 +0200
+++ new/meson-1.3.1/mesonbuild/dependencies/dev.py      2023-12-26 
17:05:14.000000000 +0100
@@ -232,6 +232,7 @@
 
         cargs = mesonlib.OrderedSet(self.get_config_value(['--cppflags'], 
'compile_args'))
         self.compile_args = list(cargs.difference(self.__cpp_blacklist))
+        self.compile_args = strip_system_includedirs(environment, 
self.for_machine, self.compile_args)
 
         if version_compare(self.version, '>= 3.9'):
             self._set_new_link_args(environment)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/meson-1.3.0/mesonbuild/dependencies/python.py 
new/meson-1.3.1/mesonbuild/dependencies/python.py
--- old/meson-1.3.0/mesonbuild/dependencies/python.py   2023-10-26 
18:04:24.000000000 +0200
+++ new/meson-1.3.1/mesonbuild/dependencies/python.py   2023-12-26 
17:05:14.000000000 +0100
@@ -245,14 +245,15 @@
             self.is_found = True
 
     def get_windows_python_arch(self) -> T.Optional[str]:
-        if self.platform == 'mingw':
-            pycc = self.variables.get('CC')
-            if pycc.startswith('x86_64'):
+        if self.platform.startswith('mingw'):
+            if 'x86_64' in self.platform:
                 return 'x86_64'
-            elif pycc.startswith(('i686', 'i386')):
+            elif 'i686' in self.platform:
                 return 'x86'
+            elif 'aarch64' in self.platform:
+                return 'aarch64'
             else:
-                mlog.log(f'MinGW Python built with unknown CC {pycc!r}, please 
file a bug')
+                mlog.log(f'MinGW Python built with unknown platform 
{self.platform!r}, please file a bug')
                 return None
         elif self.platform == 'win32':
             return 'x86'
@@ -309,7 +310,7 @@
                             '''))
             # base_prefix to allow for virtualenvs.
             lib = Path(self.variables.get('base_prefix')) / libpath
-        elif self.platform == 'mingw':
+        elif self.platform.startswith('mingw'):
             if self.static:
                 libname = self.variables.get('LIBRARY')
             else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/meson-1.3.0/mesonbuild/linkers/detect.py 
new/meson-1.3.1/mesonbuild/linkers/detect.py
--- old/meson-1.3.0/mesonbuild/linkers/detect.py        2023-10-26 
18:04:24.000000000 +0200
+++ new/meson-1.3.1/mesonbuild/linkers/detect.py        2023-12-26 
17:05:14.000000000 +0100
@@ -185,8 +185,9 @@
             v = search_version(o)
 
         linker = linkers.LLVMDynamicLinker(compiler, for_machine, 
comp_class.LINKER_PREFIX, override, version=v)
-    # first might be apple clang, second is for real gcc, the third is icc
-    elif e.endswith('(use -v to see invocation)\n') or 'macosx_version' in e 
or 'ld: unknown option:' in e:
+    # First might be apple clang, second is for real gcc, the third is icc.
+    # Note that "ld: unknown option: " sometimes instead is "ld: unknown 
options:".
+    elif e.endswith('(use -v to see invocation)\n') or 'macosx_version' in e 
or 'ld: unknown option' in e:
         if isinstance(comp_class.LINKER_PREFIX, str):
             cmd = compiler + [comp_class.LINKER_PREFIX + '-v'] + extra_args
         else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/meson-1.3.0/mesonbuild/linkers/linkers.py 
new/meson-1.3.1/mesonbuild/linkers/linkers.py
--- old/meson-1.3.0/mesonbuild/linkers/linkers.py       2023-10-26 
18:04:24.000000000 +0200
+++ new/meson-1.3.1/mesonbuild/linkers/linkers.py       2023-12-26 
17:05:14.000000000 +0100
@@ -792,7 +792,15 @@
         return ['-fsanitize=' + value]
 
     def no_undefined_args(self) -> T.List[str]:
-        return self._apply_prefix('-undefined,error')
+        # We used to emit -undefined,error, but starting with Xcode 15 /
+        # Sonoma, doing so triggers "ld: warning: -undefined error is
+        # deprecated". Given that "-undefined error" is documented to be the
+        # linker's default behaviour, this warning seems ill advised. However,
+        # it does create a lot of noise.  As "-undefined error" is the default
+        # behaviour, the least bad way to deal with this seems to be to just
+        # not emit anything here. Of course that only works as long as nothing
+        # else injects -undefined dynamic_lookup, or such. Complain to Apple.
+        return []
 
     def headerpad_args(self) -> T.List[str]:
         return self._apply_prefix('-headerpad_max_install_names')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/meson-1.3.0/mesonbuild/mlog.py 
new/meson-1.3.1/mesonbuild/mlog.py
--- old/meson-1.3.0/mesonbuild/mlog.py  2023-10-26 18:04:24.000000000 +0200
+++ new/meson-1.3.1/mesonbuild/mlog.py  2023-12-26 17:05:14.000000000 +0100
@@ -190,7 +190,7 @@
             try:
                 self.log_pager.stdin.flush()
                 self.log_pager.stdin.close()
-            except BrokenPipeError:
+            except OSError:
                 pass
             self.log_pager.wait()
             self.log_pager = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/meson-1.3.0/mesonbuild/modules/pkgconfig.py 
new/meson-1.3.1/mesonbuild/modules/pkgconfig.py
--- old/meson-1.3.0/mesonbuild/modules/pkgconfig.py     2023-10-26 
18:04:31.000000000 +0200
+++ new/meson-1.3.1/mesonbuild/modules/pkgconfig.py     2023-12-26 
17:05:14.000000000 +0100
@@ -307,7 +307,7 @@
         for name in reqs:
             vreqs = self.version_reqs.get(name, None)
             if vreqs:
-                result += [name + ' ' + self.format_vreq(vreq) for vreq in 
vreqs]
+                result += [name + ' ' + self.format_vreq(vreq) for vreq in 
sorted(vreqs)]
             else:
                 result += [name]
         return ', '.join(result)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/meson-1.3.0/mesonbuild/scripts/coverage.py 
new/meson-1.3.1/mesonbuild/scripts/coverage.py
--- old/meson-1.3.0/mesonbuild/scripts/coverage.py      2023-10-20 
20:19:23.000000000 +0200
+++ new/meson-1.3.1/mesonbuild/scripts/coverage.py      2023-12-26 
17:05:14.000000000 +0100
@@ -145,6 +145,7 @@
                                    '--remove', covinfo,
                                    *lcov_subpoject_exclude,
                                    *lcov_exe_rc_branch_coverage,
+                                   '--ignore-errors', 'unused',
                                    '--output-file', covinfo] + lcov_config)
             subprocess.check_call([genhtml_exe,
                                    '--prefix', build_root,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/meson-1.3.0/mesonbuild/utils/universal.py 
new/meson-1.3.1/mesonbuild/utils/universal.py
--- old/meson-1.3.0/mesonbuild/utils/universal.py       2023-10-26 
18:04:31.000000000 +0200
+++ new/meson-1.3.1/mesonbuild/utils/universal.py       2023-12-26 
17:05:14.000000000 +0100
@@ -1210,7 +1210,7 @@
                 var, _ = confdata.get(varname)
                 if isinstance(var, str):
                     var_str = var
-                elif isinstance(var, bool):
+                elif variable_format.startswith("cmake") and isinstance(var, 
bool):
                     var_str = str(int(var))
                 elif isinstance(var, int):
                     var_str = str(var)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' "old/meson-1.3.0/test cases/common/173 
as-needed/meson.build" "new/meson-1.3.1/test cases/common/173 
as-needed/meson.build"
--- "old/meson-1.3.0/test cases/common/173 as-needed/meson.build"       
2023-10-27 17:46:46.000000000 +0200
+++ "new/meson-1.3.1/test cases/common/173 as-needed/meson.build"       
2023-12-11 18:01:54.000000000 +0100
@@ -11,3 +11,10 @@
 
 main_exe = executable('C', 'main.cpp', link_with : [libA, libB])
 test('main test', main_exe)
+
+# Since Sonoma / Xcode 15 the macos linker considers the dependency via the
+# initializer sufficient to pull in the other other library. There's no good
+# way to detect the linker version here, so just skip the on macos.
+if host_machine.system() == 'darwin'
+    error('MESON_SKIP_TEST: the macos linker is too smart for this test')
+endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' "old/meson-1.3.0/test cases/common/197 function 
attributes/meson.build" "new/meson-1.3.1/test cases/common/197 function 
attributes/meson.build"
--- "old/meson-1.3.0/test cases/common/197 function attributes/meson.build"     
2023-11-05 21:54:51.000000000 +0100
+++ "new/meson-1.3.1/test cases/common/197 function attributes/meson.build"     
2023-12-11 18:01:54.000000000 +0100
@@ -91,6 +91,11 @@
   attributes += 'alloc_size'
 endif
 
+# gcc doesn't support constructor_priority on darwin
+if c.get_id() == 'gcc' and host_machine.system() == 'darwin'
+  expected += {'constructor_priority': false}
+endif
+
 if ['gcc', 'intel'].contains(c.get_id())
   # not supported by clang as of 5.0.0 (at least up to 6.0.1)
   attributes += 'artificial'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' "old/meson-1.3.0/test cases/common/52 object 
generator/meson.build" "new/meson-1.3.1/test cases/common/52 object 
generator/meson.build"
--- "old/meson-1.3.0/test cases/common/52 object generator/meson.build" 
2023-10-27 17:44:56.000000000 +0200
+++ "new/meson-1.3.1/test cases/common/52 object generator/meson.build" 
2023-12-11 18:01:54.000000000 +0100
@@ -29,6 +29,14 @@
  arguments : [comp, cc, '@INPUT@', '@OUTPUT0@'])
 generated2 = gen2.process(['source3.c'])
 
-e = executable('prog', 'prog.c', generated, generated2)
+# Generate an object file ending with .o even on Windows.
+# The VS backend needs to handle .o objects differently from .obj objects.
+gen3 = generator(python,
+ output : '@BASENAME@.o',
+ arguments : [comp, cc, '@INPUT@', '@OUTPUT@'])
+
+generated3 = gen3.process(['source4.c'])
+
+e = executable('prog', 'prog.c', generated, generated2, generated3)
 
 test('objgen', e)
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' "old/meson-1.3.0/test cases/common/52 object 
generator/prog.c" "new/meson-1.3.1/test cases/common/52 object generator/prog.c"
--- "old/meson-1.3.0/test cases/common/52 object generator/prog.c"      
2023-10-26 18:32:40.000000000 +0200
+++ "new/meson-1.3.1/test cases/common/52 object generator/prog.c"      
2023-12-11 18:01:54.000000000 +0100
@@ -1,7 +1,8 @@
 int func1_in_obj(void);
 int func2_in_obj(void);
 int func3_in_obj(void);
+int func4_in_obj(void);
 
 int main(void) {
-    return func1_in_obj() + func2_in_obj() + func3_in_obj();
+    return func1_in_obj() + func2_in_obj() + func3_in_obj() + func4_in_obj();
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' "old/meson-1.3.0/test cases/common/52 object 
generator/source4.c" "new/meson-1.3.1/test cases/common/52 object 
generator/source4.c"
--- "old/meson-1.3.0/test cases/common/52 object generator/source4.c"   
1970-01-01 01:00:00.000000000 +0100
+++ "new/meson-1.3.1/test cases/common/52 object generator/source4.c"   
2023-12-11 18:01:54.000000000 +0100
@@ -0,0 +1,3 @@
+int func4_in_obj(void) {
+    return 0;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' "old/meson-1.3.0/test cases/osx/5 extra 
frameworks/meson.build" "new/meson-1.3.1/test cases/osx/5 extra 
frameworks/meson.build"
--- "old/meson-1.3.0/test cases/osx/5 extra frameworks/meson.build"     
2023-10-26 18:04:24.000000000 +0200
+++ "new/meson-1.3.1/test cases/osx/5 extra frameworks/meson.build"     
2023-12-11 18:01:54.000000000 +0100
@@ -7,7 +7,7 @@
 assert(dep_main.type_name() == 'extraframeworks', 'type_name is ' + 
dep_main.type_name())
 
 # https://github.com/mesonbuild/meson/issues/10002
-ldap_dep = dependency('ldap', method : 'extraframework')
+ldap_dep = dependency('LDAP', method : 'extraframework')
 assert(ldap_dep.type_name() == 'extraframeworks', 'type_name is ' + 
ldap_dep.type_name())
 
 stlib = static_library('stat', 'stat.c', install : true, dependencies: 
[opengl_dep, ldap_dep])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/meson-1.3.0/unittests/darwintests.py 
new/meson-1.3.1/unittests/darwintests.py
--- old/meson-1.3.0/unittests/darwintests.py    2023-10-26 19:03:09.000000000 
+0200
+++ new/meson-1.3.1/unittests/darwintests.py    2023-12-26 17:05:14.000000000 
+0100
@@ -151,5 +151,5 @@
 
     def test_darwin_get_object_archs(self):
         from mesonbuild.mesonlib import darwin_get_object_archs
-        archs = 
darwin_get_object_archs('/System/Library/CoreServices/Encodings/libSymbolConverter.dylib')
+        archs = darwin_get_object_archs('/bin/cat')
         self.assertEqual(archs, ['x86_64', 'aarch64'])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/meson-1.3.0/unittests/internaltests.py 
new/meson-1.3.1/unittests/internaltests.py
--- old/meson-1.3.0/unittests/internaltests.py  2023-10-26 19:03:09.000000000 
+0200
+++ new/meson-1.3.1/unittests/internaltests.py  2023-12-26 17:05:14.000000000 
+0100
@@ -618,7 +618,8 @@
             out = name.with_suffix('.o')
             with src.open('w', encoding='utf-8') as f:
                 f.write('int meson_foobar (void) { return 0; }')
-            subprocess.check_call(['clang', '-c', str(src), '-o', str(out)])
+            # use of x86_64 is hardcoded in run_tests.py:get_fake_env()
+            subprocess.check_call(['clang', '-c', str(src), '-o', str(out), 
'-arch', 'x86_64'])
             subprocess.check_call(['ar', 'csr', str(name), str(out)])
 
         with tempfile.TemporaryDirectory() as tmpdir:
@@ -1012,19 +1013,30 @@
     def test_validate_json(self) -> None:
         """Validate the json schema for the test cases."""
         try:
-            from jsonschema import validate, ValidationError
+            from fastjsonschema import compile, JsonSchemaValueException as 
JsonSchemaFailure
+            fast = True
         except ImportError:
-            if is_ci():
-                raise
-            raise unittest.SkipTest('Python jsonschema module not found.')
+            try:
+                from jsonschema import validate, ValidationError as 
JsonSchemaFailure
+                fast = False
+            except:
+                if is_ci():
+                    raise
+                raise unittest.SkipTest('neither Python fastjsonschema nor 
jsonschema module not found.')
+
+        with open('data/test.schema.json', 'r', encoding='utf-8') as f:
+            data = json.loads(f.read())
 
-        schema = 
json.loads(Path('data/test.schema.json').read_text(encoding='utf-8'))
+        if fast:
+            schema_validator = compile(data)
+        else:
+            schema_validator = lambda x: validate(x, schema=data)
 
         errors: T.List[T.Tuple[Path, Exception]] = []
         for p in Path('test cases').glob('**/test.json'):
             try:
-                validate(json.loads(p.read_text(encoding='utf-8')), 
schema=schema)
-            except ValidationError as e:
+                schema_validator(json.loads(p.read_text(encoding='utf-8')))
+            except JsonSchemaFailure as e:
                 errors.append((p.resolve(), e))
 
         for f, e in errors:

Reply via email to