From 251ceeed2fa59a278195fd88ab7e8a841c8d7acd Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 10 May 2022 03:20:58 -0400 Subject: [PATCH] import meson-0.58.2-2.el8 --- .gitignore | 2 +- .meson.metadata | 2 +- ...use_PIE_objects_for_static_libraries.patch | 92 ------------------- SPECS/meson.spec | 14 ++- 4 files changed, 12 insertions(+), 98 deletions(-) delete mode 100644 SOURCES/0001_use_PIE_objects_for_static_libraries.patch diff --git a/.gitignore b/.gitignore index 51be512..01566ea 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/meson-0.55.3.tar.gz +SOURCES/meson-0.58.2.tar.gz diff --git a/.meson.metadata b/.meson.metadata index f31018c..5fa6c73 100644 --- a/.meson.metadata +++ b/.meson.metadata @@ -1 +1 @@ -6a6ca4d36eb8cdf954beff08c653fc72cf336527 SOURCES/meson-0.55.3.tar.gz +4058a574a8a1335102b24981d049fd82ccdb4150 SOURCES/meson-0.58.2.tar.gz diff --git a/SOURCES/0001_use_PIE_objects_for_static_libraries.patch b/SOURCES/0001_use_PIE_objects_for_static_libraries.patch deleted file mode 100644 index 5cff687..0000000 --- a/SOURCES/0001_use_PIE_objects_for_static_libraries.patch +++ /dev/null @@ -1,92 +0,0 @@ -From a57d1aaafe47dadaa5fad8b73ec9e2e31bb5f123 Mon Sep 17 00:00:00 2001 -From: Paolo Bonzini -Date: Thu, 8 Oct 2020 15:30:24 +0200 -Subject: [PATCH] build: use PIE objects for static libraries if - b_staticpic=false but b_pie=true - -If static_library is used as a convenience library (e.g. for link_whole) -it should in principle not need position independent code. -However, if the executables that the libraries is linked to are PIE, -the non-PIC objects in the static library will cause linker errors. -To avoid this, obey b_pie for static libraries if either b_staticpic=false -or they use "pic: false". - -Without this patch, QEMU cannot use b_staticpic, which causes a slowdown -on some QEMU benchmarks up to 20%. - -(cherry picked from commit 021d242f9ce8e6cd804af0c1eb4179b8c83fd470) -Signed-off-by: Danilo C. L. de Paula ---- - mesonbuild/backend/backends.py | 2 +- - mesonbuild/build.py | 18 +++++++++++------- - 2 files changed, 12 insertions(+), 8 deletions(-) - -diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py -index c84bb7534..f67efe370 100644 ---- a/mesonbuild/backend/backends.py -+++ b/mesonbuild/backend/backends.py -@@ -694,7 +694,7 @@ class Backend: - # Set -fPIC for static libraries by default unless explicitly disabled - if isinstance(target, build.StaticLibrary) and target.pic: - commands += compiler.get_pic_args() -- if isinstance(target, build.Executable) and target.pie: -+ elif isinstance(target, (build.StaticLibrary, build.Executable)) and target.pie: - commands += compiler.get_pie_args() - # Add compile args needed to find external dependencies. Link args are - # added while generating the link command. -diff --git a/mesonbuild/build.py b/mesonbuild/build.py -index a06979cea..90cbd1aa6 100644 ---- a/mesonbuild/build.py -+++ b/mesonbuild/build.py -@@ -972,13 +972,13 @@ This will become a hard error in a future Meson release.''') - if m.is_darwin() or m.is_windows(): - self.pic = True - else: -- self.pic = self._extract_pic_pie(kwargs, 'pic') -- if isinstance(self, Executable): -+ self.pic = self._extract_pic_pie(kwargs, 'pic', environment, 'b_staticpic') -+ if isinstance(self, Executable) or (isinstance(self, StaticLibrary) and not self.pic): - # Executables must be PIE on Android - if self.environment.machines[self.for_machine].is_android(): - self.pie = True - else: -- self.pie = self._extract_pic_pie(kwargs, 'pie') -+ self.pie = self._extract_pic_pie(kwargs, 'pie', environment, 'b_pie') - self.implicit_include_directories = kwargs.get('implicit_include_directories', True) - if not isinstance(self.implicit_include_directories, bool): - raise InvalidArguments('Implicit_include_directories must be a boolean.') -@@ -990,14 +990,20 @@ This will become a hard error in a future Meson release.''') - if self.gnu_symbol_visibility not in permitted: - raise InvalidArguments('GNU symbol visibility arg {} not one of: {}'.format(self.symbol_visibility, ', '.join(permitted))) - -- def _extract_pic_pie(self, kwargs, arg): -+ def _extract_pic_pie(self, kwargs, arg, environment, option): - # Check if we have -fPIC, -fpic, -fPIE, or -fpie in cflags - all_flags = self.extra_args['c'] + self.extra_args['cpp'] - if '-f' + arg.lower() in all_flags or '-f' + arg.upper() in all_flags: - mlog.warning("Use the '{}' kwarg instead of passing '{}' manually to {!r}".format(arg, '-f' + arg, self.name)) - return True - -- val = kwargs.get(arg, False) -+ if arg in kwargs: -+ val = kwargs[arg] -+ elif option in environment.coredata.base_options: -+ val = environment.coredata.base_options[option].value -+ else: -+ val = False -+ - if not isinstance(val, bool): - raise InvalidArguments('Argument {} to {!r} must be boolean'.format(arg, self.name)) - return val -@@ -1611,8 +1617,6 @@ class StaticLibrary(BuildTarget): - - def __init__(self, name, subdir, subproject, for_machine: MachineChoice, sources, objects, environment, kwargs): - self.typename = 'static library' -- if 'pic' not in kwargs and 'b_staticpic' in environment.coredata.base_options: -- kwargs['pic'] = environment.coredata.base_options['b_staticpic'].value - super().__init__(name, subdir, subproject, for_machine, sources, objects, environment, kwargs) - if 'cs' in self.compilers: - raise InvalidArguments('Static libraries not supported for C#.') --- -2.27.0 - diff --git a/SPECS/meson.spec b/SPECS/meson.spec index b611322..d68788a 100644 --- a/SPECS/meson.spec +++ b/SPECS/meson.spec @@ -6,8 +6,8 @@ %bcond_with check Name: meson -Version: 0.55.3 -Release: 3%{?dist} +Version: 0.58.2 +Release: 2%{?dist} Summary: High productivity build system License: ASL 2.0 @@ -72,8 +72,6 @@ BuildRequires: llvm-devel BuildRequires: cups-devel %endif -patch0001: 0001_use_PIE_objects_for_static_libraries.patch - %description Meson is a build system designed to optimize programmer productivity. It aims to do this by providing simple, out-of-the-box @@ -115,6 +113,14 @@ export MESON_PRINT_TEST_OUTPUT=1 %changelog +* Tue Nov 16 2021 Tomas Pelka - 0.58.2-2 +- Bump release and rebuild in -candidate target to fix gating issues + Resolves: rhbz#2006519 + +* Mon Oct 18 2021 Eduardo Lima (Etrunko) - 0.58.2-1 +- Update meson to 0.58-2 + Resolves: rhbz#2006519 + * Tue Dec 15 2020 Danilo C. L. de Paula - 0.55.3-3 - build: use PIE objects for static libraries Resolves: rhbz#1899620