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 <[email protected]>
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