git: b71e4863289c - main - textproc/ripgrep: Fix build with rust 1.73.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 24 Oct 2023 10:23:14 UTC
The branch main has been updated by mikael: URL: https://cgit.FreeBSD.org/ports/commit/?id=b71e4863289c2bb6bf17ef1141f1305488d1b82d commit b71e4863289c2bb6bf17ef1141f1305488d1b82d Author: Mikael Urankar <mikael@FreeBSD.org> AuthorDate: 2023-10-16 08:56:30 +0000 Commit: Mikael Urankar <mikael@FreeBSD.org> CommitDate: 2023-10-24 10:21:44 +0000 textproc/ripgrep: Fix build with rust 1.73.0 The crate packed_simd_2 is not maintained anymore. firefox switched to packed_simd [1] in [2] but it's not yet part of ripgrep 13.0.0 Backport [3] to fix the following issue: error: unrecognized platform-specific intrinsic function: `simd_shuffle2` --> /wrkdirs/usr/ports/textproc/ripgrep/work/ripgrep-13.0.0/cargo-crates/packed_simd_2-0.3.8/src/codegen/llvm.rs:10:5 | 10 | pub fn simd_shuffle2<T, U>(x: T, y: T, idx: [u32; 2]) -> U; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [1] https://github.com/rust-lang/packed_simd/ [2] https://github.com/mozilla/gecko-dev/commit/1e1bec8c6e383abf667d64ba1e556a4e68833f28 [3] https://github.com/rust-lang/packed_simd/commit/a79edf4cfc54aad30a5630b217645c4b8274d8f7 PR: 274499 Approved by: portmgr (build fix blanket) --- textproc/ripgrep/files/patch-rust-1.73.0 | 83 ++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/textproc/ripgrep/files/patch-rust-1.73.0 b/textproc/ripgrep/files/patch-rust-1.73.0 new file mode 100644 index 000000000000..c80b7ea2c842 --- /dev/null +++ b/textproc/ripgrep/files/patch-rust-1.73.0 @@ -0,0 +1,83 @@ +From a79edf4cfc54aad30a5630b217645c4b8274d8f7 Mon Sep 17 00:00:00 2001 +From: Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> +Date: Mon, 10 Jul 2023 09:46:53 +0000 +Subject: [PATCH] Stop using old-style `simd_shuffle` + +--- + src/codegen/llvm.rs | 20 +++++++------------- + 1 file changed, 7 insertions(+), 13 deletions(-) + +diff --git third_party/rust/packed_simd_2/src/codegen/llvm.rs third_party/rust/packed_simd_2/src/codegen/llvm.rs +index b4c09849..bb482fac 100644 +--- cargo-crates/packed_simd_2-0.3.8/src/codegen/llvm.rs ++++ cargo-crates/packed_simd_2-0.3.8/src/codegen/llvm.rs +@@ -5,14 +5,8 @@ use crate::sealed::Shuffle; + #[allow(unused_imports)] // FIXME: spurious warning? + use crate::sealed::Simd; + +-// Shuffle intrinsics: expanded in users' crates, therefore public. + extern "platform-intrinsic" { +- pub fn simd_shuffle2<T, U>(x: T, y: T, idx: [u32; 2]) -> U; +- pub fn simd_shuffle4<T, U>(x: T, y: T, idx: [u32; 4]) -> U; +- pub fn simd_shuffle8<T, U>(x: T, y: T, idx: [u32; 8]) -> U; +- pub fn simd_shuffle16<T, U>(x: T, y: T, idx: [u32; 16]) -> U; +- pub fn simd_shuffle32<T, U>(x: T, y: T, idx: [u32; 32]) -> U; +- pub fn simd_shuffle64<T, U>(x: T, y: T, idx: [u32; 64]) -> U; ++ fn simd_shuffle<T, I, U>(x: T, y: T, idx: I) -> U; + } + + #[allow(clippy::missing_safety_doc)] +@@ -22,7 +16,7 @@ where + T: Simd, + <T as Simd>::Element: Shuffle<[u32; 2], Output = U>, + { +- simd_shuffle2(x, y, IDX) ++ simd_shuffle(x, y, IDX) + } + + #[allow(clippy::missing_safety_doc)] +@@ -32,7 +26,7 @@ where + T: Simd, + <T as Simd>::Element: Shuffle<[u32; 4], Output = U>, + { +- simd_shuffle4(x, y, IDX) ++ simd_shuffle(x, y, IDX) + } + + #[allow(clippy::missing_safety_doc)] +@@ -42,7 +36,7 @@ where + T: Simd, + <T as Simd>::Element: Shuffle<[u32; 8], Output = U>, + { +- simd_shuffle8(x, y, IDX) ++ simd_shuffle(x, y, IDX) + } + + #[allow(clippy::missing_safety_doc)] +@@ -52,7 +46,7 @@ where + T: Simd, + <T as Simd>::Element: Shuffle<[u32; 16], Output = U>, + { +- simd_shuffle16(x, y, IDX) ++ simd_shuffle(x, y, IDX) + } + + #[allow(clippy::missing_safety_doc)] +@@ -62,7 +56,7 @@ where + T: Simd, + <T as Simd>::Element: Shuffle<[u32; 32], Output = U>, + { +- simd_shuffle32(x, y, IDX) ++ simd_shuffle(x, y, IDX) + } + + #[allow(clippy::missing_safety_doc)] +@@ -72,7 +66,7 @@ where + T: Simd, + <T as Simd>::Element: Shuffle<[u32; 64], Output = U>, + { +- simd_shuffle64(x, y, IDX) ++ simd_shuffle(x, y, IDX) + } + + extern "platform-intrinsic" {