nix-index: Wrap with nix-env in PATH (#51165)
This fixes an impurity in nix-index: Previously it would take the nix-env binary from the users PATH. I discovered this while trying to run nix-index in a systemd service, which by default doesn't have nix-env in its path. The errors it threw were not informative at all and it took me hours to finally figure out the reason.
This commit is contained in:
parent
19532f2ba2
commit
e9ecd7f872
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, rustPlatform, fetchFromGitHub, pkgconfig, openssl, curl
|
{ stdenv, rustPlatform, fetchFromGitHub, pkgconfig, makeWrapper, openssl, curl
|
||||||
, Security
|
, nix, Security
|
||||||
}:
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
@ -13,7 +13,7 @@ rustPlatform.buildRustPackage rec {
|
|||||||
sha256 = "05fqfwz34n4ijw7ydw2n6bh4bv64rhks85cn720sy5r7bmhfmfa8";
|
sha256 = "05fqfwz34n4ijw7ydw2n6bh4bv64rhks85cn720sy5r7bmhfmfa8";
|
||||||
};
|
};
|
||||||
cargoSha256 = "045qm7cyg3sdvf22i8b9cz8gsvggs5bn9xz8k1pvn5gxb7zj24cx";
|
cargoSha256 = "045qm7cyg3sdvf22i8b9cz8gsvggs5bn9xz8k1pvn5gxb7zj24cx";
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig makeWrapper ];
|
||||||
buildInputs = [ openssl curl ]
|
buildInputs = [ openssl curl ]
|
||||||
++ stdenv.lib.optional stdenv.isDarwin Security;
|
++ stdenv.lib.optional stdenv.isDarwin Security;
|
||||||
|
|
||||||
@ -24,6 +24,8 @@ rustPlatform.buildRustPackage rec {
|
|||||||
cp ./command-not-found.sh $out/etc/profile.d/command-not-found.sh
|
cp ./command-not-found.sh $out/etc/profile.d/command-not-found.sh
|
||||||
substituteInPlace $out/etc/profile.d/command-not-found.sh \
|
substituteInPlace $out/etc/profile.d/command-not-found.sh \
|
||||||
--replace "@out@" "$out"
|
--replace "@out@" "$out"
|
||||||
|
wrapProgram $out/bin/nix-index \
|
||||||
|
--prefix PATH : "${stdenv.lib.makeBinPath [ nix ]}"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user