SHA256
1
0
forked from pool/meson

Accepting request 764407 from home:dimstar:Factory

- Update to version 0.53.0:
  + A new module for filesystem operations.
  + meson dist --include-subprojects.
  + Added new Meson templates for Dlang, Rust, Objective-C
  + Add a new summary() function
  + Generic Overrider for Dynamic Linker selection
  + fortran_std option
  + python.dependency() embed kwarg
  + Scalapack
  + Search directories for find_program()
  + Source tags targets
  + Dictionary entry using string variable as key
  + Improved CMake subprojects support
  + compiler.get_linker_id()
  + CUDA dependency
  + Added global option to disable C++ RTTI
  + Introspection API changes

OBS-URL: https://build.opensuse.org/request/show/764407
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/meson?expand=0&rev=151
This commit is contained in:
Martin Pluskal 2020-01-14 19:34:25 +00:00 committed by Git OBS Bridge
parent 60dc2614da
commit fbbdadda9a
11 changed files with 172 additions and 51 deletions

View File

@ -1,13 +0,0 @@
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
index e27ae2b..bc10824 100644
--- a/mesonbuild/compilers/compilers.py
+++ b/mesonbuild/compilers/compilers.py
@@ -427,7 +427,7 @@ def sanitizer_compile_args(value):
def sanitizer_link_args(value):
if value == 'none':
return []
- args = ['-fsanitize=' + value]
+ args = ['-fsanitize=' + value, '-ldl', '-lrt', '-lm', '-lpthread']
return args
def option_enabled(boptions, options, option):

View File

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

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEElRgfTu0U/fTkG1GNO/RpO/7rlCgFAl1kEFQACgkQO/RpO/7r
lCj0uhAAghXcnktZEMFIaWnAcoRgd7t6s27s/hDej5b1X8PsujaeXwItvgLQli1I
ZZaPkkwDFcaOz3RiXeoRjvJKN3lD3Lb0UoEBOslcBgWRzb8zG+2npXmGeaEjGMe+
9X0i1Eq0ZogOVt3Dqm7+ZMSBA0RR4YRQ2nIsZhsWCZD6WoMV68y5ACnkAKfLe9ho
Me1gZaDCMqAzINiCeyPO1dRqLxN7UgveXC49bv+i38ah4SpDoHNkr6ZW8fkDEaXP
dmlnOKuQBL6BOcEvuTSelPjUIUZMOSBykFAS7YzmMoEOAAe4T212ca7e93WMA4Ez
+V/zx9aMnpD2KUNcAzndPzMr4NFPnIBg+vQdOq3OYubupnMOxRRzhDbKzmPc9hVp
gXlDFxCGWDWhn0/F48L+V1oSIFXc4QPLKUF3XMQ4yNskrmKAnhQmNM5YAxMbg7Wo
5At1gQc5M8laWBJnJ/2cFDJ6CrYSAGUXQFgH2Uw14BqLsG2prGYPF2KDTq5J/99R
W3QEXXjDYJvAhTlVLzJE3nMA3JzxDztg4pry+zeJJ7XZmfvSs5KVFyqiA76r63xO
OCbmtb0ZKflqqy3dCWsCbc0fFIfgNGJN6H+jQ4J0VkdRuAyEqWUDCkc3wxxHTCJ1
5p60NxwX3C4HDdbn8eM9nhSQriDHjwhlmo/Kl2uqlw0Q6UErGZw=
=6j53
-----END PGP SIGNATURE-----

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

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

BIN
meson-0.53.0.tar.gz.sig Normal file

Binary file not shown.

View File

@ -1,9 +1,9 @@
Index: meson-0.49.0/setup.py
Index: meson-0.52.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)
--- meson-0.52.0.orig/setup.py
+++ meson-0.52.0/setup.py
@@ -21,7 +21,7 @@ if sys.version_info < (3, 5, 2):
'\nMeson requires Python 3.5.2 or greater'.format(sys.version))
from mesonbuild.coredata import version
-from setuptools import setup

View File

