at master 1.4 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 fetchpatch, 6 isPy3k, 7 flask, 8 pygments, 9 dulwich, 10 httpauth, 11 humanize, 12 pytest, 13 requests, 14 python-ctags3, 15 mock, 16}: 17 18buildPythonPackage rec { 19 pname = "klaus"; 20 version = "3.0.1"; 21 format = "setuptools"; 22 23 src = fetchFromGitHub { 24 owner = "jonashaag"; 25 repo = "klaus"; 26 rev = version; 27 hash = "sha256-GflSDhBmMsQ34o3ApraEJ6GmlXXP2kK6WW3lsfr6b7g="; 28 }; 29 30 prePatch = '' 31 substituteInPlace runtests.sh \ 32 --replace "mkdir -p \$builddir" "mkdir -p \$builddir && pwd" 33 ''; 34 35 # TODO: remove in next version 36 patches = [ 37 (fetchpatch { 38 name = "distutils.patch"; 39 url = "https://github.com/jonashaag/klaus/commit/d50d2aab97fd86c11f3b5a4c1ecbcf1e085f395f.patch"; 40 hash = "sha256-gJ/ksm96VRNgqIBp+PX/ljzdfQJYbwTBmZaF2Ctu7Fc="; 41 }) 42 ]; 43 44 propagatedBuildInputs = [ 45 flask 46 pygments 47 dulwich 48 httpauth 49 humanize 50 ]; 51 52 nativeCheckInputs = [ 53 pytest 54 requests 55 python-ctags3 56 ] 57 ++ lib.optional (!isPy3k) mock; 58 59 checkPhase = '' 60 ./runtests.sh 61 ''; 62 63 # Needs to set up some git repos 64 doCheck = false; 65 66 meta = with lib; { 67 description = "First Git web viewer that Just Works"; 68 mainProgram = "klaus"; 69 homepage = "https://github.com/jonashaag/klaus"; 70 license = licenses.isc; 71 maintainers = with maintainers; [ pSub ]; 72 }; 73}