|
|
|
@ -1,29 +1,37 @@ |
|
|
|
|
{ stdenv, fetchzip, coreutils, gnugrep }: |
|
|
|
|
{ stdenv, lib, fetchzip, bash, makeWrapper, coreutils, gnugrep, doCheck ? true }: |
|
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec { |
|
|
|
|
pname = "bats"; |
|
|
|
|
version = "1.2.0"; |
|
|
|
|
version = "1.2.1"; |
|
|
|
|
|
|
|
|
|
src = fetchzip { |
|
|
|
|
url = "https://github.com/bats-core/bats-core/archive/v${version}.tar.gz"; |
|
|
|
|
sha256 = "0f59zh4d4pa1a7ybs5zl6h0csbqqv11lbnq0jl1dgwm1s6p49bsq"; |
|
|
|
|
hash = "sha256-grB/rJaDU0fuw4Hm3/9nI2px8KZnSWqRjTJPd7Mmb7s="; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
nativeBuildInputs = [ makeWrapper ]; |
|
|
|
|
|
|
|
|
|
patchPhase = '' |
|
|
|
|
patchShebangs ./install.sh |
|
|
|
|
patchShebangs . |
|
|
|
|
''; |
|
|
|
|
|
|
|
|
|
substituteInPlace ./libexec/bats-core/bats \ |
|
|
|
|
--replace 'type -p greadlink readlink' 'type -p ${coreutils}/bin/readlink' |
|
|
|
|
substituteInPlace ./libexec/bats-core/bats-format-tap-stream \ |
|
|
|
|
--replace grep ${gnugrep}/bin/grep |
|
|
|
|
installPhase = '' |
|
|
|
|
./install.sh $out |
|
|
|
|
wrapProgram $out/bin/bats --suffix PATH : "${lib.makeBinPath [ bash coreutils gnugrep ]}" |
|
|
|
|
''; |
|
|
|
|
|
|
|
|
|
installPhase = "./install.sh $out"; |
|
|
|
|
inherit doCheck; |
|
|
|
|
checkPhase = '' |
|
|
|
|
# test generates file with absolute shebang dynamically |
|
|
|
|
substituteInPlace test/install.bats --replace \ |
|
|
|
|
"/usr/bin/env bash" "${bash}/bin/bash" |
|
|
|
|
bin/bats test |
|
|
|
|
''; |
|
|
|
|
|
|
|
|
|
meta = with stdenv.lib; { |
|
|
|
|
meta = with lib; { |
|
|
|
|
homepage = "https://github.com/bats-core/bats-core"; |
|
|
|
|
description = "Bash Automated Testing System"; |
|
|
|
|
maintainers = [ maintainers.lnl7 ]; |
|
|
|
|
maintainers = with maintainers; [ abathur ]; |
|
|
|
|
license = licenses.mit; |
|
|
|
|
platforms = platforms.unix; |
|
|
|
|
}; |
|
|
|
|