c1e77269cf
For Nixpkgs it seems best to disable the usage of CPU extensions by default as older CPUs don't support them which will result in a crash at runtime (SIGILL: Illegal instruction) [0]. The performance on my old test system was more than enough anyway (usually ~10% CPU usage due to wayvnc). [0]: https://github.com/any1/neatvnc/issues/21
37 lines
1.1 KiB
Nix
37 lines
1.1 KiB
Nix
{ stdenv, fetchFromGitHub, meson, pkg-config, ninja
|
|
, pixman, libuv, gnutls, libdrm
|
|
# libjpeg_turbo: Optional, for tight encoding (disabled because experimental)
|
|
, enableCpuAcceleration ? false # Whether to use CPU extensions (e.g. AVX)
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "neatvnc";
|
|
version = "0.1.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "any1";
|
|
repo = pname;
|
|
rev = "v${version}";
|
|
sha256 = "04wcpwxlcf0bczcs97j21346mn6finfj7xgc2dsrwrw9xq8qa7wc";
|
|
};
|
|
|
|
nativeBuildInputs = [ meson pkg-config ninja ];
|
|
buildInputs = [ pixman libuv gnutls libdrm ];
|
|
|
|
patches = stdenv.lib.optional (!enableCpuAcceleration) ./disable-cpu-acceleration.patch;
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "A VNC server library";
|
|
longDescription = ''
|
|
This is a liberally licensed VNC server library that's intended to be
|
|
fast and neat. Goals:
|
|
- Speed
|
|
- Clean interface
|
|
- Interoperability with the Freedesktop.org ecosystem
|
|
'';
|
|
inherit (src.meta) homepage;
|
|
license = licenses.isc;
|
|
platforms = platforms.linux;
|
|
maintainers = with maintainers; [ primeos ];
|
|
};
|
|
}
|