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