Accepting request 666689 from devel:tools:building

OBS-URL: https://build.opensuse.org/request/show/666689
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/meson?expand=0&rev=39
This commit is contained in:
Dominique Leuenberger 2019-01-28 19:46:17 +00:00 committed by Git OBS Bridge
commit e3d795f7e4
16 changed files with 332 additions and 1000 deletions

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>test</package>
</multibuild>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:39ead8bfd0dc9c7b0af15e23ea975c864600bf871fba279c9918625bb9a85506
size 1310363

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEElRgfTu0U/fTkG1GNO/RpO/7rlCgFAlvkvcUACgkQO/RpO/7r
lCgoag//SSYQYHJIBa09Ty4LDdJvsdCOa2YGhu2mKQROjnngxvhR15Nb16DRQ3k0
PgoCRHLEp6I/WQRtn8lXpFpge8BwbBmTw8+vgGGpmk4ayn+dFeahijAh1j9G8jS0
BNoYC6/UGd0Y7xGa3kDxUdJVF0CaUEB+hMQvRqvz/eO6C7ujs0Me7JuVxYlg4FSi
hF3BeWBBp8BtlfDpYO7vhllLceMKpzN6rjwtu1/B43diVFS5Nk6j4gVSFj5LHrUo
US5av424YO5QIiJX88AFwXunlxQr7wPREEqehKJmuK/lxBMFaCooXHdVlJR9smJn
LCH6iec6PiRxRTCrqsHaR8OmxkmtwWLLHniMoB386jX5rSYQpB8tAcTzhl9cxj8O
hUT+oe549UVoF9Xqvbv3Rx7KGPe3uweFHAOrelCUxU52hfBm2jlPQqcUeKGVJeWe
fZVfUDoon4jjsIepwnG2mS7ISVgx3UtvqCb2VH6azEpAR4LzjwynzsJ+je8O/nFP
uTJ+pEfk40+9CmzIwbA+SsQ0ANMWH7tz5AkckwJ2tld9FleyO7U/4WJ9pE4UEpzq
IRC2ZrGGCtO3i5tICM+DPxEaTskc3R7I0aVsfV7TEUkAAyGgdN9MWGmv4acmEWUc
LKxlo0PGOkAo4r+2cYfEG2E0CQQcuDTvQkc9ppGrY5trYzMJwLU=
=f+xM
-----END PGP SIGNATURE-----

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

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

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

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEElRgfTu0U/fTkG1GNO/RpO/7rlCgFAlwNdRwACgkQO/RpO/7r
lCi6AhAAhHYSnNDjXrLecIuVdN8VvaliDzFDM8MKf6kEgat1bN8SpofGXujUmmzO
YQa7E0tGyAMc1/MZgnEppXWXdfVhNjnEwIetmUNnxviPVxcliQ9Ygty2MvT5H1ng
1oIWnZRAOecf1Yvm4uYCuq7JRMobT9qx54nevsmEKqUgqZQWg8w53HgjhDrXSqN2
ymfLSIAyOvGjcISHz9aJTuxhvjIqeH2zwVsSAvD6xeTxWqnLOhZ7tWI3vqRT7Y7S
0p0hshNZXN8R0+ixSvOjv9za/GjzB1/TFU7wrwxFkT9/jccUnEDcKcxN8L7yx/TN
BlkJMS/4ruqarLyerIQWGaxmIaBsaJQSg4A1zupOxHQI1NkLn840HJBYOyo3jZUV
z7/hdAexjiHPHTYpOibLvzDT9XJCdV3268s5DRx0kDULuSC7sqsnO0u5Fl2WZWp5
0tHiR/Z3EvacRRUzDZ/FEmc7IQoZzHnJDvL2i3sDnwJBT3pYqDfoBx9lj3IBMpfb
3MJw8CDe8SJmZ5kt9z/iC8DfZ0ZuIufNnCJJN39nnMb/FMUZsnaPB37VYV66NCr1
KrAlXY57BhCPMsbx8lT2sWe3DBTnu/dQRaU5qk5oAkGNM83CaHeS4AOQH3EUb0N5
a/S1aJHk3xq4Vedkkilcq7IMHeLDcui3LD5kCOs54ZQeNJO9ICI=
=+Y3s
-----END PGP SIGNATURE-----

13
meson-distutils.patch Normal file
View File

@ -0,0 +1,13 @@
Index: meson-0.49.0/setup.py
===================================================================
--- meson-0.49.0.orig/setup.py
+++ meson-0.49.0/setup.py
@@ -22,7 +22,7 @@ if sys.version_info < (3, 5, 0):
sys.exit(1)
from mesonbuild.coredata import version
-from setuptools import setup
+from distutils.core import setup
# On windows, will create Scripts/meson.exe and Scripts/meson-script.py
# Other platforms will create bin/meson

View File

