1{ stdenv
2, bashInteractive
3, buildPythonPackage
4, cryptography
5, diffstat
6, fetchFromGitHub
7, lib
8, rpm
9, urllib3
10}:
11
12buildPythonPackage rec {
13 pname = "osc";
14 version = "1.3.1";
15
16 src = fetchFromGitHub {
17 owner = "openSUSE";
18 repo = "osc";
19 rev = version;
20 sha256 = "sha256-pywSXGM3IX3cTr1uJIP7pNGIYE/skMIoJeoaMU75zwc=";
21 };
22
23 buildInputs = [ bashInteractive ]; # needed for bash-completion helper
24 nativeCheckInputs = [ rpm diffstat ];
25 propagatedBuildInputs = [ urllib3 cryptography ];
26
27 postInstall = ''
28 install -D -m444 contrib/osc.fish $out/etc/fish/completions/osc.fish
29 install -D -m555 contrib/osc.complete $out/share/bash-completion/helpers/osc-helper
30 mkdir -p $out/share/bash-completion/completions
31 cat >>$out/share/bash-completion/completions/osc <<EOF
32 test -z "\$BASH_VERSION" && return
33 complete -o default _nullcommand >/dev/null 2>&1 || return
34 complete -r _nullcommand >/dev/null 2>&1 || return
35 complete -o default -C $out/share/bash-completion/helpers/osc-helper osc
36 EOF
37 '';
38
39 preCheck = "HOME=$TOP/tmp";
40
41 meta = with lib; {
42 broken = stdenv.isDarwin;
43 homepage = "https://github.com/openSUSE/osc";
44 description = "opensuse-commander with svn like handling";
45 maintainers = [ maintainers.peti ];
46 license = licenses.gpl2;
47 };
48
49}