port to meson cargo
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 7m41s
Gentoo Utils / grep (push) Successful in 1m23s
Gentoo Utils / docs (push) Successful in 1m34s
Gentoo Utils / check-format (push) Successful in 1m37s
Gentoo Utils / build (push) Successful in 1m44s
Gentoo Utils / test (push) Successful in 36s
Gentoo Utils / fuzz (push) Successful in 1m19s
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 7m41s
Gentoo Utils / grep (push) Successful in 1m23s
Gentoo Utils / docs (push) Successful in 1m34s
Gentoo Utils / check-format (push) Successful in 1m37s
Gentoo Utils / build (push) Successful in 1m44s
Gentoo Utils / test (push) Successful in 36s
Gentoo Utils / fuzz (push) Successful in 1m19s
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