Skip to content

Commit 11ea752

Browse files
authored
deskflow: init at 1.17.1 (#346698)
2 parents 7d0c987 + 94e3239 commit 11ea752

File tree

1 file changed

+108
-0
lines changed

1 file changed

+108
-0
lines changed
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
{
2+
lib,
3+
stdenv,
4+
fetchFromGitHub,
5+
cmake,
6+
ninja,
7+
pkg-config,
8+
tomlplusplus,
9+
cli11,
10+
gtest,
11+
libei,
12+
libportal,
13+
libX11,
14+
libxkbfile,
15+
libXtst,
16+
libXinerama,
17+
libXi,
18+
libXrandr,
19+
libxkbcommon,
20+
pugixml,
21+
python3,
22+
gdk-pixbuf,
23+
libnotify,
24+
qt6,
25+
xkeyboard_config,
26+
openssl,
27+
wayland-protocols,
28+
wayland,
29+
libsysprof-capture,
30+
lerc,
31+
doxygen,
32+
}:
33+
stdenv.mkDerivation rec {
34+
pname = "deskflow";
35+
version = "1.17.1";
36+
37+
src = fetchFromGitHub {
38+
owner = "deskflow";
39+
repo = "deskflow";
40+
rev = "v${version}";
41+
hash = "sha256-cEKG9MwENbZqrfRdwiZtRWmIfRndrWUoaZQ5O7YRpBs=";
42+
};
43+
44+
postPatch = ''
45+
substituteInPlace src/lib/deskflow/unix/AppUtilUnix.cpp \
46+
--replace-fail "/usr/share/X11/xkb/rules/evdev.xml" "${xkeyboard_config}/share/X11/xkb/rules/evdev.xml"
47+
substituteInPlace src/lib/gui/tls/TlsCertificate.cpp \
48+
--replace-fail "\"openssl\"" "\"${lib.getBin openssl}/bin/openssl\""
49+
'';
50+
51+
nativeBuildInputs = [
52+
cmake
53+
ninja
54+
pkg-config
55+
qt6.wrapQtAppsHook
56+
doxygen # docs
57+
];
58+
59+
cmakeFlags = [
60+
"-DCMAKE_SKIP_RPATH=ON" # Avoid generating incorrect RPATH
61+
];
62+
63+
strictDeps = true;
64+
65+
buildInputs = [
66+
tomlplusplus
67+
cli11
68+
gtest
69+
libei
70+
libportal
71+
libX11
72+
libxkbfile
73+
libXinerama
74+
libXi
75+
libXrandr
76+
libXtst
77+
libxkbcommon
78+
pugixml
79+
gdk-pixbuf
80+
libnotify
81+
python3
82+
qt6.qtbase
83+
wayland-protocols
84+
qt6.qtwayland
85+
wayland
86+
libsysprof-capture
87+
lerc
88+
];
89+
90+
postInstall = ''
91+
substituteInPlace $out/share/applications/deskflow.desktop \
92+
--replace-fail "Path=/usr/bin" "Path=$out/bin" \
93+
--replace-fail "Exec=/usr/bin/deskflow" "Exec=deskflow"
94+
'';
95+
96+
qtWrapperArgs = [
97+
"--set QT_QPA_PLATFORM_PLUGIN_PATH ${qt6.qtwayland}/${qt6.qtbase.qtPluginPrefix}/platforms"
98+
];
99+
100+
meta = {
101+
homepage = "https://github.com/deskflow/deskflow";
102+
description = "Share one mouse and keyboard between multiple computers on Windows, macOS and Linux";
103+
mainProgram = "deskflow";
104+
maintainers = with lib.maintainers; [ aucub ];
105+
license = lib.licenses.gpl2Plus;
106+
platforms = lib.platforms.linux;
107+
};
108+
}

0 commit comments

Comments
 (0)