On 09-12-2025 15:00, Yoann Congal wrote:
CAUTION: This email comes from a non Wind River email account!
Do not click links or open attachments unless you recognize the sender and know
the content is safe.
Le mar. 9 déc. 2025 à 09:57, Varatharajan, Deepesh via
lists.openembedded.org
<[email protected]> a écrit :
From: Deepesh Varatharajan <[email protected]>
ripgrep is a fast, line-oriented search tool written in Rust.
Add recipe for the latest release (15.1.0)
- Recursively searches the current directory using a regex pattern
- Respects .gitignore rules
- Provides first-class support on Linux
- 'rg' is significantly faster than grep
More information: https://crates.io/crates/ripgrep
Upstream Benchmarks:
Task ripgrep GNU grep
Speedup vs grep
Basic search (Unicode) 536 lines, 0.082s 536 lines, 0.273s
ripgrep ~3.3× faster
Ignoring gitignore files 447 lines, 0.063s 447 lines, 0.674s
ripgrep ~10× faster
Large single file (~13GB) 7882 lines, 1.042s 7882 lines, 6.577s
ripgrep ~6.3× faster
Bechmarks inside qemu (ripgrep built from this recipe):
Tool & Command Real Time User Time Sys Time
Speedup vs grep
ripgrep (rg "printf" /usr) 0.496 s 0.511 s 0.604 s
3.1× faster
grep (grep -R "printf" /usr) 1.533 s 0.633 s 0.897 s
—
Signed-off-by: Deepesh Varatharajan <[email protected]>
Hello,
Thanks for the recipes!
We also started to work on those recipes but we wanted to have ptests.
Thank you for the update!
I understand the reproducibility issues with cargo-based ptests.
For now, I think these recipes can be considered as they are. Once a
generic solution
for cargo-based ptest support to is available to address reproducibility
issues, we can
inherit it in these recipes and enable ptests accordingly.
If you prefer to implement tests for these recipes now, I can look into
adding test support.
We got stuck on ptests reproducibility, while we could patch each
recipe, I would rather have a generic solution.
I've created a BZ ticket to track the work on this:
16094 – Generically improve cargo-based tests package reproducibility
https://bugzilla.yoctoproject.org/show_bug.cgi?id=16094
I took the ticket but I won't have time to work on it soon (feel free
to take it if you want!).
At the moment we don't have time to work on this bug due to other priority
work.
Thanks,
Deepesh
---
.../ripgrep/ripgrep-crates.inc | 116 ++++++++++++++++++
.../ripgrep/ripgrep_15.1.0.bb | 22 ++++
2 files changed, 138 insertions(+)
create mode 100644 meta-oe/recipes-extended/ripgrep/ripgrep-crates.inc
create mode 100644 meta-oe/recipes-extended/ripgrep/ripgrep_15.1.0.bb
diff --git a/meta-oe/recipes-extended/ripgrep/ripgrep-crates.inc
b/meta-oe/recipes-extended/ripgrep/ripgrep-crates.inc
new file mode 100644
index 0000000000..aa7e3f9dd2
--- /dev/null
+++ b/meta-oe/recipes-extended/ripgrep/ripgrep-crates.inc
@@ -0,0 +1,116 @@
+# Autogenerated with 'bitbake -c update_crates ripgrep'
+
+# from Cargo.lock
+SRC_URI += " \
+ crate://crates.io/aho-corasick/1.1.3 \
+ crate://crates.io/anyhow/1.0.100 \
+ crate://crates.io/bstr/1.12.0 \
+ crate://crates.io/cc/1.2.41 \
+ crate://crates.io/cfg-if/1.0.4 \
+ crate://crates.io/crossbeam-deque/0.8.6 \
+ crate://crates.io/crossbeam-epoch/0.9.18 \
+ crate://crates.io/crossbeam-utils/0.8.21 \
+ crate://crates.io/encoding_rs/0.8.35 \
+ crate://crates.io/encoding_rs_io/0.1.7 \
+ crate://crates.io/find-msvc-tools/0.1.4 \
+ crate://crates.io/getrandom/0.3.4 \
+ crate://crates.io/globset/0.4.18 \
+ crate://crates.io/grep/0.4.1 \
+ crate://crates.io/grep-cli/0.1.12 \
+ crate://crates.io/grep-matcher/0.1.8 \
+ crate://crates.io/grep-pcre2/0.1.9 \
+ crate://crates.io/grep-printer/0.3.1 \
+ crate://crates.io/grep-regex/0.1.14 \
+ crate://crates.io/grep-searcher/0.1.16 \
+ crate://crates.io/ignore/0.4.24 \
+ crate://crates.io/itoa/1.0.15 \
+ crate://crates.io/jobserver/0.1.34 \
+ crate://crates.io/lexopt/0.3.1 \
+ crate://crates.io/libc/0.2.177 \
+ crate://crates.io/log/0.4.28 \
+ crate://crates.io/memchr/2.7.6 \
+ crate://crates.io/memmap2/0.9.9 \
+ crate://crates.io/pcre2/0.2.11 \
+ crate://crates.io/pcre2-sys/0.2.10 \
+ crate://crates.io/pkg-config/0.3.32 \
+ crate://crates.io/proc-macro2/1.0.101 \
+ crate://crates.io/quote/1.0.41 \
+ crate://crates.io/r-efi/5.3.0 \
+ crate://crates.io/regex-automata/0.4.13 \
+ crate://crates.io/regex-syntax/0.8.8 \
+ crate://crates.io/ryu/1.0.20 \
+ crate://crates.io/same-file/1.0.6 \
+ crate://crates.io/serde/1.0.228 \
+ crate://crates.io/serde_core/1.0.228 \
+ crate://crates.io/serde_derive/1.0.228 \
+ crate://crates.io/serde_json/1.0.145 \
+ crate://crates.io/shlex/1.3.0 \
+ crate://crates.io/syn/2.0.107 \
+ crate://crates.io/termcolor/1.4.1 \
+ crate://crates.io/textwrap/0.16.2 \
+
crate://crates.io/tikv-jemalloc-sys/0.6.1+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7
\
+ crate://crates.io/tikv-jemallocator/0.6.1 \
+ crate://crates.io/unicode-ident/1.0.20 \
+ crate://crates.io/walkdir/2.5.0 \
+ crate://crates.io/wasip2/1.0.1+wasi-0.2.4 \
+ crate://crates.io/winapi-util/0.1.11 \
+ crate://crates.io/windows-link/0.2.1 \
+ crate://crates.io/windows-sys/0.61.2 \
+ crate://crates.io/wit-bindgen/0.46.0 \
+"
+
+SRC_URI[aho-corasick-1.1.3.sha256sum] =
"8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
+SRC_URI[anyhow-1.0.100.sha256sum] =
"a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61"
+SRC_URI[bstr-1.12.0.sha256sum] =
"234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4"
+SRC_URI[cc-1.2.41.sha256sum] =
"ac9fe6cdbb24b6ade63616c0a0688e45bb56732262c158df3c0c4bea4ca47cb7"
+SRC_URI[cfg-if-1.0.4.sha256sum] =
"9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
+SRC_URI[crossbeam-deque-0.8.6.sha256sum] =
"9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51"
+SRC_URI[crossbeam-epoch-0.9.18.sha256sum] =
"5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
+SRC_URI[crossbeam-utils-0.8.21.sha256sum] =
"d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
+SRC_URI[encoding_rs-0.8.35.sha256sum] =
"75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"
+SRC_URI[encoding_rs_io-0.1.7.sha256sum] =
"1cc3c5651fb62ab8aa3103998dade57efdd028544bd300516baa31840c252a83"
+SRC_URI[find-msvc-tools-0.1.4.sha256sum] =
"52051878f80a721bb68ebfbc930e07b65ba72f2da88968ea5c06fd6ca3d3a127"
+SRC_URI[getrandom-0.3.4.sha256sum] =
"899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
+SRC_URI[globset-0.4.18.sha256sum] =
"52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3"
+SRC_URI[grep-0.4.1.sha256sum] =
"309217bc53e2c691c314389c7fa91f9cd1a998cda19e25544ea47d94103880c3"
+SRC_URI[grep-cli-0.1.12.sha256sum] =
"cf32d263c5d5cc2a23ce587097f5ddafdb188492ba2e6fb638eaccdc22453631"
+SRC_URI[grep-matcher-0.1.8.sha256sum] =
"36d7b71093325ab22d780b40d7df3066ae4aebb518ba719d38c697a8228a8023"
+SRC_URI[grep-pcre2-0.1.9.sha256sum] =
"667bb90a3ee51f8f6e2aadf1d0f106ea42efca4cf28f0e71f0fdec1137d7f9b0"
+SRC_URI[grep-printer-0.3.1.sha256sum] =
"fd76035e87871f51c1ee5b793e32122b3ccf9c692662d9622ef1686ff5321acb"
+SRC_URI[grep-regex-0.1.14.sha256sum] =
"0ce0c256c3ad82bcc07b812c15a45ec1d398122e8e15124f96695234db7112ef"
+SRC_URI[grep-searcher-0.1.16.sha256sum] =
"ac63295322dc48ebb20a25348147905d816318888e64f531bfc2a2bc0577dc34"
+SRC_URI[ignore-0.4.24.sha256sum] =
"81776e6f9464432afcc28d03e52eb101c93b6f0566f52aef2427663e700f0403"
+SRC_URI[itoa-1.0.15.sha256sum] =
"4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
+SRC_URI[jobserver-0.1.34.sha256sum] =
"9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33"
+SRC_URI[lexopt-0.3.1.sha256sum] =
"9fa0e2a1fcbe2f6be6c42e342259976206b383122fc152e872795338b5a3f3a7"
+SRC_URI[libc-0.2.177.sha256sum] =
"2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976"
+SRC_URI[log-0.4.28.sha256sum] =
"34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432"
+SRC_URI[memchr-2.7.6.sha256sum] =
"f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
+SRC_URI[memmap2-0.9.9.sha256sum] =
"744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490"
+SRC_URI[pcre2-0.2.11.sha256sum] =
"9e970b0fcce0c7ee6ef662744ff711f21ccd6f11b7cf03cd187a80e89797fc67"
+SRC_URI[pcre2-sys-0.2.10.sha256sum] =
"18b9073c1a2549bd409bf4a32c94d903bb1a09bf845bc306ae148897fa0760a4"
+SRC_URI[pkg-config-0.3.32.sha256sum] =
"7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
+SRC_URI[proc-macro2-1.0.101.sha256sum] =
"89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de"
+SRC_URI[quote-1.0.41.sha256sum] =
"ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1"
+SRC_URI[r-efi-5.3.0.sha256sum] =
"69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
+SRC_URI[regex-automata-0.4.13.sha256sum] =
"5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c"
+SRC_URI[regex-syntax-0.8.8.sha256sum] =
"7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58"
+SRC_URI[ryu-1.0.20.sha256sum] =
"28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
+SRC_URI[same-file-1.0.6.sha256sum] =
"93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
+SRC_URI[serde-1.0.228.sha256sum] =
"9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
+SRC_URI[serde_core-1.0.228.sha256sum] =
"41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
+SRC_URI[serde_derive-1.0.228.sha256sum] =
"d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
+SRC_URI[serde_json-1.0.145.sha256sum] =
"402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c"
+SRC_URI[shlex-1.3.0.sha256sum] =
"0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+SRC_URI[syn-2.0.107.sha256sum] =
"2a26dbd934e5451d21ef060c018dae56fc073894c5a7896f882928a76e6d081b"
+SRC_URI[termcolor-1.4.1.sha256sum] =
"06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
+SRC_URI[textwrap-0.16.2.sha256sum] =
"c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057"
+SRC_URI[tikv-jemalloc-sys-0.6.1+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7.sha256sum]
= "cd8aa5b2ab86a2cefa406d889139c162cbb230092f7d1d7cbc1716405d852a3b"
+SRC_URI[tikv-jemallocator-0.6.1.sha256sum] =
"0359b4327f954e0567e69fb191cf1436617748813819c94b8cd4a431422d053a"
+SRC_URI[unicode-ident-1.0.20.sha256sum] =
"462eeb75aeb73aea900253ce739c8e18a67423fadf006037cd3ff27e82748a06"
+SRC_URI[walkdir-2.5.0.sha256sum] =
"29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
+SRC_URI[wasip2-1.0.1+wasi-0.2.4.sha256sum] =
"0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7"
+SRC_URI[winapi-util-0.1.11.sha256sum] =
"c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
+SRC_URI[windows-link-0.2.1.sha256sum] =
"f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
+SRC_URI[windows-sys-0.61.2.sha256sum] =
"ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
+SRC_URI[wit-bindgen-0.46.0.sha256sum] =
"f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59"
diff --git a/meta-oe/recipes-extended/ripgrep/ripgrep_15.1.0.bb
b/meta-oe/recipes-extended/ripgrep/ripgrep_15.1.0.bb
new file mode 100644
index 0000000000..7bb6be1cb6
--- /dev/null
+++ b/meta-oe/recipes-extended/ripgrep/ripgrep_15.1.0.bb
@@ -0,0 +1,22 @@
+SUMMARY = "ripgrep - Fast, recursive search tool like grep, written in Rust"
+HOMEPAGE = "https://crates.io/crates/ripgrep"
+DESCRIPTION = "ripgrep recursively searches directories for a regex pattern \
+ while respecting .gitignore. It's fast, safe, and written \
+ entirely in Rust."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE-MIT;md5=8d0d0aa488af0ab9aafa3b85a7fc8e12 \
+"
+
+SRC_URI = "crate://crates.io/ripgrep/${PV};name=ripgrep"
+SRC_URI[ripgrep.sha256sum] =
"f388c4955f85477c28a8667355819844a06614b083c23517f0e86bd1d6d82b73"
+S = "${CARGO_VENDORING_DIRECTORY}/ripgrep-${PV}"
+
+inherit cargo cargo-update-recipe-crates
+
+DEPENDS += "libstd-rs"
+
+require ${BPN}-crates.inc
+
+BBCLASSEXTEND = "native"
--
2.49.0
--
Yoann Congal
Smile ECS
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#122444):
https://lists.openembedded.org/g/openembedded-devel/message/122444
Mute This Topic: https://lists.openembedded.org/mt/116691253/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-