- Add upstream link for fixing mixture of newline styles - Backport commit from upstream to fix s390x issues - Where possible, patch out "support for common crates" featuresepel10
parent
ff829fa40c
commit
0802ff3e26
@ -0,0 +1,32 @@
|
|||||||
|
From 6d6a5461e42cac18707dfee42b9f41ee7d078866 Mon Sep 17 00:00:00 2001
|
||||||
|
From: David Koloski <djkoloski@gmail.com>
|
||||||
|
Date: Tue, 1 Oct 2024 11:54:40 -0400
|
||||||
|
Subject: [PATCH] Fix generic SIMD for big-endian targets
|
||||||
|
|
||||||
|
---
|
||||||
|
src/simd/generic.rs | 9 ++++++++-
|
||||||
|
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/simd/generic.rs b/src/simd/generic.rs
|
||||||
|
index 6f6cc56..d3b1b94 100644
|
||||||
|
--- a/src/simd/generic.rs
|
||||||
|
+++ b/src/simd/generic.rs
|
||||||
|
@@ -73,7 +73,14 @@ impl Group {
|
||||||
|
pub unsafe fn read(ptr: *const u8) -> Self {
|
||||||
|
// SAFETY: The caller has guaranteed that `ptr` is valid for reads and
|
||||||
|
// points to enough bytes for a `Word`.
|
||||||
|
- unsafe { Self(core::ptr::read_unaligned(ptr.cast())) }
|
||||||
|
+ #[cfg(target_endian = "little")]
|
||||||
|
+ unsafe {
|
||||||
|
+ Self(core::ptr::read_unaligned(ptr.cast()))
|
||||||
|
+ }
|
||||||
|
+ #[cfg(target_endian = "big")]
|
||||||
|
+ unsafe {
|
||||||
|
+ Self(core::ptr::read_unaligned(ptr.cast::<Word>()).swap_bytes())
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
#[inline]
|
||||||
|
--
|
||||||
|
2.46.1
|
||||||
|
|
@ -1,81 +1,134 @@
|
|||||||
--- rkyv-0.7.45/Cargo.toml 1970-01-01T00:00:01+00:00
|
--- rkyv-0.8.8/Cargo.toml 1970-01-01T00:00:01+00:00
|
||||||
+++ rkyv-0.7.45/Cargo.toml 2024-08-30T19:01:30.121523+00:00
|
+++ rkyv-0.8.8/Cargo.toml 2024-10-08T15:00:00.726373+00:00
|
||||||
@@ -47,29 +47,14 @@
|
@@ -77,10 +77,6 @@
|
||||||
optional = true
|
name = "derive"
|
||||||
default-features = false
|
path = "tests/derive.rs"
|
||||||
|
|
||||||
|
-[[test]]
|
||||||
|
-name = "ui"
|
||||||
|
-path = "tests/ui.rs"
|
||||||
|
-
|
||||||
|
[[bench]]
|
||||||
|
name = "log"
|
||||||
|
path = "benches/log.rs"
|
||||||
|
@@ -96,34 +92,16 @@
|
||||||
|
path = "benches/minecraft_savedata.rs"
|
||||||
|
harness = false
|
||||||
|
|
||||||
-[dependencies.bitvec]
|
-[dependencies.arrayvec-0_7]
|
||||||
-version = "1.0"
|
-version = "0.7"
|
||||||
-optional = true
|
-optional = true
|
||||||
-default-features = false
|
-default-features = false
|
||||||
|
-package = "arrayvec"
|
||||||
-
|
-
|
||||||
[dependencies.bytecheck]
|
[dependencies.bytecheck]
|
||||||
version = "0.6.11"
|
version = "0.8"
|
||||||
|
features = ["simdutf8"]
|
||||||
optional = true
|
optional = true
|
||||||
default-features = false
|
default-features = false
|
||||||
|
|
||||||
-[dependencies.bytes]
|
-[dependencies.bytes-1]
|
||||||
-version = "1.4.0"
|
-version = "1"
|
||||||
+[dependencies.hashbrown]
|
-optional = true
|
||||||
+version = "0.14"
|
|
||||||
optional = true
|
|
||||||
-default-features = false
|
-default-features = false
|
||||||
|
-package = "bytes"
|
||||||
-
|
-
|
||||||
-[dependencies.hashbrown]
|
[dependencies.hashbrown]
|
||||||
-version = "0.12"
|
version = "0.14"
|
||||||
-optional = true
|
optional = true
|
||||||
|
default-features = false
|
||||||
-
|
-
|
||||||
-[dependencies.indexmap]
|
-[dependencies.indexmap-2]
|
||||||
-version = "1.7"
|
-version = "2"
|
||||||
-optional = true
|
-optional = true
|
||||||
-default-features = false
|
-default-features = false
|
||||||
|
-package = "indexmap"
|
||||||
|
|
||||||
[dependencies.ptr_meta]
|
[dependencies.munge]
|
||||||
version = "~0.1.3"
|
version = "0.4"
|
||||||
@@ -86,31 +71,9 @@
|
@@ -145,48 +123,6 @@
|
||||||
[dependencies.seahash]
|
version = "=0.8.8"
|
||||||
version = "4.0"
|
default-features = false
|
||||||
|
|
||||||
-[dependencies.smallvec]
|
-[dependencies.smallvec-1]
|
||||||
-version = "1.7"
|
-version = "1"
|
||||||
-optional = true
|
-optional = true
|
||||||
-default-features = false
|
-default-features = false
|
||||||
|
-package = "smallvec"
|
||||||
-
|
-
|
||||||
-[dependencies.smol_str]
|
-[dependencies.smol_str-0_2]
|
||||||
-version = "0.2"
|
-version = "0.2"
|
||||||
-optional = true
|
-optional = true
|
||||||
-default-features = false
|
-default-features = false
|
||||||
|
-package = "smol_str"
|
||||||
-
|
-
|
||||||
-[dependencies.tinyvec]
|
-[dependencies.smol_str-0_3]
|
||||||
-version = "1.5"
|
-version = "0.3"
|
||||||
-optional = true
|
-optional = true
|
||||||
-default-features = false
|
-default-features = false
|
||||||
|
-package = "smol_str"
|
||||||
-
|
-
|
||||||
-[dependencies.uuid]
|
-[dependencies.thin-vec-0_2]
|
||||||
-version = "1.3"
|
-version = "0.2.12"
|
||||||
-optional = true
|
-optional = true
|
||||||
-default-features = false
|
-default-features = false
|
||||||
|
-package = "thin-vec"
|
||||||
-
|
-
|
||||||
[features]
|
-[dependencies.tinyvec-1]
|
||||||
|
-version = "1"
|
||||||
|
-optional = true
|
||||||
|
-default-features = false
|
||||||
|
-package = "tinyvec"
|
||||||
|
-
|
||||||
|
-[dependencies.triomphe-0_1]
|
||||||
|
-version = "0.1"
|
||||||
|
-optional = true
|
||||||
|
-default-features = false
|
||||||
|
-package = "triomphe"
|
||||||
|
-
|
||||||
|
-[dependencies.uuid-1]
|
||||||
|
-version = "1"
|
||||||
|
-optional = true
|
||||||
|
-default-features = false
|
||||||
|
-package = "uuid"
|
||||||
|
-
|
||||||
|
[dev-dependencies.ahash]
|
||||||
|
version = "0.8"
|
||||||
|
|
||||||
|
@@ -202,7 +138,6 @@
|
||||||
|
aligned = []
|
||||||
alloc = [
|
alloc = [
|
||||||
"hashbrown",
|
"dep:hashbrown",
|
||||||
- "bitvec?/alloc",
|
- "tinyvec-1?/alloc",
|
||||||
- "tinyvec?/alloc",
|
"rancor/alloc",
|
||||||
]
|
]
|
||||||
arbitrary_enum_discriminant = ["rkyv_derive/arbitrary_enum_discriminant"]
|
big_endian = []
|
||||||
archive_be = [
|
@@ -215,28 +150,12 @@
|
||||||
@@ -135,14 +98,8 @@
|
"std",
|
||||||
"bytecheck?/std",
|
"bytecheck",
|
||||||
"ptr_meta/std",
|
|
||||||
"rend?/std",
|
|
||||||
- "uuid?/std",
|
|
||||||
- "bytes?/std",
|
|
||||||
]
|
]
|
||||||
strict = ["rkyv_derive/strict"]
|
-hashbrown-0_14 = ["dep:hashbrown"]
|
||||||
-uuid = [
|
-indexmap-2 = [
|
||||||
- "dep:uuid",
|
- "dep:indexmap-2",
|
||||||
- "bytecheck?/uuid",
|
- "alloc",
|
||||||
-]
|
-]
|
||||||
validation = [
|
little_endian = []
|
||||||
|
pointer_width_16 = []
|
||||||
|
pointer_width_32 = []
|
||||||
|
pointer_width_64 = []
|
||||||
|
std = [
|
||||||
"alloc",
|
"alloc",
|
||||||
"bytecheck",
|
- "bytes-1?/std",
|
||||||
|
- "indexmap-2?/std",
|
||||||
|
"ptr_meta/std",
|
||||||
|
- "uuid-1?/std",
|
||||||
|
-]
|
||||||
|
-triomphe-0_1 = [
|
||||||
|
- "dep:triomphe-0_1",
|
||||||
|
- "alloc",
|
||||||
|
]
|
||||||
|
unaligned = []
|
||||||
|
-uuid-1 = [
|
||||||
|
- "dep:uuid-1",
|
||||||
|
- "bytecheck?/uuid-1",
|
||||||
|
-]
|
||||||
|
@ -1,6 +1,39 @@
|
|||||||
[package]
|
[package]
|
||||||
cargo-toml-patch-comments = [
|
cargo-toml-patch-comments = [
|
||||||
"bump hashbrown dependency from 0.12 to 0.14",
|
"""\
|
||||||
"drop unused support for various third-party crates",
|
Where possible, patch out \"support for common crates\" features. Many of \
|
||||||
|
these have satisfiable dependencies and could be packaged if something \
|
||||||
|
specifically requires them. Upstream plans to remove these \
|
||||||
|
crate-integration features in 1.0: \
|
||||||
|
https://github.com/rkyv/rkyv/blob/89a1bc48229ca6ac5ee620964d778293270257d0/rkyv/Cargo.toml#L29-L32\
|
||||||
|
""",
|
||||||
|
"""\
|
||||||
|
Patch out the ui test, which seems to require *all* integrations, even the \
|
||||||
|
patched-out ones\
|
||||||
|
""",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[requires]
|
||||||
|
build = [
|
||||||
|
"dos2unix",
|
||||||
|
"tomcli",
|
||||||
|
]
|
||||||
|
|
||||||
|
[scripts.prep]
|
||||||
|
pre = [
|
||||||
|
"# Do not depend on divan; it is needed only for benchmarks.",
|
||||||
|
"tomcli set Cargo.toml del dev-dependencies.divan",
|
||||||
|
"# The crate has a mixture of newline styles.",
|
||||||
|
"# Fixed upstream in:",
|
||||||
|
"# https://github.com/rkyv/rkyv/commit/6b7ab529d32166ec0fc81b7b8828ba71e2c65c38",
|
||||||
|
"find . -type f | xargs -r -t dos2unix --keepdate",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package.extra-patches]]
|
||||||
|
number = 10
|
||||||
|
file = "0001-Fix-generic-SIMD-for-big-endian-targets.patch"
|
||||||
|
comments = [
|
||||||
|
"Fix generic SIMD for big-endian targets: https://github.com/rkyv/rkyv/commit/6d6a5461e42cac18707dfee42b9f41ee7d078866",
|
||||||
|
"Fixes: “Some tests related to hash_map fail on big-endian platforms” https://github.com/rkyv/rkyv/issues/557",
|
||||||
|
"Exported with \"git format-patch --relative\" so that the patch applies to the released crate."
|
||||||
|
]
|
||||||
|
@ -1 +1 @@
|
|||||||
SHA512 (rkyv-0.7.45.crate) = bac10c6e7e7f797e505cc8103c55ae2fd4b04a76631e085fcf1c8f2b05e52c064cb14145479dadc292995b7ca5bbab5235d54d8e651bf47623a0228f936f73c9
|
SHA512 (rkyv-0.8.8.crate) = 3be2627c021a134182bd24085bb5914f84cc4805e4bc41540104c2cfca27403f1e7bdcf69f9a0ccdb967445123883bb264b2d918316932ffa686910cf3df0c96
|
||||||
|
Loading…
Reference in new issue