forked from mirrors/nixpkgs
d81d591d13
* Reason: statically set `${NIX_BIN_PREFIX}` within generated `direnvrc`. * Before it only replaced the `-z ${NIX_BIN_PREFIX:-}` check which therefore never was `true`. So, also `NIX_BIN_PREFIX` never got set such that its usage later always failed execution with `NIX_BIN_PREFIX: unbound variable`. With the fix, the line containing the check will no longer be replaced. * Solves https://github.com/nix-community/nix-direnv/issues/70 * See also discussion on #114622 Signed-off-by: Andreas Schmid <service@aaschmid.de>
35 lines
972 B
Nix
35 lines
972 B
Nix
{ lib, stdenv, fetchFromGitHub, gnugrep, nix, nixFlakes }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "nix-direnv";
|
|
version = "1.2.3";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "nix-community";
|
|
repo = "nix-direnv";
|
|
rev = version;
|
|
sha256 = "sha256-a0OyIONKtVWh9g/FZ6H0JSRuA1U48HSOX53G9z/h7t8=";
|
|
};
|
|
|
|
# Substitute instead of wrapping because the resulting file is
|
|
# getting sourced, not executed:
|
|
postPatch = ''
|
|
sed -i "1a NIX_BIN_PREFIX=${nixFlakes}/bin/" direnvrc
|
|
substituteInPlace direnvrc --replace "grep" "${gnugrep}/bin/grep"
|
|
'';
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
install -m500 -D direnvrc $out/share/nix-direnv/direnvrc
|
|
runHook postInstall
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "A fast, persistent use_nix implementation for direnv";
|
|
homepage = "https://github.com/nix-community/nix-direnv";
|
|
license = licenses.mit;
|
|
platforms = platforms.unix;
|
|
maintainers = with maintainers; [ mic92 ];
|
|
};
|
|
}
|