1{ lib
2, mkDerivation
3, fetchFromGitHub
4, qmake
5, qtwebengine
6, gitUpdater
7}:
8
9let
10 pname = "gitqlient";
11 version = "1.5.0";
12
13 main_src = fetchFromGitHub {
14 owner = "francescmm";
15 repo = pname;
16 rev = "v${version}";
17 sha256 = "sha256-Mq29HbmPABrRIJjWC5AAKIOKbGngeJdkZkWeJw8BFuw=";
18 };
19 aux_src = fetchFromGitHub rec {
20 owner = "francescmm";
21 repo = "AuxiliarCustomWidgets";
22 rev = "835f538b4a79e4d6bb70eef37a32103e7b2a1fd1";
23 sha256 = "sha256-b1gb/7UcLS6lI92dBfTenGXA064t4dZufs3S9lu/lQA=";
24 name = repo;
25 };
26 qlogger_src = fetchFromGitHub rec {
27 owner = "francescmm";
28 repo = "QLogger";
29 rev = "d1ed24e080521a239d5d5e2c2347fe211f0f3e4f";
30 sha256 = "sha256-NVlFYmm7IIkf8LhQrAYXil9kH6DFq1XjOEHQiIWmER4=";
31 name = repo;
32 };
33 qpinnabletab_src = fetchFromGitHub rec {
34 owner = "francescmm";
35 repo = "QPinnableTabWidget";
36 rev = "cc937794e910d0452f0c07b4961c6014a7358831";
37 sha256 = "sha256-2KzzBv/s2t665axeBxWrn8aCMQQArQLlUBOAlVhU+wE=";
38 name = repo;
39 };
40 git_src = fetchFromGitHub rec {
41 owner = "francescmm";
42 repo = "git";
43 rev = "b62750f4da4b133faff49e6f53950d659b18c948";
44 sha256 = "sha256-4FqA+kkHd0TqD6ZuB4CbJ+IhOtQG9uWN+qhSAT0dXGs=";
45 name = repo;
46 };
47in
48
49mkDerivation rec {
50 inherit pname version;
51
52 srcs = [ main_src aux_src qlogger_src qpinnabletab_src git_src ];
53
54 sourceRoot = main_src.name;
55
56 nativeBuildInputs = [
57 qmake
58 ];
59
60 buildInputs = [
61 qtwebengine
62 ];
63
64 postUnpack = ''
65 for dep in AuxiliarCustomWidgets QPinnableTabWidget QLogger git; do
66 rmdir "${main_src.name}/src/$dep"
67 ln -sf "../../$dep" "${main_src.name}/src/$dep"
68 done
69 '';
70
71 qmakeFlags = [
72 "GitQlient.pro"
73 ];
74
75 passthru.updateScript = gitUpdater {
76 rev-prefix = "v";
77 };
78
79 meta = with lib; {
80 homepage = "https://github.com/francescmm/GitQlient";
81 description = "Multi-platform Git client written with Qt";
82 license = licenses.lgpl2Plus;
83 platforms = platforms.linux;
84 maintainers = with maintainers; [ romildo ];
85 };
86}