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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to