1{
2 lib,
3 stdenv,
4 fetchFromGitLab,
5 cmake,
6 pkg-config,
7 wrapQtAppsHook,
8 qtbase,
9 qtsvg,
10 qtwayland,
11 alsa-lib,
12 pipewire,
13}:
14
15stdenv.mkDerivation (finalAttrs: {
16 pname = "qpwgraph";
17 version = "0.9.4";
18
19 src = fetchFromGitLab {
20 domain = "gitlab.freedesktop.org";
21 owner = "rncbc";
22 repo = "qpwgraph";
23 rev = "v${finalAttrs.version}";
24 sha256 = "sha256-VvOdorj+CpFSI+iyVeMR0enXGO5mLPE8KiaHGuG/KDQ=";
25 };
26
27 nativeBuildInputs = [
28 cmake
29 pkg-config
30 wrapQtAppsHook
31 ];
32
33 buildInputs = [
34 qtbase
35 qtsvg
36 qtwayland
37 alsa-lib
38 pipewire
39 ];
40
41 cmakeFlags = [ "-DCONFIG_WAYLAND=ON" ];
42
43 meta = with lib; {
44 description = "Qt graph manager for PipeWire, similar to QjackCtl";
45 longDescription = ''
46 qpwgraph is a graph manager dedicated for PipeWire,
47 using the Qt C++ framework, based and pretty much like
48 the same of QjackCtl.
49 '';
50 homepage = "https://gitlab.freedesktop.org/rncbc/qpwgraph";
51 license = licenses.gpl2Plus;
52 platforms = platforms.linux;
53 maintainers = with maintainers; [
54 kanashimia
55 exi
56 Scrumplex
57 ];
58 mainProgram = "qpwgraph";
59 };
60})