at 22.05-pre 51 lines 1.2 kB view raw
1{ stdenv 2, lib 3, fetchFromGitHub 4, fetchurl 5, perl 6, perlPackages 7, sharnessExtensions ? {} }: 8 9stdenv.mkDerivation rec { 10 pname = "sharness"; 11 version = "1.1.0-dev"; 12 13 src = fetchFromGitHub { 14 owner = "chriscool"; 15 repo = pname; 16 rev = "3f238a740156dd2082f4bd60ced205e05894d367"; # 2020-12-09 17 sha256 = "FCYskpIqkrpNaWCi2LkhEkiow4/rXLe+lfEWNUthLUg="; 18 }; 19 20 # Used for testing 21 nativeBuildInputs = [ perl perlPackages.IOTty ]; 22 23 outputs = [ "out" "doc" ]; 24 25 makeFlags = [ "prefix=$(out)" ]; 26 27 extensions = lib.mapAttrsToList (k: v: "${k}.sh ${v}") sharnessExtensions; 28 29 postInstall = lib.optionalString (sharnessExtensions != {}) '' 30 extDir=$out/share/sharness/sharness.d 31 mkdir -p "$extDir" 32 linkExtensions() { 33 set -- $extensions 34 while [ $# -ge 2 ]; do 35 ln -s "$2" "$extDir/$1" 36 shift 2 37 done 38 } 39 linkExtensions 40 ''; 41 42 doCheck = true; 43 44 meta = with lib; { 45 description = "Portable shell library to write, run and analyze automated tests adhering to Test Anything Protocol (TAP)"; 46 homepage = "https://github.com/chriscool/sharness"; 47 license = licenses.gpl2Only; 48 maintainers = [ maintainers.spacefrogg ]; 49 platforms = platforms.unix; 50 }; 51}