@ -1,6 +1,6 @@
--- a/mesonbuild/compilers/cpp.py
+++ b/mesonbuild/compilers/cpp.py
@@ -137,8 +137,8 @@ class ClangCPPCompiler(ClangCompiler, CP
@@ -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',
@ -11,7 +11,7 @@
'none')})
return opts
@@ -168,8 +168,8 @@ class ArmclangCPPCompiler(ArmclangCompil
@@ -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',
@ -22,7 +22,7 @@
'none')})
return opts
@@ -194,10 +194,12 @@ class GnuCPPCompiler(GnuCompiler, CPPCom
@@ -197,10 +197,12 @@ class GnuCPPCompiler(GnuCompiler, CPPCom
'3': default_warn_args + ['-Wextra', '-Wpedantic']}
def get_options(self):
@ -37,7 +37,7 @@
'none'),
'cpp_debugstl': coredata.UserBooleanOption('cpp_debugstl',
'STL debug mode',
@@ -271,7 +273,7 @@ class IntelCPPCompiler(IntelCompiler, CP
@@ -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'):
@ -75,6 +75,22 @@
# 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) {

26
meson-no-lrelease.patch Normal file
View File

@ -0,0 +1,26 @@
From 391878e83aef4c2ba43e69c4850bbc84f409783e Mon Sep 17 00:00:00 2001
From: Dylan Baker <dylan@pnwbakers.com>
Date: Tue, 18 Dec 2018 14:13:05 -0800
Subject: [PATCH] dependencies/ui: Don't require lrelease for qt
We previously didn't require it so we shouldn't silently start doing so.
Fixes #4654
---
mesonbuild/dependencies/ui.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mesonbuild/dependencies/ui.py b/mesonbuild/dependencies/ui.py
index e8fba91a23..1f65c3b86f 100644
--- a/mesonbuild/dependencies/ui.py
+++ b/mesonbuild/dependencies/ui.py
@@ -243,7 +243,7 @@ def gen_bins():
if self.bindir:
yield os.path.join(self.bindir, b), b, False
yield '{}-{}'.format(b, self.name), b, False
- yield b, b, self.required
+ yield b, b, self.required if b != 'lrelease' else False
for b, name, required in gen_bins():
if found[name].found():

View File

@ -1,7 +1,7 @@
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -32,7 +32,7 @@ from .. import compilers
from ..compilers import CompilerArgs, CCompiler
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
@ -9,7 +9,7 @@
from .backends import CleanTrees
from ..build import InvalidArguments
@@ -1011,8 +1011,8 @@ int dummy;
@@ -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)
@ -25,13 +25,13 @@
@@ -18,7 +18,7 @@ import sys
from pathlib import PurePath
from collections import OrderedDict
from .mesonlib import MesonException
-from .mesonlib import default_libdir, default_libexecdir, default_prefix
+from .mesonlib import default_libdir, default_libexecdir, default_prefix, commonpath
from .mesonlib import (
- MesonException, default_libdir, default_libexecdir, default_prefix
+ MesonException, default_libdir, default_libexecdir, default_prefix, commonpath
)
from .wrap import WrapMode
import ast
import argparse
@@ -302,7 +302,7 @@ class CoreData:
@@ -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.
@ -42,7 +42,7 @@
'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
@@ -617,7 +617,9 @@ The result of this is undefined and will
if cur.operation == 'add':
if isinstance(l, dict) and isinstance(r, dict):
@ -53,7 +53,7 @@
try:
return l + r
except Exception as e:
@@ -661,7 +662,8 @@ The result of this is undefined and will
@@ -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')
@ -65,17 +65,15 @@
raise InvalidArguments('The += operator currently only works with arrays, dicts, strings or ints ')
--- a/mesonbuild/mesonlib.py
+++ b/mesonbuild/mesonlib.py
@@ -19,7 +19,8 @@ import sys
import stat
@@ -20,6 +20,7 @@ import stat
import time
import platform, subprocess, operator, os, shutil, re
-import collections
+import collections
import collections
+import collections.abc
from mesonbuild import mlog
from enum import Enum
from functools import lru_cache
have_fcntl = False
@@ -1062,6 +1062,30 @@ def substring_is_in_list(substr, strlist
@@ -1149,6 +1150,30 @@ def substring_is_in_list(substr, strlist
return True
return False
@ -108,8 +106,8 @@
insertion.
--- a/mesonbuild/mesonmain.py
+++ b/mesonbuild/mesonmain.py
@@ -269,8 +269,8 @@ def set_meson_command(mainfile):
mlog.log('meson_command is {!r}'.format(mesonlib.meson_command))
@@ -149,8 +149,8 @@ def run_script_command(script_name, scri
return 1
def run(original_args, mainfile):
- if sys.version_info < (3, 5):
@ -121,7 +119,7 @@
return 1
--- a/mesonbuild/minstall.py
+++ b/mesonbuild/minstall.py
@@ -353,8 +353,8 @@ class Installer:
@@ -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...')
@ -134,7 +132,7 @@
--- a/mesonbuild/modules/python.py
+++ b/mesonbuild/modules/python.py
@@ -512,7 +512,7 @@ class PythonModule(ExtensionModule):
@@ -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))
@ -145,7 +143,7 @@
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
@@ -115,7 +115,12 @@ def returncode_to_status(retcode):
@@ -114,7 +114,12 @@ def returncode_to_status(retcode):
if retcode < 0:
signum = -retcode
try:
@ -159,7 +157,7 @@
except ValueError:
signame = 'SIGinvalid'
return '(killed by signal %d %s)' % (signum, signame)
@@ -125,7 +130,12 @@ def returncode_to_status(retcode):
@@ -124,7 +129,12 @@ def returncode_to_status(retcode):
signum = retcode - 128
try:
@ -173,19 +171,6 @@
except ValueError:
signame = 'SIGinvalid'
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
@ -193,11 +178,11 @@
import shutil
import argparse
-from ..mesonlib import MesonException, Popen_safe, is_windows
+from ..mesonlib import MesonException, Popen_safe, is_windows, commonpath
+from ..mesonlib import MesonException, Popen_safe, commonpath, is_windows
from . import destdir_join
parser = argparse.ArgumentParser()
@@ -107,7 +107,7 @@ def build_gtkdoc(source_root, build_root
@@ -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)
@ -208,7 +193,7 @@
--- a/run_meson_command_tests.py
+++ b/run_meson_command_tests.py
@@ -18,6 +18,7 @@ import os
@@ -19,6 +19,7 @@ import os
import tempfile
import unittest
import subprocess
@ -216,52 +201,28 @@
import zipapp
from pathlib import Path
@@ -73,13 +74,27 @@ class CommandTests(unittest.TestCase):
@@ -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,
- stderr=subprocess.STDOUT, env=os.environ.copy(),
- universal_newlines=True, cwd=workdir, timeout=60 * 5)
- print(p.stdout)
- if p.returncode != 0:
- raise subprocess.CalledProcessError(p.returncode, command)
- return p.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,
+ env=os.environ.copy(), universal_newlines=True,
+ cwd=workdir, timeout=60 * 5)
+ print(p.stdout)
+ if p.returncode != 0:
+ raise subprocess.CalledProcessError(p.returncode, command)
+ return p.stdout
+ else:
+ try:
+ po = subprocess.check_output(command, stderr=subprocess.STDOUT,
+ env=os.environ.copy(),
+ universal_newlines=True,
+ cwd=workdir, timeout=60 * 5)
+ except subprocess.CalledProcessError as e:
+ print(e.output)
+ raise subprocess.CalledProcessError(e.returncode, e.cmd)
+ else:
+ print(po)
+ return po
def assertMesonCommandIs(self, line, cmd):
self.assertTrue(line.startswith('meson_command '), msg=line)
+ 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
@@ -21,6 +21,7 @@ import tempfile
import textwrap
import os
import shutil
+import sys
import unittest
import platform
from itertools import chain
@@ -892,6 +893,24 @@ class DataTests(unittest.TestCase):
@@ -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())))
@ -286,7 +247,7 @@
class BasePlatformTests(unittest.TestCase):
def setUp(self):
@@ -972,9 +991,16 @@ class BasePlatformTests(unittest.TestCas
@@ -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.
@ -296,17 +257,16 @@
+ 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)
+ 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]
+ p.stdout = p.communicate(timeout=60 * 5)[0]
print(p.stdout)
if p.returncode != 0:
if 'MESON_SKIP_TEST' in p.stdout:
@@ -2698,17 +2724,23 @@ recommended as it is not supported on so
@@ -2849,17 +2873,23 @@ recommended as it is not supported on so
of = open(mfile, 'w')
of.write("project('foobar', 'c')\n")
of.close()
@ -339,11 +299,30 @@
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
@@ -18,9 +18,9 @@ import sys
@@ -16,9 +16,9 @@
from mesonbuild.coredata import version
import sys
-if sys.version_info < (3, 5, 0):
+if sys.version_info < (3, 4, 0):
@ -352,7 +331,7 @@
+ 'Meson requires Python 3.4.0 or greater')
sys.exit(1)
from setuptools import setup
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() {
@ -381,17 +360,25 @@
+ f.write(ftempl % d)
--- "a/test cases/unit/35 dist script/replacer.py"
+++ "b/test cases/unit/35 dist script/replacer.py"
@@ -7,6 +7,8 @@ source_root = pathlib.Path(os.environ['M
@@ -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('"incorrect"', '"correct"')
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__':

View File

@ -1,6 +1,6 @@
--- a/mesonbuild/dependencies/dev.py
+++ b/mesonbuild/dependencies/dev.py
@@ -205,10 +205,10 @@ class LLVMDependency(ConfigToolDependenc
@@ -343,10 +343,11 @@ class LLVMDependency(ConfigToolDependenc
not for shared-linnking, we have to figure those out ourselves, because
of course we do.
"""
@ -8,6 +8,7 @@
- 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')
@ -15,7 +16,7 @@
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
@@ -227,6 +227,7 @@ class LLVMDependency(ConfigToolDependenc
@@ -365,6 +366,7 @@ class LLVMDependency(ConfigToolDependenc
else:
raise DependencyException(
'Could not find a dynamically linkable library for LLVM.')
@ -23,3 +24,17 @@
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):

View File

@ -1,6 +1,6 @@
--- a/run_tests.py
+++ b/run_tests.py
@@ -54,18 +54,10 @@ def get_meson_script():
@@ -104,18 +104,10 @@ def get_meson_script():
Also used by run_unittests.py to determine what meson to run when not
running in-process (which is the default).
'''
@ -21,12 +21,22 @@
def get_backend_args_for_dir(backend, builddir):
'''
@@ -244,7 +236,7 @@ if __name__ == '__main__':
env['COVERAGE_PROCESS_START'] = '.coveragerc'
env['PYTHONPATH'] = os.pathsep.join([td] + env.get('PYTHONPATH', []))
@@ -296,12 +288,12 @@ def main():
else:
env['PYTHONPATH'] = temp_dir
if not cross:
- returncode += subprocess.call(mesonlib.python_command + ['run_meson_command_tests.py', '-v'], env=env)
+ #returncode += subprocess.call(mesonlib.python_command + ['run_meson_command_tests.py', '-v'], env=env)
returncode += subprocess.call(mesonlib.python_command + ['run_unittests.py', '-v'], env=env)
returncode += subprocess.call(mesonlib.python_command + ['run_project_tests.py'] + sys.argv[1:], env=env)
else:
- cmd = mesonlib.python_command + ['run_meson_command_tests.py', '-v']
- if options.failfast:
- cmd += ['--failfast']
- returncode += subprocess.call(cmd, env=env)
- if options.failfast and returncode != 0:
- return returncode
+ #cmd = mesonlib.python_command + ['run_meson_command_tests.py', '-v']
+ #if options.failfast:
+ # cmd += ['--failfast']
+ #returncode += subprocess.call(cmd, env=env)
+ #if options.failfast and returncode != 0:
+ # return returncode
cmd = mesonlib.python_command + ['run_unittests.py', '-v']
if options.failfast:
cmd += ['--failfast']

View File

@ -1,609 +0,0 @@
-------------------------------------------------------------------
Mon Nov 12 23:52:33 UTC 2018 - sor.alexei@meowr.ru
- Update to version 0.48.2:
* See https://github.com/mesonbuild/meson/milestone/32?closed=1
-------------------------------------------------------------------
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
- Update to version 0.47.2:
* https://github.com/mesonbuild/meson/milestone/29?closed=1
- Rebase meson-restore-python3.4.patch, meson-fix-gcc48.patch.
-------------------------------------------------------------------
Fri Aug 3 21:00:12 UTC 2018 - sor.alexei@meowr.ru
- Update to version 0.47.1:
* See https://mesonbuild.com/Release-notes-for-0-47-0.html
- Remove Don-t-raise-StopIteration-in-generators-no-longer-al.patch.
- Add a new dependency for tests:
libqt5-qtbase-private-headers-devel.
- Set MESON_EXE for tests.
- Adjust meson-test-installed-bin.patch.
- Rebase meson-restore-python3.4.patch, meson-fix-gcc48.patch.
- No longer test with OpenMPI: starting with this release
"-Wl,--no-undefined -Wl,--as-needed" appears in the gfortran
arguments, causing an error similiar to lp#1727474.
-------------------------------------------------------------------
Sat Jul 28 21:08:48 UTC 2018 - bjorn.lie@gmail.com
- Update to version 0.46.1:
* See https://github.com/mesonbuild/meson/milestone/26?closed=1
- Drop meson-keep-spaces-in-pc-files.patch: Fixed upstream.
-------------------------------------------------------------------
Fri Jul 13 06:00:48 UTC 2018 - jslaby@suse.com
- Add Don-t-raise-StopIteration-in-generators-no-longer-al.patch
-------------------------------------------------------------------
Sun May 20 14:20:31 UTC 2018 - dimstar@opensuse.org
- BuildRequire python3-base instead of python3: make building a bit
cheaper.
-------------------------------------------------------------------
Mon Apr 30 07:03:53 UTC 2018 - dimstar@opensuse.org
- Add meson-keep-spaces-in-pc-files.patch: Keep spaces in generated
pkgconfig files (gh#mesonbuild/meson#3479).
- Rebase meson-restore-python3.4.patch.
-------------------------------------------------------------------
Wed Apr 25 18:53:17 UTC 2018 - sor.alexei@meowr.ru
- Update to version 0.46.0:
* See http://mesonbuild.com/Release-notes-for-0-46-0.html
- Rebase meson-test-installed-bin.patch,
meson-restore-python3.4.patch, meson-fix-gcc48.patch.
-------------------------------------------------------------------
Wed Mar 21 23:46:12 UTC 2018 - sor.alexei@meowr.ru
- Only apply meson-suse-fix-llvm-3.8.patch,
meson-restore-python3.4.patch, meson-fix-gcc48.patch on Leap 42.x
or older.
-------------------------------------------------------------------
Wed Mar 21 10:20:37 UTC 2018 - sor.alexei@meowr.ru
- Fix meson-fix-gcc48.patch.
- Add meson-restore-python3.4.patch: Restore Python 3.4 support for
SLE 12 and openSUSE Leap 42.x.
- Add meson-suse-fix-llvm-3.8.patch: Fix LLVM 3.8 tests for SLE 12
and openSUSE Leap 42.x..
-------------------------------------------------------------------
Mon Mar 12 22:04:53 UTC 2018 - dimstar@opensuse.org
- Add libjpeg-devel BuildRequires to test testsuite.
-------------------------------------------------------------------
Mon Mar 5 17:00:19 UTC 2018 - dimstar@opensuse.org
- Update to version 0.45.0:
+ Config-Tool based dependencies can be specified in a cross
file.
+ Visual Studio C# compiler support.
+ Removed two deprecated features:
- The standalone find_library function has been a no-op for a
long time. From now on it's an error.
- There used to be a keywordless version of run_target, which
is no longer valid.
+ Experimental FPGA support.
+ Generator outputs can preserve directory structure.
+ Hexadecimal string literals.
+ install_data()` defaults to `{datadir}/{projectname}`.
+ install_subdir() supports strip_directory.
+ Integer options.
+ New method meson.project_license().
+ Rust cross-compilation.
+ Rust compiler-private library disambiguation.
+ Project templates.
+ Improve test setup selection.
+ Yielding subproject option to superproject.
- Rebase meson-suse-ify-macros.patch.
-------------------------------------------------------------------
Thu Feb 22 10:36:33 UTC 2018 - dimstar@opensuse.org
- Update to version 0.44.1:
+ Support running out-of-tree tests against a meson in PATH.
+ Don't add rpaths to system libraries.
+ Fix meson location detection from other meson tools.
+ Various boost, pkg-config and vala related fixes.
- Testsuite changes: Remove mesonbuild directory and meson.py
again before running the test: ensure we test meson as it was
installed onto the system.
-------------------------------------------------------------------
Mon Feb 5 15:06:54 UTC 2018 - dimstar@opensuse.org
- Update to version 0.44.0:
+ New features:
- Added warning function.
- Adds support for additional Qt5-Module keyword
moc_extra_arguments.
- Prefix-dependent defaults for sysconfdir, localstatedir and
sharedstatedir.
- An array type for user options.
- LLVM dependency supports both dynamic and static linking.
- Added if_found to subdir.
- get_unquoted() method for the configuration data object.
- Added disabler object.
- Config-Tool based dependencies gained a method to get
arbitrary options.
- Embedded Python in Windows MSI packages.
- Rebase meson-suse-ify-macros.patch, meson-fix-gcc48.patch and
meson-test-installed-bin.patch.
- Testsuite changes:
+ Disable tests for static llvm: we don't ship the static libs.
+ Add cmake(Qt5LinguistTools), libwmf-devel BuildRequires and
zlib-devel-static: new dependencies for various tests.
-------------------------------------------------------------------
Wed Nov 22 17:47:29 UTC 2017 - sor.alexei@meowr.ru
- Require python3-xml: mesonbuild/modules/qt5.py imports the xml
module (boo#1068818).
-------------------------------------------------------------------
Mon Oct 23 12:30:03 UTC 2017 - dimstar@opensuse.org
- Setup MPI runtime environment before running the test suite.
- Remove tests for static boost libraries from
test\ cases/frameworks/1\ boost/meson.build.
-------------------------------------------------------------------
Thu Oct 19 15:00:49 UTC 2017 - badshah400@gmail.com
- Update to version 0.43.0:
+ Generator learned capture: Generators can now be configured to
capture the standard output.
+ Can index CustomTarget objects: The CustomTarget object can
now be indexed like an array. The resulting object can be used
as a source file for other Targets, this will create a
dependency on the original CustomTarget, but will only insert
the generated file corresponding to the index value of the
CustomTarget's output keyword.
+ The cross file can now be used for overriding the result of
find_program. Then issuing the command find_program('objdump')
will return the version specified in the cross file.
+ Easier handling of supported compiler arguments.
+ Better support for shared libraries in non-system paths: This
release adds feature parity to shared libraries that are
either in non-standard system paths or shipped as part of your
project. On systems that support rpath, Meson automatically
adds rpath entries to built targets using manually found
external libraries.
+ The Wrap dependency system now supports Subversion (svn). This
support is rudimentary. The repository url has to point to a
specific (sub)directory containing the meson.build file
(typically trunk/). However, providing a revision is
supported.
- Rebase meson-test-installed-bin.patch.
- Run sed to strip the hashbang from a non-executable file; this
prevents an rpmlint warning.
-------------------------------------------------------------------
Wed Oct 11 15:43:16 UTC 2017 - sor.alexei@meowr.ru
- Don't use obsolete boost-devel for openSUSE Leap 15.0 and newer
(boo#1062785).
-------------------------------------------------------------------
Mon Oct 2 14:53:40 CEST 2017 - jdelvare@suse.com
- Update to version 0.42.1. This is a stable update with various
bug fixes.
-------------------------------------------------------------------
Fri Sep 8 12:22:38 UTC 2017 - sor.alexei@meowr.ru
- Rebase meson-fix-gcc48.patch (boo#1057701).
-------------------------------------------------------------------
Tue Aug 15 11:00:02 UTC 2017 - dimstar@opensuse.org
- Extend meson-test-installed-bin.patch: catch some more cases
where the test suite referenced meson.py from the source
directory.
- Add vulkan-devel and libpcap-devel BuildRequires for the test
suite: new dependencies.
-------------------------------------------------------------------
Tue Aug 15 09:35:51 UTC 2017 - zaitor@opensuse.org
- Update to version 0.42.0:
+ Distribution tarballs from Mercurial repositories. Creating
distribution tarballs can now be made out of projects based on
Mercurial. As before, this remains possible only with the Ninja
backend.
+ Keyword argument verification. Meson will now check the keyword
arguments used when calling any function and print a warning if
any of the keyword arguments is not known. In the future this
will become a hard error.
+ Add support for Genie to Vala compiler. The Vala compiler has
an alternative syntax, Genie, that uses the .gs file extension.
Meson now recognises and uses Genie files.
+ Pkgconfig support for additional cflags. The Pkgconfig module
object can add arbitrary extra cflags to the Cflags value in
the .pc file, using the "extra_cflags" keyword.
+ Base options accessible via get_option(). Base options are now
accessible via the get_option() function.
+ Allow crate type configuration for Rust compiler. Rust targets
now take an optional rust_crate_type keyword, allowing you to
set the crate type of the resulting artifact. Valid crate types
are dylib or cdylib for shared libraries, and rlib or staticlib
for static libraries. For more, see Rust's linkage reference.
+ Simultaneous use of Address- and Undefined Behavior Sanitizers.
Both the address- and undefined behavior sanitizers can now be
used simultaneously by passing -Db_sanitize=address,undefined
to Meson.
+ Unstable SIMD module. A new experimental module to compile code
with many different SIMD instruction sets and selecting the
best one at runtime. This module is unstable, meaning it's API
is subject to change in later releases. It might also be
removed altogether.
+ Import libraries for executables on Windows. The new keyword
implib to executable() allows generation of an import library
for the executable.
+ Added build_rpath keyword argument. You can specify
build_rpath: '/foo/bar' in build targets and the given path
will get added to the target's rpath in the build tree. It is
removed during the install step.
+ Meson will print a warning when the user tries to add an rpath
linker flag manually, e.g. via link_args to a target. This is
not recommended because having multiple rpath causes them to
stomp on each other. This warning will become a hard error in
some future release.
+ Vulkan dependency module. Vulkan can now be used as native
dependency. The dependency module will detect the VULKAN_SDK
environment variable or otherwise try to receive the vulkan
library and header via pkgconfig or from the system.
+ Limiting the maximum number of linker processes. With the Ninja
backend it is now possible to limit the maximum number of
concurrent linker processes. This is usually only needed for
projects that have many large link steps that cause the system
to run out of memory if they are run in parallel. This limit
can be set with the new backend_max_links option.
+ Disable implicit include directories. By default Meson adds the
current source and build directories to the header search path.
On some rare occasions this is not desired. Setting the
implicit_include_directories keyword argument to false these
directories are not used.
+ Support for MPI dependency. MPI is now supported as a
dependency. Because dependencies are language-specific, you
must specify the requested language with the language keyword,
i.e., dependency('mpi', language='c') will request the C MPI
headers and libraries. See the MPI dependency for more
information.
+ Allow excluding files or directories from install_subdir. The
install_subdir command accepts the new exclude_files and
exclude_directories keyword arguments that allow specified
files or directories to be excluded from the installed
subdirectory.
+ Make all Meson functionality invokable via the main executable.
Previously Meson had multiple executables such as
mesonintrospect and mesontest. They are now invokable via the
main Meson executable like this: meson configure <arguments> #
equivalent to mesonconf <options> meson test <arguments> #
equivalent to mesontest <arguments> The old commands are still
available but they are deprecated and will be removed in some
future release.
+ Pcap dependency detector. Meson will automatically obtain
dependency information for pcap using the pcap-config tool. It
is used like any other dependency.
+ GNOME module mkenums_simple() addition. Most libraries and
applications use the same standard templates for glib-mkenums.
There is now a new mkenums_simple() convenience method that
passes those default templates to glib-mkenums and allows some
tweaks such as optional function decorators or leading
underscores.
- Rebase meson-fix-gcc48.patch and meson-test-installed-bin.patch.
-------------------------------------------------------------------
Sat Jul 22 13:55:52 UTC 2017 - mailaender@opensuse.org
- Update to version 0.41.2:
+ Various gtkdoc fixes.
+ Fix how rpath directories are handled.
+ pkgconfig: avoid appending slash at Cflags.
+ Fix a missing path issue causing Python traceback.
+ Qt4 support.
+ Skip handling non-available dependencies.
+ vala: Only add --use-header for unity builds regression.
+ Tag functions in asm properly.
-------------------------------------------------------------------
Tue Jun 27 14:19:46 UTC 2017 - rodrigo.z.lourenco@tecnico.ulisboa.pt
- Add a vim subpackage to add Meson support to Vim.
-------------------------------------------------------------------
Fri Jun 23 21:47:40 UTC 2017 - dimstar@opensuse.org
- Split testsuite into an own package, in order to keep the build
dep chain of meson minimal.
- Drop meson-disable-untested-code.patch: no longer required.
- Add meson-test-installed-bin.patch: use /usr/bin/meson instead of
meson.py from the source tarball. We want to test the meson
binary package we produced, not the sources directly.
-------------------------------------------------------------------
Fri Jun 23 19:27:31 UTC 2017 - dimstar@opensuse.org
- Update to version 0.41.1:
+ wxwidgets: Fix usage of multiple dependency() calls.
+ Make external library no-op when used with incompatible
target (gh#mesonbuild/meson#1941).
+ Failing test for -D dedupping.
+ Preserve standalone -D arguments always.
+ Handle both pkg-config and pkgconf argument order
(gh#mesonbuild/meson#1934).
-------------------------------------------------------------------
Fri Jun 23 13:56:37 UTC 2017 - dimstar@opensuse.org
- Update meson-suse-ify-macros.patch: export LANG for all macros.
-------------------------------------------------------------------
Mon Jun 19 12:35:49 UTC 2017 - rpm@fthiessen.de
- Update to version 0.41.0:
* Native support for linking against LLVM using
the dependency function.
* Pkgconfig support for custom variables.
* A target for creating tarballs using 'ninja dist'.
* Support for passing arguments to Rust compiler.
* All known issues regarding reproducible builds are fixed.
* Extended template substitution in configure_file
for @BASENAME@ and @PLAINNAME@ .
* Support for capturing stdout of a command in configure_file.
- Removed SDL2 test to reduce dependencies (smaller build footprint)
- Dropped upstreamed patch meson-handle-skipped-tests.patch
- Rebased meson-suse-ify-macros.patch and meson-fix-gcc48.patch
-------------------------------------------------------------------
Tue Jun 6 13:08:19 UTC 2017 - dimstar@opensuse.org
- Make the build footprint smaller to enter ring1: This means we
skip a couple tests though. Removed BuildRequires: java-devel,
libqt5-qtbase-devel, mono-core, mono-devel, wxWidgets-devel,
pkgconfig(protobuf) and pkgconfig(gtk+-3.0).
-------------------------------------------------------------------
Wed May 17 20:26:25 UTC 2017 - dimstar@opensuse.org
- Add meson-handle-skipped-tests.patch: Actually do skip tests that
are marked as MESON_SKIP_TEST (gh#mesonbuild/meson#1804).
-------------------------------------------------------------------
Mon May 8 07:53:20 UTC 2017 - dimstar@opensuse.org
- Update to version 0.40.1:
+ Outputs of generators can be used in custom targets in the VS
backend.
+ Visual Studio 2017 support.
+ Automatic initialization of subprojects that are git
submodules.
+ No download mode for wraps.
+ Overriding options per target.
+ Compiler object get define.
+ Cygwin support.
+ Multiple install directories.
+ Can specify method of obtaining dependencies.
+ Link whole contents of static libraries.
+ Unity builds only for subprojects.
+ Running mesonintrospect from scripts.
-------------------------------------------------------------------
Mon Mar 20 11:21:10 UTC 2017 - dimstar@opensuse.org
- Add meson-disable-untested-code.patch: meson has code in the test
suite that assumes different behaviour between glib 2.51.5 (rc)
and 2.52.0 (final); this must be a wrong assumption to start with
and the test suite fails with 2.52.0. When this was added by
upstream 4 months before glib-2.52.0 was released, there must
have been no way at all to test this. We revert back to a state
like with the previous glib verison, where this test was simply
skipped (gh#mesonbuild/meson#1480).
-------------------------------------------------------------------
Thu Mar 16 11:04:13 UTC 2017 - sor.alexei@meowr.ru
- Update to version 0.39.1 (changes since 0.38.1):
* Allow specifying extra arguments for tests.
* Bug fixes and minor polishes.
- Add meson-fix-gcc48.patch: fix GCC 4.8 handling for
openSUSE Leap 42.x.
-------------------------------------------------------------------
Sat Mar 4 14:50:28 UTC 2017 - dimstar@opensuse.org
- Update to version 0.38.1:
+ New Uninstall target.
+ Support for arbitrary test setups.
+ Intel C/C++ compiler support.
+ Get values from configuration data objects.
+ Python 3 module support simplified.
+ Default options to subprojects.
+ Set targets to be built (or not) by default.
+ Add option to mesonconf to wipe cached data.
+ Can specify file permissions and owner when installing data.
+ has_header() checks are now faster.
+ Array indexing now supports fallback values.
+ Silent mode for Mesontest.
- Rebase meson-suse-ify-macros.patch.
-------------------------------------------------------------------
Tue Jan 10 16:14:32 UTC 2017 - dimstar@opensuse.org
- Add meson-suse-ify-macros.patch: Make the meson macros also work
on openSUSE. We do not (yet?) have separate macros for CFLAGS,
CXXFLAGS, FFLAGS and LDFLAGS, but only carry optflags. This is no
issue, since openSUSE so far only added flags that work accross
compilers/languages. This might change in the future, making the
patch obsolete.
-------------------------------------------------------------------
Sun Jan 1 12:51:36 UTC 2017 - sor.alexei@meowr.ru
- Update to version 0.37.1:
* No changelog available.
-------------------------------------------------------------------
Sun Jan 1 11:38:34 UTC 2017 - jengelh@inai.de
- Trim boasting words from descriptions. Add to description two
points from the feature list.
-------------------------------------------------------------------
Mon Dec 19 05:55:00 UTC 2016 - dev@antergos.com
- Update to version 0.37.0:
* Mesontest: a new testing tool that allows you to run your
tests in many different ways.
* New shared_module function allows shared modules creation.
* GNOME module now detects required programs and prints useful
errors if any are missing.
* GNOME module uses depfile support available in GLib >= 2.52.0.
* i18n module has a new merge_file() function for creating
translated files.
* LLVM IR compilation is now supported.
* .wrap files for subprojects can now include a separate push
URL to allow developers to push changes directly from a
subproject git checkout.
* Multiple version restrictions while searching for pkg-config
dependencies is now supported.
* Support for localstatedir has been added.
* You can now pass arguments to install scripts added with
meson.add_install_script().
* Added new options sbindir and infodir that can be used for
installation.
- Remove meson-0.36.0-fix-old-pkgconfig-test.patch.
-------------------------------------------------------------------
Sat Dec 10 20:38:23 UTC 2016 - sor.alexei@meowr.ru
- Add meson-0.36.0-fix-old-pkgconfig-test.patch: tests/common/51:
Skip validate if pkg-config is too old (commit 2f804e9).
-------------------------------------------------------------------
Tue Nov 22 15:04:05 UTC 2016 - dimstar@opensuse.org
- Update to version 0.36.0:
+ Add option to run under gdb.
+ Always specify installed data with a File object
(gh#mesonbuild/meson#858).
+ Made has_function survive optimization flags
(gh#mesonbuild/meson#1053).
+ Can give many alternative names to find_program to simplify
searching.
+ Can set compiler arguments in Java.
- Export SUSE_ASNEEDED=0 when running the test suite: linking the
test libraries/binaries is not done optimally.
-------------------------------------------------------------------
Tue Oct 18 20:43:34 UTC 2016 - sor.alexei@meowr.ru
- Update to version 0.35.1:
* No changelog available.
-------------------------------------------------------------------
Fri Oct 14 20:46:56 UTC 2016 - zaitor@opensuse.org
- Update to version 0.35.0:
+ No changelog available from upstream.
- Changes from version 0.34.0:
+ No changelog available from upstream.
- Drop meson-633.patch and meson-typelib-install.patch : Fixed
upstream.
-------------------------------------------------------------------
Wed Aug 17 15:43:57 UTC 2016 - dimstar@opensuse.org
- Update to version 0.33.0:
+ Correctly install .typelib files to libdir.
+ Add option for as-needed link option.
+ Print the CFLAGS/LDFLAGS/etc inherited from the environment.
+ Only append compile flags to the link flags when appropriate.
- Add meson-633.patch: Handle both DT_RPATH as well as DT_RUNPATH
when fixing rpath settings (gh#mesonbuild/meson#663).
- Add meson-typelib-install.patch: Fix installation path for
gpobject introspection typelib files.
-------------------------------------------------------------------
Sat Jul 23 16:15:39 UTC 2016 - sor.alexei@meowr.ru
- Update to version 0.32.0:
* No changelog available.
- Remove meson-gui package: GUI was removed upstream.
-------------------------------------------------------------------
Mon May 9 16:47:26 UTC 2016 - jengelh@inai.de
- Avoid unnecessary bashism in %install script (run with /bin/sh)
-------------------------------------------------------------------
Sat May 7 07:12:54 UTC 2016 - sor.alexei@meowr.ru
- Update to version 0.31.0.
-------------------------------------------------------------------
Thu Feb 11 16:26:54 UTC 2016 - sor.alexei@meowr.ru
- Update to 0.29.0.
-------------------------------------------------------------------
Tue Dec 29 05:32:40 UTC 2015 - sor.alexei@meowr.ru
- Update to 0.28.0.
-------------------------------------------------------------------
Fri Dec 4 10:29:26 UTC 2015 - sor.alexei@meowr.ru
- Update to 0.27.0.
-------------------------------------------------------------------
Sun Sep 13 10:21:57 UTC 2015 - sor.alexei@meowr.ru
- Update to 0.26.0.
- Use signed tarball.
-------------------------------------------------------------------
Sun Jul 12 21:02:38 UTC 2015 - sor.alexei@meowr.ru
- Initial package based on the work of Igor Gnatenko.

View File

@ -1,219 +0,0 @@
#
# spec file for package meson-testsuite
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define testsuite 1
%if %{testsuite}
%define name_ext -testsuite
%else
%define name_ext %{nil}
%endif
%define _name mesonbuild
Name: meson%{name_ext}
Version: 0.48.2
Release: 0
Summary: Python-based build system
License: Apache-2.0
Group: Development/Tools/Building
URL: http://mesonbuild.com/
Source: https://github.com/%{_name}/meson/releases/download/%{version}/meson-%{version}.tar.gz
Source1: https://github.com/%{_name}/meson/releases/download/%{version}/meson-%{version}.tar.gz.asc
Source2: meson.keyring
# PATCH-FIX-OPENSUSE meson-suse-ify-macros.patch dimstar@opensuse.org -- Make the macros non-RedHat specific: so far there are no separate {C,CXX,F}FLAGS.
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-suse-fix-llvm-3.8.patch -- Fix LLVM 3.8 tests.
Patch2: meson-suse-fix-llvm-3.8.patch
# PATCH-FIX-OPENSUSE meson-restore-python3.4.patch -- Restore Python 3.4 support (reverts commit 0538009).
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.
Patch4: meson-fix-gcc48.patch
BuildRequires: python3-base
BuildRequires: python3-setuptools
BuildArch: noarch
%if %{testsuite}
BuildRequires: bison
BuildRequires: cups-devel
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: gcc-fortran
BuildRequires: gcc-obj-c++
BuildRequires: gcc-objc
BuildRequires: gettext
BuildRequires: git
BuildRequires: gnustep-make
BuildRequires: googletest-devel
BuildRequires: gtk-doc
BuildRequires: itstool
BuildRequires: libjpeg-devel
BuildRequires: libpcap-devel
BuildRequires: libqt5-qtbase-private-headers-devel
BuildRequires: libwmf-devel
BuildRequires: llvm-devel
BuildRequires: meson = %{version}
BuildRequires: ncurses-devel
BuildRequires: ninja
BuildRequires: pkgconfig
BuildRequires: python3-devel >= 3.4
BuildRequires: python3-gobject
BuildRequires: vala
BuildRequires: vulkan-devel
BuildRequires: zlib-devel-static
BuildRequires: cmake(Qt5Core)
BuildRequires: cmake(Qt5Gui)
BuildRequires: cmake(Qt5LinguistTools)
BuildRequires: cmake(Qt5Widgets)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(sdl2)
BuildRequires: pkgconfig(zlib)
%if 0%{?suse_version} >= 1500
BuildRequires: libboost_log-devel
BuildRequires: libboost_system-devel
BuildRequires: libboost_test-devel
BuildRequires: libboost_thread-devel
BuildRequires: rust
BuildRequires: rust-std
%else
BuildRequires: boost-devel
%endif
%else
Requires: ninja
Requires: python3-setuptools
Requires: python3-xml
# meson-gui was last used in openSUSE Leap 42.1.
Provides: meson-gui = %{version}
Obsoletes: meson-gui < %{version}
%endif
%description
Meson is a build system designed to optimise programmer productivity.
It aims to do this by providing support for software development
tools and practices, such as unit tests, coverage reports, Valgrind,
CCache and the like. Supported languages include C, C++, Fortran,
Java, Rust. Build definitions are written in a non-turing complete
Domain Specific Language.
%package vim
%{!?vim_data_dir:%global vim_data_dir %{_datadir}/vim}
Summary: Vim support for meson.build files
Group: Productivity/Text/Editors
Requires: vim
Supplements: packageand(vim:%{name})
BuildArch: noarch
%description vim
Meson is a build system designed to optimise programmer productivity.
It aims to do this by providing support for software development
tools and practices, such as unit tests, coverage reports, Valgrind,
CCache and the like. Supported languages include C, C++, Fortran,
Java, Rust. Build definitions are written in a non-turing complete
Domain Specific Language.
This package provides support for meson.build files in Vim.
%prep
%setup -q -n meson-%{version}
%patch0 -p1
%patch1 -p1
%if 0%{?suse_version} < 1500
%patch2 -p1
%patch3 -p1
%patch4 -p1
%endif
# Remove static boost tests from test cases/frameworks/1 boost (can't use patch due to spaces in dirname)
sed -i "/static/d" test\ cases/frameworks/1\ boost/meson.build
# Disable test of llvm-static libs: openSUSE does not package/ship them
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
rm -r "test cases/frameworks/3 gmock" \
"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
sed -i '1{/\/usr\/bin\/env/d;}' ./mesonbuild/rewriter.py
%build
# If this is the test suite, we don't need anything else but the meson package
%if !%{testsuite}
python3 setup.py build
%else
# Ensure we have no mesonbuild / meson in CWD, thus guaranteeing we use meson in $PATH
rm -rf meson.py mesonbuild
%endif
%install
# If this is the test suite, we don't need anything else but the meson package
%if ! %{testsuite}
python3 setup.py install \
--root=%{buildroot} --prefix=%{_prefix}
install -Dpm 0644 data/macros.meson \
%{buildroot}%{_rpmconfigdir}/macros.d/macros.meson
install -Dpm 0644 data/syntax-highlighting/vim/ftdetect/meson.vim \
-t %{buildroot}%{vim_data_dir}/site/ftdetect
install -Dpm 0644 data/syntax-highlighting/vim/indent/meson.vim \
-t %{buildroot}%{vim_data_dir}/site/indent
install -Dpm 0644 data/syntax-highlighting/vim/syntax/meson.vim \
-t %{buildroot}%{vim_data_dir}/site/syntax
%endif
%if %{testsuite}
%check
export LANG=C.UTF-8
export MESON_EXE=%{_bindir}/meson
export MESON_PRINT_TEST_OUTPUT=1
export SUSE_ASNEEDED=0
python3 run_tests.py
%endif
%files
%license COPYING
%if !%{testsuite}
%{_bindir}/meson
%{python3_sitelib}/%{_name}/
%{python3_sitelib}/meson-*
%dir %{_datadir}/polkit-1/
%dir %{_datadir}/polkit-1/actions/
%{_datadir}/polkit-1/actions/com.mesonbuild.install.policy
%{_rpmconfigdir}/macros.d/macros.meson
%{_mandir}/man1/meson.1%{?ext_man}
%endif
%if !%{testsuite}
%files vim
%doc data/syntax-highlighting/vim/README
%dir %{vim_data_dir}
%dir %{vim_data_dir}/site
%dir %{vim_data_dir}/site/ftdetect
%dir %{vim_data_dir}/site/indent
%dir %{vim_data_dir}/site/syntax
%{vim_data_dir}/site/ftdetect/meson.vim
%{vim_data_dir}/site/indent/meson.vim
%{vim_data_dir}/site/syntax/meson.vim
%endif
%changelog

View File

@ -1,3 +1,58 @@
-------------------------------------------------------------------
Thu Jan 17 11:57:17 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Switch to distutils build and properly create egg-info
-------------------------------------------------------------------
Wed Jan 16 11:20:15 UTC 2019 - Dominique Leuenberger <dimstar@opensuse.org>
- Add meson-no-lrelease.patch: Don't require lrelease for qt.
-------------------------------------------------------------------
Wed Jan 9 14:00:46 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Remove succeeding supposed failing gtest test that checks
gtest version, openSUSE ships the .pc file with the actual
informations
-------------------------------------------------------------------
Wed Jan 9 13:24:56 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Make sure the tests stop on the failure and output the failing
test at the end for easier digging
-------------------------------------------------------------------
Wed Jan 9 12:47:37 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Make the setuptools conditional so I can quickly switch around
and verify things
-------------------------------------------------------------------
Wed Jan 9 09:19:05 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Switch the package to use _multibuild rather than multiple
spec files
-------------------------------------------------------------------
Tue Jan 8 14:06:25 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Use distutils to build/run rather than setuptools to reduce
buildcycle
- Add patch to be able to build and install using distutils instead
of full setuptools:
* meson-distutils.patch
-------------------------------------------------------------------
Tue Dec 11 06:02:55 UTC 2018 - sor.alexei@meowr.ru
- Update to version 0.49.0:
* See https://mesonbuild.com/Release-notes-for-0-49-0.html
- Rebase meson-test-installed-bin.patch.
- Rebase meson-suse-fix-llvm-3.8.patch,
meson-restore-python3.4.patch.
- Add more testsuite dependencies: clang, java-headless,
mono(csharp), wxWidgets-any-devel.
-------------------------------------------------------------------
Mon Nov 12 23:52:33 UTC 2018 - sor.alexei@meowr.ru

View File

@ -1,7 +1,7 @@
#
# spec file for package meson-testsuite
# spec file for package meson
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -16,15 +16,19 @@
#
%define testsuite 0
%if %{testsuite}
%define name_ext -testsuite
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define name_ext -test
%bcond_without test
%else
%define name_ext %{nil}
%bcond_with test
%endif
%define _name mesonbuild
%{!?vim_data_dir:%global vim_data_dir %{_datadir}/vim}
%bcond_with setuptools
Name: meson%{name_ext}
Version: 0.48.2
Version: 0.49.0
Release: 0
Summary: Python-based build system
License: Apache-2.0
@ -37,18 +41,33 @@ 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-suse-fix-llvm-3.8.patch -- Fix LLVM 3.8 tests.
Patch2: meson-suse-fix-llvm-3.8.patch
# PATCH-FIX-OPENSUSE meson-restore-python3.4.patch -- Restore Python 3.4 support (reverts commit 0538009).
Patch3: meson-restore-python3.4.patch
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-no-lrelease.patch dimstar@opensuse.org -- Don't require lrelease for qt
Patch6: meson-no-lrelease.patch
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildRequires: python3-base
BuildRequires: python3-setuptools
BuildArch: noarch
%if %{testsuite}
%if %{with setuptools}
BuildRequires: python3-setuptools
Requires: python3-setuptools
%endif
%if !%{with test}
Requires: ninja
Requires: python3-base
# meson-gui was last used in openSUSE Leap 42.1.
Provides: meson-gui = %{version}
Obsoletes: meson-gui < %{version}
%else
BuildRequires: bison
BuildRequires: clang
BuildRequires: cups-devel
BuildRequires: flex
BuildRequires: gcc-c++
@ -59,21 +78,18 @@ BuildRequires: gettext
BuildRequires: git
BuildRequires: gnustep-make
BuildRequires: googletest-devel
BuildRequires: gtk-doc
BuildRequires: itstool
BuildRequires: libjpeg-devel
BuildRequires: libpcap-devel
BuildRequires: libqt5-qtbase-common-devel
BuildRequires: libqt5-qtbase-private-headers-devel
BuildRequires: libwmf-devel
BuildRequires: llvm-devel
BuildRequires: meson = %{version}
BuildRequires: ncurses-devel
BuildRequires: ninja
BuildRequires: pkgconfig
BuildRequires: python3-devel >= 3.4
BuildRequires: python2-devel
BuildRequires: python3-gobject
BuildRequires: vala
BuildRequires: vulkan-devel
BuildRequires: zlib-devel-static
BuildRequires: cmake(Qt5Core)
BuildRequires: cmake(Qt5Gui)
@ -82,25 +98,31 @@ BuildRequires: cmake(Qt5Widgets)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(gtk-doc)
BuildRequires: pkgconfig(ncurses)
BuildRequires: pkgconfig(python3) >= 3.4
BuildRequires: pkgconfig(sdl2)
BuildRequires: pkgconfig(vapigen)
BuildRequires: pkgconfig(vulkan)
BuildRequires: pkgconfig(zlib)
%if 0%{?suse_version} >= 1500
BuildRequires: java-headless
BuildRequires: libboost_log-devel
BuildRequires: libboost_system-devel
BuildRequires: libboost_test-devel
BuildRequires: libboost_thread-devel
BuildRequires: rust
BuildRequires: rust-std
%else
BuildRequires: boost-devel
BuildRequires: wxWidgets-any-devel
# csharp is not on s390 machines
%ifnarch s390x
BuildRequires: mono(csharp)
%endif
%else
Requires: ninja
Requires: python3-setuptools
Requires: python3-xml
# meson-gui was last used in openSUSE Leap 42.1.
Provides: meson-gui = %{version}
Obsoletes: meson-gui < %{version}
BuildRequires: boost-devel
BuildRequires: mono-core
BuildRequires: wxWidgets-devel
%endif
%endif
%description
@ -112,7 +134,6 @@ Java, Rust. Build definitions are written in a non-turing complete
Domain Specific Language.
%package vim
%{!?vim_data_dir:%global vim_data_dir %{_datadir}/vim}
Summary: Vim support for meson.build files
Group: Productivity/Text/Editors
Requires: vim
@ -138,8 +159,12 @@ This package provides support for meson.build files in Vim.
%patch3 -p1
%patch4 -p1
%endif
%if !%{with setuptools}
%patch5 -p1
%endif
%patch6 -p1
# Remove static boost tests from test cases/frameworks/1 boost (can't use patch due to spaces in dirname)
# Remove static boost tests from "test cases/frameworks/1 boost/".
sed -i "/static/d" test\ cases/frameworks/1\ boost/meson.build
# Disable test of llvm-static libs: openSUSE does not package/ship them
@ -155,44 +180,61 @@ sed -i "/def test_generate_gir_with_address_sanitizer/s/$/\n raise unitte
# Remove hashbang from non-exec script
sed -i '1{/\/usr\/bin\/env/d;}' ./mesonbuild/rewriter.py
# remove gtest check that actually works because our gtest has .pc files
rm -rf test\ cases/failing/85\ gtest\ dependency\ with\ version
%build
# If this is the test suite, we don't need anything else but the meson package
%if !%{testsuite}
python3 setup.py build
%if !%{with test}
%python3_build
%else
# FIXME: you should use %%meson macros
# Ensure we have no mesonbuild / meson in CWD, thus guaranteeing we use meson in $PATH
rm -rf meson.py mesonbuild
rm -r meson.py mesonbuild
%endif
%install
# If this is the test suite, we don't need anything else but the meson package
%if ! %{testsuite}
python3 setup.py install \
--root=%{buildroot} --prefix=%{_prefix}
%if !%{with test}
%python3_install
%fdupes %{buildroot}%{python3_sitelib}
install -Dpm 0644 data/macros.meson \
%{buildroot}%{_rpmconfigdir}/macros.d/macros.meson
install -Dpm 0644 data/syntax-highlighting/vim/ftdetect/meson.vim \
-t %{buildroot}%{vim_data_dir}/site/ftdetect
-t %{buildroot}%{vim_data_dir}/site/ftdetect/
install -Dpm 0644 data/syntax-highlighting/vim/indent/meson.vim \
-t %{buildroot}%{vim_data_dir}/site/indent
-t %{buildroot}%{vim_data_dir}/site/indent/
install -Dpm 0644 data/syntax-highlighting/vim/syntax/meson.vim \
-t %{buildroot}%{vim_data_dir}/site/syntax
-t %{buildroot}%{vim_data_dir}/site/syntax/
# entry points are not distutils-able
%if !%{with setuptools}
mkdir -p %{buildroot}%{_bindir}
echo """#!%{_bindir}/python3
import sys
from mesonbuild.mesonmain import main
sys.exit(main())
""" > %{buildroot}%{_bindir}/%{name}
chmod +x %{buildroot}%{_bindir}/%{name}
# ensure egg-info is a directory
rm %{buildroot}%{python3_sitelib}/*.egg-info
cp -r meson.egg-info %{buildroot}%{python3_sitelib}/meson-%{version}-py%{python3_version}.egg-info
%endif
%endif
%if %{testsuite}
%if %{with test}
%check
export LANG=C.UTF-8
export MESON_EXE=%{_bindir}/meson
export MESON_PRINT_TEST_OUTPUT=1
export SUSE_ASNEEDED=0
python3 run_tests.py
python3 run_tests.py --failfast
%endif
%files
%license COPYING
%if !%{testsuite}
%if !%{with test}
%{_bindir}/meson
%{python3_sitelib}/%{_name}/
%{python3_sitelib}/meson-*
@ -201,16 +243,14 @@ python3 run_tests.py
%{_datadir}/polkit-1/actions/com.mesonbuild.install.policy
%{_rpmconfigdir}/macros.d/macros.meson
%{_mandir}/man1/meson.1%{?ext_man}
%endif
%if !%{testsuite}
%files vim
%doc data/syntax-highlighting/vim/README
%dir %{vim_data_dir}
%dir %{vim_data_dir}/site
%dir %{vim_data_dir}/site/ftdetect
%dir %{vim_data_dir}/site/indent
%dir %{vim_data_dir}/site/syntax
%dir %{vim_data_dir}/
%dir %{vim_data_dir}/site/
%dir %{vim_data_dir}/site/ftdetect/
%dir %{vim_data_dir}/site/indent/
%dir %{vim_data_dir}/site/syntax/
%{vim_data_dir}/site/ftdetect/meson.vim
%{vim_data_dir}/site/indent/meson.vim
%{vim_data_dir}/site/syntax/meson.vim

View File

@ -1,5 +0,0 @@
#!/bin/bash
sed meson.spec -e "s:%define testsuite 0:%define testsuite 1:" > meson-testsuite.spec
cp meson.changes meson-testsuite.changes