forked from mirrors/nixpkgs
e9ecd7f872
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.
39 lines
1.1 KiB
Nix
39 lines
1.1 KiB
Nix
{ stdenv, rustPlatform, fetchFromGitHub, pkgconfig, makeWrapper, openssl, curl
|
|
, nix, Security
|
|
}:
|
|
|
|
rustPlatform.buildRustPackage rec {
|
|
name = "nix-index-${version}";
|
|
version = "0.1.2";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "bennofs";
|
|
repo = "nix-index";
|
|
rev = "v${version}";
|
|
sha256 = "05fqfwz34n4ijw7ydw2n6bh4bv64rhks85cn720sy5r7bmhfmfa8";
|
|
};
|
|
cargoSha256 = "045qm7cyg3sdvf22i8b9cz8gsvggs5bn9xz8k1pvn5gxb7zj24cx";
|
|
nativeBuildInputs = [ pkgconfig makeWrapper ];
|
|
buildInputs = [ openssl curl ]
|
|
++ stdenv.lib.optional stdenv.isDarwin Security;
|
|
|
|
doCheck = !stdenv.isDarwin;
|
|
|
|
postInstall = ''
|
|
mkdir -p $out/etc/profile.d
|
|
cp ./command-not-found.sh $out/etc/profile.d/command-not-found.sh
|
|
substituteInPlace $out/etc/profile.d/command-not-found.sh \
|
|
--replace "@out@" "$out"
|
|
wrapProgram $out/bin/nix-index \
|
|
--prefix PATH : "${stdenv.lib.makeBinPath [ nix ]}"
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "A files database for nixpkgs";
|
|
homepage = https://github.com/bennofs/nix-index;
|
|
license = with licenses; [ bsd3 ];
|
|
maintainers = [ maintainers.bennofs ];
|
|
platforms = platforms.all;
|
|
};
|
|
}
|