mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-15 00:24:47 +00:00
![Travis A. Everett](/assets/img/avatar_default.png)
Lore overrides have been included with binlore's source up to now, but this hasn't worked very well. (It isn't as easy to self-service for people working in nixpkgs, and its use of partial pnames for matching breaks down around some edge cases like version numbers appearing early in perl pnames, or multiple packages having identical pnames.)
50 lines
1.3 KiB
Nix
50 lines
1.3 KiB
Nix
{ lib, stdenv, fetchFromGitHub, asciidoctor, gawk, gnused, runtimeShell, binlore, esh }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "esh";
|
|
version = "0.1.1";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "jirutka";
|
|
repo = "esh";
|
|
rev = "v${version}";
|
|
sha256 = "1ddaji5nplf1dyvgkrhqjy8m5djaycqcfhjv30yprj1avjymlj6w";
|
|
};
|
|
|
|
nativeBuildInputs = [ asciidoctor ];
|
|
|
|
buildInputs = [ gawk gnused ];
|
|
|
|
makeFlags = [ "prefix=$(out)" "DESTDIR=" ];
|
|
|
|
postPatch = ''
|
|
patchShebangs .
|
|
substituteInPlace esh \
|
|
--replace '"/bin/sh"' '"${runtimeShell}"' \
|
|
--replace '"awk"' '"${gawk}/bin/awk"' \
|
|
--replace 'sed' '${gnused}/bin/sed'
|
|
substituteInPlace tests/test-dump.exp \
|
|
--replace '#!/bin/sh' '#!${runtimeShell}'
|
|
'';
|
|
|
|
doCheck = true;
|
|
checkTarget = "test";
|
|
|
|
# working around a bug in file. Was fixed in
|
|
# file 5.41-5.43 but regressed in 5.44+
|
|
# see https://bugs.astron.com/view.php?id=276
|
|
# "can" verdict because of `-s SHELL` arg
|
|
passthru.binlore.out = binlore.synthesize esh ''
|
|
execer can bin/esh
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Simple templating engine based on shell";
|
|
mainProgram = "esh";
|
|
homepage = "https://github.com/jirutka/esh";
|
|
license = licenses.mit;
|
|
maintainers = with maintainers; [ mnacamura ];
|
|
platforms = platforms.unix;
|
|
};
|
|
}
|