Hello community,

here is the log from the commit of package meson for openSUSE:Factory checked 
in at 2018-10-17 08:21:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/meson (Old)
 and      /work/SRC/openSUSE:Factory/.meson.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "meson"

Wed Oct 17 08:21:41 2018 rev:36 rq:640541 version:0.47.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/meson/meson-testsuite.changes    2018-07-31 
15:52:44.458871107 +0200
+++ /work/SRC/openSUSE:Factory/.meson.new/meson-testsuite.changes       
2018-10-17 08:22:45.738792627 +0200
@@ -1,0 +2,22 @@
+Sat Aug 25 17:52:38 UTC 2018 - [email protected]
+
+- 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 - [email protected]
+
+- 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.
+
+-------------------------------------------------------------------
meson.changes: same change

Old:
----
  Don-t-raise-StopIteration-in-generators-no-longer-al.patch
  meson-0.46.1.tar.gz
  meson-0.46.1.tar.gz.asc

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

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

Other differences:
------------------
++++++ meson-testsuite.spec ++++++
--- /var/tmp/diff_new_pack.lphAhY/_old  2018-10-17 08:22:52.286787356 +0200
+++ /var/tmp/diff_new_pack.lphAhY/_new  2018-10-17 08:22:52.286787356 +0200
@@ -24,7 +24,7 @@
 %endif
 %define _name   mesonbuild
 Name:           meson%{name_ext}
-Version:        0.46.1
+Version:        0.47.2
 Release:        0
 Summary:        Python-based build system
 License:        Apache-2.0
@@ -38,13 +38,11 @@
 # PATCH-FIX-OPENSUSE meson-test-installed-bin.patch [email protected] -- 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.
-Patch3:         meson-suse-fix-llvm-3.8.patch
+Patch2:         meson-suse-fix-llvm-3.8.patch
 # PATCH-FIX-OPENSUSE meson-restore-python3.4.patch -- Restore Python 3.4 
support (reverts commit 0538009).
-Patch4:         meson-restore-python3.4.patch
+Patch3:         meson-restore-python3.4.patch
 # PATCH-FIX-OPENSUSE meson-fix-gcc48.patch [email protected] -- Fix GCC 4.8 
handling for openSUSE Leap 42.x.
-Patch5:         meson-fix-gcc48.patch
-# PATCH-FIX-UPSTREAM 
Don-t-raise-StopIteration-in-generators-no-longer-al.patch -- Don't raise 
StopIteration in generators, no longer allowed with Python 3.7. Fixes #3622
-Patch6:         Don-t-raise-StopIteration-in-generators-no-longer-al.patch
+Patch4:         meson-fix-gcc48.patch
 BuildRequires:  python3-base
 BuildArch:      noarch
 %if %{testsuite}
@@ -63,12 +61,12 @@
 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:  openmpi-devel
 BuildRequires:  pkgconfig
 BuildRequires:  python3-devel >= 3.4
 BuildRequires:  python3-gobject
@@ -132,11 +130,10 @@
 %patch0 -p1
 %patch1 -p1
 %if 0%{?suse_version} < 1500
+%patch2 -p1
 %patch3 -p1
 %patch4 -p1
-%patch5 -p1
 %endif
-%patch6 -p1
 
 # 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
@@ -180,18 +177,14 @@
 %if %{testsuite}
 %check
 export LANG=C.UTF-8
+export MESON_EXE=%{_bindir}/meson
 export MESON_PRINT_TEST_OUTPUT=1
 export SUSE_ASNEEDED=0
-source %{_libdir}/mpi/gcc/openmpi/bin/mpivars.sh
 python3 run_tests.py
 %endif
 
 %files
-%if 0%{?suse_version} >= 1500
 %license COPYING
-%else
-%doc COPYING
-%endif
 %if !%{testsuite}
 %{_bindir}/meson
 %{_bindir}/mesonconf
@@ -200,6 +193,9 @@
 %{_bindir}/wraptool
 %{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}
 %{_mandir}/man1/mesonconf.1%{?ext_man}

