From af0977bc7a3ca039bbf3946f4c2328c381f23f82af0e42f4d4e1150475d3e339 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 7 May 2021 07:19:53 +0000 Subject: [PATCH] Accepting request 891206 from home:dimstar:Factory Revert to Factory version 0.56.2 - together with patch to address GCC11 / GNOME build issues (0.57.2 is stored in a branch of mine) OBS-URL: https://build.opensuse.org/request/show/891206 OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/meson?expand=0&rev=203 --- 0200340a.patch | 159 ++++++++++++++++++++++++++++++++++++++++ meson-0.56.2.tar.gz | 3 + meson-0.56.2.tar.gz.asc | 16 ++++ meson-0.57.2.tar.gz | 3 - meson-0.57.2.tar.gz.asc | 16 ---- meson-distutils.patch | 24 ++---- meson.changes | 48 +----------- meson.spec | 11 ++- 8 files changed, 196 insertions(+), 84 deletions(-) create mode 100644 0200340a.patch create mode 100644 meson-0.56.2.tar.gz create mode 100644 meson-0.56.2.tar.gz.asc delete mode 100644 meson-0.57.2.tar.gz delete mode 100644 meson-0.57.2.tar.gz.asc diff --git a/0200340a.patch b/0200340a.patch new file mode 100644 index 0000000..fe03046 --- /dev/null +++ b/0200340a.patch @@ -0,0 +1,159 @@ +From 0200340a497fb911c13ce3147b4223e4b5e290e7 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Mon, 16 Nov 2020 18:38:39 +0000 +Subject: [PATCH] gnome: Drop use of volatile in GLib type functions +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +See https://gitlab.gnome.org/GNOME/glib/-/issues/600 + +`volatile` was previously mistakenly used in GLib to indicate that a +variable was accessed atomically or otherwise multi-threaded. It’s not +meant for that, and up to date compilers (like gcc-11) will rightly warn +about it. + +Drop the `volatile` qualifiers. + +Based on a patch by Jeff Law. + +See also http://isvolatileusefulwiththreads.in/c/. + +Signed-off-by: Philip Withnall +--- + mesonbuild/modules/gnome.py | 2 +- + test cases/frameworks/7 gnome/mkenums/enums.c.in | 8 ++++---- + test cases/frameworks/7 gnome/mkenums/enums2.c.in | 8 ++++---- + test cases/frameworks/7 gnome/mkenums/meson.build | 8 ++++---- + .../dependency-generated/enum-types.c.template | 8 ++++---- + 5 files changed, 17 insertions(+), 17 deletions(-) + +diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py +index 9fd31c73885..547aff17cd4 100644 +--- a/mesonbuild/modules/gnome.py ++++ b/mesonbuild/modules/gnome.py +@@ -1430,7 +1430,7 @@ def mkenums_simple(self, state, args, kwargs): + GType + %s@enum_name@_get_type (void) + { +- static volatile gsize gtype_id = 0; ++ static gsize gtype_id = 0; + static const G@Type@Value values[] = {''' % func_prefix + + c_file_kwargs['vprod'] = ' { C_@TYPE@(@VALUENAME@), "@VALUENAME@", "@valuenick@" },' +diff --git a/test cases/frameworks/7 gnome/mkenums/enums.c.in b/test cases/frameworks/7 gnome/mkenums/enums.c.in +index 62e1adcb462..1c19d8ffaa8 100644 +--- a/test cases/frameworks/7 gnome/mkenums/enums.c.in ++++ b/test cases/frameworks/7 gnome/mkenums/enums.c.in +@@ -13,9 +13,9 @@ + /*** BEGIN value-header ***/ + GType + @enum_name@_get_type(void) { +- static volatile gsize g_define_type_id__volatile = 0; ++ static gsize static_g_define_type_id = 0; + +- if(g_once_init_enter(&g_define_type_id__volatile)) { ++ if(g_once_init_enter(&static_g_define_type_id)) { + static const G@Type@Value values [] = { + /*** END value-header ***/ + +@@ -29,10 +29,10 @@ GType + + GType g_define_type_id = + g_@type@_register_static(g_intern_static_string("@EnumName@"), values); +- g_once_init_leave(&g_define_type_id__volatile, g_define_type_id); ++ g_once_init_leave(&static_g_define_type_id, g_define_type_id); + } + +- return g_define_type_id__volatile; ++ return static_g_define_type_id; + } + + /*** END value-tail ***/ +diff --git a/test cases/frameworks/7 gnome/mkenums/enums2.c.in b/test cases/frameworks/7 gnome/mkenums/enums2.c.in +index 62e1adcb462..1c19d8ffaa8 100644 +--- a/test cases/frameworks/7 gnome/mkenums/enums2.c.in ++++ b/test cases/frameworks/7 gnome/mkenums/enums2.c.in +@@ -13,9 +13,9 @@ + /*** BEGIN value-header ***/ + GType + @enum_name@_get_type(void) { +- static volatile gsize g_define_type_id__volatile = 0; ++ static gsize static_g_define_type_id = 0; + +- if(g_once_init_enter(&g_define_type_id__volatile)) { ++ if(g_once_init_enter(&static_g_define_type_id)) { + static const G@Type@Value values [] = { + /*** END value-header ***/ + +@@ -29,10 +29,10 @@ GType + + GType g_define_type_id = + g_@type@_register_static(g_intern_static_string("@EnumName@"), values); +- g_once_init_leave(&g_define_type_id__volatile, g_define_type_id); ++ g_once_init_leave(&static_g_define_type_id, g_define_type_id); + } + +- return g_define_type_id__volatile; ++ return static_g_define_type_id; + } + + /*** END value-tail ***/ +diff --git a/test cases/frameworks/7 gnome/mkenums/meson.build b/test cases/frameworks/7 gnome/mkenums/meson.build +index 3d7adf052aa..8ff05ba5ea2 100644 +--- a/test cases/frameworks/7 gnome/mkenums/meson.build ++++ b/test cases/frameworks/7 gnome/mkenums/meson.build +@@ -89,9 +89,9 @@ enums_c3 = gnome.mkenums('enums3.c', + vhead : ''' + GType + @enum_name@_get_type(void) { +- static volatile gsize g_define_type_id__volatile = 0; ++ static gsize static_g_define_type_id = 0; + +- if(g_once_init_enter(&g_define_type_id__volatile)) { ++ if(g_once_init_enter(&static_g_define_type_id)) { + static const G@Type@Value values [] = { + ''', + vprod : ''' { @VALUENAME@, "@VALUENAME@", "@valuenick@" },''', +@@ -100,10 +100,10 @@ GType + + GType g_define_type_id = + g_@type@_register_static(g_intern_static_string("@EnumName@"), values); +- g_once_init_leave(&g_define_type_id__volatile, g_define_type_id); ++ g_once_init_leave(&static_g_define_type_id, g_define_type_id); + } + +- return g_define_type_id__volatile; ++ return static_g_define_type_id; + } + ''') + +diff --git a/test cases/vala/8 generated sources/dependency-generated/enum-types.c.template b/test cases/vala/8 generated sources/dependency-generated/enum-types.c.template +index 5ecdd2df234..85d74d11c5c 100644 +--- a/test cases/vala/8 generated sources/dependency-generated/enum-types.c.template ++++ b/test cases/vala/8 generated sources/dependency-generated/enum-types.c.template +@@ -14,9 +14,9 @@ + GType + @enum_name@_get_type (void) + { +- static volatile gsize g_define_type_id__volatile = 0; ++ static gsize static_g_define_type_id = 0; + +- if (g_once_init_enter (&g_define_type_id__volatile)) { ++ if (g_once_init_enter (&static_g_define_type_id)) { + static const G@Type@Value values[] = { + /*** END value-header ***/ + +@@ -30,10 +30,10 @@ GType + GType g_define_type_id = + g_@type@_register_static (g_intern_static_string ("@EnumName@"), values); + +- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); ++ g_once_init_leave (&static_g_define_type_id, g_define_type_id); + } + +- return g_define_type_id__volatile; ++ return static_g_define_type_id; + } + + /*** END value-tail ***/ diff --git a/meson-0.56.2.tar.gz b/meson-0.56.2.tar.gz new file mode 100644 index 0000000..819159a --- /dev/null +++ b/meson-0.56.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cb8bdb91383f7f8da642f916e4c44066a29262caa499341e2880f010edb87f4 +size 1794847 diff --git a/meson-0.56.2.tar.gz.asc b/meson-0.56.2.tar.gz.asc new file mode 100644 index 0000000..048bbb4 --- /dev/null +++ b/meson-0.56.2.tar.gz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEGeLW2bRtjapiiPh3wk5jG6ux/nAFAl/6/DsACgkQwk5jG6ux +/nBTtg/+LqbKrBZkZAi6CYRZFsqUKXjFyyWjzc/rNbrG3UPEw3IaUz9lSW/CtK8k +UeK6xG5HNCV4vCxkZUrts28W+RETU1Pfi5Tjw1v8VfO9KMRbpDmqJbJwWcMsDGCc +7bFw5VsKZsyGj9ksV4Xr7LsjIZnXWvlF0+dUpheNN4f3rI4/aOgeeERKl6U7KvHX +pmvWbhyco1XGlC2Q6hfmqEbChKGcqHtMcK3PgG6S2yCv9bKlVIcm0Drp7U/wNIwx +OFf/K8oIIfMBSKNHZBpbjjoy7neOB7NLalZDaroFRDCMQgqYpT/9RbNLeEEEOgIb +KHJ2YrP5m6EP2LiJ7mTnmf8UF05CwMAMVtBl+ozkFwcPfkJrDtaRV+3rcCdgsqWa +f8u2yCMpMFm/fpcqH4aw31OuotxXZ/DxF5dAci6+LWugc5r8R7BlwJclkKTVK9M5 +5CXVdN7a8YWwqKidyPyKmNcoF37U37IKfKLIETGkwp5LS/RiLm8z9p2qp9Ydglj9 +Cpdl1QTwGODbfQJUi9ufme8W2vd66r5eIUVeE/l7BN8jNSf3doF+p0+z+5/fk5XA +eWtKmd8Mjvd2MMMJy4x0u2g6WmXxi9lWP/aFAGo+sdofDvDtPhvtC5qpiKLyCOJT +BlQp5CD2O1JWoeIFpEmAaPKku032R5UihYHGxyhCnyLXdPb3fLs= +=GZju +-----END PGP SIGNATURE----- diff --git a/meson-0.57.2.tar.gz b/meson-0.57.2.tar.gz deleted file mode 100644 index c14e526..0000000 --- a/meson-0.57.2.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3a83e7b1c5de94fa991ec34d9b198d94f38ed699d3524cb0fdf3b99fd23d4cc5 -size 1853721 diff --git a/meson-0.57.2.tar.gz.asc b/meson-0.57.2.tar.gz.asc deleted file mode 100644 index 15ba978..0000000 --- a/meson-0.57.2.tar.gz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEEGeLW2bRtjapiiPh3wk5jG6ux/nAFAmBxfOgACgkQwk5jG6ux -/nAC8g/8Cb/4kaRHXCns7Fnfdfw0TBWJwzo+jBnx0kscN4I3QxzGBsAzH8SQWNg1 -cWDT5GRWY7bzXT855qTRv8EoLeJIfLGVh52lWCk/KaQL3Lw246iAsYuOrGp9EGUI -q40GMCIfsscBKm4PrYEicfnEe3GexgHqLxLFbX2zKrH4D8oqq4caBB0hImdtylct -7CyXDjnKIqqMgoLGh4AumZNvRD1Xy7lLrKAe6q6gZ91c99pCGojPptpA3xVKmULf -kijJdg60Eydc1MsFHVEmvyp/FkhW0oW2+xykceF1LEEDDTqMqsLM+5e6iXq1kfER -XNHtBUgWd4y7xk3nLOk+EEjvQgWQuRJst2R9/eoLfWPYAD+IXR4OEXwRIyUqRHAe -y74q6jeJ97PC1aeZ4WUArijuNJFBfwp/57nrvg3Ovx2oChF7J6TIBqVdmfNDdeIE -K77tKI/YfIql01DEu1bAEIO1P/BcXMe7X2siB+oUyJ6j3CPHae2hsvGec3wIi2+o -jUlvqqr/refUvhlffvdaR/Swp47zlJ/GxvDXHFo6L26LCiK89TcQAU9p/ZXwL8IV -zqvRUvENtCxOYKDPKKe265aHfgTQ4sJ9OLiWeZ1TsaYdVgEPdioCYqJxiORV4qHA -kQV/mAXJGcVyRgrAAX6Hx6Jc44cWJ54wkcsGu1Z/I978ekDkUvc= -=v/5G ------END PGP SIGNATURE----- diff --git a/meson-distutils.patch b/meson-distutils.patch index a01da8b..ef4ff63 100644 --- a/meson-distutils.patch +++ b/meson-distutils.patch @@ -1,18 +1,9 @@ -From 9e4c764df222328348f9b245b3b8480c243e4516 Mon Sep 17 00:00:00 2001 -From: sp1rit -Date: Wed, 14 Apr 2021 14:35:17 +0200 -Subject: [PATCH] setup.py: use distutils instead of full setuptools - ---- - setup.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index 17a00b34d..2a2599ee1 100644 ---- a/setup.py -+++ b/setup.py -@@ -21,7 +21,7 @@ if sys.version_info < (3, 6): - '\nMeson requires Python 3.6.0 or greater'.format(sys.version)) +Index: meson-0.52.0/setup.py +=================================================================== +--- 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 @@ -20,6 +11,3 @@ index 17a00b34d..2a2599ee1 100644 # On windows, will create Scripts/meson.exe and Scripts/meson-script.py # Other platforms will create bin/meson --- -2.31.1 - diff --git a/meson.changes b/meson.changes index c98b209..b25b5ed 100644 --- a/meson.changes +++ b/meson.changes @@ -1,50 +1,8 @@ ------------------------------------------------------------------- -Wed Apr 14 12:40:39 UTC 2021 - Florian +Fri May 7 07:18:34 UTC 2021 - Dominique Leuenberger -- Update to version 0.57.2: - + Project version can be specified with a file. - + Support for reading files at configuration time with the fs - module. - + Added --dry-run parameter to install. - + Experimental support for C++ modules in Visual Studio. - + Added Qt6 module. - + Added unstable Rust module. - + Meson test() now accepts `protocol : 'rust'`. - + MSVC/Clang-Cl Argument Changes/Cleanup. - + Buildtype remains even if dependent options are changed. - + Passing internal dependencies to the compiler object. - + `unstable_external_project` improvements. - + Added `gnome.post_install()` method. - + "Edit and continue" (/ZI) is no longer used by default for - Visual Studio. - + Minimum required Python version updated to 3.6. - + Added vendoring to subprojects (`meson dist`). - + `custom_target()` and `run_target()` now accepts an env keyword - argument. - + `summary()` accepts external programs or dependencies. - + CMake `find_package` version support. - + `meson test` only rebuilds test dependencies. - + The `add_*_script` methods now accept a File as the first - argument. - + Disabled Unity build with Vala. - + New logging format for `meson test`. - + Added `--destdir` arg to install that overrides the `DESTDIR` - env var. - + Added `skip_if_destdir` param to `meson.add_install_script()` - to allow disabling install scripts if DESTDIR is set. - + Add support for prelinked static libraries. - + Rust now has an std option. - + Changed behaviour of SIGINT in `meson test`. - + Support added for LLVM's thinLTO. - + `test()` timeout and timeout_multiplier value <= 0. - + Knob to control LTO thread. - + `summary()` now uses left alignment for both keys and values. - + `//` is now allowed as a function id for `meson rewrite`. - + All keys of the configuration_data object can be obtained with - the keys() method. -- Recreated meson-distutils.patch due to upstream changes. -- meson-test: removed check for aarch64 as broken files have been - removed. +- Add 0200340a.patch: gnome: Drop use of volatile in GLib type + functions (boo#1185720). ------------------------------------------------------------------- Thu Feb 4 13:35:57 UTC 2021 - Dominique Leuenberger diff --git a/meson.spec b/meson.spec index 6ce0521..f93cf91 100644 --- a/meson.spec +++ b/meson.spec @@ -28,7 +28,7 @@ %{!?vim_data_dir:%global vim_data_dir %{_datadir}/vim} %bcond_with setuptools Name: meson%{name_ext} -Version: 0.57.2 +Version: 0.56.2 Release: 0 Summary: Python-based build system License: Apache-2.0 @@ -37,13 +37,15 @@ 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-UPSTREAM 0200340a.patch boo#1185720 dimstar@opensuse.org -- gnome: Drop use of volatile in GLib type functions +Patch0: https://github.com/mesonbuild/meson/commit/0200340a.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-FEATURE-OPENSUSE meson-distutils.patch tchvatal@suse.com -- build and install using distutils instead of full setuptools Patch2: meson-distutils.patch BuildRequires: fdupes BuildRequires: python-rpm-macros -BuildRequires: python3-base >= 3.6 +BuildRequires: python3-base %if "%{flavor}" != "test" BuildArch: noarch %endif @@ -157,6 +159,7 @@ This package provides support for meson.build files in Vim. %prep %setup -q -n meson-%{version} +%patch0 -p1 %patch1 -p1 %if !%{with setuptools} %patch2 -p1 @@ -219,6 +222,10 @@ cp -r meson.egg-info %{buildroot}%{python3_sitelib}/meson-%{version}-py%{python3 %if %{with test} %check +%ifarch aarch64 +# Test not supported on aarch64 yet +rm -r "test cases/common/122 llvm ir and assembly" +%endif export LANG=C.UTF-8 export MESON_EXE=%{_bindir}/meson python3 run_tests.py --failfast