1{
2 fetchFromGitHub,
3 lib,
4 stdenv,
5}:
6
7stdenv.mkDerivation rec {
8 pname = "bash_unit";
9 version = "2.3.2";
10
11 src = fetchFromGitHub {
12 owner = "pgrange";
13 repo = "bash_unit";
14 rev = "v${version}";
15 sha256 = "sha256-n5ehN7NrWID72xP7EYOk/mpnQJaDn71esIugWrLbZr0=";
16 };
17
18 patchPhase = ''
19 runHook prePatch
20
21 patchShebangs bash_unit
22
23 for t in tests/test_*; do
24 chmod +x "$t" # make test file visible to `patchShebangs`
25 patchShebangs "$t"
26 chmod -x "$t"
27 done
28
29 runHook postPatch
30 '';
31
32 doCheck = true;
33
34 checkPhase = ''
35 runHook preCheck
36
37 ./bash_unit ./tests/test_core.sh
38
39 runHook postCheck
40 '';
41
42 installPhase = ''
43 mkdir -p $out/bin
44 cp bash_unit $out/bin/
45 '';
46
47 meta = with lib; {
48 description = "Bash unit testing enterprise edition framework for professionals";
49 maintainers = with maintainers; [ pamplemousse ];
50 platforms = platforms.all;
51 license = licenses.gpl3Plus;
52 mainProgram = "bash_unit";
53 };
54}