{ lib, stdenv, fetchurl, meson, ninja, gobject-introspection, gnutls, cairo, glib, pkg-config, cyrus_sasl, pulseaudioSupport ? stdenv.hostPlatform.isLinux, libpulseaudio, libgcrypt, gtk3, vala, gettext, perl, python3, gnome, gdk-pixbuf, zlib, }: stdenv.mkDerivation rec { pname = "gtk-vnc"; version = "1.3.1"; outputs = [ "out" "bin" "man" "dev" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "USdjrE4FWdAVi2aCyl3Ro71jPwgvXkNJ1xWOa1+A8c4="; }; nativeBuildInputs = [ meson ninja pkg-config gobject-introspection vala gettext perl # for pod2man python3 ]; buildInputs = [ gnutls cairo gdk-pixbuf zlib glib libgcrypt cyrus_sasl gtk3 ] ++ lib.optionals pulseaudioSupport [ libpulseaudio ]; mesonFlags = lib.optionals (!pulseaudioSupport) [ "-Dpulseaudio=disabled" ]; passthru = { updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; }; meta = with lib; { description = "GTK VNC widget"; homepage = "https://gitlab.gnome.org/GNOME/gtk-vnc"; license = licenses.lgpl2Plus; maintainers = with maintainers; [ raskin offline ]; platforms = platforms.unix; mainProgram = "gvnccapture"; }; }