nixpkgs/pkgs/applications/misc/barrier/default.nix
Jan Tojnar eb04659fc2 treewide: wrapGAppsHook → wrapGAppsHook3
This was achieved using the following command:

    sd 'wrapGAppsHook\b' wrapGAppsHook3 (rg -l 'wrapGAppsHook\b')

And then manually reverted the following changes:

- alias in top-level.nix
- function name in wrap-gapps-hook.sh
- comment in postFixup of at-spi2-core
- comment in gtk4
- comment in preFixup of 1password-gui/linux.nix
- comment in postFixup of qgis/unwrapped-ltr.nix and qgis/unwrapped.nix
- comment in postFixup of telegram-desktop
- comment in postFixup of fwupd
- buildCommand of mongodb-compass
- postFixup of xflux-gui
- comment in a patch in kdePackages.kde-gtk-config and plasma5Packages.kde-gtk-config
- description of programs.sway.wrapperFeatures.gtk NixOS option (manual rebuild)
2024-04-27 02:23:22 +02:00

60 lines
1.8 KiB
Nix

{ 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";
};
}