subprojects: add zerocopy
Version 0.8.13 supported in:
- AOSP
- Fedora (https://src.fedoraproject.org/rpms/rust-zerocopy)
Acked-by: Aaron Ruby <aruby@qnx.com>
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35210>
This commit is contained in:
committed by
Marge Bot
parent
15b100770b
commit
68c70c3eff
25
subprojects/packagefiles/zerocopy-derive/meson.build
Normal file
25
subprojects/packagefiles/zerocopy-derive/meson.build
Normal file
@@ -0,0 +1,25 @@
|
||||
# Copyright © 2024 Google
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
project(
|
||||
'zerocopy-derive',
|
||||
'rust',
|
||||
version : '0.8.13',
|
||||
license : 'MIT OR Apache-2.0 OR BSD 2-Clause',
|
||||
)
|
||||
|
||||
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(
|
||||
'zerocopy_derive',
|
||||
'src/lib.rs',
|
||||
override_options : ['rust_std=2021', 'build.rust_std=2021'],
|
||||
link_with : [syn, quote, proc_macro2]
|
||||
)
|
||||
|
||||
dep_zerocopy_derive = declare_dependency(
|
||||
link_with : [lib, syn, quote, proc_macro2]
|
||||
)
|
||||
@@ -0,0 +1,92 @@
|
||||
From 84985902ff045a69ede82c4f7bdd1187836c201f Mon Sep 17 00:00:00 2001
|
||||
From: Gurchetan Singh <gurchetansingh@google.com>
|
||||
Date: Wed, 18 Dec 2024 14:29:44 -0800
|
||||
Subject: [PATCH] zerocopy: work around Meson limitation
|
||||
|
||||
A local hack until:
|
||||
|
||||
https://github.com/mesonbuild/meson/pull/10030
|
||||
https://github.com/mesonbuild/meson/issues/13752
|
||||
|
||||
is fixed.
|
||||
---
|
||||
src/lib.rs | 24 ++++++++++++------------
|
||||
1 file changed, 12 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/src/lib.rs b/src/lib.rs
|
||||
index a45c49c..d831634 100644
|
||||
--- a/src/lib.rs
|
||||
+++ b/src/lib.rs
|
||||
@@ -711,7 +711,7 @@ pub use zerocopy_derive::KnownLayout;
|
||||
#[cfg_attr(feature = "derive", doc = "[derive]: zerocopy_derive::KnownLayout")]
|
||||
#[cfg_attr(
|
||||
not(feature = "derive"),
|
||||
- doc = concat!("[derive]: https://docs.rs/zerocopy/", env!("CARGO_PKG_VERSION"), "/zerocopy/derive.KnownLayout.html"),
|
||||
+ doc = concat!("[derive]: https://docs.rs/zerocopy/", "0.8.13", "/zerocopy/derive.KnownLayout.html"),
|
||||
)]
|
||||
#[cfg_attr(
|
||||
zerocopy_diagnostic_on_unimplemented_1_78_0,
|
||||
@@ -1217,8 +1217,8 @@ pub use zerocopy_derive::Immutable;
|
||||
)]
|
||||
#[cfg_attr(
|
||||
not(feature = "derive"),
|
||||
- doc = concat!("[derive]: https://docs.rs/zerocopy/", env!("CARGO_PKG_VERSION"), "/zerocopy/derive.Immutable.html"),
|
||||
- doc = concat!("[derive-analysis]: https://docs.rs/zerocopy/", env!("CARGO_PKG_VERSION"), "/zerocopy/derive.Immutable.html#analysis"),
|
||||
+ doc = concat!("[derive]: https://docs.rs/zerocopy/", "0.8.13", "/zerocopy/derive.Immutable.html"),
|
||||
+ doc = concat!("[derive-analysis]: https://docs.rs/zerocopy/", "0.8.13", "/zerocopy/derive.Immutable.html#analysis"),
|
||||
)]
|
||||
#[cfg_attr(
|
||||
zerocopy_diagnostic_on_unimplemented_1_78_0,
|
||||
@@ -1368,7 +1368,7 @@ pub use zerocopy_derive::TryFromBytes;
|
||||
#[cfg_attr(feature = "derive", doc = "[derive]: zerocopy_derive::TryFromBytes")]
|
||||
#[cfg_attr(
|
||||
not(feature = "derive"),
|
||||
- doc = concat!("[derive]: https://docs.rs/zerocopy/", env!("CARGO_PKG_VERSION"), "/zerocopy/derive.TryFromBytes.html"),
|
||||
+ doc = concat!("[derive]: https://docs.rs/zerocopy/", "0.8.13", "/zerocopy/derive.TryFromBytes.html"),
|
||||
)]
|
||||
#[cfg_attr(
|
||||
zerocopy_diagnostic_on_unimplemented_1_78_0,
|
||||
@@ -2900,8 +2900,8 @@ unsafe fn try_read_from<S, T: TryFromBytes>(
|
||||
)]
|
||||
#[cfg_attr(
|
||||
not(feature = "derive"),
|
||||
- doc = concat!("[derive]: https://docs.rs/zerocopy/", env!("CARGO_PKG_VERSION"), "/zerocopy/derive.FromZeros.html"),
|
||||
- doc = concat!("[derive-analysis]: https://docs.rs/zerocopy/", env!("CARGO_PKG_VERSION"), "/zerocopy/derive.FromZeros.html#analysis"),
|
||||
+ doc = concat!("[derive]: https://docs.rs/zerocopy/", "0.8.13", "/zerocopy/derive.FromZeros.html"),
|
||||
+ doc = concat!("[derive-analysis]: https://docs.rs/zerocopy/", "0.8.13", "/zerocopy/derive.FromZeros.html#analysis"),
|
||||
)]
|
||||
#[cfg_attr(
|
||||
zerocopy_diagnostic_on_unimplemented_1_78_0,
|
||||
@@ -3419,8 +3419,8 @@ pub use zerocopy_derive::FromBytes;
|
||||
)]
|
||||
#[cfg_attr(
|
||||
not(feature = "derive"),
|
||||
- doc = concat!("[derive]: https://docs.rs/zerocopy/", env!("CARGO_PKG_VERSION"), "/zerocopy/derive.FromBytes.html"),
|
||||
- doc = concat!("[derive-analysis]: https://docs.rs/zerocopy/", env!("CARGO_PKG_VERSION"), "/zerocopy/derive.FromBytes.html#analysis"),
|
||||
+ doc = concat!("[derive]: https://docs.rs/zerocopy/", "0.8.13", "/zerocopy/derive.FromBytes.html"),
|
||||
+ doc = concat!("[derive-analysis]: https://docs.rs/zerocopy/", "0.8.13", "/zerocopy/derive.FromBytes.html#analysis"),
|
||||
)]
|
||||
#[cfg_attr(
|
||||
zerocopy_diagnostic_on_unimplemented_1_78_0,
|
||||
@@ -4857,8 +4857,8 @@ pub use zerocopy_derive::IntoBytes;
|
||||
)]
|
||||
#[cfg_attr(
|
||||
not(feature = "derive"),
|
||||
- doc = concat!("[derive]: https://docs.rs/zerocopy/", env!("CARGO_PKG_VERSION"), "/zerocopy/derive.IntoBytes.html"),
|
||||
- doc = concat!("[derive-analysis]: https://docs.rs/zerocopy/", env!("CARGO_PKG_VERSION"), "/zerocopy/derive.IntoBytes.html#analysis"),
|
||||
+ doc = concat!("[derive]: https://docs.rs/zerocopy/", "0.8.13", "/zerocopy/derive.IntoBytes.html"),
|
||||
+ doc = concat!("[derive-analysis]: https://docs.rs/zerocopy/", "0.8.13", "/zerocopy/derive.IntoBytes.html#analysis"),
|
||||
)]
|
||||
#[cfg_attr(
|
||||
zerocopy_diagnostic_on_unimplemented_1_78_0,
|
||||
@@ -5416,8 +5416,8 @@ pub use zerocopy_derive::Unaligned;
|
||||
)]
|
||||
#[cfg_attr(
|
||||
not(feature = "derive"),
|
||||
- doc = concat!("[derive]: https://docs.rs/zerocopy/", env!("CARGO_PKG_VERSION"), "/zerocopy/derive.Unaligned.html"),
|
||||
- doc = concat!("[derive-analysis]: https://docs.rs/zerocopy/", env!("CARGO_PKG_VERSION"), "/zerocopy/derive.Unaligned.html#analysis"),
|
||||
+ doc = concat!("[derive]: https://docs.rs/zerocopy/", "0.8.13", "/zerocopy/derive.Unaligned.html"),
|
||||
+ doc = concat!("[derive-analysis]: https://docs.rs/zerocopy/", "0.8.13", "/zerocopy/derive.Unaligned.html#analysis"),
|
||||
)]
|
||||
#[cfg_attr(
|
||||
zerocopy_diagnostic_on_unimplemented_1_78_0,
|
||||
26
subprojects/packagefiles/zerocopy/meson.build
Normal file
26
subprojects/packagefiles/zerocopy/meson.build
Normal file
@@ -0,0 +1,26 @@
|
||||
# Copyright © 2024 Google
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
project(
|
||||
'zerocopy',
|
||||
'rust',
|
||||
version : '0.8.13',
|
||||
license : 'MIT OR Apache-2.0 OR BSD 2-Clause',
|
||||
)
|
||||
|
||||
zerocopy_args = ['--cfg', 'feature="derive"']
|
||||
zerocopy_derive = subproject('zerocopy-derive').get_variable('lib')
|
||||
|
||||
lib = static_library(
|
||||
'zerocopy',
|
||||
'src/lib.rs',
|
||||
override_options : ['rust_std=2021', 'build.rust_std=2021'],
|
||||
rust_abi : 'rust',
|
||||
native : true,
|
||||
rust_args: zerocopy_args,
|
||||
link_with : [zerocopy_derive]
|
||||
)
|
||||
|
||||
dep_zerocopy = declare_dependency(
|
||||
link_with : [lib, zerocopy_derive]
|
||||
)
|
||||
6
subprojects/zerocopy-derive.wrap
Normal file
6
subprojects/zerocopy-derive.wrap
Normal file
@@ -0,0 +1,6 @@
|
||||
[wrap-file]
|
||||
directory = zerocopy-derive-0.8.13
|
||||
source_url = https://crates.io/api/v1/crates/zerocopy-derive/0.8.13/download
|
||||
source_filename = zerocopy-derive-0.8.13.tar.gz
|
||||
source_hash = 7988d73a4303ca289df03316bc490e934accf371af6bc745393cf3c2c5c4f25d
|
||||
patch_directory = zerocopy-derive
|
||||
8
subprojects/zerocopy.wrap
Normal file
8
subprojects/zerocopy.wrap
Normal file
@@ -0,0 +1,8 @@
|
||||
[wrap-file]
|
||||
directory = zerocopy-0.8.13
|
||||
source_url = https://crates.io/api/v1/crates/zerocopy/0.8.13/download
|
||||
source_filename = zerocopy-0.8.13.tar.gz
|
||||
source_hash = 67914ab451f3bfd2e69e5e9d2ef3858484e7074d63f204fd166ec391b54de21d
|
||||
patch_directory = zerocopy
|
||||
|
||||
diff_files = zerocopy/0001-zerocopy-work-around-Meson-limitation.patch
|
||||
Reference in New Issue
Block a user