Accepting request 648703 from devel:tools:building

- Update to version 0.48.1:
  * See https://github.com/mesonbuild/meson/milestone/31?closed=1
- Drop meson-Fix-handling-generated-desktop-files.patch: Fixed
  upstream. 

- Add meson-Fix-handling-generated-desktop-files.patch: Fix
  handling generated .desktop files.

- Require python3-setuptools.

- Update to version 0.48.0:
  * See http://mesonbuild.com/Release-notes-for-0-48-0.html
- Disable test_generate_gir_with_address_sanitizer with a regex,
  for it fails with ulimits defined in OBS.
- Test against Rust in meson-testsuite on Leap 15.0 or later.
- Rebase meson-suse-ify-macros.patch,
  meson-restore-python3.4.patch, meson-fix-gcc48.patch.

- Update to version 0.48.1:
  * See https://github.com/mesonbuild/meson/milestone/31?closed=1
- Drop meson-Fix-handling-generated-desktop-files.patch: Fixed
  upstream. 

- Add meson-Fix-handling-generated-desktop-files.patch: Fix
  handling generated .desktop files.

- Require python3-setuptools.

- Update to version 0.48.0:
  * See http://mesonbuild.com/Release-notes-for-0-48-0.html

OBS-URL: https://build.opensuse.org/request/show/648703
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/meson?expand=0&rev=37
This commit is contained in:
Dominique Leuenberger 2018-11-13 15:34:52 +00:00 committed by Git OBS Bridge
commit 010007db42
11 changed files with 263 additions and 129 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:92d8afd921751261e36151643464efd3394162f69efbe8cd53e0a66b1cf395eb
size 1267981

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEElRgfTu0U/fTkG1GNO/RpO/7rlCgFAluBEusACgkQO/RpO/7r
lCjyFhAAri6uNRpBQ963TaJo8NX7KfpS8SFU3Bt+HS1NKF69j3IKP/+097GOQffI
RoGs07zSJ3IKhico9tB64ToFlk7fJbvUITiSP0NDSkGVnVaK6Fcn8/FDM937I+8N
R2P5uLS4xMw0/VqiFAosysYFuWeIkUNdltW/PM3J4aXKNwi2MnGukUnFNMKHH/3O
sIaHAKVuYSIM+CJSXZKumjT/arw3qAvSNz/Kmo8MsGG4+pYyQDLZ16evDTfxELKW
4MvUSpaspQi7X/J78HIyakUfc2DiVYV9pGEsMvJ4+1hg6IwiXjRmzTpYY3q3LDU4
mJPC5JovdbvS3lByE364ovOBYLLn8D0pP8jALWARzYq2E2Ue/+ATyiELw8ZQ21yw
GMo5Bh0efZ7TkL8kC++zpbJayN13IdiRT6CfpUh5Dew2QK+a3fwnBr/1zWGrHB4M
7uuZtSzq5H8g8LD/CqwUf1ohdAY4k4MVPuEdVvoWzzAiqYIhTXIFHuaYJW5cVVtn
vsGknWUuvsc5e+Cp/qwac+LjKJA308/k+aaAhxAP7oFDgWT6+VrTitIn7TWzFS+p
mtVwsQpKFT0PMuAFYnWLJCGpeAmReD5B1K0e4ULYSSl4MI9AysV8oIPQtmqeyi9z
1AeN64X0e55qBVptIa4IuT434bZe+RkTtnsvwwzLd86dMbbWACo=
=suvK
-----END PGP SIGNATURE-----

3
meson-0.48.1.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:425d12edbb81498314926afa93a3eb2fca4ca6929cbe0f8abeb6ab45d1d9fa8f
size 1310184

16
meson-0.48.1.tar.gz.asc Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEElRgfTu0U/fTkG1GNO/RpO/7rlCgFAlvHYC8ACgkQO/RpO/7r
lChNQg/+PEvQNB7bEugB3XxVoYyFNzLBeByZ7wRFTAGbJflIZj6ar9OaoPTQOHZX
WdQ5oZr2pYx5ZNAoDWJ2B2maUBo3HIR35xoAV83vC6VJEkFr+A6DrtXVFMcgiPhv
v1wWEFvAr2gyVde9dFi311ex1N/k5pfQDZsyAsBFiIOMuLbVgYXCOKZ1e5LhBQU7
n4q/mfpLwhMJ8LxXp1j9sdaGu1hEarF7qQisyb8Le9bPQdtKCA+j1H48OUefuSlj
UT92BOuV1v8dI8gknoe5ISpXR2CIDUjDUbcKz2orZo3C6w/hgZYD/TmA3hB/Sr1/
0wDFpsRpXJsE/G0zSZNvAN9bdsEGPbeTF+4SaNAMI4kR8jxuCT0Koe/Q/oE40i9o
eIIh8cwQ85G6n4Wb2ABdzrXqog4kyQniq1qd87XcFNPHHqV58CoRJ3ZNpa9/XHld
DyGugVWeoj2+DMQKnGkT9llM+p40aZS2hUT/TDjjhQ+DZpX2a60ApLeDhYVqt15t
/6Dyxps3K/s5TCacyji4u0zxvZPtkh44zsFHScf4LZa/t/riJIjBbupcMzFIfF85
ZAe/XD4JmwzdnOAbVcjfeFkYk7XBg5NxZqPTO3JBfyRt1XQ8a+I/NigTXCU89SzL
aINOxnYHqcsSvHbBrMrJcF/jrGBcptbvOCNVa8atLOk8vx5sjrk=
=ZJhg
-----END PGP SIGNATURE-----

