1{ stdenv
2, buildPythonPackage
3, fetchFromGitHub
4, isPy3k
5, pkgs
6, urlgrabber
7, m2crypto
8, pyyaml
9, lxml
10}:
11
12buildPythonPackage {
13 pname = "osc";
14 version = "0.163.0-40-gb4b1ec7";
15 disabled = isPy3k; # urlgrabber doesn't support python-3.x
16
17 src = fetchFromGitHub {
18 owner = "openSUSE";
19 repo = "osc";
20 rev = "b4b1ec7b64d4f9bb42f140754519221b810e232c";
21 sha256 = "01z1b15x9vzhd7j94f6n3g50h5br7lwz86akgic0wpp41zv37jad";
22 };
23
24 buildInputs = [ pkgs.bashInteractive ]; # needed for bash-completion helper
25 propagatedBuildInputs = [ urlgrabber m2crypto pyyaml lxml ];
26
27 postInstall = ''
28 ln -s $out/bin/osc-wrapper.py $out/bin/osc
29 install -D -m444 osc.fish $out/etc/fish/completions/osc.fish
30 install -D -m555 dist/osc.complete $out/share/bash-completion/helpers/osc-helper
31 mkdir -p $out/share/bash-completion/completions
32 cat >>$out/share/bash-completion/completions/osc <<EOF
33 test -z "\$BASH_VERSION" && return
34 complete -o default _nullcommand >/dev/null 2>&1 || return
35 complete -r _nullcommand >/dev/null 2>&1 || return
36 complete -o default -C $out/share/bash-completion/helpers/osc-helper osc
37 EOF
38 '';
39
40 meta = with stdenv.lib; {
41 description = "opensuse-commander with svn like handling";
42 maintainers = [ maintainers.peti ];
43 license = licenses.gpl2;
44 };
45
46}