|
@@ -1,4 +1,4 @@
|
|
|
-From 68c2a4d7a5d9b46f65121958fdb12d5270bfd1b6 Mon Sep 17 00:00:00 2001
|
|
|
+From 77f850969433b14769ade4281899373f3ebabf86 Mon Sep 17 00:00:00 2001
|
|
|
From: Jonathan Stites <mail@jonstites.com>
|
|
|
Date: Wed, 6 May 2020 12:55:35 +0000
|
|
|
Subject: [PATCH] puts jemalloc allocator behind a cargo feature flag
|
|
@@ -9,6 +9,8 @@ Moves jemalloc behind a feature for musl builds, where it is not
|
|
|
supported by the upstream project, so ripgrep will fail to build.
|
|
|
|
|
|
Signed-off-by: Sam Voss <sam.voss@gmail.com>
|
|
|
+[Antoine: update for 14.1.0]
|
|
|
+Signed-off-by: Antoine Coutant <antoine.coutant@smile.fr>
|
|
|
---
|
|
|
.github/workflows/ci.yml | 6 ++++++
|
|
|
.github/workflows/release.yml | 8 +++++++-
|
|
@@ -18,10 +20,10 @@ Signed-off-by: Sam Voss <sam.voss@gmail.com>
|
|
|
5 files changed, 35 insertions(+), 4 deletions(-)
|
|
|
|
|
|
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
|
|
|
-index ab154ec..aa567d9 100644
|
|
|
+index d21b85a..0c9ecb9 100644
|
|
|
--- a/.github/workflows/ci.yml
|
|
|
+++ b/.github/workflows/ci.yml
|
|
|
-@@ -149,6 +149,12 @@ jobs:
|
|
|
+@@ -172,6 +172,12 @@ jobs:
|
|
|
if: matrix.target != ''
|
|
|
run: ${{ env.CARGO }} test --verbose --workspace ${{ env.TARGET_FLAGS }}
|
|
|
|
|
@@ -31,14 +33,14 @@ index ab154ec..aa567d9 100644
|
|
|
+ if: matrix.os == 'nightly-musl'
|
|
|
+ run: ${{ env.CARGO }} test --verbose --all --features jemalloc ${{ env.TARGET_FLAGS }}
|
|
|
+
|
|
|
- - name: Test for existence of build artifacts (Windows)
|
|
|
- if: matrix.os == 'windows-2019'
|
|
|
- shell: bash
|
|
|
+ - name: Test zsh shell completions (Unix, sans cross)
|
|
|
+ # We could test this when using Cross, but we'd have to execute the
|
|
|
+ # 'rg' binary (done in test-complete) with qemu, which is a pain and
|
|
|
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
|
|
|
-index 7cfb6a4..ad6b82d 100644
|
|
|
+index f6ea3d9..ac18129 100644
|
|
|
--- a/.github/workflows/release.yml
|
|
|
+++ b/.github/workflows/release.yml
|
|
|
-@@ -133,7 +133,13 @@ jobs:
|
|
|
+@@ -171,7 +171,13 @@ jobs:
|
|
|
echo "target flag is: ${{ env.TARGET_FLAGS }}"
|
|
|
echo "target dir is: ${{ env.TARGET_DIR }}"
|
|
|
|
|
@@ -50,25 +52,25 @@ index 7cfb6a4..ad6b82d 100644
|
|
|
+
|
|
|
+ - name: Build release binary (non-linux)
|
|
|
+ if: matrix.build != 'linux'
|
|
|
- run: ${{ env.CARGO }} build --verbose --release --features pcre2 ${{ env.TARGET_FLAGS }}
|
|
|
-
|
|
|
- - name: Strip release binary (linux and macos)
|
|
|
+ shell: bash
|
|
|
+ run: |
|
|
|
+ ${{ env.CARGO }} build --verbose --release --features pcre2 ${{ env.TARGET_FLAGS }}
|
|
|
diff --git a/Cargo.toml b/Cargo.toml
|
|
|
-index fb78fcb..0d34b1e 100644
|
|
|
+index da350bc..1a0a48f 100644
|
|
|
--- a/Cargo.toml
|
|
|
+++ b/Cargo.toml
|
|
|
-@@ -56,8 +56,9 @@ version = "2.33.0"
|
|
|
- default-features = false
|
|
|
- features = ["suggestions"]
|
|
|
+@@ -59,8 +59,9 @@ serde_json = "1.0.23"
|
|
|
+ termcolor = "1.1.0"
|
|
|
+ textwrap = { version = "0.16.0", default-features = false }
|
|
|
|
|
|
-[target.'cfg(all(target_env = "musl", target_pointer_width = "64"))'.dependencies.jemallocator]
|
|
|
+[dependencies.jemallocator]
|
|
|
- version = "0.3.0"
|
|
|
+ version = "0.5.0"
|
|
|
+optional = true
|
|
|
|
|
|
- [build-dependencies]
|
|
|
- lazy_static = "1.1.0"
|
|
|
-@@ -75,6 +76,11 @@ walkdir = "2"
|
|
|
+ [dev-dependencies]
|
|
|
+ serde = "1.0.77"
|
|
|
+@@ -70,6 +71,11 @@ walkdir = "2"
|
|
|
[features]
|
|
|
simd-accel = ["grep/simd-accel"]
|
|
|
pcre2 = ["grep/pcre2"]
|
|
@@ -81,10 +83,10 @@ index fb78fcb..0d34b1e 100644
|
|
|
[profile.release]
|
|
|
debug = 1
|
|
|
diff --git a/README.md b/README.md
|
|
|
-index 46938bc..9917b29 100644
|
|
|
+index 0821fab..fdb9fb5 100644
|
|
|
--- a/README.md
|
|
|
+++ b/README.md
|
|
|
-@@ -406,6 +406,15 @@ build a static executable with MUSL and with PCRE2, then you will need to have
|
|
|
+@@ -478,6 +478,15 @@ build a static executable with MUSL and with PCRE2, then you will need to have
|
|
|
`musl-gcc` installed, which might be in a separate package from the actual
|
|
|
MUSL library, depending on your Linux distribution.
|
|
|
|
|
@@ -101,10 +103,10 @@ index 46938bc..9917b29 100644
|
|
|
### Running tests
|
|
|
|
|
|
diff --git a/crates/core/main.rs b/crates/core/main.rs
|
|
|
-index 47385de..c9dae5a 100644
|
|
|
+index 64f35ce..9aa6663 100644
|
|
|
--- a/crates/core/main.rs
|
|
|
+++ b/crates/core/main.rs
|
|
|
-@@ -31,7 +31,7 @@ mod subject;
|
|
|
+@@ -27,7 +27,7 @@ mod search;
|
|
|
// have the fastest version of everything. Its goal is to be small and amenable
|
|
|
// to static compilation.) Even though ripgrep isn't particularly allocation
|
|
|
// heavy, musl's allocator appears to slow down ripgrep quite a bit. Therefore,
|
|
@@ -113,7 +115,7 @@ index 47385de..c9dae5a 100644
|
|
|
//
|
|
|
// We don't unconditionally use jemalloc because it can be nice to use the
|
|
|
// system's default allocator by default. Moreover, jemalloc seems to increase
|
|
|
-@@ -39,7 +39,11 @@ mod subject;
|
|
|
+@@ -35,7 +35,11 @@ mod search;
|
|
|
//
|
|
|
// Moreover, we only do this on 64-bit systems since jemalloc doesn't support
|
|
|
// i686.
|
|
@@ -127,5 +129,5 @@ index 47385de..c9dae5a 100644
|
|
|
static ALLOC: jemallocator::Jemalloc = jemallocator::Jemalloc;
|
|
|
|
|
|
--
|
|
|
-2.32.0
|
|
|
+2.25.1
|
|
|
|