diff --git a/subprojects/packagefiles/thiserror-impl/meson.build b/subprojects/packagefiles/thiserror-impl/meson.build new file mode 100644 index 00000000000..fb618b65337 --- /dev/null +++ b/subprojects/packagefiles/thiserror-impl/meson.build @@ -0,0 +1,25 @@ +# Copyright © 2024 Google +# SPDX-License-Identifier: MIT + +project( + 'thiserror-impl', + 'rust', + version : '2.0.11', + license : 'MIT OR Apache-2.0', +) + +syn = subproject('syn').get_variable('lib') +quote = subproject('quote').get_variable('lib') +proc_macro2 = subproject('proc-macro2').get_variable('lib') + +rust = import('rust') +lib = rust.proc_macro( + 'thiserror_impl', + 'src/lib.rs', + override_options : ['rust_std=2021', 'build.rust_std=2021'], + link_with : [syn, quote, proc_macro2] +) + +dep_thiserror_impl = declare_dependency( + link_with : [lib, syn, quote, proc_macro2] +) diff --git a/subprojects/packagefiles/thiserror/meson.build b/subprojects/packagefiles/thiserror/meson.build new file mode 100644 index 00000000000..bceed91f830 --- /dev/null +++ b/subprojects/packagefiles/thiserror/meson.build @@ -0,0 +1,27 @@ +# Copyright © 2024 Google +# SPDX-License-Identifier: MIT + +project( + 'thiserror', + 'rust', + version : '2.0.11', + license : 'MIT OR Apache-2.0', +) + +syn = subproject('syn').get_variable('lib') +quote = subproject('quote').get_variable('lib') +proc_macro2 = subproject('proc-macro2').get_variable('lib') +thiserror_impl = subproject('thiserror-impl').get_variable('lib') + +lib = static_library( + 'thiserror', + 'src/lib.rs', + override_options : ['rust_std=2021', 'build.rust_std=2021'], + rust_abi : 'rust', + native : true, + link_with : [thiserror_impl, syn, quote, proc_macro2] +) + +dep_thiserror = declare_dependency( + link_with : [lib, thiserror_impl, syn, quote, proc_macro2] +) diff --git a/subprojects/thiserror-impl.wrap b/subprojects/thiserror-impl.wrap new file mode 100644 index 00000000000..f177017acdb --- /dev/null +++ b/subprojects/thiserror-impl.wrap @@ -0,0 +1,6 @@ +[wrap-file] +directory = thiserror-impl-2.0.11 +source_url = https://crates.io/api/v1/crates/thiserror-impl/2.0.11/download +source_filename = thiserror-impl-2.0.11.tar.gz +source_hash = 26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2 +patch_directory = thiserror-impl diff --git a/subprojects/thiserror.wrap b/subprojects/thiserror.wrap new file mode 100644 index 00000000000..2280b44bd02 --- /dev/null +++ b/subprojects/thiserror.wrap @@ -0,0 +1,6 @@ +[wrap-file] +directory = thiserror-2.0.11 +source_url = https://crates.io/api/v1/crates/thiserror/2.0.11/download +source_filename = thiserror-2.0.11.tar.gz +source_hash = d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc +patch_directory = thiserror