Backport more patches for "feature" option type

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
This commit is contained in:
Igor Gnatenko 2018-07-25 17:39:08 +02:00
parent 66003dedf7
commit d715e30e89
No known key found for this signature in database
GPG Key ID: 695714BD1BBC5F4C
7 changed files with 115 additions and 36 deletions

View File

@ -1,11 +1,12 @@
From 4750aba45d940feef0aa29fb2258fe69f161fb65 Mon Sep 17 00:00:00 2001
From 48e8347b4755800287aa653a4d08b89d86bfda52 Mon Sep 17 00:00:00 2001
From: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date: Mon, 23 Jul 2018 19:25:30 +0200
Subject: [PATCH 1/4] rpm: use %set_build_flags [skip ci]
Subject: [PATCH 1/5] rpm: use %set_build_flags [skip ci]
It has better name and should do the trick.
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
(cherry picked from commit 99070beec4a6b1ded499405025104483534f97e4)
---
data/macros.meson | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)

View File

@ -1,7 +1,7 @@
From 448479e7d6822217e2c363f65911613bf026fbd9 Mon Sep 17 00:00:00 2001
From 07ed6359314c2e891c856bd0dd60e228d1e99238 Mon Sep 17 00:00:00 2001
From: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date: Mon, 23 Jul 2018 19:29:19 +0200
Subject: [PATCH 2/4] =?UTF-8?q?rpm:=20use=20%{shrink=E2=80=A6}=20[skip=20c?=
Subject: [PATCH 2/5] =?UTF-8?q?rpm:=20use=20%{shrink=E2=80=A6}=20[skip=20c?=
=?UTF-8?q?i]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@ -10,6 +10,7 @@ Content-Transfer-Encoding: 8bit
Make logs look better!
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
(cherry picked from commit 88d1b8f9e7b6ff6adc4103e489f09a96e5a99743)
---
data/macros.meson | 36 ++++++++++++++++++------------------
1 file changed, 18 insertions(+), 18 deletions(-)

View File

@ -1,11 +1,12 @@
From e6a4aeab0f70b0149fd4021ed875f4a60e1c5c64 Mon Sep 17 00:00:00 2001
From 5791529fdfce3e962a2d857c807e082e051c4e1d Mon Sep 17 00:00:00 2001
From: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date: Mon, 23 Jul 2018 19:24:33 +0200
Subject: [PATCH 3/4] rpm: pass --auto-features=enabled [skip ci]
Subject: [PATCH 3/5] rpm: pass --auto-features=enabled [skip ci]
We really want to be explicit.
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
(cherry picked from commit 1515fca2d9d4dcc8c9c98689421e69517444c05e)
---
data/macros.meson | 2 ++
1 file changed, 2 insertions(+)

View File

@ -0,0 +1,71 @@
From 7d25a2d488f56876988ed6cb648f4d65a7ef5ce1 Mon Sep 17 00:00:00 2001
From: Nirbheek Chauhan <nirbheek@centricular.com>
Date: Wed, 25 Jul 2018 18:33:53 +0530
Subject: [PATCH 4/5] Add a feature-new entry for UserFeatureOption
Since we can't detect it in meson_options.txt, detect it when the
option is used.
(cherry picked from commit 0ea21d7aea28c56f37fc37bda31031a6ecb5d6ae)
---
mesonbuild/interpreter.py | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index 833e982e..29686f4e 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -92,12 +92,13 @@ class FeatureOptionHolder(InterpreterObject, ObjectHolder):
def auto_method(self, args, kwargs):
return self.held_object.is_auto()
-def extract_required_kwarg(kwargs):
+def extract_required_kwarg(kwargs, subproject):
val = kwargs.get('required', True)
disabled = False
required = False
feature = None
if isinstance(val, FeatureOptionHolder):
+ FeatureNew('User option "feature"', '0.47.0').use(subproject)
option = val.held_object
feature = val.name
if option.is_disabled():
@@ -1412,7 +1413,7 @@ class CompilerHolder(InterpreterObject):
if not isinstance(libname, str):
raise InterpreterException('Library name not a string.')
- disabled, required, feature = extract_required_kwarg(kwargs)
+ disabled, required, feature = extract_required_kwarg(kwargs, self.subproject)
if disabled:
mlog.log('Library', mlog.bold(libname), 'skipped: feature', mlog.bold(feature), 'disabled')
lib = dependencies.ExternalLibrary(libname, None,
@@ -2458,7 +2459,7 @@ external dependencies (including libraries) must go to "dependencies".''')
@permittedKwargs(permitted_kwargs['add_languages'])
@stringArgs
def func_add_languages(self, node, args, kwargs):
- disabled, required, feature = extract_required_kwarg(kwargs)
+ disabled, required, feature = extract_required_kwarg(kwargs, self.subproject)
if disabled:
for lang in sorted(args, key=compilers.sort_clink):
mlog.log('Compiler for language', mlog.bold(lang), 'skipped: feature', mlog.bold(feature), 'disabled')
@@ -2719,7 +2720,7 @@ external dependencies (including libraries) must go to "dependencies".''')
if not args:
raise InterpreterException('No program name specified.')
- disabled, required, feature = extract_required_kwarg(kwargs)
+ disabled, required, feature = extract_required_kwarg(kwargs, self.subproject)
if disabled:
mlog.log('Program', mlog.bold(' '.join(args)), 'skipped: feature', mlog.bold(feature), 'disabled')
return ExternalProgramHolder(dependencies.NonExistingExternalProgram())
@@ -2834,7 +2835,7 @@ external dependencies (including libraries) must go to "dependencies".''')
name = args[0]
display_name = name if name else '(anonymous)'
- disabled, required, feature = extract_required_kwarg(kwargs)
+ disabled, required, feature = extract_required_kwarg(kwargs, self.subproject)
if disabled:
mlog.log('Dependency', mlog.bold(display_name), 'skipped: feature', mlog.bold(feature), 'disabled')
return DependencyHolder(NotFoundDependency(self.environment), self.subproject)
--
2.18.0

View File

@ -1,25 +0,0 @@
From d6b119dd63869631ccb4c72e002406a65a5060d5 Mon Sep 17 00:00:00 2001
From: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date: Tue, 24 Jul 2018 15:55:14 +0200
Subject: [PATCH 4/4] rpm: set --auto-features=auto
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
---
data/macros.meson | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/data/macros.meson b/data/macros.meson
index 4a8a3ca4..39ceca23 100644
--- a/data/macros.meson
+++ b/data/macros.meson
@@ -1,6 +1,6 @@
%__meson %{_bindir}/meson
%__meson_wrap_mode nodownload
-%__meson_auto_features enabled
+%__meson_auto_features auto
%meson \
%set_build_flags \
--
2.18.0

View File

@ -0,0 +1,29 @@
From 57382aad45504627649e6412fea62249e65b533e Mon Sep 17 00:00:00 2001
From: Xavier Claessens <xavier.claessens@collabora.com>
Date: Wed, 25 Jul 2018 09:54:48 -0400
Subject: [PATCH 5/5] UserFeatureOption: Default to 'auto' when no value
specified
Closes #3938.
(cherry picked from commit 5f9fda4accc0b1cf6952877533c04995d701e499)
---
mesonbuild/optinterpreter.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mesonbuild/optinterpreter.py b/mesonbuild/optinterpreter.py
index 94efbcf9..8967a53b 100644
--- a/mesonbuild/optinterpreter.py
+++ b/mesonbuild/optinterpreter.py
@@ -121,7 +121,7 @@ def string_array_parser(name, description, kwargs):
def FeatureParser(name, description, kwargs):
return coredata.UserFeatureOption(name,
description,
- kwargs.get('value', 'enabled'),
+ kwargs.get('value', 'auto'),
yielding=kwargs.get('yield', coredata.default_yielding))
option_types = {'string': StringParser,
--
2.18.0

View File

@ -4,20 +4,18 @@
Name: meson
Version: 0.47.1
Release: 4%{?dist}
Release: 5%{?dist}
Summary: High productivity build system
License: ASL 2.0
URL: http://mesonbuild.com/
Source0: https://github.com/mesonbuild/meson/archive/%{version}/%{name}-%{version}.tar.gz
# https://github.com/mesonbuild/meson/pull/3930
Patch0001: 0001-rpm-use-set_build_flags-skip-ci.patch
Patch0002: 0002-rpm-use-shrink-skip-ci.patch
Patch0003: 0003-rpm-pass-auto-features-enabled-skip-ci.patch
# We do not want this yet
# https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/SVURE6JRDBTFKHJAPFBYRZ62JQ56OLEG/
Patch0004: 0004-rpm-set-auto-features-auto.patch
Patch0004: 0004-Add-a-feature-new-entry-for-UserFeatureOption.patch
Patch0005: 0005-UserFeatureOption-Default-to-auto-when-no-value-spec.patch
BuildArch: noarch
Obsoletes: %{name}-gui < 0.31.0-3
@ -124,6 +122,9 @@ export MESON_PRINT_TEST_OUTPUT=1
%{_datadir}/polkit-1/actions/com.mesonbuild.install.policy
%changelog
* Wed Jul 25 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.47.1-5
- Backport more patches for "feature" option type
* Tue Jul 24 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.47.1-4
- Don't sneak auto-features patch yet