diff --git a/pkgs/tools/X11/x11vnc/default.nix b/pkgs/tools/X11/x11vnc/default.nix index 2dc6d8ffd78c..d91c91b10e20 100644 --- a/pkgs/tools/X11/x11vnc/default.nix +++ b/pkgs/tools/X11/x11vnc/default.nix @@ -1,34 +1,42 @@ -{ stdenv, fetchurl, openssl, zlib, libjpeg, xorg, coreutils }: +{ stdenv, fetchFromGitHub, + openssl, zlib, libjpeg, xorg, coreutils, libvncserver, + autoreconfHook, pkgconfig }: stdenv.mkDerivation rec { - name = "x11vnc-0.9.13"; + name = "x11vnc-${version}"; + version = "0.9.15"; - src = fetchurl { - url = "mirror://sourceforge/libvncserver/${name}.tar.gz"; - sha256 = "0fzib5xb1vbs8kdprr4z94v0fshj2c5hhaz69llaarwnc8p9z0pn"; + src = fetchFromGitHub { + owner = "LibVNC"; + repo = "x11vnc"; + rev = version; + sha256 = "1a1b65k1hsy4nhg2sx1yrpaz3vx6s7rmrx8nwygpaam8wpdlkh8p"; }; + nativeBuildInputs = [ autoreconfHook pkgconfig ]; + buildInputs = [ xorg.libXfixes xorg.fixesproto openssl xorg.libXdamage xorg.damageproto zlib xorg.libX11 xorg.xproto libjpeg xorg.libXtst xorg.libXinerama xorg.xineramaproto xorg.libXrandr xorg.randrproto xorg.libXext xorg.xextproto xorg.inputproto xorg.recordproto xorg.libXi xorg.libXrender xorg.renderproto + libvncserver ]; preConfigure = '' configureFlags="--mandir=$out/share/man" - substituteInPlace x11vnc/unixpw.c \ + substituteInPlace src/unixpw.c \ --replace '"/bin/su"' '"/run/wrappers/bin/su"' \ --replace '"/bin/true"' '"${coreutils}/bin/true"' - sed -i -e '/#!\/bin\/sh/a"PATH=${xorg.xdpyinfo}\/bin:${xorg.xauth}\/bin:$PATH\\n"' -e 's|/bin/su|/run/wrappers/bin/su|g' x11vnc/ssltools.h + sed -i -e '/#!\/bin\/sh/a"PATH=${xorg.xdpyinfo}\/bin:${xorg.xauth}\/bin:$PATH\\n"' -e 's|/bin/su|/run/wrappers/bin/su|g' src/ssltools.h ''; meta = with stdenv.lib; { description = "A VNC server connected to a real X11 screen"; - homepage = http://www.karlrunge.com/x11vnc/; + homepage = https://github.com/LibVNC/x11vnc/; platforms = platforms.linux; license = licenses.gpl2; };