++++++ meson.spec ++++++
--- /var/tmp/diff_new_pack.lphAhY/_old  2018-10-17 08:22:52.318787330 +0200
+++ /var/tmp/diff_new_pack.lphAhY/_new  2018-10-17 08:22:52.318787330 +0200
@@ -24,7 +24,7 @@
 %endif
 %define _name   mesonbuild
 Name:           meson%{name_ext}
-Version:        0.46.1
+Version:        0.47.2
 Release:        0
 Summary:        Python-based build system
 License:        Apache-2.0
@@ -38,13 +38,11 @@
 # PATCH-FIX-OPENSUSE meson-test-installed-bin.patch [email protected] -- 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.
-Patch3:         meson-suse-fix-llvm-3.8.patch
+Patch2:         meson-suse-fix-llvm-3.8.patch
 # PATCH-FIX-OPENSUSE meson-restore-python3.4.patch -- Restore Python 3.4 
support (reverts commit 0538009).
-Patch4:         meson-restore-python3.4.patch
+Patch3:         meson-restore-python3.4.patch
 # PATCH-FIX-OPENSUSE meson-fix-gcc48.patch [email protected] -- Fix GCC 4.8 
handling for openSUSE Leap 42.x.
-Patch5:         meson-fix-gcc48.patch
-# PATCH-FIX-UPSTREAM 
Don-t-raise-StopIteration-in-generators-no-longer-al.patch -- Don't raise 
StopIteration in generators, no longer allowed with Python 3.7. Fixes #3622
-Patch6:         Don-t-raise-StopIteration-in-generators-no-longer-al.patch
+Patch4:         meson-fix-gcc48.patch
 BuildRequires:  python3-base
 BuildArch:      noarch
 %if %{testsuite}
@@ -63,12 +61,12 @@
 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:  openmpi-devel
 BuildRequires:  pkgconfig
 BuildRequires:  python3-devel >= 3.4
 BuildRequires:  python3-gobject
@@ -132,11 +130,10 @@
 %patch0 -p1
 %patch1 -p1
 %if 0%{?suse_version} < 1500
+%patch2 -p1
 %patch3 -p1
 %patch4 -p1
-%patch5 -p1
 %endif
-%patch6 -p1
 
 # 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
@@ -180,18 +177,14 @@
 %if %{testsuite}
 %check
 export LANG=C.UTF-8
+export MESON_EXE=%{_bindir}/meson
 export MESON_PRINT_TEST_OUTPUT=1
 export SUSE_ASNEEDED=0
-source %{_libdir}/mpi/gcc/openmpi/bin/mpivars.sh
 python3 run_tests.py
 %endif
 
 %files
-%if 0%{?suse_version} >= 1500
 %license COPYING
-%else
-%doc COPYING
-%endif
 %if !%{testsuite}
 %{_bindir}/meson
 %{_bindir}/mesonconf
@@ -200,6 +193,9 @@
 %{_bindir}/wraptool
 %{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}
 %{_mandir}/man1/mesonconf.1%{?ext_man}

++++++ meson-0.46.1.tar.gz -> meson-0.47.2.tar.gz ++++++
++++ 18993 lines of diff (skipped)

++++++ meson-fix-gcc48.patch ++++++
--- /var/tmp/diff_new_pack.lphAhY/_old  2018-10-17 08:22:52.882786876 +0200
+++ /var/tmp/diff_new_pack.lphAhY/_new  2018-10-17 08:22:52.882786876 +0200
@@ -1,19 +1,51 @@
 --- a/mesonbuild/compilers/cpp.py
 +++ b/mesonbuild/compilers/cpp.py
