summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--maintainers/maintainer-list.nix5
-rw-r--r--pkgs/tools/X11/x11vnc/default.nix36
2 files changed, 30 insertions, 11 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index cce31b6a537..e60280f30eb 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -3115,6 +3115,11 @@
     github = "olynch";
     name = "Owen Lynch";
   };
+  OPNA2608 = {
+    email = "christoph.neidahl@gmail.com";
+    github = "OPNA2608";
+    name = "Christoph Neidahl";
+  };
   orbekk = {
     email = "kjetil.orbekk@gmail.com";
     github = "orbekk";
diff --git a/pkgs/tools/X11/x11vnc/default.nix b/pkgs/tools/X11/x11vnc/default.nix
index 2dc6d8ffd78..6dc785621b5 100644
--- a/pkgs/tools/X11/x11vnc/default.nix
+++ b/pkgs/tools/X11/x11vnc/default.nix
@@ -1,35 +1,49 @@
-{ 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 \
+  postPatch = ''
+    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
+
+    # Xdummy script is currently broken, so we avoid building it. This removes everything Xdummy-related from the affected Makefile
+    sed -i -e '/^\tXdummy.c\ \\$/,$d' -e 's/\tx11vnc_loop\ \\/\tx11vnc_loop/' misc/Makefile.am
+  '';
+
+  preConfigure = ''
+    configureFlags="--mandir=$out/share/man"
   '';
 
   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;
+    maintainers = with maintainers; [ OPNA2608 ];
   };
 }