subprojects: add attrs crate

The attrs crate is a simple combinator-based for Rust attributes.  It
will be used instead of a handwritten parser.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini
2025-09-22 17:17:18 +02:00
parent f87a2e5c59
commit 193f2ab6e0
8 changed files with 47 additions and 2 deletions
+1
View File
@@ -8,6 +8,7 @@
/slirp
/anyhow-1.0.98
/arbitrary-int-1.2.7
/attrs-0.2.9
/bilge-0.2.0
/bilge-impl-0.2.0
/either-1.12.0
+7
View File
@@ -0,0 +1,7 @@
[wrap-file]
directory = attrs-0.2.9
source_url = https://crates.io/api/v1/crates/attrs/0.2.9/download
source_filename = attrs-0.2.9.tar.gz
source_hash = 2a207d40f43de65285f3de0509bb6cb16bc46098864fce957122bbacce327e5f
#method = cargo
patch_directory = attrs-0.2-rs
@@ -0,0 +1,33 @@
project('attrs-0.2-rs', 'rust',
meson_version: '>=1.5.0',
version: '0.2.9',
license: 'MIT OR Apache-2.0',
default_options: [])
subproject('proc-macro2-1-rs', required: true)
subproject('syn-2-rs', required: true)
proc_macro2_dep = dependency('proc-macro2-1-rs', native: true)
syn_dep = dependency('syn-2-rs', native: true)
_attrs_rs = static_library(
'attrs',
files('src/lib.rs'),
gnu_symbol_visibility: 'hidden',
override_options: ['rust_std=2021', 'build.rust_std=2021'],
rust_abi: 'rust',
rust_args: [
'--cap-lints', 'allow',
],
dependencies: [
proc_macro2_dep,
syn_dep,
],
native: true,
)
attrs_dep = declare_dependency(
link_with: _attrs_rs,
)
meson.override_dependency('attrs-0.2-rs', attrs_dep, native: true)