[PATCH] meson: Work around configure_file(copy:true) deprecation

Michal Privoznik posted 1 patch 1 year, 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/e5b5cc3ad78aecd2a9b3087b62ba6476552def68.1679587286.git.mprivozn@redhat.com
docs/css/meson.build    | 6 +++++-
docs/fonts/meson.build  | 6 +++++-
docs/images/meson.build | 6 +++++-
docs/js/meson.build     | 8 ++++++--
docs/logos/meson.build  | 6 +++++-
docs/meson.build        | 6 +++++-
meson.build             | 3 +++
src/locking/meson.build | 8 ++++----
src/network/meson.build | 2 +-
9 files changed, 39 insertions(+), 12 deletions(-)
[PATCH] meson: Work around configure_file(copy:true) deprecation
Posted by Michal Privoznik 1 year, 1 month ago
In our meson scripts, we use configure_file(copy:true) to copy
files from srcdir into builddir. However, as of meson-0.64.0,
this is deprecated [1] in favor of using:

  fs = import('fs')
  fs.copyfile(in, out)

Except, the submodule's new method wasn't introduced until
0.64.0. And since we can't bump the minimal meson version we
require, we have to work with both: new and old versions.

Now, the fun part: fs.copyfile() is not a drop in replacement as
it returns different type (a custom_target object). This is
incompatible with places where we store the configure_file()
retval in a variable to process it further.

While we could just replace 'copy:true' with a dummy
'configuration:...' (say 'configuration: configmake_conf') we
can't do that for binary files (like src/fonts/ or src/images/).

Therefore, places where we are not interested in the retval can
be switched to fs.copyfile() and places where we are interested
in the retval will just use a dummy 'configuration:'.

Except, src/network/meson.build. In here we not just copy the
file but also specify alternative install dir and that's not
something that fs.copyfile() can handle. Yet, using 'copy: true'
is viewed wrong [2].

1: https://mesonbuild.com/Release-notes-for-0-64-0.html#fscopyfile-to-replace-configure_filecopy-true
2: https://github.com/mesonbuild/meson/pull/10042

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
---
 docs/css/meson.build    | 6 +++++-
 docs/fonts/meson.build  | 6 +++++-
 docs/images/meson.build | 6 +++++-
 docs/js/meson.build     | 8 ++++++--
 docs/logos/meson.build  | 6 +++++-
 docs/meson.build        | 6 +++++-
 meson.build             | 3 +++
 src/locking/meson.build | 8 ++++----
 src/network/meson.build | 2 +-
 9 files changed, 39 insertions(+), 12 deletions(-)

diff --git a/docs/css/meson.build b/docs/css/meson.build
index 384f6e789f..a2a2ccfb28 100644
--- a/docs/css/meson.build
+++ b/docs/css/meson.build
@@ -11,7 +11,11 @@ install_data(docs_css_files, install_dir: docs_html_dir / 'css')
 foreach file : docs_css_files
   # This hack enables us to view the web pages
   # from within the uninstalled build tree
-  configure_file(input: file, output: file, copy: true)
+  if meson.version().version_compare('>=0.64.0')
+    fs.copyfile(file)
+  else
+    configure_file(input: file, output: file, copy: true)
+  endif
 
   install_web_files += '@0@:@1@'.format(meson.current_source_dir() / file, docs_html_dir / 'css')
 endforeach
diff --git a/docs/fonts/meson.build b/docs/fonts/meson.build
index 53a060b972..8f2b1c3d28 100644
--- a/docs/fonts/meson.build
+++ b/docs/fonts/meson.build
@@ -17,7 +17,11 @@ install_data(fonts, install_dir: docs_html_dir / 'fonts')
 foreach file : fonts
   # This hack enables us to view the web pages
   # from within the uninstalled build tree