@ -0,0 +1,47 @@
From 1ce668f9163e1c912382eeb0e6ae40d123c0cca9 Mon Sep 17 00:00:00 2001
From: Mike Gilbert <floppym@gentoo.org>
Date: Mon, 13 Jan 2020 23:46:09 -0500
Subject: [PATCH] test_pkgconfig_gen_deps: set
PKG_CONFIG_SYSTEM_LIBRARY_PATH=/usr/lib
pkgconf automatically prunes "system library paths" from its output. The
system library paths depend on the system toolchain. A common value on a
64-bit system is as follows:
/lib64:/usr/lib64:/usr/local/lib64
So, if -L/usr/lib64 appears in the Libs section, it will be pruned from
the output of pkg-config --libs.
The pc files generated for this test contain something like this:
libdir=/usr/lib
Libs: -L${libdir} ...
pkgconf may not consider /usr/lib to be a system library path, so it is
not pruned as the test expects. To work around this, override the
compiled-in list of paths via the PKG_CONFIG_SYSTEM_LIBRARY_PATH
environment variable.
Fixes: https://github.com/mesonbuild/meson/issues/6004
---
run_unittests.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/run_unittests.py b/run_unittests.py
index 898f05e54d..5a60b9b6a4 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -4832,7 +4832,10 @@ def test_pkgconfig_gen_deps(self):
privatedir2 = self.privatedir
os.environ
- env = {'PKG_CONFIG_LIBDIR': os.pathsep.join([privatedir1, privatedir2])}
+ env = {
+ 'PKG_CONFIG_LIBDIR': os.pathsep.join([privatedir1, privatedir2]),
+ 'PKG_CONFIG_SYSTEM_LIBRARY_PATH': '/usr/lib',
+ }
self._run(['pkg-config', 'dependency-test', '--validate'], override_envvars=env)
# pkg-config strips some duplicated flags so we have to parse the

View File

