commit:     2556ee17fb54aea6c0b6d766f239db009f7b57fc
Author:     Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Sun Dec  3 00:53:47 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Dec  3 01:05:44 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2556ee17

dev-util/meson: backport fix for broken configure_file output

This broke portage itself.

Bug: https://github.com/mesonbuild/meson/pull/12532
Bug: https://bugs.gentoo.org/919072
Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...-convert-boolean-values-for-cmake-formats.patch | 31 ++++++++++++++++++++++
 .../{meson-1.3.0.ebuild => meson-1.3.0-r1.ebuild}  |  3 +++
 2 files changed, 34 insertions(+)

diff --git 
a/dev-util/meson/files/0001-Only-convert-boolean-values-for-cmake-formats.patch 
b/dev-util/meson/files/0001-Only-convert-boolean-values-for-cmake-formats.patch
new file mode 100644
index 000000000000..394b1bbb7c1b
--- /dev/null
+++ 
b/dev-util/meson/files/0001-Only-convert-boolean-values-for-cmake-formats.patch
@@ -0,0 +1,31 @@
+From 9016e6958bb83feb9a724f20d8badb116bf7c5f2 Mon Sep 17 00:00:00 2001
+From: Jan200101 <sentrycraft...@gmail.com>
+Date: Tue, 21 Nov 2023 08:42:56 +0100
+Subject: [PATCH] Only convert boolean values for cmake formats
+
+This caused a regression with mesondefine where
+  `conf_data.set("FOO", true)`
+turned into
+  `#define FOO 1`
+instead of
+  `#define FOO`
+---
+ mesonbuild/utils/universal.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mesonbuild/utils/universal.py b/mesonbuild/utils/universal.py
+index 26194628c..93e64c0a2 100644
+--- a/mesonbuild/utils/universal.py
++++ b/mesonbuild/utils/universal.py
+@@ -1210,7 +1210,7 @@ def do_replacement(regex: T.Pattern[str], line: str,
+                 var, _ = confdata.get(varname)
+                 if isinstance(var, str):
+                     var_str = var
+-                elif isinstance(var, bool):
++                elif variable_format.startswith("cmake") and isinstance(var, 
bool):
+                     var_str = str(int(var))
+                 elif isinstance(var, int):
+                     var_str = str(var)
+-- 
+2.41.0
+

diff --git a/dev-util/meson/meson-1.3.0.ebuild 
b/dev-util/meson/meson-1.3.0-r1.ebuild
similarity index 96%
rename from dev-util/meson/meson-1.3.0.ebuild
rename to dev-util/meson/meson-1.3.0-r1.ebuild
index 429bfd5ba7d3..1621828da199 100644
--- a/dev-util/meson/meson-1.3.0.ebuild
+++ b/dev-util/meson/meson-1.3.0-r1.ebuild
@@ -54,6 +54,9 @@ RDEPEND="
 
 PATCHES=(
        "${FILESDIR}"/${PN}-1.2.1-python-path.patch
+
+       # backport fix for broken configure_file()
+       "${FILESDIR}"/0001-Only-convert-boolean-values-for-cmake-formats.patch
 )
 
 python_prepare_all() {

Reply via email to