-  configure_file(input: file, output: file, copy: true)
+  if meson.version().version_compare('>=0.64.0')
+    fs.copyfile(file)
+  else
+    configure_file(input: file, output: file, copy: true)
+  endif
 
   install_web_files += '@0@:@1@'.format(meson.current_source_dir() / file, docs_html_dir / 'fonts')
 endforeach
diff --git a/docs/images/meson.build b/docs/images/meson.build
index 3c3cb5cce1..b9ab30fc91 100644
--- a/docs/images/meson.build
+++ b/docs/images/meson.build
@@ -17,7 +17,11 @@ install_data(docs_image_files, install_dir: docs_html_dir / 'images')
 foreach file : docs_image_files
   # This hack enables us to view the web pages
   # from within the uninstalled build tree
-  configure_file(input: file, output: file, copy: true)
+  if meson.version().version_compare('>=0.64.0')
+    fs.copyfile(file)
+  else
+    configure_file(input: file, output: file, copy: true)
+  endif
 
   install_web_files += '@0@:@1@'.format(meson.current_source_dir() / file, docs_html_dir / 'images')
 endforeach
diff --git a/docs/js/meson.build b/docs/js/meson.build
index cbf2dc2633..9f77b0d85c 100644
--- a/docs/js/meson.build
+++ b/docs/js/meson.build
@@ -7,7 +7,11 @@ install_data(docs_js_files, install_dir: docs_html_dir / 'js')
 foreach file : docs_js_files
   # This hack enables us to view the web pages
   # from within the uninstalled build tree
-  configure_file(input: file, output: file, copy: true)
+  if meson.version().version_compare('>=0.64.0')
+    fs.copyfile(file)
+  else
+    configure_file(input: file, output: file, copy: true)
+  endif
 
-    install_web_files += '@0@:@1@'.format(meson.current_source_dir() / file, docs_html_dir / 'js')
+  install_web_files += '@0@:@1@'.format(meson.current_source_dir() / file, docs_html_dir / 'js')
 endforeach
diff --git a/docs/logos/meson.build b/docs/logos/meson.build
index c65fcdd8ed..c3f4c9f522 100644
--- a/docs/logos/meson.build
+++ b/docs/logos/meson.build
@@ -25,7 +25,11 @@ install_data(docs_logo_files, install_dir: docs_html_dir / 'logos')
 foreach file : docs_logo_files
   # This hack enables us to view the web pages
   # from within the uninstalled build tree
-  configure_file(input: file, output: file, copy: true)
+  if meson.version().version_compare('>=0.64.0')
+    fs.copyfile(file)
+  else
+    configure_file(input: file, output: file, copy: true)
+  endif
 
   install_web_files += '@0@:@1@'.format(meson.current_source_dir() / file, docs_html_dir / 'logos')
 endforeach
diff --git a/docs/meson.build b/docs/meson.build
index 864abf0ba5..caa47a1476 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -345,7 +345,11 @@ subdir('manpages')
 foreach file : docs_assets
   # This hack enables us to view the web pages
   # from within the uninstalled build tree
-  configure_file(input: file, output: file, copy: true)
+  if meson.version().version_compare('>=0.64.0')
+    fs.copyfile(file)
+  else
+    configure_file(input: file, output: file, copy: true)
+  endif
 
   install_web_files += '@0@:@1@'.format(meson.current_source_dir() / file, docs_html_dir)
 endforeach
diff --git a/meson.build b/meson.build
index a0682e8d0b..885fa53e50 100644
--- a/meson.build
+++ b/meson.build
@@ -11,6 +11,9 @@ project(
   ],
 )
 
+if meson.version().version_compare('>=0.64.0')
+  fs = import('fs')
+endif
 
 # figure out if we are building from git
 
