ripgrep: link PCRE2 dynamically

The pcre2 crate which is used by ripgrep uses pkg-config to find the
path of the PCRE2 dynamic library. If the pkg-config or the library is
not found, PCRE2 will be built/linked statically.

This change adds pkg-config to the nativeBuildInputs of ripgrep, so
that the PCRE2 library is detected and dynamically linked.
This commit is contained in:
Daniël de Kok 2021-02-15 08:18:29 +01:00
parent 2b37fe7a77
commit 797b60f0d7

View file

@ -4,6 +4,7 @@
, rustPlatform , rustPlatform
, asciidoctor , asciidoctor
, installShellFiles , installShellFiles
, pkg-config
, Security , Security
, withPCRE2 ? true , withPCRE2 ? true
, pcre2 ? null , pcre2 ? null
@ -24,9 +25,10 @@ rustPlatform.buildRustPackage rec {
cargoBuildFlags = lib.optional withPCRE2 "--features pcre2"; cargoBuildFlags = lib.optional withPCRE2 "--features pcre2";
nativeBuildInputs = [ asciidoctor installShellFiles ]; nativeBuildInputs = [ asciidoctor installShellFiles ]
++ lib.optional withPCRE2 pkg-config;
buildInputs = (lib.optional withPCRE2 pcre2) buildInputs = (lib.optional withPCRE2 pcre2)
++ (lib.optional stdenv.isDarwin Security); ++ (lib.optional stdenv.isDarwin Security);
preFixup = '' preFixup = ''
installManPage $releaseDir/build/ripgrep-*/out/rg.1 installManPage $releaseDir/build/ripgrep-*/out/rg.1