depot/third_party/nixpkgs/pkgs/applications/virtualization/looking-glass-client/default.nix

53 lines
1.9 KiB
Nix
Raw Normal View History

{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, SDL2, SDL2_ttf, spice-protocol
, fontconfig, libX11, freefont_ttf, nettle, libpthreadstubs, libXau, libXdmcp
, libXi, libXext, wayland, wayland-protocols, libffi, libGLU, libXScrnSaver
, expat, libbfd
}:
stdenv.mkDerivation rec {
pname = "looking-glass-client";
version = "B3";
src = fetchFromGitHub {
owner = "gnif";
repo = "LookingGlass";
rev = version;
sha256 = "1vmabjzn85p0brdian9lbpjq39agzn8k0limn8zjm713lh3n3c0f";
fetchSubmodules = true;
};
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [
SDL2 SDL2_ttf spice-protocol fontconfig libX11 freefont_ttf nettle
libpthreadstubs libXau libXdmcp libXi libXext wayland wayland-protocols
libffi libGLU libXScrnSaver expat libbfd
];
patches = [
# error: h may be used uninitialized in this function [-Werror=maybe-uninitialized]
# Fixed upstream in master in 8771103abbfd04da9787dea760405364af0d82de, but not in B3.
# Including our own patch here since upstream commit patch doesnt apply cleanly on B3
./0001-client-all-fix-more-maybe-uninitialized-when-O3-is-i.patch
];
patchFlags = "-p2";
sourceRoot = "source/client";
NIX_CFLAGS_COMPILE = "-mavx"; # Fix some sort of AVX compiler problem.
meta = with lib; {
description = "A KVM Frame Relay (KVMFR) implementation";
longDescription = ''
Looking Glass is an open source application that allows the use of a KVM
(Kernel-based Virtual Machine) configured for VGA PCI Pass-through
without an attached physical monitor, keyboard or mouse. This is the final
step required to move away from dual booting with other operating systems
for legacy programs that require high performance graphics.
'';
homepage = "https://looking-glass.io/";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ alexbakker ];
platforms = [ "x86_64-linux" ];
};
}