1{ lib
2, stdenv
3, fetchFromGitHub
4, python3Packages
5, x11vnc
6, xrandr
7, libGL
8, qt5
9}:
10
11python3Packages.buildPythonApplication rec {
12 pname = "virtscreen";
13 version = "0.3.1";
14
15 disabled = python3Packages.pythonOlder "3.6";
16
17 # No tests
18 doCheck = false;
19
20 src = fetchFromGitHub {
21 owner = "kbumsik";
22 repo = pname;
23 rev = version;
24 sha256 = "005qach6phz8w17k8kqmyd647c6jkfybczybxq0yxi5ik0s91a08";
25 };
26
27 nativeBuildInputs = [ qt5.wrapQtAppsHook ];
28
29 propagatedBuildInputs = with python3Packages; [
30 netifaces
31 pyqt5
32 quamash
33 x11vnc
34 xrandr
35 ];
36
37 dontWrapQtApps = true;
38
39 makeWrapperArgs = [
40 "\${qtWrapperArgs[@]}"
41 # import Qt.labs.platform failed without this
42 "--prefix QML2_IMPORT_PATH : ${qt5.qtquickcontrols2.bin}/${qt5.qtbase.qtQmlPrefix}"
43 ];
44
45 postPatch = ''
46 substituteInPlace virtscreen/__main__.py \
47 --replace "'GL'" "'${libGL}/lib/libGL${stdenv.hostPlatform.extensions.sharedLibrary}'" \
48 '';
49
50 meta = with lib; {
51 description = "Make your iPad/tablet/computer as a secondary monitor on Linux";
52 homepage = "https://github.com/kbumsik/VirtScreen";
53 license = licenses.gpl3;
54 maintainers = with maintainers; [ borisbabic ];
55 };
56}