@ -1,11 +1,13 @@
--- a/run_tests.py
+++ b/run_tests.py
@@ -104,18 +104,10 @@ def get_meson_script():
Index: meson-0.53.0/run_tests.py
===================================================================
--- meson-0.53.0.orig/run_tests.py
+++ meson-0.53.0/run_tests.py
@@ -134,18 +134,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
- mesonbuild_dir = Path(mesonmain.__file__).resolve().parent.parent
- meson_script = mesonbuild_dir / 'meson.py'
- if meson_script.is_file():
- return str(meson_script)
@ -21,7 +23,7 @@
def get_backend_args_for_dir(backend, builddir):
'''
@@ -296,12 +288,12 @@ def main():
@@ -363,12 +355,12 @@ def main():
else:
env['PYTHONPATH'] = temp_dir
if not cross:
@ -37,6 +39,6 @@
+ #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']
if no_unittests:
print('Skipping all unit tests.')
returncode = 0

View File

@ -0,0 +1,36 @@
Index: meson-0.53.0/test cases/frameworks/1 boost/meson.build
===================================================================
--- meson.build
+++ meson.build
@@ -35,16 +35,7 @@ python3dep = python3.dependency(required
# compile python 2/3 modules only if we found a corresponding python version
if(python2dep.found() and host_machine.system() == 'linux')
- if(dep.version().version_compare('>=1.67'))
- # if we have a new version of boost, we need to construct the module name based
- # on the installed version of python (and hope that they match the version boost
- # was compiled against)
- py2version_string = ''.join(python2dep.version().split('.'))
- bpython2dep = dependency('boost', modules : ['python' + py2version_string])
- else
- # if we have an older version of boost, we need to use the old module names
- bpython2dep = dependency('boost', modules : ['python'])
- endif
+ bpython2dep = dependency('boost', modules : ['python'])
if not (bpython2dep.found())
bpython2dep = disabler()
@@ -55,12 +46,7 @@ else
endif
if(python3dep.found() and host_machine.system() == 'linux')
- if(dep.version().version_compare('>=1.67'))
- py3version_string = ''.join(python3dep.version().split('.'))
- bpython3dep = dependency('boost', modules : ['python' + py3version_string])
- else
- bpython3dep = dependency('boost', modules : ['python3'])
- endif
+ bpython3dep = dependency('boost', modules : ['python3'])
if not (bpython3dep.found())
bpython3dep = disabler()

View File

@ -1,3 +1,35 @@
-------------------------------------------------------------------
Wed Jan 8 11:48:50 UTC 2020 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 0.53.0:
+ A new module for filesystem operations.
+ meson dist --include-subprojects.
+ Added new Meson templates for Dlang, Rust, Objective-C
+ Add a new summary() function
+ Generic Overrider for Dynamic Linker selection
+ fortran_std option
+ python.dependency() embed kwarg
+ Scalapack
+ Search directories for find_program()
+ Source tags targets
+ Dictionary entry using string variable as key
+ Improved CMake subprojects support
+ compiler.get_linker_id()
+ CUDA dependency
+ Added global option to disable C++ RTTI
+ Introspection API changes
- Add meson-testsuite-boost.patch: Fix detection of boost_python
names. This is apparently inconsistent accross distros.
-------------------------------------------------------------------
Sat Nov 30 12:25:34 UTC 2019 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 0.52.1:
+ linkers: Concatenate -L and the directory.
+ Remove duplicated object files in static libraries.
+ Revert "Add `-Wl,-rpath-link` for secondary dependencies".
- Drop meson-testsuite.patch: fixed upstream.
-------------------------------------------------------------------
Thu Oct 24 09:39:45 UTC 2019 - Frederic Crozat <fcrozat@suse.com>
@ -8,6 +40,32 @@ Mon Oct 21 11:26:06 UTC 2019 - Frederic Crozat <fcrozat@suse.com>
- Do not buildrequires mono(csharp) or mono-core on SLE.
-------------------------------------------------------------------
Mon Oct 7 09:56:54 UTC 2019 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 0.52.0:
+ Gettext targets are ignored if gettext is not installed.
+ Support taking environment values from a dictionary.
+ Enhancements to the pkg_config_path argument.
+ The meson test program now accepts an additional "--gdb-path"
argument to specify the GDB binary.
+ Splitting of Compiler.get_function_attribute('visibility').
+ Compiler and dynamic linker representation split.
+ Enhancements to the source_set module.
+ added --only test(s) option to run_project_tests.py.
+ Experimental Webassembly support via Emscripten.
+ Version check in find_program().
+ Improved support for static libraries.
+ Enhancements to the kconfig module.
+ Enhancements to configure_file().
+ Projects args can be set separately for build and host machines
(potentially breaking change).
+ Dist is now a top level command.
- Rebase meson-test-installed-bin.patch and meson-distutils.patch.
- Drop gcc9-sanitizer.patch: no longer needed.
- Add meson-testsuite.patch: linkers: Concatenate -L and the
directory.
-------------------------------------------------------------------
Tue Aug 27 11:08:21 UTC 2019 - Dominique Leuenberger <dimstar@opensuse.org>

View File

@ -1,7 +1,7 @@
#
# spec file for package meson
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -28,14 +28,14 @@
%{!?vim_data_dir:%global vim_data_dir %{_datadir}/vim}
%bcond_with setuptools
Name: meson%{name_ext}
Version: 0.51.2
Version: 0.53.0
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
Source1: https://github.com/%{_name}/meson/releases/download/%{version}/meson-%{version}.tar.gz.sig
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
@ -49,7 +49,10 @@ Patch3: meson-suse-fix-llvm-3.8.patch
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
Patch6: gcc9-sanitizer.patch
# PATCH-FIX-UPSTREAM meson-pkgconf-libdir.patch dimstar@opensuse.org -- https://github.com/mesonbuild/meson/pull/6458
Patch6: meson-pkgconf-libdir.patch
# PATCH-FIX-UPSREAM meson-testsuite-boost.patch dimstar@opensuse.org -- https://github.com/mesonbuild/meson/issues/4788
Patch7: meson-testsuite-boost.patch
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildRequires: python3-base
@ -108,6 +111,8 @@ BuildRequires: pkgconfig(zlib)
%if 0%{?suse_version} >= 1500
BuildRequires: java-headless
BuildRequires: libboost_log-devel
BuildRequires: libboost_python-devel
BuildRequires: libboost_python3-devel
BuildRequires: libboost_system-devel
BuildRequires: libboost_test-devel
BuildRequires: libboost_thread-devel
@ -166,6 +171,9 @@ This package provides support for meson.build files in Vim.
%patch5 -p1
%endif
%patch6 -p1
(cd "test cases/frameworks/1 boost"
%patch7 -p0
)
# Remove static boost tests from "test cases/frameworks/1 boost/".
sed -i "/static/d" test\ cases/frameworks/1\ boost/meson.build
@ -190,7 +198,6 @@ rm -rf test\ cases/failing/85\ gtest\ dependency\ with\ version
%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 -r meson.py mesonbuild
%endif