port to meson cargo
Some checks failed
Gentoo Utils / build-oci-image (push) Failing after 5m17s
Gentoo Utils / build (push) Has been skipped
Gentoo Utils / test (push) Has been skipped
Gentoo Utils / fuzz (push) Has been skipped
Gentoo Utils / check-format (push) Has been skipped
Gentoo Utils / docs (push) Has been skipped
Gentoo Utils / grep (push) Has been skipped
Some checks failed
Gentoo Utils / build-oci-image (push) Failing after 5m17s
Gentoo Utils / build (push) Has been skipped
Gentoo Utils / test (push) Has been skipped
Gentoo Utils / fuzz (push) Has been skipped
Gentoo Utils / check-format (push) Has been skipped
Gentoo Utils / docs (push) Has been skipped
Gentoo Utils / grep (push) Has been skipped
Use the new unstable meson cargo support. This simplifies the meson.build script and allows to use crates such as clap that require picking up features from Cargo.toml. This also allows us to not embed thiserror in subprojects, and instead use a wrap file with a custom meson.build and some patches to make it compile without running its build.rs script.
This commit is contained in:
3
subprojects/packagefiles/syn-2-rs/meson/meson.build
Normal file
3
subprojects/packagefiles/syn-2-rs/meson/meson.build
Normal file
@@ -0,0 +1,3 @@
|
||||
extra_args += [
|
||||
'--cfg', 'feature="full"',
|
||||
]
|
||||
14
subprojects/packagefiles/thiserror-2.0.17-include.patch
Normal file
14
subprojects/packagefiles/thiserror-2.0.17-include.patch
Normal file
@@ -0,0 +1,14 @@
|
||||
diff --git a/src/lib.rs b/src/lib.rs
|
||||
index 155272d..7683f4c 100644
|
||||
--- a/src/lib.rs
|
||||
+++ b/src/lib.rs
|
||||
@@ -288,4 +288,8 @@ pub use thiserror_impl::*;
|
||||
|
||||
mod private;
|
||||
|
||||
-include!(concat!(env!("OUT_DIR"), "/private.rs"));
|
||||
+#[doc(hidden)]
|
||||
+pub mod __private_MESON {
|
||||
+ #[doc(hidden)]
|
||||
+ pub use crate::private::*;
|
||||
+}
|
||||
@@ -0,0 +1,22 @@
|
||||
project(
|
||||
'thiserror',
|
||||
'rust',
|
||||
version: '2.0.17',
|
||||
meson_version: '>=1.9.1',
|
||||
default_options: {
|
||||
'rust_std': '2024',
|
||||
'rust_nightly': 'enabled',
|
||||
'rust_edition': 2024,
|
||||
},
|
||||
)
|
||||
|
||||
rust = import('rust')
|
||||
cargo = rust.workspace()
|
||||
|
||||
syn = dependency('syn-2-rs')
|
||||
proc_macro2 = dependency('proc-macro2-1-rs')
|
||||
quote = dependency('quote-1-rs')
|
||||
|
||||
impl = cargo.package('impl').proc_macro()
|
||||
|
||||
thiserror = cargo.package().library()
|
||||
13
subprojects/packagefiles/thiserror-impl-2.0.17-include.patch
Normal file
13
subprojects/packagefiles/thiserror-impl-2.0.17-include.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
diff --git a/impl/src/lib.rs b/impl/src/lib.rs
|
||||
index 25890f2..1559a41 100644
|
||||
--- a/src/lib.rs
|
||||
+++ b/src/lib.rs
|
||||
@@ -48,7 +48,7 @@ struct private;
|
||||
impl ToTokens for private {
|
||||
fn to_tokens(&self, tokens: &mut proc_macro2::TokenStream) {
|
||||
tokens.append(Ident::new(
|
||||
- concat!("__private", env!("CARGO_PKG_VERSION_PATCH")),
|
||||
+ concat!("__private", "_MESON"),
|
||||
Span::call_site(),
|
||||
));
|
||||
}
|
||||
Reference in New Issue
Block a user