# ChangeLog for x11-misc/x11vnc
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/x11-misc/x11vnc/ChangeLog,v 1.127 2015/07/03 08:56:08 ago Exp $

  03 Jul 2015; Agostino Sarubbo <ago@gentoo.org> x11vnc-0.9.13_p20150111.ebuild:
  Stable for alpha, wrt bug #515268

  17 Jun 2015; Agostino Sarubbo <ago@gentoo.org> x11vnc-0.9.13_p20150111.ebuild:
  Stable for sparc, wrt bug #515268

  21 May 2015; Markus Meier <maekke@gentoo.org> x11vnc-0.9.13_p20150111.ebuild:
  arm stable, bug #515268

  19 May 2015; Agostino Sarubbo <ago@gentoo.org> x11vnc-0.9.13_p20150111.ebuild:
  Stable for x86, wrt bug #515268

  15 May 2015; Pacho Ramos <pacho@gentoo.org> x11vnc-0.9.13_p20150111.ebuild:
  ppc stable wrt bug #515268

  30 Apr 2015; Agostino Sarubbo <ago@gentoo.org> x11vnc-0.9.13_p20150111.ebuild:
  Stable for amd64, wrt bug #515268

  29 Apr 2015; Jeroen Roovers <jer@gentoo.org> x11vnc-0.9.13_p20150111.ebuild:
  Stable for HPPA (bug #515268).

  29 Apr 2015; Jeroen Roovers <jer@gentoo.org> x11vnc-0.9.13_p20150111.ebuild:
  Stable for PPC64 (bug #515268).

*x11vnc-0.9.13_p20150111 (24 Apr 2015)

  24 Apr 2015; Ian Delaney <idella4@gentoo.org> +x11vnc-0.9.13_p20150111.ebuild:
  bump wrt bug #515268, runtests fine

  08 Apr 2015; Jeroen Roovers <jer@gentoo.org> x11vnc-0.9.13-r1.ebuild:
  Stable for HPPA (bug #518214).

  03 Mar 2015; Yixun Lan <dlan@gentoo.org> x11vnc-0.9.13-r1.ebuild:
  add arm64 support, tested on A53 board

  25 Nov 2014; Julian Ospald <hasufell@gentoo.org> metadata.xml:
  drop maintainership

  04 Oct 2014; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  x11vnc-0.9.13-r1.ebuild:
  Keyword ~mips

  29 Aug 2014; Chema Alonso <nimiux@gentoo.org> x11vnc-0.9.13-r1.ebuild:
  Stable for amd64 wrt bug #518214

  14 Aug 2014; Pawel Hajdan jr <phajdan.jr@gentoo.org> x11vnc-0.9.13-r1.ebuild:
  x86 stable wrt bug #518214

  22 Jan 2014; Tom Wijsman <TomWij@gentoo.org> metadata.xml:
  Added proxy maintainers herd.

  22 Jan 2014; Julian Ospald <hasufell@gentoo.org> x11vnc-0.9.13-r1.ebuild:
  EAPI bump, cosmetic stuff

  22 Jan 2014; Julian Ospald <hasufell@gentoo.org> metadata.xml:
  take over maintainership with Alex Xu as proxy

  22 Jan 2014; Mike Gilbert <floppym@gentoo.org> metadata.xml:
  Remove myself.

  01 Oct 2013; Mike Frysinger <vapier@gentoo.org>
  files/x11vnc-0.9.13-shm-cleanup.patch:
  Update ChromiumOS URL.

  22 Feb 2013; Zac Medico <zmedico@gentoo.org> x11vnc-0.9.13-r1.ebuild:
  Add ~arm-linux keyword.

  21 Jan 2013; Mike Frysinger <vapier@gentoo.org> x11vnc-0.9.13-r1.ebuild,
  x11vnc-0.9.13.ebuild:
  Add s390 keywords #453114 by Sergey Popov.

  20 Jan 2013; Mike Gilbert <floppym@gentoo.org> metadata.xml:
  Add myself to metadata.

  20 Jan 2013; Pacho Ramos <pacho@gentoo.org> metadata.xml:
  Cleanup due bug #53266

  25 Nov 2012; Sven Wegener <swegener@gentoo.org> -x11vnc-0.9.9.ebuild,
  -files/x11vnc-0.9.11-rename-pointer.patch, -x11vnc-0.9.12.ebuild,
  -files/x11vnc-0.9.12-warnings.patch:
  Cleanup.

*x11vnc-0.9.13-r1 (15 Nov 2012)

  15 Nov 2012; Mike Frysinger <vapier@gentoo.org>
  +files/x11vnc-0.9.13-shm-cleanup.patch, +x11vnc-0.9.13-r1.ebuild:
  Fix from upstream/ChromiumOS for cleaning up shared memory.

  10 Jul 2012; Brent Baude <ranger@gentoo.org> x11vnc-0.9.13.ebuild:
  Marking x11vnc-0.9.13 ppc64 for bug 381699

  10 Jul 2012; Michael Weber <xmw@gentoo.org> x11vnc-0.9.13.ebuild:
  ppc stable (bug 381699)

  04 Jul 2012; Jeroen Roovers <jer@gentoo.org> x11vnc-0.9.13.ebuild:
  Stable for HPPA (bug #381699).

  01 Jul 2012; Raúl Porcel <armin76@gentoo.org> x11vnc-0.9.13.ebuild:
  alpha/arm/ia64/sh/sparc/x86 stable wrt #381699

  30 Jun 2012; Agostino Sarubbo <ago@gentoo.org> x11vnc-0.9.13.ebuild:
  Stable for amd64, wrt bug #381699

*x11vnc-0.9.13 (20 Nov 2011)

  20 Nov 2011; Tim Harder <radhermit@gentoo.org> +x11vnc-0.9.13.ebuild,
  +files/x11vnc-0.9.13-warnings.patch:
  Version bump (bug #384407).

  01 Nov 2011; Samuli Suominen <ssuominen@gentoo.org> x11vnc-0.9.9.ebuild,
  x11vnc-0.9.12.ebuild:
  Remove USE="v4l" because of missing support for video4linux 2.x wrt #389079
  by "Fab"

  09 Apr 2011; Mike Frysinger <vapier@gentoo.org> x11vnc-0.9.12.ebuild,
  metadata.xml:
  Add USE=tk to control support for the -gui option #362721 by victor
  romanchuk.

  22 Dec 2010; Sven Wegener <swegener@gentoo.org> x11vnc-0.9.9.ebuild,
  x11vnc-0.9.10.ebuild, x11vnc-0.9.11.ebuild, x11vnc-0.9.12.ebuild:
  Change media-libs/jpeg to virtual/jpeg.

  25 Sep 2010; Sven Wegener <swegener@gentoo.org> x11vnc-0.9.9.ebuild,
  x11vnc-0.9.10.ebuild, x11vnc-0.9.11.ebuild, x11vnc-0.9.12.ebuild,
  +files/x11vnc-0.9.12-warnings.patch:
  Fix warnings, bug #336878 by Alexandre Ferreira.

*x11vnc-0.9.12 (11 Sep 2010)

  11 Sep 2010; Sven Wegener <swegener@gentoo.org> +x11vnc-0.9.12.ebuild:
  Version bump.

  28 Aug 2010; Sven Wegener <swegener@gentoo.org> x11vnc-0.9.11.ebuild:
  Remove libvncserver include files which conflict with
  net-libs/libvncserver.

  28 Aug 2010; Sven Wegener <swegener@gentoo.org> x11vnc-0.9.9.ebuild,
  x11vnc-0.9.10.ebuild:
  Port the pointer() rename fix to older versions, bug #332425.

  28 Aug 2010; Sven Wegener <swegener@gentoo.org> -x11vnc-0.9.6.ebuild,
  -x11vnc-0.9.7.ebuild, -x11vnc-0.9.8.ebuild, -x11vnc-0.9.8-r1.ebuild,
  -files/x11vnc-0.9.8-xshm-header-fix.patch:
  Cleanup.

*x11vnc-0.9.11 (28 Aug 2010)

  28 Aug 2010; Sven Wegener <swegener@gentoo.org> +x11vnc-0.9.11.ebuild,
  +files/x11vnc-0.9.11-rename-pointer.patch:
  Version bump, bug #334483.

  02 Aug 2010; Raúl Porcel <armin76@gentoo.org> x11vnc-0.9.9.ebuild:
  alpha/ia64/sh/sparc stable wrt #304493

  24 Jun 2010; Sven Wegener <swegener@gentoo.org> x11vnc-0.9.9.ebuild,
  x11vnc-0.9.10.ebuild:
  Update x11-libs/libXtst dependency, bug #317403 by Kris Hepler.

*x11vnc-0.9.10 (24 Jun 2010)

  24 Jun 2010; Sven Wegener <swegener@gentoo.org> +x11vnc-0.9.10.ebuild:
  Version bump, bug #321901.

  10 Jun 2010; Jeroen Roovers <jer@gentoo.org> x11vnc-0.9.9.ebuild:
  Stable for HPPA (bug #304493).

  11 May 2010; Joseph Jezak <josejx@gentoo.org> x11vnc-0.9.9.ebuild:
  Marked ppc/ppc64 stable for bug #304493.

  18 Apr 2010; Markus Meier <maekke@gentoo.org> x11vnc-0.9.9.ebuild:
  arm stable, bug #304493

  17 Apr 2010; Markus Meier <maekke@gentoo.org> x11vnc-0.9.9.ebuild:
  x86 stable, bug #304493

  17 Apr 2010; Pacho Ramos <pacho@gentoo.org> x11vnc-0.9.9.ebuild:
  amd64 stable, bug 304493

  25 Jan 2010; Samuli Suominen <ssuominen@gentoo.org> x11vnc-0.9.9.ebuild:
  Require SLOT="0" of media-libs/jpeg for headers.

  10 Jan 2010; Christian Faulhammer <fauli@gentoo.org> x11vnc-0.9.9.ebuild:
  Transfer Prefix keywords

*x11vnc-0.9.9 (22 Dec 2009)

  22 Dec 2009; Sven Wegener <swegener@gentoo.org> +x11vnc-0.9.9.ebuild:
  Version bump.

  21 Nov 2009; Sven Wegener <swegener@gentoo.org> x11vnc-0.9.8-r1.ebuild:
  Adjust libvncserver dependency to also force the jpeg and zlib flags.

  21 Nov 2009; Sven Wegener <swegener@gentoo.org> x11vnc-0.9.8-r1.ebuild:
  Adjust pkg_setup for new libvncserver with the threads USE flag.

  14 Nov 2009; Sven Wegener <swegener@gentoo.org>
  files/x11vnc-0.9.8-xshm-header-fix.patch:
  Fix xshm once more, just hardcode the value that we need from the headers,
  bug #292229.

  06 Nov 2009; Sven Wegener <swegener@gentoo.org> x11vnc-0.9.6.ebuild,
  x11vnc-0.9.7.ebuild, x11vnc-0.9.8.ebuild:
  Update libvncserver dependency on the one having threads always enabled.

*x11vnc-0.9.8-r1 (06 Nov 2009)

  06 Nov 2009; Sven Wegener <swegener@gentoo.org> +x11vnc-0.9.8-r1.ebuild,
  +files/x11vnc-0.9.8-xshm-header-fix.patch:
  Revision bump. Depend on new system libvncserver supporting the threads
  USE flags. Fix missing xshm includes, bug #290827 by Wolfgang Draxinger
  and Fabiano.

*x11vnc-0.9.8 (13 Aug 2009)

  13 Aug 2009; Sven Wegener <swegener@gentoo.org> +x11vnc-0.9.8.ebuild:
  Version bump, #276473.

  17 Apr 2009; Sven Wegener <swegener@gentoo.org> x11vnc-0.9.6,
  x11vnc-0.9.7:
  Print a warning when non-native avahi support has been enabled, bug
  #253218.

*x11vnc-0.9.7 (17 Apr 2009)

  17 Apr 2009; Sven Wegener <swegener@gentoo.org> +x11vnc-0.9.7.ebuild:
  Version bump.

  02 Mar 2009; Brent Baude <ranger@gentoo.org> x11vnc-0.9.6.ebuild:
  Marking x11vnc-0.9.6 ppc64 for bug 256029

  22 Feb 2009; Sven Wegener <swegener@gentoo.org> -x11vnc-0.9.2-r1.ebuild,
  -x11vnc-0.9.3.ebuild, -x11vnc-0.9.4.ebuild, -x11vnc-0.9.5.ebuild:
  Cleanup.

  06 Feb 2009; Jeroen Roovers <jer@gentoo.org> x11vnc-0.9.6.ebuild:
  Stable for HPPA (bug #256029).

  01 Feb 2009; Markus Meier <maekke@gentoo.org> x11vnc-0.9.6.ebuild:
  amd64 stable, bug #256029

  24 Jan 2009; nixnut <nixnut@gentoo.org> x11vnc-0.9.6.ebuild:
  ppc stable #256029

  23 Jan 2009; Raúl Porcel <armin76@gentoo.org> x11vnc-0.9.6.ebuild:
  arm/ia64/sh/sparc/x86 stable wrt #256029

*x11vnc-0.9.6 (13 Dec 2008)

  13 Dec 2008; Sven Wegener <swegener@gentoo.org> +x11vnc-0.9.6.ebuild:
  Version bump.

*x11vnc-0.9.5 (25 Oct 2008)

  25 Oct 2008; Sven Wegener <swegener@gentoo.org> +x11vnc-0.9.5.ebuild:
  Version bump.

  21 Sep 2008; Mike Frysinger <vapier@gentoo.org> x11vnc-0.9.3.ebuild,
  x11vnc-0.9.4.ebuild:
  Add some ppc64 love.

*x11vnc-0.9.4 (17 Sep 2008)

  17 Sep 2008; Sven Wegener <swegener@gentoo.org> +x11vnc-0.9.4.ebuild:
  Version bump.

  03 May 2008; Richard Freeman <rich0@gentoo.org> x11vnc-0.9.3.ebuild:
  amd64 stable

  11 Jan 2008; Sven Wegener <swegener@gentoo.org> x11vnc-0.9.2-r1.ebuild,
  x11vnc-0.9.3.ebuild:
  Add dependency on x11-proto/inputproto for bug #204589.

  17 Dec 2007; Raúl Porcel <armin76@gentoo.org> x11vnc-0.9.3.ebuild:
  ia64/x86 stable

*x11vnc-0.9.3 (11 Oct 2007)

  11 Oct 2007; Sven Wegener <swegener@gentoo.org> +x11vnc-0.9.3.ebuild:
  Version bump.

  11 Oct 2007; Sven Wegener <swegener@gentoo.org>
  -files/x11vnc-0.9.1-ssl.patch, -x11vnc-0.9.1.ebuild, -x11vnc-0.9.2.ebuild:
  Cleanup.

  02 Oct 2007; Lars Weiler <pylon@gentoo.org> x11vnc-0.9.2-r1.ebuild:
  stable ppc, bug #194441

  02 Oct 2007; Jeroen Roovers <jer@gentoo.org> x11vnc-0.9.2-r1.ebuild:
  Stable for HPPA (bug #194441).

  01 Sep 2007; Christoph Mende <angelos@gentoo.org> x11vnc-0.9.2-r1.ebuild:
  Stable on amd64

  27 Aug 2007; Sven Wegener <swegener@gentoo.org> -x11vnc-0.8.2.ebuild,
  -x11vnc-0.8.2-r1.ebuild, -x11vnc-0.8.3.ebuild, -x11vnc-0.8.4.ebuild,
  -x11vnc-0.9.ebuild:
  Cleanup.

  01 Aug 2007; Christoph Mende <angelos@gentoo.org> x11vnc-0.9.1.ebuild:
  Stable on amd64 wrt bug #179237

  24 Jul 2007; Raúl Porcel <armin76@gentoo.org> x11vnc-0.9.2-r1.ebuild:
  Add ~alpha, ia64/x86 stable

  22 Jul 2007; Jeroen Roovers <jer@gentoo.org> x11vnc-0.9.1.ebuild:
  Stable for HPPA (bug #179237).

  22 Jul 2007; Joseph Jezak <josejx@gentoo.org> x11vnc-0.9.1.ebuild:
  Marked ppc stable for bug #179237.

  22 Jul 2007; Donnie Berkholz <dberkholz@gentoo.org>; x11vnc-0.8.2.ebuild,
  x11vnc-0.8.2-r1.ebuild, x11vnc-0.8.3.ebuild, x11vnc-0.8.4.ebuild,
  x11vnc-0.9.ebuild, x11vnc-0.9.1.ebuild, x11vnc-0.9.2.ebuild,
  x11vnc-0.9.2-r1.ebuild:
  Drop virtual/x11 references.

  20 Jul 2007; Sven Wegener <swegener@gentoo.org>
  +files/x11vnc-0.9.1-ssl.patch, x11vnc-0.9.1.ebuild:
  Pull in a fix from upstream to fix building with USE="-ssl", bug #180770.

  06 Jul 2007; Raúl Porcel <armin76@gentoo.org> x11vnc-0.9.2-r1.ebuild:
  Readd ~ia64 wrt #183009

  06 Jul 2007; Roy Marples <uberlord@gentoo.org> x11vnc-0.9.2-r1.ebuild:
  Keyworded ~x86-fbsd, #183009

  03 Jul 2007; Sven Wegener <swegener@gentoo.org> x11vnc-0.9.2-r1.ebuild:
  Force thread support on when building against our system libvncserver.

  25 Jun 2007; Raúl Porcel <armin76@gentoo.org> x11vnc-0.9.1.ebuild:
  ia64/x86 stable

*x11vnc-0.9.2-r1 (23 Jun 2007)

  23 Jun 2007; Sven Wegener <swegener@gentoo.org> +x11vnc-0.9.2-r1.ebuild:
  Add a local USE flag allowing to build x11vnc against the system
  libvncserver. This is an experimental feature.

*x11vnc-0.9.2 (18 Jun 2007)

  18 Jun 2007; Sven Wegener <swegener@gentoo.org> +x11vnc-0.9.2.ebuild:
  Version bump.

*x11vnc-0.9.1 (27 May 2007)

  27 May 2007; Sven Wegener <swegener@gentoo.org> +x11vnc-0.9.1.ebuild:
  Version bump.

*x11vnc-0.9 (19 Apr 2007)

  19 Apr 2007; Sven Wegener <swegener@gentoo.org> +x11vnc-0.9.ebuild:
  Version bump.

*x11vnc-0.8.4 (04 Feb 2007)

  04 Feb 2007; Sven Wegener <swegener@gentoo.org> +x11vnc-0.8.4.ebuild:
  Version bump.

*x11vnc-0.8.3 (14 Nov 2006)

  14 Nov 2006; Sven Wegener <swegener@gentoo.org> +x11vnc-0.8.3.ebuild:
  Version bump.

*x11vnc-0.8.2-r1 (28 Oct 2006)

  28 Oct 2006; Sven Wegener <swegener@gentoo.org> +x11vnc-0.8.2-r1.ebuild:
  Revision bump, add a couple of USE flags.

  14 Oct 2006; Bryan Østergaard <kloeri@gentoo.org> x11vnc-0.8.2.ebuild:
  Stable on ia64.

  08 Sep 2006; Sven Wegener <swegener@gentoo.org>
  -files/0.8-keysym-include.patch, -x11vnc-0.8.ebuild:
  Cleanup.

  11 Aug 2006; Michael Sterrett <mr_bones_@gentoo.org>
  -x11vnc-0.7.1-r1.ebuild:
  clean out old ebuild

  04 Aug 2006; Thomas Cort <tcort@gentoo.org> x11vnc-0.8.2.ebuild:
  Stable on amd64 wrt security Bug #142559.

  04 Aug 2006; Rene Nussbaumer <killerfox@gentoo.org> x11vnc-0.8.2.ebuild:
  Stable on hppa. See bug #142559.

  03 Aug 2006; Paul Varner <fuzzyray@gentoo.org> x11vnc-0.8.2.ebuild:
  Stable on x86 wrt security bug #142559

  03 Aug 2006; Tobias Scherbaum <dertobi123@gentoo.org> x11vnc-0.8.2.ebuild:
  ppc stable, bug #142559

  16 Jul 2006; Sven Wegener <swegener@gentoo.org> x11vnc-0.8.2.ebuild:
  Update SRC_URI to SourceForge and fix digest.

*x11vnc-0.8.2 (13 Jul 2006)

  13 Jul 2006; Sven Wegener <swegener@gentoo.org> -x11vnc-0.8.1.ebuild,
  +x11vnc-0.8.2.ebuild:
  Version bump.

  26 Jun 2006; Simon Stelling <blubb@gentoo.org> x11vnc-0.8.ebuild:
  stable on amd64

  25 Jun 2006; Tobias Scherbaum <dertobi123@gentoo.org> x11vnc-0.8.ebuild:
  ppc stable

  18 Jun 2006; Andrej Kacian <ticho@gentoo.org> x11vnc-0.8.ebuild:
  Stable on x86. Bug #136375.

  12 Jun 2006; Sven Wegener <swegener@gentoo.org>
  +files/0.8-keysym-include.patch, x11vnc-0.8.ebuild:
  Add a patch to fix the double keysym include.

*x11vnc-0.8.1 (06 Jun 2006)

  06 Jun 2006; Sven Wegener <swegener@gentoo.org> +x11vnc-0.8.1.ebuild:
  Version bump.

  14 Apr 2006; Diego Pettenò <flameeyes@gentoo.org> x11vnc-0.8.ebuild:
  Add ~x86-fbsd keyword.

  09 Apr 2006; Sven Wegener <swegener@gentoo.org> -x11vnc-0.7.2.ebuild:
  Remove old ebuild.

*x11vnc-0.8 (17 Feb 2006)

  17 Feb 2006; Sven Wegener <swegener@gentoo.org> +x11vnc-0.8.ebuild:
  Version bump.

  20 Dec 2005; Diego Pettenò <flameeyes@gentoo.org> x11vnc-0.7.2.ebuild:
  Add dependencies for modular X. See bug #116162.

  08 Oct 2005; Michael Hanselmann <hansmi@gentoo.org>
  x11vnc-0.7.1-r1.ebuild:
  Stable on ppc.

*x11vnc-0.7.2 (13 Jul 2005)

  13 Jul 2005; Sven Wegener <swegener@gentoo.org> +x11vnc-0.7.2.ebuild:
  Version bump, bug #95629.

  25 May 2005; Ferris McCormick <fmccor@gentoo.org> x11vnc-0.7.1-r1.ebuild:
  Add ~sparc keyword at user request (Bug 93917).  Package
  builds and appears to run.

  16 May 2005; Sven Wegener <swegener@gentoo.org> x11vnc-0.7-r1.ebuild,
  x11vnc-0.7.1-r1.ebuild:
  Marked 0.7.1 stable on x86.

*x11vnc-0.7-r1 (02 Mar 2005)

  02 Mar 2005; Sven Wegener <swegener@gentoo.org> files/0.7-autotools.patch,
  -files/0.7.1-autotools.patch, +x11vnc-0.7-r1.ebuild,
  +x11vnc-0.7.1-r1.ebuild, -x11vnc-0.7.1.ebuild, -x11vnc-0.7.ebuild:
  Revision bump for both arch and ~arch version. No longer link against the
  system libvncserver. The included libvncserver is more recent and includes
  fixes not yet included in the system libvncserver.

*x11vnc-0.7.1 (24 Feb 2005)

  24 Feb 2005; Sven Wegener <swegener@gentoo.org>
  +files/0.7.1-autotools.patch, +x11vnc-0.7.1.ebuild:
  Version bump.

  06 Feb 2005; Fernando Serboncini <fserb@gentoo.org> x11vnc-0.7.ebuild:
  Added to ~ppc

  29 Jan 2005; Mike Frysinger <vapier@gentoo.org>
  -files/0.6.2-configure.ac.patch, +files/0.7-autotools.patch,
  x11vnc-0.7.ebuild:
  Use the system libvncserver instead of the bundled version.

  06 Jan 2005; Karol Wojtaszek <sekretarz@gentoo.org> x11vnc-0.7.ebuild:
  Added to ~amd64, bug #75388

  01 Jan 2005; Sven Wegener <swegener@gentoo.org> -x11vnc-0.6.2.ebuild:
  Removed old ebuild.

*x11vnc-0.7 (24 Dec 2004)

  24 Dec 2004; Sven Wegener <swegener@gentoo.org> +x11vnc-0.7.ebuild:
  Version bump.

  10 Dec 2004; Sven Wegener <swegener@gentoo.org> x11vnc-0.6.2.ebuild:
  Added to ~hhpa.

*x11vnc-0.6.2 (22 Nov 2004)

  22 Nov 2004; Sven Wegener <swegener@gentoo.org> +metadata.xml,
  +files/0.6.2-configure.ac.patch, +x11vnc-0.6.2.ebuild:
  Initial import, ebuild written by me.