-@@ -104,9 +104,11 @@ class GnuCPPCompiler(GnuCompiler, CPPCom
+@@ -80,8 +80,8 @@ class ClangCPPCompiler(ClangCompiler, CP
+     def get_options(self):
+         opts = CPPCompiler.get_options(self)
+         opts.update({'cpp_std': coredata.UserComboOption('cpp_std', 'C++ 
language standard to use',
+-                                                         ['none', 'c++98', 
'c++03', 'c++11', 'c++14', 'c++17', 'c++1z',
+-                                                          'gnu++11', 
'gnu++14', 'gnu++17', 'gnu++1z'],
++                                                         ['none', 'c++98', 
'c++03', 'c++11', 'c++1y', 'c++14', 'c++17', 'c++1z',
++                                                          'gnu++11', 
'gnu++1y', 'gnu++14', 'gnu++17', 'gnu++1z'],
+                                                          'none')})
+         return opts
+ 
+@@ -111,8 +111,8 @@ class ArmclangCPPCompiler(ArmclangCompil
+     def get_options(self):
+         opts = CPPCompiler.get_options(self)
+         opts.update({'cpp_std': coredata.UserComboOption('cpp_std', 'C++ 
language standard to use',
+-                                                         ['none', 'c++98', 
'c++03', 'c++11', 'c++14', 'c++17',
+-                                                          'gnu++98', 
'gnu++03', 'gnu++11', 'gnu++14', 'gnu++17'],
++                                                         ['none', 'c++98', 
'c++03', 'c++11', 'c++1y', 'c++14', 'c++17',
++                                                          'gnu++98', 
'gnu++03', 'gnu++11', 'gnu++1y', 'gnu++14', 'gnu++17'],
+                                                          'none')})
+         return opts
+ 
+@@ -137,10 +137,12 @@ class GnuCPPCompiler(GnuCompiler, CPPCom
                            '3': default_warn_args + ['-Wextra', '-Wpedantic']}
  
      def get_options(self):
-+        cpp_stds = ['c++98', 'c++03', 'c++11', 'c++1y', 'gnu++03', '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'):
 +            cpp_stds += ['c++14', 'c++17', 'c++1z', 'gnu++14', 'gnu++17', 
'gnu++1z']
-         opts = {'cpp_std': coredata.UserComboOption('cpp_std', 'C++ language 
standard to use',
--                                                    ['none', 'c++98', 
'c++03', 'c++11', 'c++14', 'c++17', 'c++1z',
--                                                     'gnu++03', 'gnu++11', 
'gnu++14', 'gnu++17', 'gnu++1z'],
-+                                                    ['none'] + cpp_stds,
-                                                     'none'),
-                 'cpp_debugstl': coredata.UserBooleanOption('cpp_debugstl',
-                                                            'STL debug mode',
+         opts = CPPCompiler.get_options(self)
+         opts.update({'cpp_std': coredata.UserComboOption('cpp_std', 'C++ 
language standard to use',
+-                                                         ['none', 'c++98', 
'c++03', 'c++11', 'c++14', 'c++17', 'c++1z',
+-                                                          'gnu++03', 
'gnu++11', 'gnu++14', 'gnu++17', 'gnu++1z'],
++                                                         ['none'] + cpp_stds,
+                                                          'none'),
+                      'cpp_debugstl': 
coredata.UserBooleanOption('cpp_debugstl',
+                                                                 'STL debug 
mode',
+@@ -211,7 +213,7 @@ class IntelCPPCompiler(IntelCompiler, CP
+         c_stds = []
+         g_stds = ['gnu++98']
+         if version_compare(self.version, '>=15.0.0'):
+-            c_stds += ['c++11', 'c++14']
++            c_stds += ['c++11', 'c++1y', 'c++14']
+             g_stds += ['gnu++11']
+         if version_compare(self.version, '>=16.0.0'):
+             c_stds += ['c++17']
 --- a/mesonbuild/minit.py
 +++ b/mesonbuild/minit.py
 @@ -149,7 +149,7 @@ int main(int argc, char **argv) {{

++++++ meson-restore-python3.4.patch ++++++
--- /var/tmp/diff_new_pack.lphAhY/_old  2018-10-17 08:22:52.890786870 +0200
+++ /var/tmp/diff_new_pack.lphAhY/_new  2018-10-17 08:22:52.890786870 +0200
@@ -1,15 +1,15 @@
 --- a/mesonbuild/backend/ninjabackend.py
 +++ b/mesonbuild/backend/ninjabackend.py
-@@ -27,7 +27,7 @@ from .. import compilers
- from ..compilers import CompilerArgs
+@@ -31,7 +31,7 @@ from .. import compilers
+ from ..compilers import CompilerArgs, CCompiler, get_macos_dylib_install_name
  from ..linkers import ArLinker
  from ..mesonlib import File, MesonException, OrderedSet
 -from ..mesonlib import get_compiler_for_source, has_path_sep
 +from ..mesonlib import get_compiler_for_source, has_path_sep, commonpath
- from .backends import CleanTrees, InstallData
+ from .backends import CleanTrees, InstallData, TargetInstallData
  from ..build import InvalidArguments
  
-@@ -1157,8 +1157,8 @@ int dummy;
+@@ -1209,8 +1209,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)
@@ -22,7 +22,7 @@
                  path_to_target = os.path.join(self.build_to_src, 
target.get_subdir())
 --- a/mesonbuild/coredata.py
 +++ b/mesonbuild/coredata.py
-@@ -17,7 +17,7 @@ import pickle, os, uuid
+@@ -17,7 +17,7 @@ import pickle, os, uuid, shlex
  import sys
  from pathlib import PurePath
  from collections import OrderedDict
@@ -31,7 +31,7 @@
  from .mesonlib import default_libdir, default_libexecdir, default_prefix
  import ast
  import argparse
-@@ -261,7 +261,7 @@ class CoreData:
+@@ -300,7 +300,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,9 +42,9 @@
                      'relative path, it is assumed to be a subdir of prefix.'
 --- a/mesonbuild/mesonlib.py
 +++ b/mesonbuild/mesonlib.py
-@@ -972,6 +972,30 @@ def detect_subprojects(spdir_name, curre
-                 result[basename] = [trial]
-     return result
+@@ -1069,6 +1069,30 @@ def detect_subprojects(spdir_name, curre
+ def get_error_location_string(fname, lineno):
+     return '{}:{}:'.format(fname, lineno)
  
 +def commonpath(paths):
 +    '''
@@ -75,10 +75,10 @@
      insertion.
 --- a/mesonbuild/mesonmain.py
 +++ b/mesonbuild/mesonmain.py
-@@ -257,8 +257,8 @@ def run_script_command(args):
-     return cmdfunc(cmdargs)
+@@ -245,8 +245,8 @@ def set_meson_command(mainfile):
+         mlog.log('meson_command is {!r}'.format(mesonlib.meson_command))
  
- def run(original_args, mainfile=None):
+ def run(original_args, mainfile):
 -    if sys.version_info < (3, 5):
 -        print('Meson works correctly only with python 3.5+.')
 +    if sys.version_info < (3, 4):
@@ -86,6 +86,94 @@
          print('You have python %s.' % sys.version)
          print('Please update your environment')
          return 1
+--- a/mesonbuild/minstall.py
++++ b/mesonbuild/minstall.py
+@@ -353,8 +353,8 @@ class Installer:
+             if shutil.which('pkexec') is not None and 'PKEXEC_UID' not in 
os.environ:
+                 print('Installation failed due to insufficient permissions.')
+                 print('Attempting to use polkit to gain elevated 
privileges...')
+-                os.execlp('pkexec', 'pkexec', sys.executable, main_file, 
*sys.argv[1:],
+-                          '-C', os.getcwd())
++                os.execvp('pkexec', ['pkexec', sys.executable, main_file] + 
sys.argv[1:] +
++                          ['-C', os.getcwd()])
+             else:
+                 raise
+ 
+--- a/mesonbuild/mtest.py
++++ b/mesonbuild/mtest.py
+@@ -115,7 +115,12 @@ def returncode_to_status(retcode):
+     if retcode < 0:
+         signum = -retcode
+         try:
+-            signame = signal.Signals(signum).name
++            if sys.version_info >= (3, 5):
++                signame = signal.Signals(signum).name
++            else:
++                try: signame = [next(n for n, i in signal.__dict__.items()
++                                     if i == signum)]
++                except StopIteration: raise ValueError
+         except ValueError:
+             signame = 'SIGinvalid'
+         return '(killed by signal %d %s)' % (signum, signame)
+@@ -125,7 +130,12 @@ def returncode_to_status(retcode):
+ 
+     signum = retcode - 128
+     try:
+-        signame = signal.Signals(signum).name
++        if sys.version_info >= (3, 5):
++            signame = signal.Signals(signum).name
++        else:
++            try: signame = [next(n for n, i in signal.__dict__.items()
++                                 if i == signum)]
++            except StopIteration: raise ValueError
+     except ValueError:
+         signame = 'SIGinvalid'
+     return '(exit status %d or signal %d %s)' % (retcode, signum, signame)
+--- a/run_meson_command_tests.py
++++ b/run_meson_command_tests.py
+@@ -18,6 +18,7 @@ import os
+ import tempfile
+ import unittest
+ import subprocess
++import sys
+ import zipapp
+ from pathlib import Path
+ 
+@@ -73,13 +74,27 @@ 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
++        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)
++            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)
 --- a/run_unittests.py
 +++ b/run_unittests.py
 @@ -21,6 +21,7 @@ import tempfile
@@ -96,9 +184,9 @@
  import unittest
  from unittest import mock
  from configparser import ConfigParser
-@@ -476,6 +477,24 @@ class InternalTests(unittest.TestCase):
-         deps.add_pub_reqs([mock])
-         self.assertEqual(deps.format_reqs(deps.pub_reqs), "some_name")
+@@ -689,6 +690,24 @@ class InternalTests(unittest.TestCase):
+             PkgConfigDependency.pkgbin_cache = {}
+             PkgConfigDependency.class_pkgbin = None
  
 +    def test_commonpath(self):
 +        from os.path import sep
@@ -121,7 +209,7 @@
  
  class BasePlatformTests(unittest.TestCase):
      def setUp(self):
-@@ -556,9 +575,16 @@ class BasePlatformTests(unittest.TestCas
+@@ -769,9 +788,16 @@ 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.
@@ -141,22 +229,46 @@
          print(p.stdout)
          if p.returncode != 0:
              if 'MESON_SKIP_TEST' in p.stdout:
-@@ -2940,8 +2966,13 @@ endian = 'little'
-         self.init(testdir)
-         myenv = os.environ.copy()
-         myenv['PKG_CONFIG_PATH'] = self.privatedir
--        ro = subprocess.run(['pkg-config', '--libs', 'libsomething'], 
stdout=subprocess.PIPE,
--                            env=myenv)
-+        if sys.version_info >= (3, 5):
-+            ro = subprocess.run(['pkg-config', '--libs', 'libsomething'],
-+                                stdout=subprocess.PIPE, env=myenv)
-+        else:
-+            ro = subprocess.Popen(['pkg-config', '--libs', 'libsomething'],
-+                                  stdout=subprocess.PIPE, env=myenv)
-+            ro.stdout = ro.communicate()[0]
-         self.assertEqual(ro.returncode, 0)
-         self.assertIn(b'-lgobject-2.0', ro.stdout)
-         self.assertIn(b'-lgio-2.0', ro.stdout)
+@@ -2497,17 +2523,30 @@ recommended as it is not supported on so
+                 of = open(mfile, 'w')
+                 of.write("project('foobar', 'c')\n")
+                 of.close()
+-                pc = subprocess.run(self.setup_command,
+-                                    cwd=srcdir,
+-                                    stdout=subprocess.PIPE,
+-                                    stderr=subprocess.DEVNULL)
++                if sys.version_info >= (3, 5):
++                    pc = subprocess.run(self.setup_command,
++                                        cwd=srcdir,
++                                        stdout=subprocess.PIPE,
++                                        stderr=subprocess.DEVNULL)
++                else:
++                    pc = subprocess.Popen(self.setup_command,
++                                          cwd=srcdir,
++                                          stdout=subprocess.PIPE,
++                                          stderr=subprocess.DEVNULL)
++                    pc.stdout = pc.communicate()[0]
+                 self.assertIn(b'Must specify at least one directory name', 
pc.stdout)
+                 with tempfile.TemporaryDirectory(dir=srcdir) as builddir:
+-                    subprocess.run(self.setup_command,
+-                                   check=True,
+-                                   cwd=builddir,
+-                                   stdout=subprocess.DEVNULL,
+-                                   stderr=subprocess.DEVNULL)
++                    if sys.version_info >= (3, 5):
++                        subprocess.run(self.setup_command,
++                                       check=True,
++                                       cwd=builddir,
++                                       stdout=subprocess.DEVNULL,
++                                       stderr=subprocess.DEVNULL)
++                    else:
++                        subprocess.check_call(self.setup_command,
++                                              cwd=builddir,
++                                              stdout=subprocess.DEVNULL,
++                                              stderr=subprocess.DEVNULL)
+ 
+ class FailureTests(BasePlatformTests):
+     '''
 --- a/setup.py
 +++ b/setup.py
 @@ -19,9 +19,9 @@ import sys
@@ -197,3 +309,16 @@
 +    d = f.readline().split('\n')[0].strip()
 +with pathlib.Path(ofilename).open('w') as f:
 +    f.write(ftempl % d)
+--- "a/test cases/windows/14 test argument extra paths/test/test_run_exe.py"
++++ "b/test cases/windows/14 test argument extra paths/test/test_run_exe.py"
+@@ -7,6 +7,9 @@ if __name__ == '__main__':
+     parser.add_argument('prog')
+     args = parser.parse_args()
+ 
+-    res = subprocess.run(args.prog)
++    if sys.version_info >= (3, 5):
++        res = subprocess.run(args.prog)
++    else:
++        res = subprocess.call(args.prog)
+ 
+     sys.exit(res.returncode - 42)

++++++ meson-test-installed-bin.patch ++++++
--- /var/tmp/diff_new_pack.lphAhY/_old  2018-10-17 08:22:52.910786854 +0200
+++ /var/tmp/diff_new_pack.lphAhY/_new  2018-10-17 08:22:52.910786854 +0200
@@ -1,22 +1,32 @@
---- a/run_project_tests.py
-+++ b/run_project_tests.py
-@@ -80,7 +80,7 @@ no_meson_log_msg = 'No meson-log.txt fou
+--- a/run_tests.py
++++ b/run_tests.py
+@@ -54,18 +54,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).
+     '''
+-    # Is there a meson.py next to the mesonbuild currently in use?
+-    mesonbuild_dir = Path(mesonbuild.__file__).resolve().parent.parent
+-    meson_script = mesonbuild_dir / 'meson.py'
+-    if meson_script.is_file():
+-        return str(meson_script)
+-    # Then if mesonbuild is in PYTHONPATH, meson must be in PATH
+-    mlog.warning('Could not find meson.py next to the mesonbuild module. '
+-                 'Trying system meson...')
+     meson_cmd = shutil.which('meson')
+-    if meson_cmd:
++    if meson_cmd and os.path.isfile(meson_cmd):
+         return meson_cmd
+-    raise RuntimeError('Could not find {!r} or a meson in 
PATH'.format(meson_script))
++    raise RuntimeError('Could not find a meson in PATH')
  
- system_compiler = None
- 
--meson_command = os.path.join(os.getcwd(), 'meson')
-+meson_command = '/usr/bin/meson'
- if not os.path.exists(meson_command):
-     meson_command += '.py'
-     if not os.path.exists(meson_command):
---- a/run_unittests.py
-+++ b/run_unittests.py
-@@ -506,7 +506,7 @@ class BasePlatformTests(unittest.TestCas
-         # Get the backend
-         # FIXME: Extract this from argv?
-         self.backend = getattr(Backend, 
os.environ.get('MESON_UNIT_TEST_BACKEND', 'ninja'))
--        self.meson_mainfile = os.path.join(src_root, 'meson.py')
-+        self.meson_mainfile = '/usr/bin/meson'
-         self.meson_args = ['--backend=' + self.backend.name]
-         self.meson_cross_file = None
-         self.meson_command = meson_command + self.meson_args
+ 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', 
[]))
+         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:


Reply via email to