forked from pool/meson
Accepting request 827369 from devel:tools:building
Update to 0.55.1 - no regressions seen in GNOME:Next compared to 0.55.0 (forwarded request 827368 from dimstar) OBS-URL: https://build.opensuse.org/request/show/827369 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/meson?expand=0&rev=62
This commit is contained in:
commit
02239408b4
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f2bdf4cf0694e696b48261cdd14380fb1d0fe33d24744d8b2df0c12f33ebb662
|
||||
size 1690919
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCgAdFiEElRgfTu0U/fTkG1GNO/RpO/7rlCgFAl7nrU8ACgkQO/RpO/7r
|
||||
lCgctQ//aaBmSPDXNxXuIbJBrfVT+yOqibmzqq1GC5ut2p2zi2JQqG8C+x0yqI/s
|
||||
GMWubAnfXcmnSDITVH+6zN2fs2J4ejftZzxUF+oruvwztr6QtNmbkXZ43H5tsAJu
|
||||
Q2eSou4sEmlEIW193uflkohgRUVXcbPS9TRwq33h09sEVIGE2zboYvdN9E9C4AVV
|
||||
mlOsXmAtdZT3y3QLgnzvOXd+9gRz/QPjFECpkJJeKx/pPFEwWpkbi5b2XTH1CVmo
|
||||
0QuZzL1YbUB7RhlkZAkpXoYyoaFg3wHTc5CfOgCsoTxfxpjzilhIsdXGzEgbeGfm
|
||||
Wja5Cp0aoYahPKEVY9FeQtImsxz4aFuX7c+T70yLmDw0TFR6ezCpg5H84GLR34HP
|
||||
gtpcPNuH6o19JsBar/7bXgbYcREt1fRHSVnsIjE17l/Ogf2keknW+zdiO85H45DC
|
||||
MdlRi2CNRPcEwfiGV+0tfRC1vqowyg1i6zLyQm0Sill2Xu5tWzutsbxOXBPQnFzn
|
||||
N8fSQHb510+9JIibBO5APB+1Zmg8SqRv21350aKi+1vNncOQTnkoz4uRx4j5Z7bH
|
||||
D/L8PwwClM59e32/CWPpr0zGNgdFDeXoQQ/X0GUoZKlQ9uSPYtzQl6kO9CuiOkWA
|
||||
OtB9tLosyf0BZHlNwf304+3EnDCJY3e1kbZDWyc+ja7ZwIquhiw=
|
||||
=qN7q
|
||||
-----END PGP SIGNATURE-----
|
3
meson-0.55.1.tar.gz
Normal file
3
meson-0.55.1.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3b5741f884e04928bdfa1947467ff06afa6c98e623c25cef75adf71ca39ce080
|
||||
size 1740517
|
16
meson-0.55.1.tar.gz.asc
Normal file
16
meson-0.55.1.tar.gz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCgAdFiEElRgfTu0U/fTkG1GNO/RpO/7rlCgFAl84KRIACgkQO/RpO/7r
|
||||
lCjTtA//TYt4PrlN+c81Qpl3Bzk1MUTJD435i2aMTrOap30s7KZLnUJhnjhwMTkG
|
||||
CZGIcXN9I20pUHXmWdnqPNMdnB411jnjtSx7VzP9/tjmdG69wHKb2C8BD7g8UTr2
|
||||
zIyGmSa/VQAEeCIXuKutNxVreRvFdFt8tP8WrQn37zNrXAogLb9TQ0sE/mvzRDzs
|
||||
O8brztF6rpYZ2owP2W8IAH3xW1wAe4TfzwOVmpPAEeH5OMRpdn602xDXBbx6Zvbf
|
||||
2jHFJqY8vGmLGpqUEih+vQEQ6oDHakxareUISMmhn2S7WnIEgPmLh6/+N4xNCFYy
|
||||
vdyJMz1mzEG7aiT9+UxYHEb7iN+MQzqIOcYfwNB3s6KuC23xz+YzW59ev+3VYgjH
|
||||
h0OVAIfr4l88iUYCuZdDMNjIghERz1yZttstkFvE2OyqPIRhysnv+9fYkkNZCaCQ
|
||||
R2vCk4b470+XhpcarRFkFrrOaimLyfPpnTBe0bnzGPgui/W6tIzGN2iLoTYSWdM1
|
||||
T4iMSiN4RVO4BpfB6kAKbRgtKrUPsglERTW9i8GDdLlU9fIALkJtDvkwaBJs/ibW
|
||||
JZKDLkNXJGRsrsbMaH3nvNnbmTItHeb9ocdxXBP1h9XNlw8Bn2KtmUN4nwtd+2P3
|
||||
Xt8o3KxekEkW6NbxPfOwIragFdv3UaM9qTUQmpUJqH9V109/lsk=
|
||||
=Etlk
|
||||
-----END PGP SIGNATURE-----
|
@ -1,101 +0,0 @@
|
||||
--- a/mesonbuild/compilers/cpp.py
|
||||
+++ b/mesonbuild/compilers/cpp.py
|
||||
@@ -140,8 +140,8 @@ class ClangCPPCompiler(ClangCompiler, CP
|
||||
def get_options(self):
|
||||
opts = CPPCompiler.get_options(self)
|
||||
opts.update({'cpp_std': coredata.UserComboOption('cpp_std', 'C++ language standard to use',
|
||||
- ['none', 'c++98', 'c++03', 'c++11', 'c++14', 'c++17', 'c++1z', 'c++2a',
|
||||
- 'gnu++11', 'gnu++14', 'gnu++17', 'gnu++1z', 'gnu++2a'],
|
||||
+ ['none', 'c++98', 'c++03', 'c++11', 'c++1y', 'c++14', 'c++17', 'c++1z', 'c++2a',
|
||||
+ 'gnu++11', 'gnu++1y', 'gnu++14', 'gnu++17', 'gnu++1z', 'gnu++2a'],
|
||||
'none')})
|
||||
return opts
|
||||
|
||||
@@ -171,8 +171,8 @@ class ArmclangCPPCompiler(ArmclangCompil
|
||||
def get_options(self):
|
||||
opts = CPPCompiler.get_options(self)
|
||||
opts.update({'cpp_std': coredata.UserComboOption('cpp_std', 'C++ language standard to use',
|
||||
- ['none', 'c++98', 'c++03', 'c++11', 'c++14', 'c++17',
|
||||
- 'gnu++98', 'gnu++03', 'gnu++11', 'gnu++14', 'gnu++17'],
|
||||
+ ['none', 'c++98', 'c++03', 'c++11', 'c++1y', 'c++14', 'c++17',
|
||||
+ 'gnu++98', 'gnu++03', 'gnu++11', 'gnu++1y', 'gnu++14', 'gnu++17'],
|
||||
'none')})
|
||||
return opts
|
||||
|
||||
@@ -197,10 +197,12 @@ class GnuCPPCompiler(GnuCompiler, CPPCom
|
||||
'3': default_warn_args + ['-Wextra', '-Wpedantic']}
|
||||
|
||||
def get_options(self):
|
||||
+ cpp_stds = ['c++98', 'c++03', 'c++11', 'c++1y', 'gnu++11', 'gnu++1y']
|
||||
+ if version_compare(self.version, '>=5.0.0'):
|
||||
+ cpp_stds += ['c++14', 'c++17', 'c++1z', 'c++2a', 'gnu++14', 'gnu++17', 'gnu++1z', 'gnu++2a']
|
||||
opts = CPPCompiler.get_options(self)
|
||||
opts.update({'cpp_std': coredata.UserComboOption('cpp_std', 'C++ language standard to use',
|
||||
- ['none', 'c++98', 'c++03', 'c++11', 'c++14', 'c++17', 'c++1z', 'c++2a',
|
||||
- 'gnu++03', 'gnu++11', 'gnu++14', 'gnu++17', 'gnu++1z', 'gnu++2a'],
|
||||
+ ['none'] + cpp_stds,
|
||||
'none'),
|
||||
'cpp_debugstl': coredata.UserBooleanOption('cpp_debugstl',
|
||||
'STL debug mode',
|
||||
@@ -276,7 +278,7 @@ class IntelCPPCompiler(IntelCompiler, CP
|
||||
c_stds = ['c++98', 'c++03']
|
||||
g_stds = ['gnu++98', 'gnu++03']
|
||||
if version_compare(self.version, '>=15.0.0'):
|
||||
- c_stds += ['c++11', 'c++14']
|
||||
+ c_stds += ['c++11', 'c++1y', 'c++14']
|
||||
g_stds += ['gnu++11']
|
||||
if version_compare(self.version, '>=16.0.0'):
|
||||
c_stds += ['c++17']
|
||||
--- a/mesonbuild/minit.py
|
||||
+++ b/mesonbuild/minit.py
|
||||
@@ -143,7 +143,7 @@ int main(int argc, char **argv) {{
|
||||
hello_cpp_meson_template = '''project('{project_name}', 'cpp',
|
||||
version : '{version}',
|
||||
default_options : ['warning_level=3',
|
||||
- 'cpp_std=c++14'])
|
||||
+ 'cpp_std=c++1y'])
|
||||
|
||||
exe = executable('{exe_name}', '{source_name}',
|
||||
install : true)
|
||||
@@ -214,7 +214,7 @@ int main(int argc, char **argv) {{
|
||||
|
||||
lib_cpp_meson_template = '''project('{project_name}', 'cpp',
|
||||
version : '{version}',
|
||||
- default_options : ['warning_level=3', 'cpp_std=c++14'])
|
||||
+ default_options : ['warning_level=3', 'cpp_std=c++1y'])
|
||||
|
||||
# These arguments are only used to build the shared library
|
||||
# not the executables that use the library.
|
||||
@@ -404,7 +404,7 @@ def create_meson_build(options):
|
||||
default_options = ['warning_level=3']
|
||||
if options.language == 'cpp':
|
||||
# This shows how to set this very common option.
|
||||
- default_options += ['cpp_std=c++14']
|
||||
+ default_options += ['cpp_std=c++1y']
|
||||
# If we get a meson.build autoformatter one day, this code could
|
||||
# be simplified quite a bit.
|
||||
formatted_default_options = ', '.join("'{}'".format(x) for x in default_options)
|
||||
--- "a/test cases/common/152 simd/simdchecker.c"
|
||||
+++ "b/test cases/common/152 simd/simdchecker.c"
|
||||
@@ -10,11 +10,12 @@ int check_simd_implementation(float *fou
|
||||
const float *expected,
|
||||
simd_func fptr,
|
||||
const int blocksize) {
|
||||
+ int i;
|
||||
int rv = 0;
|
||||
memcpy(four, four_initial, blocksize*sizeof(float));
|
||||
printf("Using %s.\n", simd_type);
|
||||
fptr(four);
|
||||
- for(int i=0; i<blocksize; i++) {
|
||||
+ for(i=0; i<blocksize; i++) {
|
||||
if(four[i] != expected[i]) {
|
||||
printf("Increment function failed, got %f expected %f.\n", four[i], expected[i]);
|
||||
rv = 1;
|
||||
--- "a/test cases/unit/17 prebuilt shared/patron.c"
|
||||
+++ "b/test cases/unit/17 prebuilt shared/patron.c"
|
||||
@@ -5,4 +5,5 @@ int main(int argc, char **argv) {
|
||||
printf("You are standing outside the Great Library of Alexandria.\n");
|
||||
printf("You decide to go inside.\n\n");
|
||||
alexandria_visit();
|
||||
+ return 0;
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
From 5157ef0f2c8ca4074d91e345b53abe60f014b543 Mon Sep 17 00:00:00 2001
|
||||
From: Mike Gorse <mgorse@suse.com>
|
||||
Date: Fri, 26 Jun 2020 11:45:30 -0500
|
||||
Subject: [PATCH] test: fix enum generation for GNOME
|
||||
|
||||
Fixes: #7252
|
||||
---
|
||||
test cases/frameworks/7 gnome/mkenums/meson.build | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/test cases/frameworks/7 gnome/mkenums/meson.build b/test cases/frameworks/7 gnome/mkenums/meson.build
|
||||
index af4a9017e..3d7adf052 100644
|
||||
--- a/test cases/frameworks/7 gnome/mkenums/meson.build
|
||||
+++ b/test cases/frameworks/7 gnome/mkenums/meson.build
|
||||
@@ -126,6 +126,14 @@ enums5 = gnome.mkenums_simple('enums5', sources : 'meson-sample.h',
|
||||
install_header : true,
|
||||
decorator : 'MESON_EXPORT',
|
||||
header_prefix : '#include "meson-decls.h"')
|
||||
+
|
||||
+conf = configuration_data()
|
||||
+conf.set('ENUM_FILE', 'enums5.h')
|
||||
+main = configure_file(
|
||||
+ input : 'main.c',
|
||||
+ output : 'main5.c',
|
||||
+ configuration : conf)
|
||||
+
|
||||
enumexe5 = executable('enumprog5', main, enums5, dependencies : gobj)
|
||||
|
||||
# Generate template then use as input to mkenums
|
||||
--
|
||||
2.27.0
|
||||
|
@ -1,392 +0,0 @@
|
||||
--- a/mesonbuild/backend/ninjabackend.py
|
||||
+++ b/mesonbuild/backend/ninjabackend.py
|
||||
@@ -32,7 +32,7 @@ from .. import compilers
|
||||
from ..compilers import CompilerArgs, CCompiler, VisualStudioCCompiler
|
||||
from ..linkers import ArLinker
|
||||
from ..mesonlib import File, MesonException, OrderedSet
|
||||
-from ..mesonlib import get_compiler_for_source, has_path_sep
|
||||
+from ..mesonlib import get_compiler_for_source, has_path_sep, commonpath
|
||||
from .backends import CleanTrees
|
||||
from ..build import InvalidArguments
|
||||
|
||||
@@ -1025,8 +1025,8 @@ int dummy;
|
||||
# Check if the vala file is in a subdir of --basedir
|
||||
abs_srcbasedir = os.path.join(self.environment.get_source_dir(), target.get_subdir())
|
||||
abs_vala_file = os.path.join(self.environment.get_build_dir(), vala_file)
|
||||
- if PurePath(os.path.commonpath((abs_srcbasedir, abs_vala_file))) == PurePath(abs_srcbasedir):
|
||||
- vala_c_subdir = PurePath(abs_vala_file).parent.relative_to(abs_srcbasedir)
|
||||
+ if PurePath(commonpath((abs_srcbasedir, abs_vala_file))) == PurePath(abs_srcbasedir):
|
||||
+ vala_c_subdir = str(PurePath(abs_vala_file).parent.relative_to(abs_srcbasedir))
|
||||
vala_c_file = os.path.join(str(vala_c_subdir), vala_c_file)
|
||||
else:
|
||||
path_to_target = os.path.join(self.build_to_src, target.get_subdir())
|
||||
--- a/mesonbuild/coredata.py
|
||||
+++ b/mesonbuild/coredata.py
|
||||
@@ -18,7 +18,7 @@ import sys
|
||||
from pathlib import PurePath
|
||||
from collections import OrderedDict
|
||||
from .mesonlib import (
|
||||
- MesonException, default_libdir, default_libexecdir, default_prefix
|
||||
+ MesonException, default_libdir, default_libexecdir, default_prefix, commonpath
|
||||
)
|
||||
from .wrap import WrapMode
|
||||
import ast
|
||||
@@ -379,7 +379,7 @@ class CoreData:
|
||||
# commonpath will always return a path in the native format, so we
|
||||
# must use pathlib.PurePath to do the same conversion before
|
||||
# comparing.
|
||||
- if os.path.commonpath([value, prefix]) != str(PurePath(prefix)):
|
||||
+ if commonpath([value, prefix]) != str(PurePath(prefix)):
|
||||
m = 'The value of the {!r} option is {!r} which must be a ' \
|
||||
'subdir of the prefix {!r}.\nNote that if you pass a ' \
|
||||
'relative path, it is assumed to be a subdir of prefix.'
|
||||
--- a/mesonbuild/interpreterbase.py
|
||||
+++ b/mesonbuild/interpreterbase.py
|
||||
@@ -617,7 +617,9 @@ The result of this is undefined and will
|
||||
|
||||
if cur.operation == 'add':
|
||||
if isinstance(l, dict) and isinstance(r, dict):
|
||||
- return {**l, **r}
|
||||
+ ret = l.copy()
|
||||
+ ret.update(r)
|
||||
+ return ret
|
||||
try:
|
||||
return l + r
|
||||
except Exception as e:
|
||||
@@ -718,7 +720,8 @@ The result of this is undefined and will
|
||||
elif isinstance(old_variable, dict):
|
||||
if not isinstance(addition, dict):
|
||||
raise InvalidArguments('The += operator requires a dict on the right hand side if the variable on the left is a dict')
|
||||
- new_value = {**old_variable, **addition}
|
||||
+ new_value = old_variable.copy()
|
||||
+ new_value.update(addition)
|
||||
# Add other data types here.
|
||||
else:
|
||||
raise InvalidArguments('The += operator currently only works with arrays, dicts, strings or ints ')
|
||||
--- a/mesonbuild/mesonlib.py
|
||||
+++ b/mesonbuild/mesonlib.py
|
||||
@@ -20,6 +20,7 @@ import stat
|
||||
import time
|
||||
import platform, subprocess, operator, os, shutil, re
|
||||
import collections
|
||||
+import collections.abc
|
||||
from enum import Enum
|
||||
from functools import lru_cache
|
||||
|
||||
@@ -1149,6 +1150,30 @@ def substring_is_in_list(substr, strlist
|
||||
return True
|
||||
return False
|
||||
|
||||
+def commonpath(paths):
|
||||
+ '''
|
||||
+ For use on Python 3.4 where os.path.commonpath is not available.
|
||||
+ '''
|
||||
+ if sys.version_info >= (3, 5):
|
||||
+ return os.path.commonpath(paths)
|
||||
+
|
||||
+ import pathlib
|
||||
+ if not paths:
|
||||
+ raise ValueError('commonpath() arg is an empty sequence')
|
||||
+ common = pathlib.PurePath(paths[0])
|
||||
+ for path in paths[1:]:
|
||||
+ new = []
|
||||
+ path = pathlib.PurePath(path)
|
||||
+ for c, p in zip(common.parts, path.parts):
|
||||
+ if c != p:
|
||||
+ break
|
||||
+ new.append(c)
|
||||
+ if not new:
|
||||
+ raise ValueError("Can't mix absolute and relative paths") from None
|
||||
+ new = os.path.join(*new)
|
||||
+ common = pathlib.PurePath(new)
|
||||
+ return str(common)
|
||||
+
|
||||
class OrderedSet(collections.abc.MutableSet):
|
||||
"""A set that preserves the order in which items are added, by first
|
||||
insertion.
|
||||
--- a/mesonbuild/mesonmain.py
|
||||
+++ b/mesonbuild/mesonmain.py
|
||||
@@ -149,8 +149,8 @@ def run_script_command(script_name, scri
|
||||
return 1
|
||||
|
||||
def run(original_args, mainfile):
|
||||
- if sys.version_info < (3, 5):
|
||||
- print('Meson works correctly only with python 3.5+.')
|
||||
+ if sys.version_info < (3, 4):
|
||||
+ print('Meson works correctly only with python 3.4+.')
|
||||
print('You have python %s.' % sys.version)
|
||||
print('Please update your environment')
|
||||
return 1
|
||||
--- a/mesonbuild/minstall.py
|
||||
+++ b/mesonbuild/minstall.py
|
||||
@@ -348,8 +348,8 @@ class Installer:
|
||||
if shutil.which('pkexec') is not None and 'PKEXEC_UID' not in os.environ:
|
||||
print('Installation failed due to insufficient permissions.')
|
||||
print('Attempting to use polkit to gain elevated privileges...')
|
||||
- os.execlp('pkexec', 'pkexec', sys.executable, main_file, *sys.argv[1:],
|
||||
- '-C', os.getcwd())
|
||||
+ os.execvp('pkexec', ['pkexec', sys.executable, main_file] + sys.argv[1:] +
|
||||
+ ['-C', os.getcwd()])
|
||||
else:
|
||||
raise
|
||||
|
||||
--- a/mesonbuild/modules/python.py
|
||||
+++ b/mesonbuild/modules/python.py
|
||||
@@ -516,7 +516,7 @@ class PythonModule(ExtensionModule):
|
||||
# Sanity check, we expect to have something that at least quacks in tune
|
||||
try:
|
||||
info = json.loads(run_command(python, INTROSPECT_COMMAND))
|
||||
- except json.JSONDecodeError:
|
||||
+ except ValueError:
|
||||
info = None
|
||||
|
||||
if isinstance(info, dict) and 'version' in info and self._check_version(name_or_path, info['version']):
|
||||
--- a/mesonbuild/mtest.py
|
||||
+++ b/mesonbuild/mtest.py
|
||||
@@ -114,7 +114,12 @@ def returncode_to_status(retcode):
|
||||
if retcode < 0:
|
||||
signum = -retcode
|
||||
try:
|
||||
- signame = signal.Signals(signum).name
|
||||
+ if sys.version_info >= (3, 5):
|
||||
+ signame = signal.Signals(signum).name
|
||||
+ else:
|
||||
+ try: signame = [next(n for n, i in signal.__dict__.items()
|
||||
+ if i == signum)]
|
||||
+ except StopIteration: raise ValueError
|
||||
except ValueError:
|
||||
signame = 'SIGinvalid'
|
||||
return '(killed by signal %d %s)' % (signum, signame)
|
||||
@@ -124,7 +129,12 @@ def returncode_to_status(retcode):
|
||||
|
||||
signum = retcode - 128
|
||||
try:
|
||||
- signame = signal.Signals(signum).name
|
||||
+ if sys.version_info >= (3, 5):
|
||||
+ signame = signal.Signals(signum).name
|
||||
+ else:
|
||||
+ try: signame = [next(n for n, i in signal.__dict__.items()
|
||||
+ if i == signum)]
|
||||
+ except StopIteration: raise ValueError
|
||||
except ValueError:
|
||||
signame = 'SIGinvalid'
|
||||
return '(exit status %d or signal %d %s)' % (retcode, signum, signame)
|
||||
--- a/mesonbuild/scripts/gtkdochelper.py
|
||||
+++ b/mesonbuild/scripts/gtkdochelper.py
|
||||
@@ -17,7 +17,7 @@ import subprocess
|
||||
import shlex
|
||||
import shutil
|
||||
import argparse
|
||||
-from ..mesonlib import MesonException, Popen_safe, is_windows
|
||||
+from ..mesonlib import MesonException, Popen_safe, commonpath, is_windows
|
||||
from . import destdir_join
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
@@ -108,7 +108,7 @@ def build_gtkdoc(source_root, build_root
|
||||
# FIXME: Use mesonlib.File objects so we don't need to do this
|
||||
if not os.path.isabs(f):
|
||||
f = os.path.join(doc_src, f)
|
||||
- elif os.path.commonpath([f, build_root]) == build_root:
|
||||
+ elif commonpath([f, build_root]) == build_root:
|
||||
continue
|
||||
shutil.copyfile(f, os.path.join(abs_out, os.path.basename(f)))
|
||||
|
||||
--- a/run_meson_command_tests.py
|
||||
+++ b/run_meson_command_tests.py
|
||||
@@ -19,6 +19,7 @@ import os
|
||||
import tempfile
|
||||
import unittest
|
||||
import subprocess
|
||||
+import sys
|
||||
import zipapp
|
||||
from pathlib import Path
|
||||
|
||||
@@ -68,9 +69,15 @@ class CommandTests(unittest.TestCase):
|
||||
# If this call hangs CI will just abort. It is very hard to distinguish
|
||||
# between CI issue and test bug in that case. Set timeout and fail loud
|
||||
# instead.
|
||||
- p = subprocess.run(command, stdout=subprocess.PIPE,
|
||||
- env=os.environ.copy(), universal_newlines=True,
|
||||
- cwd=workdir, timeout=60 * 5)
|
||||
+ if sys.version_info >= (3, 5):
|
||||
+ p = subprocess.run(command, stdout=subprocess.PIPE,
|
||||
+ env=os.environ.copy(), universal_newlines=True,
|
||||
+ cwd=workdir, timeout=60 * 5)
|
||||
+ else:
|
||||
+ p = subprocess.Popen(command, stdout=subprocess.PIPE,
|
||||
+ env=os.environ.copy(), universal_newlines=True,
|
||||
+ cwd=workdir)
|
||||
+ p.stdout = p.communicate(timeout=60 * 5)[0]
|
||||
print(p.stdout)
|
||||
if p.returncode != 0:
|
||||
raise subprocess.CalledProcessError(p.returncode, command)
|
||||
--- a/run_unittests.py
|
||||
+++ b/run_unittests.py
|
||||
@@ -956,6 +956,24 @@ class DataTests(unittest.TestCase):
|
||||
defined = set([a.strip() for a in res.group().split('\\')][1:])
|
||||
self.assertEqual(defined, set(chain(interp.funcs.keys(), interp.builtin.keys())))
|
||||
|
||||
+ def test_commonpath(self):
|
||||
+ from os.path import sep
|
||||
+ commonpath = mesonbuild.mesonlib.commonpath
|
||||
+ self.assertRaises(ValueError, commonpath, [])
|
||||
+ self.assertEqual(commonpath(['/usr', '/usr']), sep + 'usr')
|
||||
+ self.assertEqual(commonpath(['/usr', '/usr/']), sep + 'usr')
|
||||
+ self.assertEqual(commonpath(['/usr', '/usr/bin']), sep + 'usr')
|
||||
+ self.assertEqual(commonpath(['/usr/', '/usr/bin']), sep + 'usr')
|
||||
+ self.assertEqual(commonpath(['/usr/./', '/usr/bin']), sep + 'usr')
|
||||
+ self.assertEqual(commonpath(['/usr/bin', '/usr/bin']), sep + 'usr' + sep + 'bin')
|
||||
+ self.assertEqual(commonpath(['/usr//bin', '/usr/bin']), sep + 'usr' + sep + 'bin')
|
||||
+ self.assertEqual(commonpath(['/usr/./bin', '/usr/bin']), sep + 'usr' + sep + 'bin')
|
||||
+ self.assertEqual(commonpath(['/usr/local', '/usr/lib']), sep + 'usr')
|
||||
+ self.assertEqual(commonpath(['/usr', '/bin']), sep)
|
||||
+ prefix = '/some/path/to/prefix'
|
||||
+ libdir = '/some/path/to/prefix/libdir'
|
||||
+ self.assertEqual(commonpath([prefix, libdir]), str(PurePath(prefix)))
|
||||
+
|
||||
|
||||
class BasePlatformTests(unittest.TestCase):
|
||||
def setUp(self):
|
||||
@@ -1036,9 +1054,15 @@ class BasePlatformTests(unittest.TestCas
|
||||
# If this call hangs CI will just abort. It is very hard to distinguish
|
||||
# between CI issue and test bug in that case. Set timeout and fail loud
|
||||
# instead.
|
||||
- p = subprocess.run(command, stdout=subprocess.PIPE,
|
||||
- stderr=subprocess.STDOUT, env=os.environ.copy(),
|
||||
- universal_newlines=True, cwd=workdir, timeout=60 * 5)
|
||||
+ if sys.version_info >= (3, 5):
|
||||
+ p = subprocess.run(command, stdout=subprocess.PIPE,
|
||||
+ stderr=subprocess.STDOUT, env=os.environ.copy(),
|
||||
+ universal_newlines=True, cwd=workdir, timeout=60 * 5)
|
||||
+ else:
|
||||
+ p = subprocess.Popen(command, stdout=subprocess.PIPE,
|
||||
+ stderr=subprocess.STDOUT, env=os.environ.copy(),
|
||||
+ universal_newlines=True, cwd=workdir)
|
||||
+ p.stdout = p.communicate(timeout=60 * 5)[0]
|
||||
print(p.stdout)
|
||||
if p.returncode != 0:
|
||||
if 'MESON_SKIP_TEST' in p.stdout:
|
||||
@@ -2849,17 +2873,23 @@ recommended as it is not supported on so
|
||||
of = open(mfile, 'w')
|
||||
of.write("project('foobar', 'c')\n")
|
||||
of.close()
|
||||
- pc = subprocess.run(self.setup_command,
|
||||
- cwd=srcdir,
|
||||
- stdout=subprocess.PIPE,
|
||||
- stderr=subprocess.DEVNULL)
|
||||
+ if sys.version_info >= (3, 5):
|
||||
+ pc = subprocess.run(self.setup_command,
|
||||
+ cwd=srcdir,
|
||||
+ stdout=subprocess.PIPE,
|
||||
+ stderr=subprocess.DEVNULL)
|
||||
+ else:
|
||||
+ pc = subprocess.Popen(self.setup_command,
|
||||
+ cwd=srcdir,
|
||||
+ stdout=subprocess.PIPE,
|
||||
+ stderr=subprocess.DEVNULL)
|
||||
+ pc.stdout = pc.communicate()[0]
|
||||
self.assertIn(b'Must specify at least one directory name', pc.stdout)
|
||||
with tempfile.TemporaryDirectory(dir=srcdir) as builddir:
|
||||
- subprocess.run(self.setup_command,
|
||||
- check=True,
|
||||
- cwd=builddir,
|
||||
- stdout=subprocess.DEVNULL,
|
||||
- stderr=subprocess.DEVNULL)
|
||||
+ subprocess.check_call(self.setup_command,
|
||||
+ cwd=builddir,
|
||||
+ stdout=subprocess.DEVNULL,
|
||||
+ stderr=subprocess.DEVNULL)
|
||||
|
||||
def get_opts_as_dict(self):
|
||||
result = {}
|
||||
@@ -4671,13 +4701,14 @@ class NativeFileTests(BasePlatformTests)
|
||||
f.write(' print("{}", file=sys.{})\n'.format(value, kwargs.get('outfile', 'stdout')))
|
||||
f.write(' sys.exit(0)\n')
|
||||
f.write(textwrap.dedent('''
|
||||
- ret = subprocess.run(
|
||||
+ ret = subprocess.Popen(
|
||||
["{}"] + extra_args,
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE,
|
||||
- encoding='utf-8')
|
||||
- print(ret.stdout)
|
||||
- print(ret.stderr, file=sys.stderr)
|
||||
+ universal_newlines=True)
|
||||
+ stdout, stderr = ret.communicate()
|
||||
+ print(stdout)
|
||||
+ print(stderr, file=sys.stderr)
|
||||
sys.exit(ret.returncode)
|
||||
|
||||
if __name__ == '__main__':
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -16,9 +16,9 @@
|
||||
|
||||
import sys
|
||||
|
||||
-if sys.version_info < (3, 5, 0):
|
||||
+if sys.version_info < (3, 4, 0):
|
||||
print('Tried to install with an unsupported version of Python. '
|
||||
- 'Meson requires Python 3.5.0 or greater')
|
||||
+ 'Meson requires Python 3.4.0 or greater')
|
||||
sys.exit(1)
|
||||
|
||||
from mesonbuild.coredata import version
|
||||
--- "a/test cases/common/188 find override/subdir/converter.py"
|
||||
+++ "b/test cases/common/188 find override/subdir/converter.py"
|
||||
@@ -10,6 +10,7 @@ ftempl = '''int %s() {
|
||||
}
|
||||
'''
|
||||
|
||||
-d = pathlib.Path(ifilename).read_text().split('\n')[0].strip()
|
||||
-
|
||||
-pathlib.Path(ofilename).write_text(ftempl % d)
|
||||
+with pathlib.Path(ifilename).open('r') as f:
|
||||
+ d = f.readline().strip()
|
||||
+with pathlib.Path(ofilename).open('w') as f:
|
||||
+ f.write(ftempl % d)
|
||||
--- "a/test cases/common/188 find override/subdir/gencodegen.py.in"
|
||||
+++ "b/test cases/common/188 find override/subdir/gencodegen.py.in"
|
||||
@@ -10,6 +10,7 @@ ftempl = '''int %s() {
|
||||
}
|
||||
'''
|
||||
|
||||
-d = pathlib.Path(ifilename).read_text().split('\n')[0].strip()
|
||||
-
|
||||
-pathlib.Path(ofilename).write_text(ftempl % d)
|
||||
+with pathlib.Path(ifilename).open('r') as f:
|
||||
+ d = f.readline().strip()
|
||||
+with pathlib.Path(ofilename).open('w') as f:
|
||||
+ f.write(ftempl % d)
|
||||
--- "a/test cases/unit/35 dist script/replacer.py"
|
||||
+++ "b/test cases/unit/35 dist script/replacer.py"
|
||||
@@ -11,6 +11,8 @@ source_root = pathlib.Path(os.environ['M
|
||||
|
||||
modfile = source_root / 'prog.c'
|
||||
|
||||
-contents = modfile.read_text()
|
||||
+with modfile.open('r') as f:
|
||||
+ contents = f.read()
|
||||
contents = contents.replace(sys.argv[1], sys.argv[2])
|
||||
-modfile.write_text(contents)
|
||||
+with modfile.open('w') as f:
|
||||
+ f.write(contents)
|
||||
--- "a/test cases/unit/46 native dep pkgconfig var/cross_pkgconfig.py"
|
||||
+++ "b/test cases/unit/46 native dep pkgconfig var/cross_pkgconfig.py"
|
||||
@@ -9,4 +9,4 @@ environ['PKG_CONFIG_LIBDIR'] = os.path.j
|
||||
os.path.dirname(os.path.realpath(__file__)), 'cross_pkgconfig')
|
||||
|
||||
sys.exit(
|
||||
- subprocess.run(['pkg-config'] + sys.argv[1:], env=environ).returncode)
|
||||
+ subprocess.call(['pkg-config'] + sys.argv[1:], env=environ))
|
||||
--- "a/test cases/windows/13 test argument extra paths/test/test_run_exe.py"
|
||||
+++ "b/test cases/windows/13 test argument extra paths/test/test_run_exe.py"
|
||||
@@ -7,6 +7,6 @@ if __name__ == '__main__':
|
||||
parser.add_argument('prog')
|
||||
args = parser.parse_args()
|
||||
|
||||
- res = subprocess.run(args.prog)
|
||||
+ ret = subprocess.call(args.prog)
|
||||
|
||||
- sys.exit(res.returncode - 42)
|
||||
+ sys.exit(ret - 42)
|
@ -1,40 +0,0 @@
|
||||
--- a/mesonbuild/dependencies/dev.py
|
||||
+++ b/mesonbuild/dependencies/dev.py
|
||||
@@ -343,10 +343,11 @@ class LLVMDependency(ConfigToolDependenc
|
||||
not for shared-linnking, we have to figure those out ourselves, because
|
||||
of course we do.
|
||||
"""
|
||||
- if self.static:
|
||||
- self.link_args = self.get_config_value(
|
||||
- ['--libs', '--ldflags', '--system-libs'] + list(self.required_modules),
|
||||
- 'link_args')
|
||||
+ #if self.static:
|
||||
+ self.link_args = self.get_config_value(
|
||||
+ ['--libs', '--ldflags', '--system-libs'] + list(self.required_modules),
|
||||
+ 'link_args')
|
||||
+ """
|
||||
else:
|
||||
# llvm-config will provide arguments for static linking, so we get
|
||||
# to figure out for ourselves what to link with. We'll do that by
|
||||
@@ -365,6 +366,7 @@ class LLVMDependency(ConfigToolDependenc
|
||||
else:
|
||||
raise DependencyException(
|
||||
'Could not find a dynamically linkable library for LLVM.')
|
||||
+ """
|
||||
|
||||
def check_components(self, modules, required=True):
|
||||
"""Check for llvm components (modules in meson terms).
|
||||
--- a/run_unittests.py
|
||||
+++ b/run_unittests.py
|
||||
@@ -4771,6 +4771,11 @@ class NativeFileTests(BasePlatformTests)
|
||||
# Do the skip at this level to avoid screwing up the cache
|
||||
if not shutil.which('llvm-config'):
|
||||
raise unittest.SkipTest('No llvm-installed, cannot test')
|
||||
+
|
||||
+ output = subprocess.getoutput('llvm-config --version')
|
||||
+ if version_compare(output, '< 3.9'):
|
||||
+ raise unittest.SkipTest('llvm-config >= 3.9 needed for the test')
|
||||
+
|
||||
self._simple_test('config_dep', 'llvm-config')
|
||||
|
||||
def test_python3_module(self):
|
@ -1,19 +1,12 @@
|
||||
Index: meson-0.51.0/data/macros.meson
|
||||
===================================================================
|
||||
--- meson-0.51.0.orig/data/macros.meson
|
||||
+++ meson-0.51.0/data/macros.meson
|
||||
@@ -1,6 +1,8 @@
|
||||
--- a/data/macros.meson
|
||||
+++ b/data/macros.meson
|
||||
@@ -1,9 +1,15 @@
|
||||
%__meson %{_bindir}/meson
|
||||
%__meson_wrap_mode nodownload
|
||||
%__meson_auto_features enabled
|
||||
+%_vpath_srcdir .
|
||||
+%_vpath_builddir build
|
||||
|
||||
%_smp_mesonflags %([ -z "$MESON_BUILD_NCPUS" ] \\\
|
||||
&& MESON_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"; \\\
|
||||
@@ -9,7 +11,11 @@
|
||||
if [ "$MESON_BUILD_NCPUS" -gt 1 ]; then echo "--num-processes $MESON_BUILD_NCPUS"; fi)
|
||||
|
||||
%meson \
|
||||
- %set_build_flags \
|
||||
+ export LANG=C.UTF-8 \
|
||||
@ -24,19 +17,30 @@ Index: meson-0.51.0/data/macros.meson
|
||||
%{shrink:%{__meson} \
|
||||
--buildtype=plain \
|
||||
--prefix=%{_prefix} \
|
||||
@@ -31,12 +37,15 @@
|
||||
%{nil}}
|
||||
@@ -25,21 +31,24 @@
|
||||
%{nil}}
|
||||
|
||||
%meson_build \
|
||||
+ export LANG=C.UTF-8 \
|
||||
%ninja_build -C %{_vpath_builddir}
|
||||
+ export LANG=C.UTF-8 \
|
||||
%{shrink:%{__meson} compile \
|
||||
-C %{_vpath_builddir} \
|
||||
- -j %{_smp_build_ncpus} \
|
||||
+ %{?_smp_mflags} \
|
||||
--verbose \
|
||||
%{nil}}
|
||||
|
||||
%meson_install \
|
||||
+ export LANG=C.UTF-8 \
|
||||
%ninja_install -C %{_vpath_builddir}
|
||||
%{shrink:DESTDIR=%{buildroot} %{__meson} install \
|
||||
-C %{_vpath_builddir} \
|
||||
--no-rebuild \
|
||||
%{nil}}
|
||||
|
||||
%meson_test \
|
||||
+ export LANG=C.UTF-8 \
|
||||
%{shrink: %{__meson} test \
|
||||
%{shrink:%{__meson} test \
|
||||
-C %{_vpath_builddir} \
|
||||
%{?_smp_mesonflags} \
|
||||
- --num-processes %{_smp_build_ncpus} \
|
||||
+ %{?jobs:--num-processes %{jobs}} \
|
||||
--print-errorlogs \
|
||||
%{nil}}
|
||||
|
@ -1,3 +1,51 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 17 09:45:41 UTC 2020 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Update to version 0.55.1:
|
||||
+ find_library: Print type of library not found.
|
||||
+ interpreter: Don't force fallback when subproject failed to
|
||||
configure.
|
||||
+ Various fixes around cmake integration.
|
||||
+ mdata: Generate mesondata.py from */data folders.
|
||||
+ mdata: remove setuptools and use mesondata instead.
|
||||
- Drop meson-pr7461-remove-setuptools-dependency.patch: fixed
|
||||
upstream.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jul 26 15:59:52 UTC 2020 - Alexei Sorokin <sor.alexei@meowr.ru>
|
||||
|
||||
- Remove %_smp_build_ncpus in meson-suse-ify-macros.patch.
|
||||
- Drop broken meson-restore-python3.4.patch,
|
||||
meson-suse-fix-llvm-3.8.patch, meson-fix-gcc48.patch.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 22 17:51:19 UTC 2020 - Callum Farmer <callumjfarmer13@gmail.com>
|
||||
|
||||
- Add meson-pr7461-remove-setuptools-dependency.patch: Fixes forced
|
||||
requirement on setuptools (gh#mesonbuild/meson#7461).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 15 09:00:59 UTC 2020 - Callum Farmer <callumjfarmer13@gmail.com>
|
||||
|
||||
- Update to version 0.55.0
|
||||
+ rpath removal now more careful
|
||||
+ Added ability to specify targets in `meson compile`
|
||||
+ Added test protocol for gtest
|
||||
+ meson.add_*_script methods accept new types
|
||||
+ Native and cross files now support string and list concatenation
|
||||
+ Ability to configure CMake subprojects with meson.subproject_options
|
||||
+ find_program: Fixes when the program has been overridden by executable
|
||||
+ Response files enabled on Linux
|
||||
+ `unstable-kconfig` module renamed to `unstable-keyval`
|
||||
+ Config tool based dependencies no longer search PATH for cross compiling
|
||||
+ String concatenation in meson_options.txt
|
||||
+ Clang coverage support
|
||||
+ Implicit dependency fallback
|
||||
+ Added ability to specify backend arguments in `meson compile`
|
||||
- Removed meson-fix-gnome-test.patch: contained in upstream
|
||||
- Changed meson-suse-ify-macros.patch: to be compatible with new
|
||||
version
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 26 16:51:35 UTC 2020 - Michael Gorse <mgorse@suse.com>
|
||||
|
||||
|
20
meson.spec
20
meson.spec
@ -28,7 +28,7 @@
|
||||
%{!?vim_data_dir:%global vim_data_dir %{_datadir}/vim}
|
||||
%bcond_with setuptools
|
||||
Name: meson%{name_ext}
|
||||
Version: 0.54.3
|
||||
Version: 0.55.1
|
||||
Release: 0
|
||||
Summary: Python-based build system
|
||||
License: Apache-2.0
|
||||
@ -41,16 +41,8 @@ Source2: meson.keyring
|
||||
Patch0: meson-suse-ify-macros.patch
|
||||
# PATCH-FIX-OPENSUSE meson-test-installed-bin.patch dimstar@opensuse.org -- We want the test suite to run against /usr/bin/meson coming from our meson package.
|
||||
Patch1: meson-test-installed-bin.patch
|
||||
# PATCH-FIX-OPENSUSE meson-restore-python3.4.patch -- Restore Python 3.4 support (reverts commit 0538009).
|
||||
Patch2: meson-restore-python3.4.patch
|
||||
# PATCH-FIX-OPENSUSE meson-suse-fix-llvm-3.8.patch -- Fix LLVM 3.8 tests.
|
||||
Patch3: meson-suse-fix-llvm-3.8.patch
|
||||
# PATCH-FIX-OPENSUSE meson-fix-gcc48.patch sor.alexei@meowr.ru -- Fix GCC 4.8 handling for openSUSE Leap 42.x.
|
||||
Patch4: meson-fix-gcc48.patch
|
||||
# PATCH-FEATURE-OPENSUSE meson-distutils.patch tchvatal@suse.com -- build and install using distutils instead of full setuptools
|
||||
Patch5: meson-distutils.patch
|
||||
# PATCH-FIX-UPSTREAM meson-fix-gnome-test.patch bsc#1173025 mgorse@suse.com -- fix GNOME test that sometimes fails.
|
||||
Patch6: meson-fix-gnome-test.patch
|
||||
Patch2: meson-distutils.patch
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
BuildRequires: python3-base
|
||||
@ -167,15 +159,9 @@ This package provides support for meson.build files in Vim.
|
||||
%setup -q -n meson-%{version}
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%if 0%{?suse_version} < 1500
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%endif
|
||||
%if !%{with setuptools}
|
||||
%patch5 -p1
|
||||
%patch2 -p1
|
||||
%endif
|
||||
%patch6 -p1
|
||||
|
||||
# We do not have gmock available at this moment - can't run the test suite for it
|
||||
rm -r "test cases/frameworks/3 gmock" \
|
||||
|
Loading…
Reference in New Issue
Block a user