From fc7b6e131ba72cdf1204ad227b7ef03fd3aeac6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Commaille?= Date: Fri, 5 Apr 2024 12:16:56 +0200 Subject: [PATCH] cargo: Merge workspace features with crate features Those features are additive so the workspace should not overwrite the ones declared on the crate --- cargo/flatpak-cargo-generator.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cargo/flatpak-cargo-generator.py b/cargo/flatpak-cargo-generator.py index 9877abf..6f6866b 100755 --- a/cargo/flatpak-cargo-generator.py +++ b/cargo/flatpak-cargo-generator.py @@ -136,7 +136,13 @@ def update_workspace_keys(pkg, workspace): if 'workspace' in item: if isinstance(workspace_item, dict): del item['workspace'] - item.update(workspace_item) + + for dep_key, workspace_value in workspace_item.items(): + # features are additive + if dep_key == 'features' and 'features' in item: + item['features'] += workspace_value + else: + item[dep_key] = workspace_value elif len(item) > 1: del item['workspace'] item.update({ 'version': workspace_item })