blob: ee988b79f8219a5f5322ab4698e0ac244cdcd03f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
{ lib, fetchFromGitHub, cmake, curl, xorg, avahi, qtbase, mkDerivation,
openssl, wrapGAppsHook3,
avahiWithLibdnssdCompat ? avahi.override { withLibdnssdCompat = true; },
fetchpatch
}:
mkDerivation rec {
pname = "barrier";
version = "2.4.0";
src = fetchFromGitHub {
owner = "debauchee";
repo = pname;
rev = "v${version}";
sha256 = "sha256-2tHqLF3zS3C4UnOVIZfpcuzaemC9++nC7lXgFnFSfKU=";
fetchSubmodules = true;
};
patches = [
# This patch can be removed when a new version of barrier (greater than 2.4.0)
# is released, which will contain this commit.
(fetchpatch {
name = "add-missing-cstddef-header.patch";
url = "https://github.com/debauchee/barrier/commit/4b12265ae5d324b942698a3177e1d8b1749414d7.patch";
sha256 = "sha256-ajMxP7szBFi4h8cMT3qswfa3k/QiJ1FGI3q9fkCFQQk=";
})
];
CXXFLAGS = [
# error: 'uint8_t' is not a member of 'std'; did you mean 'wint_t'?
"-include cstdint"
];
buildInputs = [ curl xorg.libX11 xorg.libXext xorg.libXtst avahiWithLibdnssdCompat qtbase ];
nativeBuildInputs = [ cmake wrapGAppsHook3 ];
postFixup = ''
substituteInPlace "$out/share/applications/barrier.desktop" --replace "Exec=barrier" "Exec=$out/bin/barrier"
'';
qtWrapperArgs = [
''--prefix PATH : ${lib.makeBinPath [ openssl ]}''
];
meta = {
description = "Open-source KVM software";
longDescription = ''
Barrier is KVM software forked from Symless's synergy 1.9 codebase.
Synergy was a commercialized reimplementation of the original
CosmoSynergy written by Chris Schoeneman.
'';
homepage = "https://github.com/debauchee/barrier";
downloadPage = "https://github.com/debauchee/barrier/releases";
license = lib.licenses.gpl2;
maintainers = [ lib.maintainers.phryneas ];
platforms = lib.platforms.linux;
mainProgram = "barrier";
};
}
|