View File

@ -1,17 +1,17 @@
--- a/mesonbuild/compilers/cpp.py --- a/mesonbuild/compilers/cpp.py
+++ b/mesonbuild/compilers/cpp.py +++ b/mesonbuild/compilers/cpp.py
@@ -80,8 +80,8 @@ class ClangCPPCompiler(ClangCompiler, CP @@ -137,8 +137,8 @@ class ClangCPPCompiler(ClangCompiler, CP
def get_options(self): def get_options(self):
opts = CPPCompiler.get_options(self) opts = CPPCompiler.get_options(self)
opts.update({'cpp_std': coredata.UserComboOption('cpp_std', 'C++ language standard to use', 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', - ['none', 'c++98', 'c++03', 'c++11', 'c++14', 'c++17', 'c++1z', 'c++2a',
- 'gnu++11', 'gnu++14', 'gnu++17', 'gnu++1z'], - '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', + ['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++11', 'gnu++1y', 'gnu++14', 'gnu++17', 'gnu++1z', 'gnu++2a'],
'none')}) 'none')})
return opts return opts
@@ -111,8 +111,8 @@ class ArmclangCPPCompiler(ArmclangCompil @@ -168,8 +168,8 @@ class ArmclangCPPCompiler(ArmclangCompil
def get_options(self): def get_options(self):
opts = CPPCompiler.get_options(self) opts = CPPCompiler.get_options(self)
opts.update({'cpp_std': coredata.UserComboOption('cpp_std', 'C++ language standard to use', opts.update({'cpp_std': coredata.UserComboOption('cpp_std', 'C++ language standard to use',
@ -22,24 +22,24 @@
'none')}) 'none')})
return opts return opts
@@ -137,10 +137,12 @@ class GnuCPPCompiler(GnuCompiler, CPPCom @@ -194,10 +194,12 @@ class GnuCPPCompiler(GnuCompiler, CPPCom
'3': default_warn_args + ['-Wextra', '-Wpedantic']} '3': default_warn_args + ['-Wextra', '-Wpedantic']}
def get_options(self): def get_options(self):
+ cpp_stds = ['c++98', 'c++03', 'c++11', 'c++1y', 'gnu++11', 'gnu++1y'] + cpp_stds = ['c++98', 'c++03', 'c++11', 'c++1y', 'gnu++11', 'gnu++1y']
+ if version_compare(self.version, '>=5.0.0'): + if version_compare(self.version, '>=5.0.0'):
+ cpp_stds += ['c++14', 'c++17', 'c++1z', 'gnu++14', 'gnu++17', 'gnu++1z'] + cpp_stds += ['c++14', 'c++17', 'c++1z', 'c++2a', 'gnu++14', 'gnu++17', 'gnu++1z', 'gnu++2a']
opts = CPPCompiler.get_options(self) opts = CPPCompiler.get_options(self)
opts.update({'cpp_std': coredata.UserComboOption('cpp_std', 'C++ language standard to use', 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', - ['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++03', 'gnu++11', 'gnu++14', 'gnu++17', 'gnu++1z', 'gnu++2a'],
+ ['none'] + cpp_stds, + ['none'] + cpp_stds,
'none'), 'none'),
'cpp_debugstl': coredata.UserBooleanOption('cpp_debugstl', 'cpp_debugstl': coredata.UserBooleanOption('cpp_debugstl',
'STL debug mode', 'STL debug mode',
@@ -211,7 +213,7 @@ class IntelCPPCompiler(IntelCompiler, CP @@ -271,7 +273,7 @@ class IntelCPPCompiler(IntelCompiler, CP
c_stds = [] c_stds = ['c++98', 'c++03']
g_stds = ['gnu++98'] g_stds = ['gnu++98', 'gnu++03']
if version_compare(self.version, '>=15.0.0'): if version_compare(self.version, '>=15.0.0'):
- c_stds += ['c++11', 'c++14'] - c_stds += ['c++11', 'c++14']
+ c_stds += ['c++11', 'c++1y', 'c++14'] + c_stds += ['c++11', 'c++1y', 'c++14']
@ -48,7 +48,7 @@
c_stds += ['c++17'] c_stds += ['c++17']
--- a/mesonbuild/minit.py --- a/mesonbuild/minit.py
+++ b/mesonbuild/minit.py +++ b/mesonbuild/minit.py
@@ -149,7 +149,7 @@ int main(int argc, char **argv) {{ @@ -143,7 +143,7 @@ int main(int argc, char **argv) {{
hello_cpp_meson_template = '''project('{project_name}', 'cpp', hello_cpp_meson_template = '''project('{project_name}', 'cpp',
version : '{version}', version : '{version}',
default_options : ['warning_level=3', default_options : ['warning_level=3',
@ -57,7 +57,7 @@
exe = executable('{exe_name}', '{source_name}', exe = executable('{exe_name}', '{source_name}',
install : true) install : true)
@@ -220,7 +220,7 @@ int main(int argc, char **argv) {{ @@ -214,7 +214,7 @@ int main(int argc, char **argv) {{
lib_cpp_meson_template = '''project('{project_name}', 'cpp', lib_cpp_meson_template = '''project('{project_name}', 'cpp',
version : '{version}', version : '{version}',
@ -66,7 +66,7 @@
# These arguments are only used to build the shared library # These arguments are only used to build the shared library
# not the executables that use the library. # not the executables that use the library.
@@ -416,7 +416,7 @@ def create_meson_build(options): @@ -404,7 +404,7 @@ def create_meson_build(options):
default_options = ['warning_level=3'] default_options = ['warning_level=3']
if options.language == 'cpp': if options.language == 'cpp':
# This shows how to set this very common option. # This shows how to set this very common option.
@ -75,8 +75,8 @@
# If we get a meson.build autoformatter one day, this code could # If we get a meson.build autoformatter one day, this code could
# be simplified quite a bit. # be simplified quite a bit.
formatted_default_options = ', '.join("'{}'".format(x) for x in default_options) formatted_default_options = ', '.join("'{}'".format(x) for x in default_options)
--- "a/test cases/unit/16 prebuilt shared/patron.c" --- "a/test cases/unit/17 prebuilt shared/patron.c"
+++ "b/test cases/unit/16 prebuilt shared/patron.c" +++ "b/test cases/unit/17 prebuilt shared/patron.c"
@@ -5,4 +5,5 @@ int main(int argc, char **argv) { @@ -5,4 +5,5 @@ int main(int argc, char **argv) {
printf("You are standing outside the Great Library of Alexandria.\n"); printf("You are standing outside the Great Library of Alexandria.\n");
printf("You decide to go inside.\n\n"); printf("You decide to go inside.\n\n");

View File

@ -1,15 +1,15 @@
--- a/mesonbuild/backend/ninjabackend.py --- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py
@@ -31,7 +31,7 @@ from .. import compilers @@ -32,7 +32,7 @@ from .. import compilers
from ..compilers import CompilerArgs, CCompiler, get_macos_dylib_install_name from ..compilers import CompilerArgs, CCompiler
from ..linkers import ArLinker from ..linkers import ArLinker
from ..mesonlib import File, MesonException, OrderedSet 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
+from ..mesonlib import get_compiler_for_source, has_path_sep, commonpath +from ..mesonlib import get_compiler_for_source, has_path_sep, commonpath
from .backends import CleanTrees, InstallData, TargetInstallData from .backends import CleanTrees
from ..build import InvalidArguments from ..build import InvalidArguments
@@ -1209,8 +1209,8 @@ int dummy; @@ -1011,8 +1011,8 @@ int dummy;
# Check if the vala file is in a subdir of --basedir # 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_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) abs_vala_file = os.path.join(self.environment.get_build_dir(), vala_file)
@ -22,16 +22,16 @@
path_to_target = os.path.join(self.build_to_src, target.get_subdir()) path_to_target = os.path.join(self.build_to_src, target.get_subdir())
--- a/mesonbuild/coredata.py --- a/mesonbuild/coredata.py
+++ b/mesonbuild/coredata.py +++ b/mesonbuild/coredata.py
@@ -17,7 +17,7 @@ import pickle, os, uuid, shlex @@ -18,7 +18,7 @@ import sys
import sys
from pathlib import PurePath from pathlib import PurePath
from collections import OrderedDict from collections import OrderedDict
-from .mesonlib import MesonException from .mesonlib import MesonException
+from .mesonlib import MesonException, commonpath -from .mesonlib import default_libdir, default_libexecdir, default_prefix
from .mesonlib import default_libdir, default_libexecdir, default_prefix +from .mesonlib import default_libdir, default_libexecdir, default_prefix, commonpath
from .wrap import WrapMode
import ast import ast
import argparse import argparse
@@ -300,7 +300,7 @@ class CoreData: @@ -302,7 +302,7 @@ class CoreData:
# commonpath will always return a path in the native format, so we # commonpath will always return a path in the native format, so we
# must use pathlib.PurePath to do the same conversion before # must use pathlib.PurePath to do the same conversion before
# comparing. # comparing.
@ -40,11 +40,44 @@
m = 'The value of the {!r} option is {!r} which must be a ' \ m = 'The value of the {!r} option is {!r} which must be a ' \
'subdir of the prefix {!r}.\nNote that if you pass a ' \ 'subdir of the prefix {!r}.\nNote that if you pass a ' \
'relative path, it is assumed to be a subdir of prefix.' 'relative path, it is assumed to be a subdir of prefix.'
--- a/mesonbuild/interpreterbase.py
+++ b/mesonbuild/interpreterbase.py
@@ -574,7 +574,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:
@@ -661,7 +662,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 --- a/mesonbuild/mesonlib.py
+++ b/mesonbuild/mesonlib.py +++ b/mesonbuild/mesonlib.py
@@ -1069,6 +1069,30 @@ def detect_subprojects(spdir_name, curre @@ -19,7 +19,8 @@ import sys
def get_error_location_string(fname, lineno): import stat
return '{}:{}:'.format(fname, lineno) import time
import platform, subprocess, operator, os, shutil, re
-import collections
+import collections
+import collections.abc
from mesonbuild import mlog
have_fcntl = False
@@ -1062,6 +1062,30 @@ def substring_is_in_list(substr, strlist
return True
return False
+def commonpath(paths): +def commonpath(paths):
+ ''' + '''
@ -70,12 +103,12 @@
+ common = pathlib.PurePath(new) + common = pathlib.PurePath(new)
+ return str(common) + return str(common)
+ +
class OrderedSet(collections.MutableSet): class OrderedSet(collections.abc.MutableSet):
"""A set that preserves the order in which items are added, by first """A set that preserves the order in which items are added, by first
insertion. insertion.
--- a/mesonbuild/mesonmain.py --- a/mesonbuild/mesonmain.py
+++ b/mesonbuild/mesonmain.py +++ b/mesonbuild/mesonmain.py
@@ -245,8 +245,8 @@ def set_meson_command(mainfile): @@ -269,8 +269,8 @@ def set_meson_command(mainfile):
mlog.log('meson_command is {!r}'.format(mesonlib.meson_command)) mlog.log('meson_command is {!r}'.format(mesonlib.meson_command))
def run(original_args, mainfile): def run(original_args, mainfile):
@ -99,6 +132,17 @@
else: else:
raise raise
--- a/mesonbuild/modules/python.py
+++ b/mesonbuild/modules/python.py
@@ -512,7 +512,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 --- a/mesonbuild/mtest.py
+++ b/mesonbuild/mtest.py +++ b/mesonbuild/mtest.py
@@ -115,7 +115,12 @@ def returncode_to_status(retcode): @@ -115,7 +115,12 @@ def returncode_to_status(retcode):
@ -129,6 +173,39 @@
except ValueError: except ValueError:
signame = 'SIGinvalid' signame = 'SIGinvalid'
return '(exit status %d or signal %d %s)' % (retcode, signum, signame) return '(exit status %d or signal %d %s)' % (retcode, signum, signame)
--- a/mesonbuild/scripts/dist.py
+++ b/mesonbuild/scripts/dist.py
@@ -87,8 +87,8 @@ def run_dist_scripts(dist_root, dist_scr
silent=True)
if not ep.found():
sys.exit('Script %s could not be found in dist directory.' % d)
- pc = subprocess.run(ep.command, env=env)
- if pc.returncode != 0:
+ pc = subprocess.call(ep.command, env=env)
+ if pc != 0:
sys.exit('Dist script errored out.')
def create_dist_git(dist_name, src_root, bld_root, dist_sub, dist_scripts):
--- 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, is_windows, commonpath
from . import destdir_join
parser = argparse.ArgumentParser()
@@ -107,7 +107,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 --- a/run_meson_command_tests.py
+++ b/run_meson_command_tests.py +++ b/run_meson_command_tests.py
@@ -18,6 +18,7 @@ import os @@ -18,6 +18,7 @@ import os
@ -182,11 +259,11 @@
import shutil import shutil
+import sys +import sys
import unittest import unittest
from unittest import mock import platform
from configparser import ConfigParser from itertools import chain
@@ -689,6 +690,24 @@ class InternalTests(unittest.TestCase): @@ -892,6 +893,24 @@ class DataTests(unittest.TestCase):
PkgConfigDependency.pkgbin_cache = {} defined = set([a.strip() for a in res.group().split('\\')][1:])
PkgConfigDependency.class_pkgbin = None self.assertEqual(defined, set(chain(interp.funcs.keys(), interp.builtin.keys())))
+ def test_commonpath(self): + def test_commonpath(self):
+ from os.path import sep + from os.path import sep
@ -209,7 +286,7 @@
class BasePlatformTests(unittest.TestCase): class BasePlatformTests(unittest.TestCase):
def setUp(self): def setUp(self):
@@ -769,9 +788,16 @@ class BasePlatformTests(unittest.TestCas @@ -972,9 +991,16 @@ class BasePlatformTests(unittest.TestCas
# If this call hangs CI will just abort. It is very hard to distinguish # 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 # between CI issue and test bug in that case. Set timeout and fail loud
# instead. # instead.
@ -229,7 +306,7 @@
print(p.stdout) print(p.stdout)
if p.returncode != 0: if p.returncode != 0:
if 'MESON_SKIP_TEST' in p.stdout: if 'MESON_SKIP_TEST' in p.stdout:
@@ -2497,17 +2523,30 @@ recommended as it is not supported on so @@ -2698,17 +2724,23 @@ recommended as it is not supported on so
of = open(mfile, 'w') of = open(mfile, 'w')
of.write("project('foobar', 'c')\n") of.write("project('foobar', 'c')\n")
of.close() of.close()
@ -255,23 +332,16 @@
- cwd=builddir, - cwd=builddir,
- stdout=subprocess.DEVNULL, - stdout=subprocess.DEVNULL,
- stderr=subprocess.DEVNULL) - stderr=subprocess.DEVNULL)
+ if sys.version_info >= (3, 5): + subprocess.check_call(self.setup_command,
+ subprocess.run(self.setup_command, + cwd=builddir,
+ check=True, + stdout=subprocess.DEVNULL,
+ cwd=builddir, + stderr=subprocess.DEVNULL)
+ stdout=subprocess.DEVNULL,
+ stderr=subprocess.DEVNULL)
+ else:
+ subprocess.check_call(self.setup_command,
+ cwd=builddir,
+ stdout=subprocess.DEVNULL,
+ stderr=subprocess.DEVNULL)
class FailureTests(BasePlatformTests): def get_opts_as_dict(self):
''' result = {}
--- a/setup.py --- a/setup.py
+++ b/setup.py +++ b/setup.py
@@ -19,9 +19,9 @@ import sys @@ -18,9 +18,9 @@ import sys
from mesonbuild.coredata import version from mesonbuild.coredata import version
@ -282,9 +352,9 @@
+ 'Meson requires Python 3.4.0 or greater') + 'Meson requires Python 3.4.0 or greater')
sys.exit(1) sys.exit(1)
# We need to support Python installations that have nothing but the basic from setuptools import setup
--- "a/test cases/common/193 find override/subdir/converter.py" --- "a/test cases/common/188 find override/subdir/converter.py"
+++ "b/test cases/common/193 find override/subdir/converter.py" +++ "b/test cases/common/188 find override/subdir/converter.py"
@@ -10,6 +10,7 @@ ftempl = '''int %s() { @@ -10,6 +10,7 @@ ftempl = '''int %s() {
} }
''' '''
@ -293,11 +363,11 @@
- -
-pathlib.Path(ofilename).write_text(ftempl % d) -pathlib.Path(ofilename).write_text(ftempl % d)
+with pathlib.Path(ifilename).open('r') as f: +with pathlib.Path(ifilename).open('r') as f:
+ d = f.readline().split('\n')[0].strip() + d = f.readline().strip()
+with pathlib.Path(ofilename).open('w') as f: +with pathlib.Path(ofilename).open('w') as f:
+ f.write(ftempl % d) + f.write(ftempl % d)
--- "a/test cases/common/193 find override/subdir/gencodegen.py.in" --- "a/test cases/common/188 find override/subdir/gencodegen.py.in"
+++ "b/test cases/common/193 find override/subdir/gencodegen.py.in" +++ "b/test cases/common/188 find override/subdir/gencodegen.py.in"
@@ -10,6 +10,7 @@ ftempl = '''int %s() { @@ -10,6 +10,7 @@ ftempl = '''int %s() {
} }
''' '''
@ -306,19 +376,30 @@
- -
-pathlib.Path(ofilename).write_text(ftempl % d) -pathlib.Path(ofilename).write_text(ftempl % d)
+with pathlib.Path(ifilename).open('r') as f: +with pathlib.Path(ifilename).open('r') as f:
+ d = f.readline().split('\n')[0].strip() + d = f.readline().strip()
+with pathlib.Path(ofilename).open('w') as f: +with pathlib.Path(ofilename).open('w') as f:
+ f.write(ftempl % d) + f.write(ftempl % d)
--- "a/test cases/windows/14 test argument extra paths/test/test_run_exe.py" --- "a/test cases/unit/35 dist script/replacer.py"
+++ "b/test cases/windows/14 test argument extra paths/test/test_run_exe.py" +++ "b/test cases/unit/35 dist script/replacer.py"
@@ -7,6 +7,9 @@ if __name__ == '__main__': @@ -7,6 +7,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('"incorrect"', '"correct"')
-modfile.write_text(contents)
+with modfile.open('w') as f:
+ f.write(contents)
--- "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') parser.add_argument('prog')
args = parser.parse_args() args = parser.parse_args()
- res = subprocess.run(args.prog) - res = subprocess.run(args.prog)
+ if sys.version_info >= (3, 5): + ret = subprocess.call(args.prog)
+ res = subprocess.run(args.prog)
+ else:
+ res = subprocess.call(args.prog)
sys.exit(res.returncode - 42) - sys.exit(res.returncode - 42)
+ sys.exit(ret - 42)

View File

@ -1,29 +1,24 @@
Index: meson-0.45.0/data/macros.meson --- a/data/macros.meson
=================================================================== +++ b/data/macros.meson
--- meson-0.45.0.orig/data/macros.meson @@ -1,9 +1,15 @@
+++ meson-0.45.0/data/macros.meson
@@ -1,12 +1,14 @@
%__meson %{_bindir}/meson %__meson %{_bindir}/meson
%__meson_wrap_mode nodownload %__meson_wrap_mode nodownload
%__meson_auto_features enabled
+%_vpath_srcdir . +%_vpath_srcdir .
+%_vpath_builddir build +%_vpath_builddir build
%meson \ %meson \
- export CFLAGS="${CFLAGS:-%__global_cflags}" \ - %set_build_flags \
- export CXXFLAGS="${CXXFLAGS:-%__global_cxxflags}" \
- export FFLAGS="${FFLAGS:-%__global_fflags}" \
- export FCFLAGS="${FCFLAGS:-%__global_fcflags}" \
- export LDFLAGS="${LDFLAGS:-%__global_ldflags}" \
+ export LANG=C.UTF-8 \ + export LANG=C.UTF-8 \
+ export CFLAGS="${CFLAGS:-%optflags}" \ + export CFLAGS="${CFLAGS:-%optflags}" \
+ export CXXFLAGS="${CXXFLAGS:-%optflags}" \ + export CXXFLAGS="${CXXFLAGS:-%optflags}" \
+ export FFLAGS="${FFLAGS:-%optflags}" \ + export FFLAGS="${FFLAGS:-%optflags}" \
+ export FCFLAGS="${FCFLAGS:-%optflags}" \ + export FCFLAGS="${FCFLAGS:-%optflags}" \
%{__meson} \\\ %{shrink:%{__meson} \
--buildtype=plain \\\ --buildtype=plain \
--prefix=%{_prefix} \\\ --prefix=%{_prefix} \
@@ -27,12 +29,15 @@ @@ -25,12 +31,15 @@
%{nil} %{nil}}
%meson_build \ %meson_build \
+ export LANG=C.UTF-8 \ + export LANG=C.UTF-8 \

View File

@ -1,3 +1,33 @@
-------------------------------------------------------------------
Thu Oct 18 12:52:39 UTC 2018 - bjorn.lie@gmail.com
- Update to version 0.48.1:
* See https://github.com/mesonbuild/meson/milestone/31?closed=1
- Drop meson-Fix-handling-generated-desktop-files.patch: Fixed
upstream.
-------------------------------------------------------------------
Fri Oct 5 22:21:26 UTC 2018 - bjorn.lie@gmail.com
- Add meson-Fix-handling-generated-desktop-files.patch: Fix
handling generated .desktop files.
-------------------------------------------------------------------
Mon Oct 1 09:53:58 UTC 2018 - Dominique Leuenberger <dimstar@opensuse.org>
- Require python3-setuptools.
-------------------------------------------------------------------
Fri Sep 28 15:39:17 UTC 2018 - sor.alexei@meowr.ru
- Update to version 0.48.0:
* See http://mesonbuild.com/Release-notes-for-0-48-0.html
- Disable test_generate_gir_with_address_sanitizer with a regex,
for it fails with ulimits defined in OBS.
- Test against Rust in meson-testsuite on Leap 15.0 or later.
- Rebase meson-suse-ify-macros.patch,
meson-restore-python3.4.patch, meson-fix-gcc48.patch.
------------------------------------------------------------------- -------------------------------------------------------------------
Sat Aug 25 17:52:38 UTC 2018 - sor.alexei@meowr.ru Sat Aug 25 17:52:38 UTC 2018 - sor.alexei@meowr.ru

View File

@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9) # license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative. # published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/ # Please submit bugfixes or comments via https://bugs.opensuse.org/
# #
@ -24,7 +24,7 @@
%endif %endif
%define _name mesonbuild %define _name mesonbuild
Name: meson%{name_ext} Name: meson%{name_ext}
Version: 0.47.2 Version: 0.48.1
Release: 0 Release: 0
Summary: Python-based build system Summary: Python-based build system
License: Apache-2.0 License: Apache-2.0
@ -43,7 +43,9 @@ Patch2: meson-suse-fix-llvm-3.8.patch
Patch3: meson-restore-python3.4.patch Patch3: meson-restore-python3.4.patch
# PATCH-FIX-OPENSUSE meson-fix-gcc48.patch sor.alexei@meowr.ru -- Fix GCC 4.8 handling for openSUSE Leap 42.x. # 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 Patch4: meson-fix-gcc48.patch
BuildRequires: python3-base BuildRequires: python3-base
BuildRequires: python3-setuptools
BuildArch: noarch BuildArch: noarch
%if %{testsuite} %if %{testsuite}
BuildRequires: bison BuildRequires: bison
@ -70,7 +72,6 @@ BuildRequires: ninja
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: python3-devel >= 3.4 BuildRequires: python3-devel >= 3.4
BuildRequires: python3-gobject BuildRequires: python3-gobject
BuildRequires: python3-setuptools
BuildRequires: vala BuildRequires: vala
BuildRequires: vulkan-devel BuildRequires: vulkan-devel
BuildRequires: zlib-devel-static BuildRequires: zlib-devel-static
@ -88,11 +89,14 @@ BuildRequires: libboost_log-devel
BuildRequires: libboost_system-devel BuildRequires: libboost_system-devel
BuildRequires: libboost_test-devel BuildRequires: libboost_test-devel
BuildRequires: libboost_thread-devel BuildRequires: libboost_thread-devel
BuildRequires: rust
BuildRequires: rust-std
%else %else
BuildRequires: boost-devel BuildRequires: boost-devel
%endif %endif
%else %else
Requires: ninja Requires: ninja
Requires: python3-setuptools
Requires: python3-xml Requires: python3-xml
# meson-gui was last used in openSUSE Leap 42.1. # meson-gui was last used in openSUSE Leap 42.1.
Provides: meson-gui = %{version} Provides: meson-gui = %{version}
@ -142,8 +146,11 @@ sed -i "/static/d" test\ cases/frameworks/1\ boost/meson.build
sed -i "s/foreach static : \[true, false\]/foreach static : \[false\]/" test\ cases/frameworks/15\ llvm/meson.build sed -i "s/foreach static : \[true, false\]/foreach static : \[false\]/" test\ cases/frameworks/15\ llvm/meson.build
# We do not have gmock available at this moment - can't run the test suite for it # We do not have gmock available at this moment - can't run the test suite for it
rm -rf "test cases/frameworks/3 gmock" \ rm -r "test cases/frameworks/3 gmock" \
"test cases/objc/2 nsstring" "test cases/objc/2 nsstring"
# AddressSanitizer fails here because of ulimit.
sed -i "/def test_generate_gir_with_address_sanitizer/s/$/\n raise unittest.SkipTest('ulimit')/" run_unittests.py
# Remove hashbang from non-exec script # Remove hashbang from non-exec script
sed -i '1{/\/usr\/bin\/env/d;}' ./mesonbuild/rewriter.py sed -i '1{/\/usr\/bin\/env/d;}' ./mesonbuild/rewriter.py
@ -187,10 +194,6 @@ python3 run_tests.py
%license COPYING %license COPYING
%if !%{testsuite} %if !%{testsuite}
%{_bindir}/meson %{_bindir}/meson
%{_bindir}/mesonconf
%{_bindir}/mesonintrospect
%{_bindir}/mesontest
%{_bindir}/wraptool
%{python3_sitelib}/%{_name}/ %{python3_sitelib}/%{_name}/
%{python3_sitelib}/meson-* %{python3_sitelib}/meson-*
%dir %{_datadir}/polkit-1/ %dir %{_datadir}/polkit-1/
@ -198,10 +201,6 @@ python3 run_tests.py
%{_datadir}/polkit-1/actions/com.mesonbuild.install.policy %{_datadir}/polkit-1/actions/com.mesonbuild.install.policy
%{_rpmconfigdir}/macros.d/macros.meson %{_rpmconfigdir}/macros.d/macros.meson
%{_mandir}/man1/meson.1%{?ext_man} %{_mandir}/man1/meson.1%{?ext_man}
%{_mandir}/man1/mesonconf.1%{?ext_man}
%{_mandir}/man1/mesonintrospect.1%{?ext_man}
%{_mandir}/man1/mesontest.1%{?ext_man}
%{_mandir}/man1/wraptool.1%{?ext_man}
%endif %endif
%if !%{testsuite} %if !%{testsuite}

View File

@ -1,3 +1,33 @@
-------------------------------------------------------------------
Thu Oct 18 12:52:39 UTC 2018 - bjorn.lie@gmail.com
- Update to version 0.48.1:
* See https://github.com/mesonbuild/meson/milestone/31?closed=1
- Drop meson-Fix-handling-generated-desktop-files.patch: Fixed
upstream.
-------------------------------------------------------------------
Fri Oct 5 22:21:26 UTC 2018 - bjorn.lie@gmail.com
- Add meson-Fix-handling-generated-desktop-files.patch: Fix
handling generated .desktop files.
-------------------------------------------------------------------
Mon Oct 1 09:53:58 UTC 2018 - Dominique Leuenberger <dimstar@opensuse.org>
- Require python3-setuptools.
-------------------------------------------------------------------
Fri Sep 28 15:39:17 UTC 2018 - sor.alexei@meowr.ru
- Update to version 0.48.0:
* See http://mesonbuild.com/Release-notes-for-0-48-0.html
- Disable test_generate_gir_with_address_sanitizer with a regex,
for it fails with ulimits defined in OBS.
- Test against Rust in meson-testsuite on Leap 15.0 or later.
- Rebase meson-suse-ify-macros.patch,
meson-restore-python3.4.patch, meson-fix-gcc48.patch.
------------------------------------------------------------------- -------------------------------------------------------------------
Sat Aug 25 17:52:38 UTC 2018 - sor.alexei@meowr.ru Sat Aug 25 17:52:38 UTC 2018 - sor.alexei@meowr.ru

View File

@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9) # license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative. # published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/ # Please submit bugfixes or comments via https://bugs.opensuse.org/
# #
@ -24,7 +24,7 @@
%endif %endif
%define _name mesonbuild %define _name mesonbuild
Name: meson%{name_ext} Name: meson%{name_ext}
Version: 0.47.2 Version: 0.48.1
Release: 0 Release: 0
Summary: Python-based build system Summary: Python-based build system
License: Apache-2.0 License: Apache-2.0
@ -43,7 +43,9 @@ Patch2: meson-suse-fix-llvm-3.8.patch
Patch3: meson-restore-python3.4.patch Patch3: meson-restore-python3.4.patch
# PATCH-FIX-OPENSUSE meson-fix-gcc48.patch sor.alexei@meowr.ru -- Fix GCC 4.8 handling for openSUSE Leap 42.x. # 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 Patch4: meson-fix-gcc48.patch
BuildRequires: python3-base BuildRequires: python3-base
BuildRequires: python3-setuptools
BuildArch: noarch BuildArch: noarch
%if %{testsuite} %if %{testsuite}
BuildRequires: bison BuildRequires: bison
@ -70,7 +72,6 @@ BuildRequires: ninja
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: python3-devel >= 3.4 BuildRequires: python3-devel >= 3.4
BuildRequires: python3-gobject BuildRequires: python3-gobject
BuildRequires: python3-setuptools
BuildRequires: vala BuildRequires: vala
BuildRequires: vulkan-devel BuildRequires: vulkan-devel
BuildRequires: zlib-devel-static BuildRequires: zlib-devel-static
@ -88,11 +89,14 @@ BuildRequires: libboost_log-devel
BuildRequires: libboost_system-devel BuildRequires: libboost_system-devel
BuildRequires: libboost_test-devel BuildRequires: libboost_test-devel
BuildRequires: libboost_thread-devel BuildRequires: libboost_thread-devel
BuildRequires: rust
BuildRequires: rust-std
%else %else
BuildRequires: boost-devel BuildRequires: boost-devel
%endif %endif
%else %else
Requires: ninja Requires: ninja
Requires: python3-setuptools
Requires: python3-xml Requires: python3-xml
# meson-gui was last used in openSUSE Leap 42.1. # meson-gui was last used in openSUSE Leap 42.1.
Provides: meson-gui = %{version} Provides: meson-gui = %{version}
@ -142,8 +146,11 @@ sed -i "/static/d" test\ cases/frameworks/1\ boost/meson.build
sed -i "s/foreach static : \[true, false\]/foreach static : \[false\]/" test\ cases/frameworks/15\ llvm/meson.build sed -i "s/foreach static : \[true, false\]/foreach static : \[false\]/" test\ cases/frameworks/15\ llvm/meson.build
# We do not have gmock available at this moment - can't run the test suite for it # We do not have gmock available at this moment - can't run the test suite for it
rm -rf "test cases/frameworks/3 gmock" \ rm -r "test cases/frameworks/3 gmock" \
"test cases/objc/2 nsstring" "test cases/objc/2 nsstring"
# AddressSanitizer fails here because of ulimit.
sed -i "/def test_generate_gir_with_address_sanitizer/s/$/\n raise unittest.SkipTest('ulimit')/" run_unittests.py
# Remove hashbang from non-exec script # Remove hashbang from non-exec script
sed -i '1{/\/usr\/bin\/env/d;}' ./mesonbuild/rewriter.py sed -i '1{/\/usr\/bin\/env/d;}' ./mesonbuild/rewriter.py
@ -187,10 +194,6 @@ python3 run_tests.py
%license COPYING %license COPYING
%if !%{testsuite} %if !%{testsuite}
%{_bindir}/meson %{_bindir}/meson
%{_bindir}/mesonconf
%{_bindir}/mesonintrospect
%{_bindir}/mesontest
%{_bindir}/wraptool
%{python3_sitelib}/%{_name}/ %{python3_sitelib}/%{_name}/
%{python3_sitelib}/meson-* %{python3_sitelib}/meson-*
%dir %{_datadir}/polkit-1/ %dir %{_datadir}/polkit-1/
@ -198,10 +201,6 @@ python3 run_tests.py
%{_datadir}/polkit-1/actions/com.mesonbuild.install.policy %{_datadir}/polkit-1/actions/com.mesonbuild.install.policy
%{_rpmconfigdir}/macros.d/macros.meson %{_rpmconfigdir}/macros.d/macros.meson
%{_mandir}/man1/meson.1%{?ext_man} %{_mandir}/man1/meson.1%{?ext_man}
%{_mandir}/man1/mesonconf.1%{?ext_man}
%{_mandir}/man1/mesonintrospect.1%{?ext_man}
%{_mandir}/man1/mesontest.1%{?ext_man}
%{_mandir}/man1/wraptool.1%{?ext_man}
%endif %endif
%if !%{testsuite} %if !%{testsuite}