From b3eb04485cf4553b0e588a7ca78f7377e1c4f35e Mon Sep 17 00:00:00 2001 From: Eli Schwartz Date: Mon, 27 Jun 2022 01:48:02 -0400 Subject: [PATCH] fix invalid use of subprojects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The keycodemapdb Meson subproject provides a program and a source input. Since it is a subproject, Meson wants to sandbox that and requires it to be explicitly exported. But this never happened -- instead, we manually poked at files using the actual string path "subprojects/......" This was always a Meson sandbox violation, but Meson 0.63.0 started noticing it and erroring out. Instead, do the right thing. Update the subproject to a version that has a meson.build with actually meaningful contents -- namely, a files variable and a found program. Then use these in order to run the needed custom_target. In the process, it is also necessary to correct the argument ordering when running keymap-gen. Reviewed-by: Marc-André Lureau diff --git a/meson.build b/meson.build index 995268b..8ce87ae 100644 --- a/meson.build +++ b/meson.build @@ -40,9 +40,10 @@ spice_common = subproject('spice-common', default_options : ['generate-code=clie spice_gtk_config_data.merge_from(spice_common.get_variable('spice_common_config_data')) spice_glib_deps += spice_common.get_variable('spice_common_client_dep') -subproject('keycodemapdb') -keymapgen = files('subprojects/keycodemapdb/tools/keymap-gen') -keymapcsv = files('subprojects/keycodemapdb/data/keymaps.csv') +keycodemapdb = subproject('keycodemapdb') + +keymapgen = find_program('keymap-gen') +keymapcsv = keycodemapdb.get_variable('keymaps_csv') # # check for system headers diff --git a/subprojects/keycodemapdb/meson.build b/subprojects/keycodemapdb/meson.build index eb9416b..ea05720 100644 --- a/subprojects/keycodemapdb/meson.build +++ b/subprojects/keycodemapdb/meson.build @@ -1 +1,7 @@ -project('keycodemapdb') +project('keycodemapdb', meson_version: '>=0.46.0') + +keymap_gen = find_program('tools/keymap-gen') +meson.override_find_program('keymap-gen', keymap_gen) + +keymaps_csv = files('data/keymaps.csv') + -- 2.20.1