1{ lib, python3, fetchFromGitHub, nixosTests, wrapGAppsNoGuiHook, gobject-introspection, glib }:
2
3python3.pkgs.buildPythonApplication rec {
4 pname = "targetcli";
5 version = "2.1.58";
6
7 src = fetchFromGitHub {
8 owner = "open-iscsi";
9 repo = "${pname}-fb";
10 rev = "v${version}";
11 hash = "sha256-9QYo7jGk9iWr26j0qPQCqYsJ+vLXAsO4Xs7+7VT9/yc=";
12 };
13
14 nativeBuildInputs = [ wrapGAppsNoGuiHook gobject-introspection ];
15 buildInputs = [ glib ];
16
17 propagatedBuildInputs = with python3.pkgs; [ configshell rtslib pygobject3 ];
18
19 postInstall = ''
20 install -D targetcli.8 -t $out/share/man/man8/
21 install -D targetclid.8 -t $out/share/man/man8/
22 '';
23
24 passthru.tests = {
25 inherit (nixosTests) iscsi-root;
26 };
27
28 meta = with lib; {
29 description = "Command shell for managing the Linux LIO kernel target";
30 homepage = "https://github.com/open-iscsi/targetcli-fb";
31 license = licenses.asl20;
32 maintainers = lib.teams.helsinki-systems.members;
33 platforms = platforms.linux;
34 };
35}