Hi, The just released meson 1.3 strongly deprecated a hack we were using, emitting a noisy warning (the hack basically depended on an implementation detail to work). Turns out there has been a better way available for a while, I just hadn't found it. 1.4 added a more convenient approach, but we can't rely on that.
Everything continues to work, but the warning is annoying. The warning: Message: checking for file conflicts between source and build directory ../home/andres/src/postgresql/meson.build:2972: DEPRECATION: Project uses feature that was always broken, and is now deprecated since '1.3.0': str.format: Value other than strings, integers, bools, options, dictionaries and lists thereof.. [...] WARNING: Broken features used: * 1.3.0: {'str.format: Value other than strings, integers, bools, options, dictionaries and lists thereof.'} I plan to apply this soon, unless I hear some opposition / better ideas / .... Greetings, Andres Freund
>From d296c088ceadeac281a54d6f7f748112c5efb33a Mon Sep 17 00:00:00 2001 From: Andres Freund <and...@anarazel.de> Date: Wed, 29 Nov 2023 10:47:20 -0800 Subject: [PATCH v1] meson: Stop using deprecated way getting path of files The just released meson 1.3 strongly deprecated a hack we were using, emitting a noisy warning (the hack basically depended on an implementation detail to work). Turns out there has been a better way available for a while, I just hadn't found it. 1.4 added a more convenient approach, but we can't rely on that. Author: Reviewed-by: Discussion: https://postgr.es/m/ Backpatch: 16-, where the meson build was added. --- meson.build | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index 0095fb183af..d8ff5cb51f0 100644 --- a/meson.build +++ b/meson.build @@ -2924,8 +2924,12 @@ potentially_conflicting_files = [] foreach t : potentially_conflicting_files_t potentially_conflicting_files += t.full_path() endforeach -foreach t : configure_files - t = '@0@'.format(t) +foreach t1 : configure_files + if meson.version().version_compare('>=0.59') + t = fs.parent(t1) / fs.name(t1) + else + t = '@0@'.format(t1) + endif potentially_conflicting_files += meson.current_build_dir() / t endforeach foreach sub, fnames : generated_sources_ac -- 2.38.0