diff --git a/src/locking/meson.build b/src/locking/meson.build
index 72f7780438..57764b0da6 100644
--- a/src/locking/meson.build
+++ b/src/locking/meson.build
@@ -174,7 +174,7 @@ if conf.has('WITH_LIBVIRTD')
     qemu_lockd_conf = configure_file(
       input: 'lockd.conf',
       output: 'qemu-lockd.conf',
-      copy: true,
+      configuration: configmake_conf,
     )
     virt_conf_files += qemu_lockd_conf
     virt_test_aug_files += {
@@ -191,7 +191,7 @@ if conf.has('WITH_LIBVIRTD')
     libxl_lockd_conf = configure_file(
       input: 'lockd.conf',
       output: 'libxl-lockd.conf',
-      copy: true,
+      configuration: configmake_conf,
     )
     virt_conf_files += libxl_lockd_conf
   endif
@@ -203,7 +203,7 @@ if conf.has('WITH_LIBVIRTD')
       qemu_sanlock_conf = configure_file(
         input: 'sanlock.conf',
         output: 'qemu-sanlock.conf',
-        copy: true,
+        configuration: configmake_conf,
       )
       virt_conf_files += qemu_sanlock_conf
       virt_test_aug_files += {
@@ -220,7 +220,7 @@ if conf.has('WITH_LIBVIRTD')
       libxl_sanlock_conf = configure_file(
         input: 'sanlock.conf',
         output: 'libxl-sanlock.conf',
-        copy: true,
+        configuration: configmake_conf,
       )
       virt_conf_files += libxl_sanlock_conf
     endif
diff --git a/src/network/meson.build b/src/network/meson.build
index d266bb225a..0888d1beac 100644
--- a/src/network/meson.build
+++ b/src/network/meson.build
@@ -84,7 +84,7 @@ if conf.has('WITH_NETWORK')
   configure_file(
     input: 'default.xml.in',
     output: '@BASENAME@',
-    copy: true,
+    configuration: configmake_conf,
     install: true,
     install_dir: confdir / 'qemu' / 'networks',
   )
-- 
2.39.2
Re: [PATCH] meson: Work around configure_file(copy:true) deprecation
Posted by Martin Kletzander 1 year ago
On Thu, Mar 23, 2023 at 05:01:26PM +0100, Michal Privoznik wrote:
>In our meson scripts, we use configure_file(copy:true) to copy
>files from srcdir into builddir. However, as of meson-0.64.0,
>this is deprecated [1] in favor of using:
>
>  fs = import('fs')
>  fs.copyfile(in, out)
>
>Except, the submodule's new method wasn't introduced until
>0.64.0. And since we can't bump the minimal meson version we
>require, we have to work with both: new and old versions.
>
>Now, the fun part: fs.copyfile() is not a drop in replacement as
>it returns different type (a custom_target object). This is
>incompatible with places where we store the configure_file()
>retval in a variable to process it further.
>
>While we could just replace 'copy:true' with a dummy
>'configuration:...' (say 'configuration: configmake_conf') we

Actually, it would be even more clear that it is a dummy configuration
if you used a dict instead of cfg_data.  Meson allows this in
configure_file() according to the docs:

https://mesonbuild.com/Reference-manual_functions.html#configure_file

>can't do that for binary files (like src/fonts/ or src/images/).
>
>Therefore, places where we are not interested in the retval can
>be switched to fs.copyfile() and places where we are interested
>in the retval will just use a dummy 'configuration:'.
>
>Except, src/network/meson.build. In here we not just copy the
>file but also specify alternative install dir and that's not
>something that fs.copyfile() can handle. Yet, using 'copy: true'
>is viewed wrong [2].
>
>1: https://mesonbuild.com/Release-notes-for-0-64-0.html#fscopyfile-to-replace-configure_filecopy-true
>2: https://github.com/mesonbuild/meson/pull/10042
>
>Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
>---
> docs/css/meson.build    | 6 +++++-
> docs/fonts/meson.build  | 6 +++++-
> docs/images/meson.build | 6 +++++-
> docs/js/meson.build     | 8 ++++++--
> docs/logos/meson.build  | 6 +++++-
> docs/meson.build        | 6 +++++-
> meson.build             | 3 +++
> src/locking/meson.build | 8 ++++----
> src/network/meson.build | 2 +-
> 9 files changed, 39 insertions(+), 12 deletions(-)
>
>diff --git a/docs/css/meson.build b/docs/css/meson.build
>index 384f6e789f..a2a2ccfb28 100644
>--- a/docs/css/meson.build
>+++ b/docs/css/meson.build
>@@ -11,7 +11,11 @@ install_data(docs_css_files, install_dir: docs_html_dir / 'css')
> foreach file : docs_css_files
>   # This hack enables us to view the web pages
>   # from within the uninstalled build tree
>-  configure_file(input: file, output: file, copy: true)
>+  if meson.version().version_compare('>=0.64.0')
>+    fs.copyfile(file)
>+  else
>+    configure_file(input: file, output: file, copy: true)
>+  endif
>
>   install_web_files += '@0@:@1@'.format(meson.current_source_dir() / file, docs_html_dir / 'css')
> endforeach
>diff --git a/docs/fonts/meson.build b/docs/fonts/meson.build
>index 53a060b972..8f2b1c3d28 100644
>--- a/docs/fonts/meson.build
>+++ b/docs/fonts/meson.build
>@@ -17,7 +17,11 @@ install_data(fonts, install_dir: docs_html_dir / 'fonts')
> foreach file : fonts
>   # This hack enables us to view the web pages
>   # from within the uninstalled build tree
>-  configure_file(input: file, output: file, copy: true)
>+  if meson.version().version_compare('>=0.64.0')
>+    fs.copyfile(file)
>+  else
>+    configure_file(input: file, output: file, copy: true)
>+  endif
>
>   install_web_files += '@0@:@1@'.format(meson.current_source_dir() / file, docs_html_dir / 'fonts')
> endforeach
>diff --git a/docs/images/meson.build b/docs/images/meson.build
>index 3c3cb5cce1..b9ab30fc91 100644
>--- a/docs/images/meson.build
>+++ b/docs/images/meson.build
>@@ -17,7 +17,11 @@ install_data(docs_image_files, install_dir: docs_html_dir / 'images')
> foreach file : docs_image_files
>   # This hack enables us to view the web pages
>   # from within the uninstalled build tree
>-  configure_file(input: file, output: file, copy: true)
>+  if meson.version().version_compare('>=0.64.0')
>+    fs.copyfile(file)
>+  else
>+    configure_file(input: file, output: file, copy: true)
>+  endif
>
>   install_web_files += '@0@:@1@'.format(meson.current_source_dir() / file, docs_html_dir / 'images')
> endforeach
>diff --git a/docs/js/meson.build b/docs/js/meson.build
>index cbf2dc2633..9f77b0d85c 100644
>--- a/docs/js/meson.build
>+++ b/docs/js/meson.build
>@@ -7,7 +7,11 @@ install_data(docs_js_files, install_dir: docs_html_dir / 'js')
> foreach file : docs_js_files
>   # This hack enables us to view the web pages
>   # from within the uninstalled build tree
>-  configure_file(input: file, output: file, copy: true)
>+  if meson.version().version_compare('>=0.64.0')
>+    fs.copyfile(file)
>+  else
>+    configure_file(input: file, output: file, copy: true)
>+  endif
>
>-    install_web_files += '@0@:@1@'.format(meson.current_source_dir() / file, docs_html_dir / 'js')
>+  install_web_files += '@0@:@1@'.format(meson.current_source_dir() / file, docs_html_dir / 'js')
> endforeach
>diff --git a/docs/logos/meson.build b/docs/logos/meson.build
>index c65fcdd8ed..c3f4c9f522 100644
>--- a/docs/logos/meson.build
>+++ b/docs/logos/meson.build
>@@ -25,7 +25,11 @@ install_data(docs_logo_files, install_dir: docs_html_dir / 'logos')
> foreach file : docs_logo_files
>   # This hack enables us to view the web pages
>   # from within the uninstalled build tree
>-  configure_file(input: file, output: file, copy: true)
>+  if meson.version().version_compare('>=0.64.0')
>+    fs.copyfile(file)
>+  else
>+    configure_file(input: file, output: file, copy: true)
>+  endif
>
>   install_web_files += '@0@:@1@'.format(meson.current_source_dir() / file, docs_html_dir / 'logos')
> endforeach
>diff --git a/docs/meson.build b/docs/meson.build
>index 864abf0ba5..caa47a1476 100644
>--- a/docs/meson.build
>+++ b/docs/meson.build
>@@ -345,7 +345,11 @@ subdir('manpages')
> foreach file : docs_assets
>   # This hack enables us to view the web pages
>   # from within the uninstalled build tree
>-  configure_file(input: file, output: file, copy: true)
>+  if meson.version().version_compare('>=0.64.0')
>+    fs.copyfile(file)
>+  else
>+    configure_file(input: file, output: file, copy: true)
>+  endif
>
>   install_web_files += '@0@:@1@'.format(meson.current_source_dir() / file, docs_html_dir)
> endforeach
>diff --git a/meson.build b/meson.build
>index a0682e8d0b..885fa53e50 100644
>--- a/meson.build
>+++ b/meson.build
>@@ -11,6 +11,9 @@ project(
>   ],
> )
>
>+if meson.version().version_compare('>=0.64.0')
>+  fs = import('fs')
>+endif
>
> # figure out if we are building from git
>
>diff --git a/src/locking/meson.build b/src/locking/meson.build
>index 72f7780438..57764b0da6 100644
>--- a/src/locking/meson.build
>+++ b/src/locking/meson.build
>@@ -174,7 +174,7 @@ if conf.has('WITH_LIBVIRTD')
>     qemu_lockd_conf = configure_file(
>       input: 'lockd.conf',
>       output: 'qemu-lockd.conf',
>-      copy: true,
>+      configuration: configmake_conf,
>     )
>     virt_conf_files += qemu_lockd_conf
>     virt_test_aug_files += {
>@@ -191,7 +191,7 @@ if conf.has('WITH_LIBVIRTD')
>     libxl_lockd_conf = configure_file(
>       input: 'lockd.conf',
>       output: 'libxl-lockd.conf',
>-      copy: true,
>+      configuration: configmake_conf,
>     )
>     virt_conf_files += libxl_lockd_conf
>   endif
>@@ -203,7 +203,7 @@ if conf.has('WITH_LIBVIRTD')
>       qemu_sanlock_conf = configure_file(
>         input: 'sanlock.conf',
>         output: 'qemu-sanlock.conf',
>-        copy: true,
>+        configuration: configmake_conf,
>       )
>       virt_conf_files += qemu_sanlock_conf
>       virt_test_aug_files += {
>@@ -220,7 +220,7 @@ if conf.has('WITH_LIBVIRTD')
>       libxl_sanlock_conf = configure_file(
>         input: 'sanlock.conf',
>         output: 'libxl-sanlock.conf',
>-        copy: true,
>+        configuration: configmake_conf,
>       )
>       virt_conf_files += libxl_sanlock_conf
>     endif
>diff --git a/src/network/meson.build b/src/network/meson.build
>index d266bb225a..0888d1beac 100644
>--- a/src/network/meson.build
>+++ b/src/network/meson.build
>@@ -84,7 +84,7 @@ if conf.has('WITH_NETWORK')
>   configure_file(
>     input: 'default.xml.in',
>     output: '@BASENAME@',
>-    copy: true,
>+    configuration: configmake_conf,

As mentioned above I'd just use:

configuration: {},

here instead, but honestly, I haven't tried it.

Reviewed-by: Martin Kletzander <mkletzan@redhat.com>

>     install: true,
>     install_dir: confdir / 'qemu' / 'networks',
>   )
>-- 
>2.39.2
>
Re: [PATCH] meson: Work around configure_file(copy:true) deprecation
Posted by Michal Prívozník 1 year ago
On 4/20/23 14:07, Martin Kletzander wrote:
> On Thu, Mar 23, 2023 at 05:01:26PM +0100, Michal Privoznik wrote:
>> In our meson scripts, we use configure_file(copy:true) to copy
>> files from srcdir into builddir. However, as of meson-0.64.0,
>> this is deprecated [1] in favor of using:
>>
>>  fs = import('fs')
>>  fs.copyfile(in, out)
>>
>> Except, the submodule's new method wasn't introduced until
>> 0.64.0. And since we can't bump the minimal meson version we
>> require, we have to work with both: new and old versions.
>>
>> Now, the fun part: fs.copyfile() is not a drop in replacement as
>> it returns different type (a custom_target object). This is
>> incompatible with places where we store the configure_file()
>> retval in a variable to process it further.
>>
>> While we could just replace 'copy:true' with a dummy
>> 'configuration:...' (say 'configuration: configmake_conf') we
> 
> Actually, it would be even more clear that it is a dummy configuration
> if you used a dict instead of cfg_data.  Meson allows this in
> configure_file() according to the docs:
> 
> https://mesonbuild.com/Reference-manual_functions.html#configure_file
> 
>> can't do that for binary files (like src/fonts/ or src/images/).
>>
>> Therefore, places where we are not interested in the retval can
>> be switched to fs.copyfile() and places where we are interested
>> in the retval will just use a dummy 'configuration:'.
>>
>> Except, src/network/meson.build. In here we not just copy the
>> file but also specify alternative install dir and that's not
>> something that fs.copyfile() can handle. Yet, using 'copy: true'
>> is viewed wrong [2].
>>
>> 1:
>> https://mesonbuild.com/Release-notes-for-0-64-0.html#fscopyfile-to-replace-configure_filecopy-true
>> 2: https://github.com/mesonbuild/meson/pull/10042
>>
>> Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
>> ---
>> docs/css/meson.build    | 6 +++++-
>> docs/fonts/meson.build  | 6 +++++-
>> docs/images/meson.build | 6 +++++-
>> docs/js/meson.build     | 8 ++++++--
>> docs/logos/meson.build  | 6 +++++-
>> docs/meson.build        | 6 +++++-
>> meson.build             | 3 +++
>> src/locking/meson.build | 8 ++++----
>> src/network/meson.build | 2 +-
>> 9 files changed, 39 insertions(+), 12 deletions(-)
>>

>> diff --git a/src/network/meson.build b/src/network/meson.build
>> index d266bb225a..0888d1beac 100644
>> --- a/src/network/meson.build
>> +++ b/src/network/meson.build
>> @@ -84,7 +84,7 @@ if conf.has('WITH_NETWORK')
>>   configure_file(
>>     input: 'default.xml.in',
>>     output: '@BASENAME@',
>> -    copy: true,
>> +    configuration: configmake_conf,
> 
> As mentioned above I'd just use:
> 
> configuration: {},
> 
> here instead, but honestly, I haven't tried it.

That doesn't fly with meson:

Configuring default.xml using configuration
src/network/meson.build:84: WARNING: Got an empty configuration_data()
object and found no substitutions in the input file 'default.xml.in'. If
you want to copy a file to the build dir, use the 'copy:' keyword
argument added in 0.47.0

So it that's okay with you, I'd like to stick with this patch as is.

Michal

Re: [PATCH] meson: Work around configure_file(copy:true) deprecation
Posted by Martin Kletzander 1 year ago
On Thu, Apr 20, 2023 at 02:30:46PM +0200, Michal Prívozník wrote:
>On 4/20/23 14:07, Martin Kletzander wrote:
>> On Thu, Mar 23, 2023 at 05:01:26PM +0100, Michal Privoznik wrote:
>>> In our meson scripts, we use configure_file(copy:true) to copy
>>> files from srcdir into builddir. However, as of meson-0.64.0,
>>> this is deprecated [1] in favor of using:
>>>
>>>  fs = import('fs')
>>>  fs.copyfile(in, out)
>>>
>>> Except, the submodule's new method wasn't introduced until
>>> 0.64.0. And since we can't bump the minimal meson version we
>>> require, we have to work with both: new and old versions.
>>>
>>> Now, the fun part: fs.copyfile() is not a drop in replacement as
>>> it returns different type (a custom_target object). This is
>>> incompatible with places where we store the configure_file()
>>> retval in a variable to process it further.
>>>
>>> While we could just replace 'copy:true' with a dummy
>>> 'configuration:...' (say 'configuration: configmake_conf') we
>>
>> Actually, it would be even more clear that it is a dummy configuration
>> if you used a dict instead of cfg_data.  Meson allows this in
>> configure_file() according to the docs:
>>
>> https://mesonbuild.com/Reference-manual_functions.html#configure_file
>>
>>> can't do that for binary files (like src/fonts/ or src/images/).
>>>
>>> Therefore, places where we are not interested in the retval can
>>> be switched to fs.copyfile() and places where we are interested
>>> in the retval will just use a dummy 'configuration:'.
>>>
>>> Except, src/network/meson.build. In here we not just copy the
>>> file but also specify alternative install dir and that's not
>>> something that fs.copyfile() can handle. Yet, using 'copy: true'
>>> is viewed wrong [2].
>>>
>>> 1:
>>> https://mesonbuild.com/Release-notes-for-0-64-0.html#fscopyfile-to-replace-configure_filecopy-true
>>> 2: https://github.com/mesonbuild/meson/pull/10042
>>>
>>> Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
>>> ---
>>> docs/css/meson.build    | 6 +++++-
>>> docs/fonts/meson.build  | 6 +++++-
>>> docs/images/meson.build | 6 +++++-
>>> docs/js/meson.build     | 8 ++++++--
>>> docs/logos/meson.build  | 6 +++++-
>>> docs/meson.build        | 6 +++++-
>>> meson.build             | 3 +++
>>> src/locking/meson.build | 8 ++++----
>>> src/network/meson.build | 2 +-
>>> 9 files changed, 39 insertions(+), 12 deletions(-)
>>>
>
>>> diff --git a/src/network/meson.build b/src/network/meson.build
>>> index d266bb225a..0888d1beac 100644
>>> --- a/src/network/meson.build
>>> +++ b/src/network/meson.build
>>> @@ -84,7 +84,7 @@ if conf.has('WITH_NETWORK')
>>>   configure_file(
>>>     input: 'default.xml.in',
>>>     output: '@BASENAME@',
>>> -    copy: true,
>>> +    configuration: configmake_conf,
>>
>> As mentioned above I'd just use:
>>
>> configuration: {},
>>
>> here instead, but honestly, I haven't tried it.
>
>That doesn't fly with meson:
>
>Configuring default.xml using configuration
>src/network/meson.build:84: WARNING: Got an empty configuration_data()
>object and found no substitutions in the input file 'default.xml.in'. If
>you want to copy a file to the build dir, use the 'copy:' keyword
>argument added in 0.47.0
>

Well then either I do not understand their decisions or meson is the
stupid ono for suggesting a deprecated argument.

>So it that's okay with you, I'd like to stick with this patch as is.
>

Sure, as I said I haven't tried it, but I wouldn't have guessed this
behaviour.  Go ahead.

>Michal
>
Re: [PATCH] meson: Work around configure_file(copy:true) deprecation
Posted by Michal Prívozník 1 year ago
On 3/23/23 17:01, Michal Privoznik wrote:
>

Polite ping.

Michal