libggi (1:2.2.2-5) debian-dir only changes

Summary

 debian/README.samples                   |   26 
 debian/README.source                    |    2 
 debian/TODO                             |    7 
 debian/changelog                        |  687 +++++++++++++++
 debian/compat                           |    1 
 debian/control                          |  232 +++++
 debian/copyright                        |   34 
 debian/docs                             |    5 
 debian/ggi-demo.1                       |    1 
 debian/ggi-demos.1                      |   60 +
 debian/ggi-flying_ggis.1                |    1 
 debian/libggi-samples.docs              |    1 
 debian/libggi-samples.examples          |    3 
 debian/libggi-samples.install           |    2 
 debian/libggi-samples.lintian-overrides |    1 
 debian/libggi-samples.manpages          |    6 
 debian/libggi-samples.menu              |   17 
 debian/libggi-target-aa.install         |    1 
 debian/libggi-target-aa.manpages        |    1 
 debian/libggi-target-directx.manpages   |    1 
 debian/libggi-target-emu.docs           |    2 
 debian/libggi-target-emu.install        |    1 
 debian/libggi-target-emu.manpages       |    2 
 debian/libggi-target-fbdev.docs         |    1 
 debian/libggi-target-fbdev.install      |    4 
 debian/libggi-target-fbdev.manpages     |    1 
 debian/libggi-target-fbdev.postinst     |   23 
 debian/libggi-target-fbdev.postrm       |   27 
 debian/libggi-target-lcd823.install     |    1 
 debian/libggi-target-monotext.docs      |    1 
 debian/libggi-target-monotext.install   |    1 
 debian/libggi-target-monotext.manpages  |    1 
 debian/libggi-target-svgalib.install    |    3 
 debian/libggi-target-svgalib.manpages   |    1 
 debian/libggi-target-terminfo.install   |    1 
 debian/libggi-target-vcsa.install       |    1 
 debian/libggi-target-vcsa.manpages      |    1 
 debian/libggi-target-x.docs             |    1 
 debian/libggi-target-x.install          |    2 
 debian/libggi-target-x.manpages         |    1 
 debian/libggi2-dev.install              |    7 
 debian/libggi2-dev.manpages             |    1 
 debian/libggi2.docs                     |    3 
 debian/libggi2.install                  |    2 
 debian/libggi2.manpages                 |    7 
 debian/patches/00_misc.diff             |  597 +++++++++++++
 debian/patches/01_manpages.diff         | 1445 ++++++++++++++++++++++++++++++++
 debian/patches/02_glide.diff            |   55 +
 debian/patches/03_fix_as-needed.diff    |   30 
 debian/patches/series                   |    4 
 debian/postrm                           |   26 
 debian/rules                            |   98 ++
 debian/watch                            |    2 
 53 files changed, 3442 insertions(+)

    
download this patch

Patch contents

--- libggi-2.2.2.orig/debian/libggi-target-lcd823.install
+++ libggi-2.2.2/debian/libggi-target-lcd823.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/ggi/display/lcd823.* usr/lib/ggi/display
--- libggi-2.2.2.orig/debian/libggi2.manpages
+++ libggi-2.2.2/debian/libggi2.manpages
@@ -0,0 +1,7 @@
+debian/tmp/usr/share/man/man7/display-file.7
+debian/tmp/usr/share/man/man7/display-memory.7
+debian/tmp/usr/share/man/man7/display-multi.7
+debian/tmp/usr/share/man/man7/display-sub.7
+debian/tmp/usr/share/man/man7/display-tele.7
+debian/tmp/usr/share/man/man7/display-tile.7
+debian/tmp/usr/share/man/man7/libggi.7
--- libggi-2.2.2.orig/debian/README.samples
+++ libggi-2.2.2/debian/README.samples
@@ -0,0 +1,26 @@
+LibGGI Demo Programs for Debian
+-------------------------------
+
+The only documentation for these demo programs is their source code.
+However, most of them do something interesting if you simply run them.
+
+In the previous Debian version, I've installed all the demo programs with
+the prefix "ggi-", so that you can find them all using tab-completion.
+
+Have fun!
+
+Charles Briscoe-Smith <cpbs@debian.org>
+
+--
+
+In this Debian version i've installed the demos as Charles described above.
+
+The examples section includes source code to the demos and some of the utils.
+To build them, add '-lggi -lggimisc' to the linker command line.
+
+You can find even more demos, util- and test-programs in the corresponding
+source package.
+
+Have fun!
+
+Martin Albert <MArtinAlbert@gmx.net>
--- libggi-2.2.2.orig/debian/libggi-samples.install
+++ libggi-2.2.2/debian/libggi-samples.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/bin/* usr/bin
+
--- libggi-2.2.2.orig/debian/docs
+++ libggi-2.2.2/debian/docs
@@ -0,0 +1,5 @@
+FAQ
+NEWS
+README
+doc/env.txt doc/targets.txt
+debian/tmp/README.tile
--- libggi-2.2.2.orig/debian/libggi-samples.docs
+++ libggi-2.2.2/debian/libggi-samples.docs
@@ -0,0 +1 @@
+debian/README.samples
--- libggi-2.2.2.orig/debian/changelog
+++ libggi-2.2.2/debian/changelog
@@ -0,0 +1,687 @@
+libggi (1:2.2.2-5) unstable; urgency=low
+
+  * Change arch line of correct package.
+
+ -- Bradley Smith <bradsmith@debian.org>  Mon, 17 Aug 2009 20:33:13 +0100
+
+libggi (1:2.2.2-4) unstable; urgency=low
+
+  * Restrict arches for libggi-target-vcsa. Closes: #541103.
+  * Update Standards-Version to 3.8.3.
+  * Update debhelper version to 7.
+  * Add debian/README.source.
+  * Update config.{sub,guess} on configure.
+
+ -- Bradley Smith <bradsmith@debian.org>  Mon, 17 Aug 2009 19:25:58 +0100
+
+libggi (1:2.2.2-3) unstable; urgency=low
+
+  * Change maintainer email.
+  * Add missing depends in -dev package. Closes: #504875.
+
+ -- Bradley Smith <bradsmith@debian.org>  Sat, 08 Nov 2008 15:40:45 +0000
+
+libggi (1:2.2.2-2) unstable; urgency=low
+
+  * Remove obsolete dependency on devfsd.
+  * Disable glide target. Closes: #487142.
+
+ -- Bradley Smith <brad@brad-smith.co.uk>  Sat, 12 Jul 2008 18:39:09 +0100
+
+libggi (1:2.2.2-1) unstable; urgency=low
+
+  * New Maintainer. Closes: #460145.
+  * Move changes to source tree into 00_misc.diff.
+  * Update debian/rules.
+  * Build libggi-target-svgalib on amd64.
+  * 03_fix_as-needed.diff - Fix --as-needed in ltmain.sh. Closes: #396026
+  * Fix postinst script to not ask user quiestions manually. Closes: #396021
+  * Replace obsolete dependencies (x-dev, xutils).
+  * Add lintian override for menu-command-not-in-package (/bin/sh)
+  * Bump Standards Version to 3.8.0. (No changes needed).
+  * Changes thanks to Barry deFreese <bddebian@comcast.net>
+   - New upstream release.
+   - Add armel arch on fbdev binary package. Closes: #469968.
+   - Fix typo in package description. Closes: #399158.
+   - Fix watch file. Closes: #449712.
+   - Add quilt patch system.
+    + 01_manpages.diff - Fix whatis entrys and unknown commands.
+    + 02_glide.diff - Fix failures in glide files.
+   - Use glide2-dev not glide3-dev.
+   - Add copyright holders.
+   - Move Homepage from package descriptions to source header.
+   - Bump debhelper build dep to 5.
+   - Move DH_COMPAT from rules to compat and set to 5.
+
+ -- Bradley Smith <brad@brad-smith.co.uk>  Sun, 08 Jun 2008 21:24:43 +0100
+
+libggi (1:2.2.1-5) unstable; urgency=medium
+
+  * configure will die if the aa target is not built.
+    Closes: #390000.
+  * Fixed lintian messages:
+    - package-has-a-duplicate-build-relation libx11-dev, libx11-dev
+    - manpage-has-errors-from-man usr/share/man/man3/ggiJoinInputs.3.gz
+    - manpage-has-errors-from-man usr/share/man/man3/ggidev-add_3.3.gz
+    - syntax-error-in-debian-changelog line 148
+  * programs/check/speed.c: replace CLK_TCK with CLOCKS_PER_SEC.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org>  Tue, 17 Oct 2006 15:35:53 +1000
+
+libggi (1:2.2.1-4) unstable; urgency=low
+
+  * Fixed FTBFS on powerpc. Closes: #380163.
+    Patch by Christoph Egger <Christoph_Egger@gmx.de>.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org>  Fri, 28 Jul 2006 12:39:19 +1000
+
+libggi (1:2.2.1-3) unstable; urgency=low
+
+  * Changed a dependency of libggi2-dev from libgii-dev to libgii1-dev
+    (>= 1:1.0.1-2).
+  * Fixed "FTBFS on GNU/kFreeBSD". Closes: #380066.
+    Patch by Petr Salinger <Petr.Salinger@seznam.cz>.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org>  Thu, 27 Jul 2006 21:32:13 +1000
+
+libggi (1:2.2.1-2) unstable; urgency=low
+
+  * New maintainers. Closes: #378920.
+  * Installed libggi.so.2.0.2. Closes: #380035.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org>  Thu, 27 Jul 2006 12:41:33 +1000
+
+libggi (1:2.2.1-1) unstable; urgency=low
+
+  * QA upload.
+  * Set QA as maitainer.
+  * New upstream release. Closes: #284211.
+  * Set Standards-Version to 3.7.2.
+  * Added homepage to description.
+  * Added watch file.
+  * ACK NMUs. Closes: #370238, #366726, #320881, #322856, #297147.
+  * Removed libdirectfb-dev as build dependency. Closes: #369653.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org>  Tue, 25 Jul 2006 13:12:44 +1000
+
+libggi (1:2.0.5-1.2) unstable; urgency=high
+
+  * Non-maintainer upload.
+  * Replace build-dependency on xlibs-static-pic with build-dependencies on
+    the right modular -dev packages. (There are no _pic libraries anymore;
+    they have been replaced by proper shared libraries.) Fixes FTBFS.
+    (Closes: #366726)
+
+ -- Steinar H. Gunderson <sesse@debian.org>  Sun,  4 Jun 2006 11:21:24 +0200
+
+libggi (1:2.0.5-1.1) unstable; urgency=low
+
+  * Build-depends on libaa1-dev instead of aalib1-dev (closes: bug#320881, 
+    bug#322856).
+  * gcc-4.0 fixes by Andreas Jochen (closes: bug#297147).
+  * Libtool update.
+
+ -- Aurelien Jarno <aurel32@debian.org>  Tue,  6 Sep 2005 14:39:25 +0200
+
+libggi (1:2.0.5-1) unstable; urgency=low
+
+  * New upstream source: X-target, focus, doc, build, libtool.
+  * Debian/control: Remove superfluous Build-Depends libxt-dev.
+    Add Build-Depends xutils: AC_PATH_X requires xmkmf.
+    Build-Depends on libgii-0.8.5 for interworking of new focus code.
+  * Move maintainers manpages for demo programs from section 6 to 1.
+
+ -- Martin Albert <ma@debian.org>  Fri,  2 Jul 2004 00:00:03 +0200
+
+libggi (1:2.0.4-3) unstable; urgency=low
+
+  * Patch from ggi-project.org: X-target: fix for focus stealing.
+    Receive key events also when mouse is not over the window.
+  * Debian/control: Update Build-Depends:
+    For the patch: libgii0-dev (>= 1:0.8.4+cvs.stable.20040218-2).
+    For sarge: libx11-dev, libxt-dev, xlibs-static-pic (closes #240810).
+  * Debian/control: Remove from target-fbdev: Recommends: libdirectfb.
+    Thanks for daring patch to Martin Helas, Munich BSP (closes #240570).
+  * Remove debian/libggi-samples.doc-base: obsolete since upstream dropped
+    monitest docs from the release (closes #236434).
+  * Debian/rules: no longer make xlib6g an alternative dependancy.
+    Edit fbdev.conf to comment out entries pointing to directfb.so.
+
+ -- Martin Albert <ma@debian.org>  Sat,  1 May 2004 19:30:45 +0200
+
+libggi (1:2.0.4-2) unstable; urgency=low
+
+  * Debian/rules: Configure --disable-directfb,
+    hence no /usr/lib/ggi/helper installed to libggi package.
+  * Debian/control: Remove from Build-Depends: groff and linuxdoc-tools,
+    obsolete since upstream dropped monitest docs from the release.
+  * Patch configure.in: Fix with diff a strange construct, that kept
+    configure from finding the X headers (lead to: -I module.c),
+    was done with 2.0.1-rc3 already, slipped in again. Me now learned
+    automake/autoconf and i confidentially pass the fix upstream at last :-)
+
+ -- Martin Albert <ma@debian.org>  Thu,  3 Mar 2004 04:43:52 +0100
+
+libggi (1:2.0.4-1) unstable; urgency=low
+
+  * New update from stable cvs 20040218: gcc 3.3, X target, clipping, 64bit.
+    Improved checkmode and struct check. Manpage fixes (closes: #176577).
+  * Also fixes 'multiline string' errors in default/linear_16/crossblit.c.
+    Thanks to Thomas Poindessous for his patch and to Roland Mas for NMU
+    (closes: #197214).
+  * Thanks James Troup, Petter Reinholdtsen and Luk Claes for their help.
+    This pkg has the original updated build system from cvs.ggi-project,
+    and i hope that this solves the arm build issues (closes: #208288).
+  * Update Standards-Version: 3.6.1.
+    Debian/rules: Build with -g; -O0 if DEB_BUILD_OPTIONS has noopt.
+    All menu strings are quoted.
+  * Debian/rules: Monitest documentation is no longer build with this package,
+    but moves to ggi-doc. Clean rules from everything that dealt with that.
+  * Debian/control: change section of libggi2-dev to libdevel.
+    Add libsvga1-dev to build dependencies for i386.
+  * Aclocal1.5, autoheader2.13, automake1.5, autoconf2.13.
+    Update config.{guess,sub} from autotools-dev-20040105.1.
+  * Apply with diff from CVS default/fbdev/directfb/directfbglobals.c
+    Revision 1.7 (missing in release): ... for directfb-0.9-17.
+  * ... but configure disables directfb-renderer (again).
+    Won't work with libdirectfb > 0.9-17, sigh.
+    Keep the Build-Depends - this will be fixed after sarge release.
+  * Configure without internal DGA support to avoid runtime error.
+
+ -- Martin Albert <ma@debian.org>  Thu, 19 Feb 2004 03:37:39 +0100
+
+libggi (1:2.0.4-0) unstable; urgency=low
+
+  * Unreleased. New upstream: gcc 3.3, X target, clipping, 64bit, cygwin.
+    Improved checkmode and struct check. Manpage fixes (closed: #176577).
+  * Also fixes 'multiline string' errors in default/linear_16/crossblit.c.
+    Thanks to Thomas Poindessous for his patch and to Roland Mas for NMU
+    (closed: #197214).
+  * Thanks James Troup, Petter Reinholdtsen and Luk Claes for their help.
+    NOT Libtoolized using 1.5-7 (doesn't close this 208288 thing).
+    This experimental pkg has the original build system as comes from
+    ggi-project, so anyone can try ...
+  * Apply with diff from CVS default/fbdev/directfb/directfbglobals.c
+    Revision 1.7 (missing in release): ... for directfb-0.9-17.
+  * ... but configure disables directfb-renderer (again).
+    Won't work with libdirectfb > 0.9-17, sigh.
+  * Debian/rules: set substvar Cource-Version from $(version).
+    Remove TODO from docs. Monitest docs no longer included.
+
+ -- Martin Albert <ma@debian.org>  Tue, 24 Dec 2003 20:59:42 +0100
+
+libggi (1:2.0.2-1.1) unstable; urgency=low
+
+  * Non-maintainer upload according to the release manager's plan.
+  * Fix multiline strings to allow building with g++ 3.3, patch from
+    Thomas Poindessous <thomas@poindessous.com>,
+    but should not close anything like 197214 (ma).
+
+ -- Roland Mas <lolando@debian.org>  Sun, 24 Aug 2003 10:48:49 +0200
+
+libggi (1:2.0.2-1) unstable; urgency=medium
+
+  * New upstream source: Release 2.0.2, enhanced X multithreading.
+  * Apply with diff from CVS default/fbdev/directfb/directfbglobals.c
+    Revision 1.7: ... for directfb-0.9-15.
+  * Control: Description: Introductory part shortened to one line,
+    move up 'install a target' for libggi2 to be readable on small screens
+    (thanks Steve Greenland), add recommendation of libdirectfb to fbdev.
+    Build-Depends: add libdirectfb-dev, update libgii0 to >> 1:0.8.2.
+    Libggi-target-x depends: libgii0-target-x (shouldn't i do one big ggi?).
+    Add Recommends: libdirectfb to fbdev, Enhances: libggi2 to targets.
+    Libggi-samples recommend target and suggest ggi-doc, also in Desc.
+    Updated to Standards: 3.5.8.
+  * Rules: Configure with-directfb=`directfb-config --version`/gfxdrivers.
+
+ -- Martin Albert <ma@debian.org>  Wed,  8 Jan 2003 13:44:05 +0100
+
+libggi (1:2.0.1+rc5-1) unstable; urgency=low
+
+  * New upstream source: upcoming 2.0.2 releases fifth test candidate.
+    Build system knows xlib-pics; libdirectfb, X, ltmain.sh.
+  * Control: Change description to 'many operating systems'.
+  * Rules: Use more files for dh_installdocs. Configure libdirectfb.
+  * Maintainer Scripts: target fbdev-postinst: if DEBIAN_FRONTEND=
+    noninteractive, create devices silently.
+
+ -- Martin Albert <ma@debian.org>  Tue, 10 Dec 2002 05:11:45 +0100
+
+libggi (1:2.0.1+rc4-1) unstable; urgency=low
+
+  * New upstream source: upcoming 2.0.2 releases fourth test candidate.
+    Man pages ggiteleserver.1, cube3d.1 and monitest.1.
+  * Control: Add Replaces to libggi and target-fbdev to aid in the move
+    of the hw-dependant modules to the fbdev package (closes: #171657).
+    Add libggi-target-lcd823 for powerpc (experimental).
+  * Rules: more clean up of binary-arch target.
+    Install new README.X and README.mach64 in doc,
+    target-fbdev/doc and target-x/doc can thus no longer be links.
+    Install target-lcd823.  Install demo and flying_ggis binaries.
+  * Debian/ggiteleserver.1 and monitest.1 removed, add ggi-demos.6.
+  * Debian/lintian.overrides now obsolete and removed.
+
+ -- Martin Albert <ma@debian.org>  Tue, 04 Dec 2002 12:54:06 +0100
+
+libggi (1:2.0.1+rc3-2) unstable; urgency=low
+
+  * Let x-helpers and dga-target build against Xxf86*_pic libs
+    by patching configure and Makefile.in (closes: #171510).
+    Reverted ASAP by final upstream release.
+  * Build-Depends: add xlibs-pic.
+
+ -- Martin Albert <ma@debian.org>  Tue, 03 Dec 2002 11:04:10 +0100
+
+libggi (1:2.0.1+rc3-1) unstable; urgency=low
+
+  * New upstream source: upcoming 2.0.2 releases third test candidate.
+    Display-fbdev includes DirectFB renderer now.
+    Display-x and -xlib unified to display-x.
+    All manpages no longer use 'ggi' after section.
+  * ltmain.sh updated from Debian libtool 1.4.3-2 to be able to build
+    without installed libggi.
+  * Configure: diff patches a strange construction away, that kept
+    configure from finding the X headers (lead to: -I module.c).
+  * Debian/ggiteleserver.1: Add reference to (new) ggiteleserver.7.
+  * Add ggiteleserver.7 to samples package.
+    Move ggi-monitest man page from section 6 to 1.
+    Remove display-xlib manpage from target-x.
+  * Control: Standards Version 3.5.6.
+    Build-Depends no longer on obsoleted sgml-tools.
+    Changed description of target-x: display-xlib does no longer exist.
+    Fix spelling errors in description of binary and samples packages,
+    thanks to Matt Zimmerman <mdz@debian.org> (closes: #124959, #125625).
+  * Rules: remove cruft and clean up configure, install, ea.
+  * Debian/lintian-overrides: removed now that lintian knows modules.
+    Added for samples-package: manpage-has-wrong-extension.
+  * Debian/README.potato, debian/README: obsolete, removed.
+  * Keep obsoleted postinst, prerm around for woody/stable builds.
+  * Acknowledge historical (no longer relevant yada-) patch in bts,
+    thanks to Josip Rodin after long last (closes: #45365).
+
+ -- Martin Albert <ma@debian.org>  Sat, 01 Dec 2002 23:33:34 +0100
+
+libggi (1:2.0.1-2) unstable; urgency=medium
+
+  * display/lcd823/mode.c:GGI_lcd823_checkmode uses undefined symbol 'tm',
+    patched to be 'mode' and sent patch upstream.
+    Showed up on powerpc as this is the only arch to build this target.
+  * Conflict only with display-targets from known incompatible sources.
+    Uses substvar Cource-Version in place of Source-Version.
+
+ -- Martin Albert <ma@debian.org>  Wed, 12 Sep 2001 15:02:35 +0200
+
+libggi (1:2.0.1-1) unstable; urgency=medium
+
+  * New upstream source (closes: #44147).
+  * Libggimisc is now a package of its own (upstream). Check your Deps.
+    Recommends: libggimisc2(-dev) have been added to libggi2 and libggi2-dev.
+  * Maintainer address in changelog and control changed to d.o.
+  * New Build-Depends: libgii (>= 1:0.8.1) and libglide2-dev.
+    Removed xlib6g (see README.potato for building on a potato system).
+  * Control: Removed interface stability warning as GGI claims it stable.
+    libggi2: Use Source-Version subst var to Conflict targets (closes: #96433).
+    target-x: hack Depends: to xlibs | xlib6g (for potato).
+    target-glide: Add fixed Depends: libglide2 as it cannot be found by dpkg.
+  * Clean debian and lintian.overrides from doc-base- and menu-samples.
+  * Add new targets glide.so, ipc.so, mga_g400.so to lintian.overrides.
+  * Removed private dh_* scripts from debian/ as debhelper 3.0.39 seems
+    to maintain DH_COMPAT=2 wildcard expansion compatible to 3.0.0.
+  * Drop Changelog.1999 from docs, add TODO to docs.
+  * Fix typo in ggi-monitest.6.
+  * Move .la files to libggi2-dev. Add to control file to
+    make libggi2-dev conflict and replace libggi2 (<< 1:2.0.0-1).
+  * Target-svgalib no longer built on alpha (everybody happy with that?).
+    Target-glide now built on i386, glide-dev needs --with-extra-includes.
+    Target-fbdev depends on makedev | devfsd to avoid makedev for devfs
+    (closes: #93071, #56563, #96306).
+  * Install new target specific man-pages to target packages.
+    Use debian/package.manpages files for man7.
+  * Install new ipc display target to libgii package.
+    Add description to control file, package libggi2.
+  * Added menu entries for X, DGA and console to Apps/Tools
+    (closes: #98199, #98200).
+
+ -- Martin Albert <ma@debian.org>  Tue, 21 Aug 2001 03:20:01 +0200
+
+libggi (1:1.99.2.0b3.1-2.1) unstable; urgency=low
+
+  * Make Build-Dependency on svgalib-dev i386 only. (Closes: Bug#93071)
+
+ -- Anthony Towns <aj@azure.humbug.org.au>  Tue, 24 Apr 2001 09:41:34 +1000
+
+libggi (1:1.99.2.0b3.1-2) unstable; urgency=medium
+
+  * #include <time.h> added to programs/check/speed.c.
+    Patch will be sent to upstream.
+  * Build-Depends: added groff, fixed xlibs-dev (closes: #90998).
+  * Removed erronous shell script from rules.	(closes: #89307).
+  * Fixed dh_installdocs call with -N.
+  * Fixed dh_shlibdeps call with -l.
+  * Samples package monitest provides for menu and doc-base.
+  * Target-fbdev postinst purge: rmdir /etc/ggi/targets when empty.
+  * Target-fbdev asks to create devices only when installed on
+    non-devfs kernels                           (closes: #88069).
+
+ -- Martin Albert <MartinAlbert@gmx.net>  Sun,  1 Apr 2001 01:11:14 +0200
+
+libggi (1:1.99.2.0b3.1-1) unstable; urgency=low
+
+  * New upstream source			(closes: #28702, #49219, #75405).
+  * New maintainer.
+  * Use debhelper				(closes: #80469).
+  * Documentation goes to /usr/share.
+  * Man pages go to /usr/share/man              (closes: #80751).
+  * Configfiles in /etc instead /usr/local/etc  (closes: #57241, #57477).
+  * Uses ncurses5				(closes: #65156).
+  * Target-fbdev depends makedev (>= 2.3.1-24)
+    and runs it correctly in postinst           (closes: #55671).
+  * Removed non-existent Suggests:libggi-doc	(closes: #51000).
+  * Added lintian/overrides/libggi2.
+
+ -- Martin Albert <MartinAlbert@gmx.net>  Sat, 24 Feb 2001 16:17:18 +0100
+
+libggi (1:1.99.2.0b2.1-2) unstable frozen; urgency=low
+
+  * Make libggi-target-svgalib build only on i386 and alpha.  Fixes an
+    important bug (Closes:#61177).
+  * Don't "Build-Depend" on "svgalibg1 | svgalib-dummyg1".
+
+ -- Charles Briscoe-Smith <cpbs@debian.org>  Thu,  4 May 2000 01:19:46 +0100
+
+libggi (1:1.99.2.0b2.1-1.1) unstable; urgency=low
+
+  * Non-maintainer upload
+  * Recompile for potato (Closes: #53861)
+
+ -- Joseph Carter <knghtbrd@debian.org>  Sun,  2 Jan 2000 00:28:48 -0800
+
+libggi (1:1.99.2.0b2.1-1) unstable; urgency=low
+
+  * New upstream source.  We're now using beta release, rather then
+    daily snapshots, hence the very different version number.
+  * Conflict more aggressively with old libggi1 package, and with old
+    versions of targets.  Targets now depend on the exact version of
+    libggi2 they were compiled with.
+  * Shlib dependencies now versioned.
+  * Updated yada.
+
+ -- Charles Briscoe-Smith <cpbs@debian.org>  Wed, 19 May 1999 03:47:46 +0100
+
+libggi (990413-3) unstable; urgency=low
+
+  * Update yada from rcs; fixes the problem with dangling "undocumented"
+    man page symlinks.
+  * Install cube3d.6 as ggi-cube3d.6, to match binary.
+
+ -- Charles Briscoe-Smith <cpbs@debian.org>  Thu, 22 Apr 1999 12:15:06 +0100
+
+libggi (990413-2) unstable; urgency=low
+
+  * Patch up to 990420; the changes are very small so I won't bother to
+    upload new upstream source for them.
+  * Install lin_vtsw.so in libggi2:/usr/lib/ggi/display.
+  * Update yada from RCS.
+  * Minor misc updates to debian/packages.
+
+ -- Charles Briscoe-Smith <cpbs@debian.org>  Tue, 20 Apr 1999 21:13:09 +0100
+
+libggi (990413-1) unstable; urgency=low
+
+  * New upstream source.
+  * Use automake's DESTDIR to install into debian/hold.
+  * New demo: ggi-cube3d.
+  * Removed demo: ggi-shmdemo.
+  * Add some build dependencies.
+  * Update libggi2's description; libggi is in beta.
+  * Update yada from RCS.
+  * Work around bash bug 35979.
+
+ -- Charles Briscoe-Smith <cpbs@debian.org>  Thu, 15 Apr 1999 00:39:11 +0100
+
+libggi (990329-1) unstable; urgency=low
+
+  * New upstream source.
+  * Include <linux/fb.h> from Linux 2.2.4, so that the fbdev target can
+    compile again; reenable building of fbdev target package.
+  * Persuade fbdev.conf to be installed in the right place.
+
+ -- Charles Briscoe-Smith <cpbs@debian.org>  Tue, 30 Mar 1999 12:40:45 +0100
+
+libggi (990311-1) unstable; urgency=low
+
+  * New upstream source.
+  * Disable fbdev target and its package because it's unstable and won't
+    build at the moment.
+  * Update YADA from RCS.
+
+ -- Charles Briscoe-Smith <cpbs@debian.org>  Fri, 12 Mar 1999 03:58:06 +0000
+
+libggi (990305-1) unstable; urgency=low
+
+  * New upstream source.
+  * Split upstream tarball into 11 separate smaller tarballs using a
+    script now included in the libgii source package.
+  * Repackaged using YADA.
+  * Make libggi2-dev depend on libgii-dev. (Fixes bug #33895)
+  * Don't try to install xf86dga.so unless it was actually built.
+    (Fixes bug #33226)
+  * Don't use shlibs.*.null any more; just tolerate lots of ugly warnings
+    from dpkg-shlibdeps instead.  libc6 was hardcoded into shlibs.*.null.
+    (Fixes bug #33053)
+  * As far as I can tell, bug #32153 is not present in this version.
+
+ -- Charles Briscoe-Smith <cpbs@debian.org>  Sun,  7 Mar 1999 17:36:42 +0000
+
+ggi-devel (981216-1) unstable; urgency=low
+
+  * New upstream source.
+  * Lots of repackaging to cope with the new upstream source now using
+    autoconf/automake/libtool throughout, and having bumped the major
+    version number of libggi.
+  * Dropped most of my patches; they have now been incorporated
+    upstream.  Those which hadn't are now obsolete because of the new
+    autoconf/automake configuration system.
+  * Merged libgg0{,-dev} into libgii0{,-dev}, because the two are now
+    quite difficult to separate.
+  * Describe xwin inputlib in libgii0's description.
+  * Temporarily drop libggi-samples, in the interests of timeliness --
+    I'll get the build rules for libggi-samples working again so it will
+    be included in the next release.
+  * Recompile with newer libc6 to get rid of versioning on the libc6
+    dependency.
+  * Add libggi2 explicitly to the Depends: line of each target, since
+    they are no longer linked against libggi.
+
+ -- Charles Briscoe-Smith <cpbs@debian.org>  Fri, 25 Dec 1998 01:29:09 +0000
+
+ggi-devel (981202-1) unstable; urgency=low
+
+  * New upstream source.
+
+  * Folded in changes from 981030-3:
+    + Added a big fat warning to several binary packages' extended
+      descriptions to make it clear that LibGGI and friends are
+      experimental, under active development, and future versions are
+      liable to break binary compatibility with no warning.
+    + Found out what a "spaceorb" is and describe it slightly better in
+      the libgii0 package description.
+
+    + libggi-target-emu and libggi-target-monotext no longer provide
+      libggi-target, because they are not sufficient to produce output on
+      their own.  Instead, then are suggested by libggi1.
+    + libggi-target-monotext now recommends libggi-target-terminfo.
+
+    + libggi-target-fbdev now depends on makedev (>= 2.3.1-5), and uses
+      this to create /dev/fb? device files at configure time if they don't
+      already exist.
+
+  * Try to make it so that libggimisc.conf contains the right path in its
+    ".root" line.
+
+ -- Charles Briscoe-Smith <cpbs@debian.org>  Wed,  2 Dec 1998 21:35:24 +0000
+
+ggi-devel (981112-1) unstable; urgency=low
+
+  * New upstream source.
+  * Folded in changes from version 981030-2 (except for the few backed-out
+    changes which are appropriate in the unstable branch).
+
+  * Build and install svgalib wrapper; it now has reasonable copyright
+    licence notices.  libvgagl is no longer included, so depend on
+    svgalibg1 to get it, while diverting svgalibg1's libvga out of the
+    way and replacing it with our own.
+  * Demos: don't install ggi-findleaks, do install ggi-testpattern,
+    install ggi-monitest and its documentation.
+
+  * When building, check whether libg{g,ii,gi} is installed and, if so,
+    bomb out.  Hopefully I won't put out any more versions which need
+    themselves installed before they'll build.
+  * Fix some errors and warnings given by Lintian.
+
+ -- Charles Briscoe-Smith <cpbs@debian.org>  Sat, 14 Nov 1998 23:17:07 +0000
+
+ggi-devel (981102-1) frozen unstable; urgency=low
+
+  * Built and released before 981030-2, so doesn't contain 981030-2's
+    changes.
+  * New upstream source.
+  * Rebuild with new libncurses4.
+
+ -- Charles Briscoe-Smith <cpbs@debian.org>  Mon,  2 Nov 1998 19:03:25 +0000
+
+ggi-devel (981030-2) frozen; urgency=HIGH
+
+  * Released out-of-sequence, after 981102-1 above, and folded into this
+    unstable branch afterwards.
+
+  * Oops.  I seem to have taken my brain off the hook and, in my last
+    release, tried to introduce unnecessary new code into the frozen
+    distribution (while introducing necessary new code).  Therefore:
+
+    + Backed out the following changes:
+      - Build & install a couple more demos whose licences are now fixed
+      - New LibGGI target: libggi-target-vcsa
+
+    + Did not back out the following changes:
+      - New upstream source (because it fixed licensing problems)
+      - Remove svgalib wrapper from orig.tar.gz and remove corresponding
+        binary package (because it still had licensing problems)
+      - New packages libg{g,ii}0{,-dev} (because they are now needed
+        by libggi)
+      - Various other minor changes (because they are needed to cope
+        with upstream changes)
+
+    This release needs to go into "slink", because it fixes several
+    licensing problems.  Urgency=HIGH because of this.
+
+  * Removed ggi-warp's default image (which looks like it was taken
+    from the movie "The Fifth Element"), and replaced it with a less
+    legally problematic Linux-related image by David Christiansen (first
+    converting the new image to the same file format and dimensions as
+    the removed image).
+
+  * texttest has been renamed upstream to textdemo; adjust
+    libggi-samples's copyright file to say so.  libggi is now pure LGPL;
+    therefore, adjust libggi1's copyright file to say so.
+
+  * Changed the sections of the *-dev packages to from "libs" to "devel",
+    to match where they're likely to end up in the archive.
+  * Made the *-dev packages architecture "any" rather than "all", so that
+    they don't get out of sync with their dependencies on non-primary
+    architectures.
+
+  * Built against up-to-date versions of libc6, aalib, libgpm, slang,
+    and libncurses.
+
+ -- Charles Briscoe-Smith <cpbs@debian.org>  Fri,  6 Nov 1998 00:11:59 +0000
+
+ggi-devel (981030-1) frozen unstable; urgency=low
+
+  * New upstream source, which fixes a few licensing problems.
+  * Chop the svgalib wrapper out of the upstream tarball since it doesn't
+    have proper copyright and licence notices.  Notified the upstream
+    developers -- they have already fixed several licensing problems
+    and are working on fixing this one.
+  * Disable generation of the svgalib wrapper binary package until
+    upstream licensing problems have been sorted out.
+
+  * Build LibGII, the General Input Interface, and LibGG (?), which are
+    now required by LibGGI, and install them in new binary packages.
+
+  * Build & install a couple more demos whose licences are now fixed.
+  * New LibGGI target: libggi-target-vcsa.
+
+  * Various other minor changes to packaging scripts to cope with upstream
+    changes: install a bunch of new man pages correctly, and include a
+    copy of joystick.h from a dev kernel in the source so that libgii
+    compiles correctly.
+
+ -- Charles Briscoe-Smith <cpbs@debian.org>  Sat, 31 Oct 1998 17:12:40 +0000
+
+ggi-devel (981012-3) frozen unstable; urgency=low
+
+  * Symlink in /usr/doc/libggi-doc should be to libggi1, not libgg11.
+    (Fixes bug 28505)
+  * Install all the READMEs and man pages I could find.
+  * Install demo programs in new binary package libggi-samples.
+
+ -- Charles Briscoe-Smith <cpbs@debian.org>  Mon, 26 Oct 1998 03:08:30 +0000
+
+ggi-devel (981012-2) frozen unstable; urgency=low
+
+  * Don't attempt to build the glide target; don't produce a binary
+    package for it.  (Debian no longer includes libglide2.)
+
+ -- Charles Briscoe-Smith <cpbs@debian.org>  Thu, 22 Oct 1998 22:42:15 +0100
+
+ggi-devel (981012-1) unstable; urgency=low
+
+  * New upstream source.  Switched to the devel tree in order to get as
+    close as we can to the behaviour of the next release; this should
+    make porting easier.
+  * Makefile changes to implement Debian policy (including several
+    discovered by Lintian).
+  * Several new targets, some with their own new binary packages.
+  * Split out docs into their own package.
+  * Bring sections in packages into line with the FTP archive.
+  * Compile and ship the svgalib wrapper in its own binary package.
+
+ -- Charles Briscoe-Smith <cpbs@debian.org>  Wed, 14 Oct 1998 14:00:07 +0100
+
+ggi-stable (980901-1) unstable; urgency=low
+
+  * New upstream source.
+  * HTML built using upstream makefiles.
+  * New targets: sub goes into the main libggi1 package, monotext gets
+    its own package.
+  * New version of debian/rules.
+
+ -- Charles Briscoe-Smith <cpbs@debian.org>  Mon, 14 Sep 1998 01:41:27 +0100
+
+ggi-stable (980702-1) unstable; urgency=low
+
+  * New upstream source.
+  * Unreleased.
+
+ -- Charles Briscoe-Smith <cpbs@debian.org>  Fri,  3 Jul 1998 01:00:58 +0100
+
+ggi-stable (980619-2) unstable; urgency=low
+
+  * Install documentation in HTML and original SGML form, as well
+    as ASCII.
+  * Singularise "target" in the names of the libggi-targets-* packages.
+    Hopefully the first versions haven't been installed into the archive
+    yet...
+
+ -- Charles Briscoe-Smith <cpbs@debian.org>  Sun, 21 Jun 1998 12:10:05 +0100
+
+ggi-stable (980619-1) unstable; urgency=low
+
+  * First Debian version.
+
+ -- Charles Briscoe-Smith <cpbs@debian.org>  Fri, 19 Jun 1998 22:42:58 +0100
+
+Local variables:
+mode: debian-changelog
+End:
--- libggi-2.2.2.orig/debian/libggi-samples.manpages
+++ libggi-2.2.2/debian/libggi-samples.manpages
@@ -0,0 +1,6 @@
+debian/tmp/usr/share/man/man1/ggiteleserver.1
+debian/tmp/usr/share/man/man1/ggi-cube3d.1
+debian/tmp/usr/share/man/man1/ggi-monitest.1
+debian/ggi-demos.1
+debian/ggi-demo.1
+debian/ggi-flying_ggis.1
--- libggi-2.2.2.orig/debian/rules
+++ libggi-2.2.2/debian/rules
@@ -0,0 +1,98 @@
+#!/usr/bin/make -f
+
+include /usr/share/quilt/quilt.make
+
+DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+INSTDIR := $(CURDIR)/debian/tmp
+
+CFLAGS += -g -Wall
+CXXFLAGS += -g -Wall
+LDFLAGS = -Wl,--as-needed
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+	CFLAGS += -O0
+	CXXFLAGS += -O0
+else
+	CFLAGS += -O2
+	CXXFLAGS += -O2
+endif
+
+configure: patch configure-stamp
+configure-stamp:
+	dh_testdir
+	cp /usr/share/misc/config.sub .
+	cp /usr/share/misc/config.guess .
+	CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" \
+		./configure \
+		--disable-internal-xf86dga \
+		--disable-directfb \
+		--disable-glide \
+		--prefix=/usr --sysconfdir=/etc		\
+		--mandir=\$${prefix}/share/man		\
+		--build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
+	touch "$@"
+
+build: build-stamp
+build-stamp: configure
+	dh_testdir
+	$(MAKE)
+	touch "$@"
+
+clean: unpatch
+	dh_testdir
+	rm -f build-stamp configure-stamp
+	[ ! -f Makefile ] || $(MAKE) -i distclean
+	find . \( -name Makefile -o -name .libs \) -print0 | xargs -0rt -n1 rm -rf
+	rm -f config.sub config.guess
+	dh_clean
+
+install: build
+	dh_testdir
+	dh_testroot
+	dh_prep
+	dh_installdirs
+	$(MAKE) prefix=$(INSTDIR)/usr sysconfdir=$(INSTDIR)/etc		\
+		mandir=\$${prefix}/share/man install
+	cp display/tile/README $(INSTDIR)/README.tile
+	cp display/palemu/README $(INSTDIR)/README.palemu
+	cp display/trueemu/README $(INSTDIR)/README.trueemu
+	cp display/monotext/README $(INSTDIR)/README.monotext
+	cp display/X/README $(INSTDIR)/README.X
+	cp default/fbdev/ati/mach64/README $(INSTDIR)/README.mach64
+	mv $(CURDIR)/debian/tmp/usr/bin/cube3d \
+		$(CURDIR)/debian/tmp/usr/bin/ggi-cube3d
+	mv $(CURDIR)/debian/tmp/usr/bin/monitest \
+		$(CURDIR)/debian/tmp/usr/bin/ggi-monitest
+	mv $(CURDIR)/debian/tmp/usr/share/man/man1/cube3d.1 \
+		$(CURDIR)/debian/tmp/usr/share/man/man1/ggi-cube3d.1
+	mv $(CURDIR)/debian/tmp/usr/share/man/man1/monitest.1 \
+		$(CURDIR)/debian/tmp/usr/share/man/man1/ggi-monitest.1
+	mkdir -p debian/libggi-samples/usr/share/lintian/overrides/
+	cp -a debian/libggi-samples.lintian-overrides \
+	    debian/libggi-samples/usr/share/lintian/overrides/libggi-samples
+
+binary-indep: build install
+
+binary-arch: build install
+	dh_testdir
+	dh_testroot
+	dh_install -s
+	dh_link
+	dh_installexamples
+	dh_installmenu
+	dh_installman
+	dh_installdocs
+	dh_installchangelogs -s ChangeLog
+	dh_strip
+	dh_compress
+	dh_fixperms
+	dh_makeshlibs -s -V
+	dh_installdeb -s
+	dh_shlibdeps -s
+	dh_gencontrol -s
+	dh_md5sums -s
+	dh_builddeb -s
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure
--- libggi-2.2.2.orig/debian/postrm
+++ libggi-2.2.2/debian/postrm
@@ -0,0 +1,26 @@
+#! /bin/sh
+
+set -e
+
+case "$1" in
+	purge)
+		# until dpkg gets this right ...
+		# after removal of conffiles, remove dirs when empty
+		rmdir /etc/ggi 2>/dev/null || true
+		;;
+
+	remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+		# update the menu system
+		# if [ -x /usr/bin/update-menus ]; then update-menus; fi
+		;;
+
+	*)
+	        echo "postrm called with unknown argument \`$1'" >&2
+    		exit 0
+		;;
+
+esac
+
+#DEBHELPER#
+
+exit 0
--- libggi-2.2.2.orig/debian/libggi-target-monotext.docs
+++ libggi-2.2.2/debian/libggi-target-monotext.docs
@@ -0,0 +1 @@
+debian/tmp/README.monotext
--- libggi-2.2.2.orig/debian/copyright
+++ libggi-2.2.2/debian/copyright
@@ -0,0 +1,34 @@
+This package was debianized by Martin Albert <MartinAlbert@gmx.net> on
+Wen,  8 Jan 2003 13:44:05 +0100
+
+It was downloaded from <http://www.ggi-project.org/>
+Sometime you may want to try <http://ibiblio.org/pub/ggi/>
+
+Copyright:
+	Copyright (C) 1995-1998 Andreas Beck <becka@ggi-project.org>
+	Copyright (C) 1998-2000 Marcus Sundberg <marcus@ggi-project.org>
+	Copyright (C) 1997 Jason McMullan <jmcc@ggi-project.org>
+	Copyright (C) 1997 Steffen Seeger <seeger@ggi-project.org>
+	Copyright (C) 1998 Andrew Apted <andrew@ggi-project.org>
+	Copyright (C) 2001-2002 Brian S. Julin <bri@tull.umassp.edu>
+	Copyright (C) 1998 Steve Cheng <steve@ggi-project.org>
+	Copyright (C) 2001 Stefan Seefeld <stefan@berlin-consortium.org>
+	Copyright (C) 2001 Filip Spacek
+	Copyright (C) 2005 Joseph Crayne <oh.hello.joe@gmail.com>
+	Copyright (C) 2000 Alcove - Nicolas Souchu <nsouch@freebsd.org>
+	Copyright (C) 2004 Christoph Egger
+	Copyright (C) 1998 MenTaLguY <mentalg@geocities.com>
+	Copyright (C) 1999-2002 Daniel Mantione <daniel.mantione@freepascal.org>
+	Copyright (C) 1997 Jim Ursetto <murasaki@ggi-project.org>
+
+License:
+
+   Permission is hereby granted, free of charge, to any person obtaining a
+   copy of this software and associated documentation files (the "Software"),
+   to deal in the Software without restriction, including without limitation
+   the rights to use, copy, modify, merge, publish, distribute, sublicense,
+   and/or sell copies of the Software, and to permit persons to whom the
+   Software is furnished to do so, subject to the following conditions:
+
+   The above copyright notice and this permission notice shall be included in
+   all copies or substantial portions of the Software.
--- libggi-2.2.2.orig/debian/libggi-target-svgalib.install
+++ libggi-2.2.2/debian/libggi-target-svgalib.install
@@ -0,0 +1,3 @@
+debian/tmp/usr/lib/ggi/display/vgagl.so usr/lib/ggi/display
+debian/tmp/usr/lib/ggi/display/svgalib.so usr/lib/ggi/display
+
--- libggi-2.2.2.orig/debian/libggi-target-terminfo.install
+++ libggi-2.2.2/debian/libggi-target-terminfo.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/ggi/display/terminfo.so usr/lib/ggi/display
--- libggi-2.2.2.orig/debian/libggi2-dev.install
+++ libggi-2.2.2/debian/libggi2-dev.install
@@ -0,0 +1,7 @@
+debian/tmp/usr/lib/*.so usr/lib
+debian/tmp/usr/lib/*.la usr/lib
+debian/tmp/usr/lib/*.a usr/lib
+debian/tmp/usr/lib/ggi/display/*.la usr/lib/ggi/display
+debian/tmp/usr/lib/ggi/helper/*.la usr/lib/ggi/helper
+debian/tmp/usr/lib/ggi/default/*.la usr/lib/ggi/default
+debian/tmp/usr/include/* usr/include
--- libggi-2.2.2.orig/debian/libggi-target-fbdev.manpages
+++ libggi-2.2.2/debian/libggi-target-fbdev.manpages
@@ -0,0 +1 @@
+debian/tmp/usr/share/man/man7/display-fbdev.7
--- libggi-2.2.2.orig/debian/libggi-target-fbdev.postrm
+++ libggi-2.2.2/debian/libggi-target-fbdev.postrm
@@ -0,0 +1,27 @@
+#! /bin/sh
+
+set -e
+
+case "$1" in
+	purge)
+		# until dpkg gets this right ...
+		# after removal of conffiles, remove dirs when empty
+		rmdir /etc/ggi/targets  2>/dev/null || true
+		rmdir /etc/ggi          2>/dev/null || true
+		;;
+
+	remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+		# update the menu system
+		# if [ -x /usr/bin/update-menus ]; then update-menus; fi
+		;;
+
+	*)
+		echo "postrm called with unknown argument \`$1'" >&2
+		exit 0
+		;;
+
+esac
+
+#DEBHELPER#
+
+exit 0
--- libggi-2.2.2.orig/debian/libggi-target-monotext.install
+++ libggi-2.2.2/debian/libggi-target-monotext.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/ggi/display/monotext.so usr/lib/ggi/display
--- libggi-2.2.2.orig/debian/libggi-target-directx.manpages
+++ libggi-2.2.2/debian/libggi-target-directx.manpages
@@ -0,0 +1 @@
+debian/tmp/usr/share/man/man7/display-directx.7
--- libggi-2.2.2.orig/debian/libggi-target-emu.docs
+++ libggi-2.2.2/debian/libggi-target-emu.docs
@@ -0,0 +1,2 @@
+debian/tmp/README.palemu
+debian/tmp/README.trueemu
--- libggi-2.2.2.orig/debian/libggi-target-vcsa.manpages
+++ libggi-2.2.2/debian/libggi-target-vcsa.manpages
@@ -0,0 +1 @@
+debian/tmp/usr/share/man/man7/display-vcsa.7
--- libggi-2.2.2.orig/debian/libggi-target-x.manpages
+++ libggi-2.2.2/debian/libggi-target-x.manpages
@@ -0,0 +1 @@
+debian/tmp/usr/share/man/man7/display-x.7
--- libggi-2.2.2.orig/debian/libggi-samples.examples
+++ libggi-2.2.2/debian/libggi-samples.examples
@@ -0,0 +1,3 @@
+programs/demos/*.c
+programs/util/*.c
+
--- libggi-2.2.2.orig/debian/control
+++ libggi-2.2.2/debian/control
@@ -0,0 +1,232 @@
+Source: libggi
+Section: libs
+Priority: optional
+Maintainer: Bradley Smith <bradsmith@debian.org>
+Standards-Version: 3.8.3
+Build-Depends: debhelper (>= 7), quilt, libgii1-dev (>= 1:1.0.1-2), libaa1-dev, libncurses5-dev, libxxf86dga-dev, libxxf86vm-dev, libx11-dev, libxext-dev, libxt-dev, x11proto-core-dev, x11-utils, libsvga1-dev [amd64 i386], autotools-dev
+Homepage: http://www.ggi-project.org/
+
+Package: libggi2
+Architecture: any
+Section: libs
+Priority: optional
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Recommends: libggi-target-x | libggi-target
+Suggests: libggi-target-emu, libggi-target-monotext, libggimisc2
+Conflicts: libggi1, libggi-target-emu (<< 2.0.2), libggi-target-monotext (<< 2.0.2), libggi-target-terminfo (<< 2.0.2), libggi-target-vcsa (<< 2.0.2), libggi-target-fbdev (<< 2.0.2), libggi-target-kgi (<< 2.0.2), libggi-target-glide (<< 2.0.2), libggi-target-aa (<< 2.0.2), libggi-target-x (<< 2.0.2), libggi-target-svgalib (<< 2.0.2), libggi-target-lcd823 (<< 2.0.2)
+Replaces: libggi1, libggi-target-fbdev (<< 1:2.0.1+)
+Description: General Graphics Interface runtime libraries
+ "General Graphics Interface" - a fast, portable graphics environment.
+ .
+ This package contains the shared libraries for libGGI, the lowest-level
+ drawing library provided by GGI.
+ .
+ Since none of the targets included here are, alone, capable of real,
+ physical graphics output, you'll probably need to install at least one
+ of the libggi-target packages to make any kind of sensible use of libGGI.
+ .
+ Included are libGGI drivers for these targets:
+ .
+  "memory" draws into hidden in-memory framebuffers
+  "ipc" draws into attached shared memory framebuffers
+  "multi" draws output onto multiple displays simultaneously
+  "tile" combines several displays into a single logical display
+  "sub" draws output into a sub-window on another target
+  "file" draws into a specially formatted file
+  "tele" draws on a remote teleserver
+
+Package: libggi2-dev
+Architecture: any
+Section: libdevel
+Priority: optional
+Depends: ${shlibs:Depends}, ${misc:Depends}, libggi2 (= ${binary:Version}), libgii1-dev (>= 1:1.0.1-2), libaa1-dev, libslang2-dev, libncurses5-dev, libsvga1-dev [amd64 i386], libxxf86dga-dev, libxxf86vm-dev, libxext-dev, libx11-dev
+Recommends: libc6-dev, libggimisc2-dev
+Provides: libggi-dev
+Conflicts: libggi-dev, libggi2 (<< 1:2)
+Replaces: libggi2 (<< 1:2)
+Description: General Graphics Interface development package
+ "General Graphics Interface" - a fast, portable graphics environment.
+ .
+ This package provides the files necessary to compile programs which
+ use libGGI.
+
+Package: libggi-samples
+Architecture: any
+Section: libs
+Priority: optional
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Recommends: libggi-target-x | libggi-target
+Suggests: ggi-doc
+Description: General Graphics Interface sample programs
+ "General Graphics Interface" - a fast, portable graphics environment.
+ .
+ This package contains some sample programs demonstrating LibGGI's
+ capabilities. Examples are (more inside):
+ .
+  "ggiteleserver" is a remote display server for the tele target.
+  "ggi-cube3d" runs up to 6 GGI programs on a moveable cube's surfaces.
+  "ggi-monitest" creates useful test patterns.
+ .
+ Install libggi-target packages to get visible output from ggi programs.
+ Install ggi-doc to help you making the most out of ggi.
+
+Package: libggi-target-emu
+Architecture: any
+Section: libs
+Priority: optional
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Replaces: libggi1 (<< 981012)
+Enhances: libggi2
+Description: General Graphics Interface colour emulation targets
+ "General Graphics Interface" - a fast, portable graphics environment.
+ .
+ This package contains drivers for two colour-emulation pseudo-targets,
+ enabling libGGI (and therefore any program using libGGI) to display
+ its output in a different colour mode than the underlying physical
+ target supports.  Two targets are included:
+ .
+  "palemu" emulates a palette-based display on a true-colour target
+  "trueemu" emulates a true-colour display using a palette-based target
+
+Package: libggi-target-monotext
+Architecture: any
+Section: libs
+Priority: optional
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Recommends: libggi-target-terminfo
+Enhances: libggi2
+Description: General Graphics Interface plain text target
+ "General Graphics Interface" - a fast, portable graphics environment.
+ .
+ This package contains the driver for the "monotext" target, enabling
+ libGGI (and therefore any program using libGGI) to display its output
+ as ASCII art.  This driver does not use the "aalib" ASCII art library;
+ "monotext" is an independent implementation of the same idea.
+ .
+ The monotext target requires a text-capable target, such as the
+ "terminfo" target, to display its output.
+
+Package: libggi-target-vcsa
+Architecture: i386 ia64 alpha amd64 arm armeb armel avr32 hppa m32r m68k mips mipsel powerpc ppc64 s390 s390x sh3 sh3eb sh4 sh4eb sparc
+Section: libs
+Priority: optional
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Provides: libggi-target
+Enhances: libggi2
+Description: General Graphics Interface direct access console text target
+ "General Graphics Interface" - a fast, portable graphics environment.
+ .
+ This package contains a driver for the "vcsa" target, enabling libGGI
+ (and therefore any program using libGGI) to display text output on the
+ Linux console.  It uses direct access to the "/dev/vcsa*" devices.
+
+Package: libggi-target-aa
+Architecture: any
+Section: libs
+Priority: optional
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Provides: libggi-target
+Enhances: libggi2
+Description: General Graphics Interface ASCII Art display target
+ "General Graphics Interface" - a fast, portable graphics environment.
+ .
+ This package contains the driver for the "aa" target, enabling libGGI
+ (and therefore any program using libGGI) to display its output as
+ ASCII art.
+
+Package: libggi-target-terminfo
+Architecture: any
+Section: libs
+Priority: optional
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Suggests: libggi-target-monotext
+Provides: libggi-target
+Enhances: libggi2
+Description: General Graphics Interface TermInfo display target
+ "General Graphics Interface" - a fast, portable graphics environment.
+ .
+ This package contains the driver for the "terminfo" target, enabling
+ libGGI (and therefore any program using libGGI) to display its
+ output in text mode.  This target does not support graphics; it only
+ makes text modes available.  (However, you can display graphics on a
+ text-mode target using the "monotext" target.)  Output is displayed in
+ a terminal-independent fashion using the "ncurses" library.
+
+Package: libggi-target-fbdev
+Architecture: i386 ia64 alpha amd64 arm armeb armel avr32 hppa m32r m68k mips mipsel powerpc ppc64 s390 s390x sh3 sh3eb sh4 sh4eb sparc
+Section: libs
+Priority: optional
+Depends: ${shlibs:Depends}, ${misc:Depends}, makedev (>= 2.3.1-24)
+Provides: libggi-target
+Conflicts: libggi2 (<< 1:2.0.1+)
+Replaces: libggi2 (<< 1:2.0.1+)
+Enhances: libggi2
+Description: General Graphics Interface direct access framebuffer target
+ "General Graphics Interface" - a fast, portable graphics environment.
+ .
+ This package contains the driver for the "fbdev" target, enabling
+ libGGI (and therefore any program using libGGI) to display its output
+ on the kernel framebuffer device.  The framebuffer device is the usual
+ means of displaying graphics on most non-i386 architectures, and, for
+ i386, kernels from the stable 2.2 kernel series on contain a working i386
+ framebuffer device.
+ .
+ Installation of libdirectfb is recommended for accelerated drawing on
+ supported graphic cards.
+
+Package: libggi-target-x
+Architecture: any
+Section: libs
+Priority: optional
+Depends: ${shlibs:Depends}, ${misc:Depends}, libgii1-target-x (>= 1:1.0.1-2)
+Provides: libggi-target
+Conflicts: libggi-targets-x
+Replaces: libggi-targets-x
+Enhances: libggi2
+Description: General Graphics Interface X display target
+ "General Graphics Interface" - a fast, portable graphics environment.
+ .
+ This package contains two drivers enabling libGGI (and therefore any
+ program using libGGI) to display its output on an X server:
+ .
+  "x" the NEW unified x display draws its raster output into an X window
+  "dga" uses the XFree86 Direct Graphics Access X extension to speed up
+      drawing -- this only works on local displays, and is not available
+      on some architectures
+ .
+  "xlib" does no longer exist!
+
+Package: libggi-target-svgalib
+Architecture: i386 amd64
+Section: libs
+Priority: optional
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Provides: libggi-target
+Conflicts: libggi-targets-svgalib
+Replaces: libggi-targets-svgalib
+Enhances: libggi2
+Description: General Graphics Interface SVGAlib display target
+ "General Graphics Interface" - a fast, portable graphics environment.
+ .
+ This package contains the driver for the "svga" target, enabling libGGI
+ (and therefore any program using libGGI) to display its output on the
+ Linux console via SVGAlib.
+ .
+ Because SVGAlib needs direct access to hardware, any program using
+ it must be run SetUID root.  Programs using libGGI are not normally
+ installed SetUID root, so you will have to arrange that if you want to
+ use this target.
+
+Package: libggi-target-lcd823
+Architecture: powerpc
+Section: libs
+Priority: optional
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Provides: libggi-target
+Enhances: libggi2
+Description: General Graphics Interface lcd823 display target
+ "General Graphics Interface" - a fast, portable graphics environment.
+ .
+ This package contains the driver for the "lcd823" target, enabling libGGI
+ (and therefore any program using libGGI) to display its output using
+ the LCD controller of Motorola MPC823 processors.
--- libggi-2.2.2.orig/debian/libggi2-dev.manpages
+++ libggi-2.2.2/debian/libggi2-dev.manpages
@@ -0,0 +1 @@
+debian/tmp/usr/share/man/man3/*.3
--- libggi-2.2.2.orig/debian/ggi-flying_ggis.1
+++ libggi-2.2.2/debian/ggi-flying_ggis.1
@@ -0,0 +1 @@
+.so man1/ggi-demos.1
--- libggi-2.2.2.orig/debian/ggi-demo.1
+++ libggi-2.2.2/debian/ggi-demo.1
@@ -0,0 +1 @@
+.so man1/ggi-demos.1
--- libggi-2.2.2.orig/debian/libggi2.install
+++ libggi-2.2.2/debian/libggi2.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/*.so.* usr/lib
+debian/tmp/etc/ggi/libggi.conf etc/ggi
--- libggi-2.2.2.orig/debian/libggi-target-aa.manpages
+++ libggi-2.2.2/debian/libggi-target-aa.manpages
@@ -0,0 +1 @@
+debian/tmp/usr/share/man/man7/display-aa.7
--- libggi-2.2.2.orig/debian/libggi-target-fbdev.postinst
+++ libggi-2.2.2/debian/libggi-target-fbdev.postinst
@@ -0,0 +1,23 @@
+#! /bin/sh
+
+set -e
+
+case "$1" in
+    configure|upgrade)
+        echo "Creating fb device nodes"
+	    cd /dev; /sbin/MAKEDEV fb
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 0
+    ;;
+esac
+
+#DEBHELPER#
+
+exit 0
--- libggi-2.2.2.orig/debian/compat
+++ libggi-2.2.2/debian/compat
@@ -0,0 +1 @@
+7
--- libggi-2.2.2.orig/debian/libggi-samples.menu
+++ libggi-2.2.2/debian/libggi-samples.menu
@@ -0,0 +1,17 @@
+?package(libggi-samples):needs="X11" section="Applications/Programming"	\
+  hints="GGI,Monitor"						\
+  title="Monitor Test (X)"					\
+  longtitle="GGI monitor test program running in an X Window"	\
+  command="/usr/bin/ggi-monitest"
+
+?package(libggi-samples):needs="X11" section="Applications/Programming"	\
+  hints="GGI,Monitor"						\
+  title="Monitor Test (DGA) - must be root"			\
+  longtitle="GGI monitor test program running fullscreen on X"	\
+  command="/bin/sh -c \"GGI_DISPLAY=display-dga /usr/bin/ggi-monitest\""
+
+?package(libggi-samples):needs="vc" section="Applications/Programming"	\
+  hints="GGI,Monitor"						\
+  title="Monitor Test (Console)"				\
+  longtitle="GGI monitor test program running in console mode"	\
+  command="/usr/bin/ggi-monitest"
--- libggi-2.2.2.orig/debian/TODO
+++ libggi-2.2.2/debian/TODO
@@ -0,0 +1,7 @@
+  * Install README.glide with target-glide.
+  * Have confirmed depends and recommends for modules.
+  * Rethink Conflicts of libggi2 against older targets using
+    Source-Version in control file. (2.0.1-2 makes an attempt).
+  * Link more of the documentation instead of having copies.
+    dh_link/installdocs (3.0.0) didn't get that right.
+  * About people not recognizing that they need a display target.
--- libggi-2.2.2.orig/debian/libggi-target-fbdev.install
+++ libggi-2.2.2/debian/libggi-target-fbdev.install
@@ -0,0 +1,4 @@
+debian/tmp/usr/lib/ggi/display/fbdev.so usr/lib/ggi/display
+debian/tmp/usr/lib/ggi/display/linvtsw.so usr/lib/ggi/display
+debian/tmp/usr/lib/ggi/default/fbdev/* usr/lib/ggi/default/fbdev/
+debian/tmp/etc/ggi/targets/fbdev.conf etc/ggi
--- libggi-2.2.2.orig/debian/libggi-target-emu.install
+++ libggi-2.2.2/debian/libggi-target-emu.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/ggi/display/*emu.so usr/lib/ggi/display
--- libggi-2.2.2.orig/debian/libggi-target-x.install
+++ libggi-2.2.2/debian/libggi-target-x.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/ggi/display/X.so usr/lib/ggi/display
+debian/tmp/usr/lib/ggi/helper/helper_x_*.so usr/lib/ggi/helper
--- libggi-2.2.2.orig/debian/libggi-target-aa.install
+++ libggi-2.2.2/debian/libggi-target-aa.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/ggi/display/aa.so usr/lib/ggi/display
--- libggi-2.2.2.orig/debian/watch
+++ libggi-2.2.2/debian/watch
@@ -0,0 +1,2 @@
+version=3
+http://www.ggi-project.org/ftp/ggi/v([\d\.]+)/libggi-([\d\.]+).src.tar.gz
--- libggi-2.2.2.orig/debian/libggi-target-emu.manpages
+++ libggi-2.2.2/debian/libggi-target-emu.manpages
@@ -0,0 +1,2 @@
+debian/tmp/usr/share/man/man7/display-palemu.7
+debian/tmp/usr/share/man/man7/display-trueemu.7
--- libggi-2.2.2.orig/debian/libggi-target-svgalib.manpages
+++ libggi-2.2.2/debian/libggi-target-svgalib.manpages
@@ -0,0 +1 @@
+debian/tmp/usr/share/man/man7/display-svgalib.7
--- libggi-2.2.2.orig/debian/libggi-target-vcsa.install
+++ libggi-2.2.2/debian/libggi-target-vcsa.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/ggi/display/vcsa.so usr/lib/ggi/display
--- libggi-2.2.2.orig/debian/libggi-target-monotext.manpages
+++ libggi-2.2.2/debian/libggi-target-monotext.manpages
@@ -0,0 +1 @@
+debian/tmp/usr/share/man/man7/display-monotext.7
--- libggi-2.2.2.orig/debian/libggi-samples.lintian-overrides
+++ libggi-2.2.2/debian/libggi-samples.lintian-overrides
@@ -0,0 +1 @@
+libggi-samples: menu-command-not-in-package /usr/share/menu/libggi-samples:11 /bin/sh
--- libggi-2.2.2.orig/debian/libggi-target-fbdev.docs
+++ libggi-2.2.2/debian/libggi-target-fbdev.docs
@@ -0,0 +1 @@
+debian/tmp/README.mach64
--- libggi-2.2.2.orig/debian/libggi2.docs
+++ libggi-2.2.2/debian/libggi2.docs
@@ -0,0 +1,3 @@
+FAQ
+NEWS
+
--- libggi-2.2.2.orig/debian/README.source
+++ libggi-2.2.2/debian/README.source
@@ -0,0 +1,2 @@
+Please refer to:
+    /usr/share/doc/quilt/README.source
--- libggi-2.2.2.orig/debian/libggi-target-x.docs
+++ libggi-2.2.2/debian/libggi-target-x.docs
@@ -0,0 +1 @@
+debian/tmp/README.X
--- libggi-2.2.2.orig/debian/ggi-demos.1
+++ libggi-2.2.2/debian/ggi-demos.1
@@ -0,0 +1,60 @@
+.\"                                      Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH GGI-DEMOS 1 "December 4, 2002"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh        disable hyphenation
+.\" .hy        enable hyphenation
+.\" .ad l      left justify
+.\" .ad b      justify to both left and right margins
+.\" .nf        disable filling
+.\" .fi        enable filling
+.\" .br        insert line break
+.\" .sp <n>    insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+ggi-demo, ggi-flying_ggis \- GGI demonstration and example programs
+.SH SYNOPSIS
+.B ggi-demo | ggi-flying_ggis
+.SH DESCRIPTION
+This manual page documents briefly the
+.B ggi-demos
+commands.
+This manual page was written for the Debian GNU/Linux distribution
+because the original program does not have a manual page.
+.PP
+The
+.B ggi-demos
+are intended to quickly test
+.B GGI 
+and demonstrate its capabilities.
+.PP
+To leave any of the programs, enter the letter
+.B 'q'
+from the keyboard.
+.SH OPTIONS
+None
+.SH ENVIRONMENT
+Variables that are common to all GGI programs are described in the libggi documentation.
+.SH FILES
+.TP
+.BR /usr/share/doc/libggi-samples/examples
+This directory has all the source code to these programs and many others,
+that have not been included in binary form.
+.TP
+.BR /usr/share/doc/libggi-samples/README.samples
+Build instructions and README for the example programs.
+.SH BUGS
+There is no documentation to these programs other than their source code.
+.SH SEE ALSO
+.BR ggi-monitest (1),
+.BR libggi (7),
+.BR ggiParseMode (3).
+.SH AUTHOR
+This manual page was written by Martin Albert <ma@debian.org>,
+for the Debian GNU/Linux system (but may be used by others).
+.br
+The programs were written by various authors for the GGI project.
--- libggi-2.2.2.orig/debian/patches/series
+++ libggi-2.2.2/debian/patches/series
@@ -0,0 +1,4 @@
+00_misc.diff
+01_manpages.diff
+02_glide.diff
+03_fix_as-needed.diff
--- libggi-2.2.2.orig/debian/patches/02_glide.diff
+++ libggi-2.2.2/debian/patches/02_glide.diff
@@ -0,0 +1,55 @@
+Index: libggi-2.2.2/display/glide/mode.c
+===================================================================
+--- libggi-2.2.2.orig/display/glide/mode.c	2008-04-13 22:43:01.000000000 -0400
++++ libggi-2.2.2/display/glide/mode.c	2008-04-13 22:44:27.000000000 -0400
+@@ -33,6 +33,7 @@
+ 
+ #include "config.h"
+ #include <ggi/internal/ggi-dl.h>
++#include <ggi/internal/ggi_debug.h>
+ #include <ggi/display/glide.h>
+ #include "../../default/color/color.h"
+ 
+@@ -547,9 +548,9 @@
+ 	APP_ASSERT(vis != NULL, "glide: Visual NULL in GGIcheckmode");
+ 
+ 	/* handle AUTO */
+-	_GGIhandle_ggiauto(mode, 640, 480);
++	_GGIhandle_ggiauto(tm, 640, 480);
+ 
+-	mode->graphtype = _GGIhandle_gtauto(mode->graphtype);
++	tm->graphtype = _GGIhandle_gtauto(tm->graphtype);
+ 
+ 	if (tm->frames == GGI_AUTO) {
+ 		tm->frames = 1;
+@@ -581,7 +582,7 @@
+ 	tm->dpp.x = tm->dpp.y = 1;
+ 	if (err) return err;
+ #if 0
+-	err = _ggi_physz_figure_size(mode, GLIDE_PRIV(vis)->physzflags,
++	err = _ggi_physz_figure_size(tm, GLIDE_PRIV(vis)->physzflags,
+ 				&(GLIDE_PRIV(vis)->physz),
+ 				0, 0, mode->visible.x, mode->visible.y);
+ #endif
+Index: libggi-2.2.2/display/glide/visual.c
+===================================================================
+--- libggi-2.2.2.orig/display/glide/visual.c	2008-04-13 22:40:37.000000000 -0400
++++ libggi-2.2.2/display/glide/visual.c	2008-04-13 22:42:49.000000000 -0400
+@@ -34,6 +34,8 @@
+ #include <ggi/display/linvtsw.h>
+ #include <ggi/internal/gg_replace.h>
+ 
++#include <ggi/internal/ggi_debug.h>
++#include <ggi/display/monotext.h>
+ 
+ void _GGI_glide_freedbs(ggi_visual *vis)
+ {
+@@ -219,7 +221,7 @@
+ 		= priv->hwconf.SSTs[currentcard].sstBoard.VoodooConfig.fbRam
+ 		* 1024 * 1024;
+ 	priv->setmodesuccess = 0;
+-	MONOTEXT_PRIV(vis) = priv;
++	LIBGGI_PRIVATE(vis) = priv;
+ 
+ 	/* Has mode management */
+ 	vis->opdisplay->flush = GGI_glide_flush;
--- libggi-2.2.2.orig/debian/patches/00_misc.diff
+++ libggi-2.2.2/debian/patches/00_misc.diff
@@ -0,0 +1,597 @@
+--- libggi-2.2.1.orig/configure
++++ libggi-2.2.1/configure
+@@ -21120,6 +21120,7 @@
+ if test "x$build_aa_target" = "xno"; then
+   echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6
++  (exit 1);
+ else
+   DISPLAYSUBDIRS="$DISPLAYSUBDIRS aa"
+   TESTSUBDIRS="$TESTSUBDIRS display.aa"
+--- libggi-2.2.1.orig/include/ggi/gg-queue.h
++++ libggi-2.2.1/include/ggi/gg-queue.h
+@@ -0,0 +1,551 @@
++/* $Id: gg-queue.h,v 1.3 2005/08/26 15:00:51 cegger Exp $
++***************************************************************************
++
++   LibGG - implementations of singly-linked lists, simple queues, lists,
++           tail queues, and circular queues
++
++***************************************************************************
++*/
++
++/* This code has been imported to GGI from NetBSD-current 2004-10-27 */
++
++/* This code has no GG_STAILQ_* macros since they are just copies
++ * of the GG_SIMPLEQ_* ones.
++ */
++
++/*
++ * Copyright (c) 1991, 1993
++ *	The Regents of the University of California.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in the
++ *    documentation and/or other materials provided with the distribution.
++ * 3. Neither the name of the University nor the names of its contributors
++ *    may be used to endorse or promote products derived from this software
++ *    without specific prior written permission.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ * SUCH DAMAGE.
++ *
++ *	@(#)queue.h	8.5 (Berkeley) 8/20/94
++ */
++
++#ifndef	GG_QUEUE_H_
++#define	GG_QUEUE_H_
++
++/*
++ * This file defines five types of data structures: singly-linked lists,
++ * lists, simple queues, tail queues, and circular queues.
++ *
++ * A singly-linked list is headed by a single forward pointer. The
++ * elements are singly linked for minimum space and pointer manipulation
++ * overhead at the expense of O(n) removal for arbitrary elements. New
++ * elements can be added to the list after an existing element or at the
++ * head of the list.  Elements being removed from the head of the list
++ * should use the explicit macro for this purpose for optimum
++ * efficiency. A singly-linked list may only be traversed in the forward
++ * direction.  Singly-linked lists are ideal for applications with large
++ * datasets and few or no removals or for implementing a LIFO queue.
++ *
++ * A list is headed by a single forward pointer (or an array of forward
++ * pointers for a hash table header). The elements are doubly linked
++ * so that an arbitrary element can be removed without a need to
++ * traverse the list. New elements can be added to the list before
++ * or after an existing element or at the head of the list. A list
++ * may only be traversed in the forward direction.
++ *
++ * A simple queue is headed by a pair of pointers, one the head of the
++ * list and the other to the tail of the list. The elements are singly
++ * linked to save space, so only elements can only be removed from the
++ * head of the list. New elements can be added to the list after
++ * an existing element, at the head of the list, or at the end of the
++ * list. A simple queue may only be traversed in the forward direction.
++ *
++ * A tail queue is headed by a pair of pointers, one to the head of the
++ * list and the other to the tail of the list. The elements are doubly
++ * linked so that an arbitrary element can be removed without a need to
++ * traverse the list. New elements can be added to the list before or
++ * after an existing element, at the head of the list, or at the end of
++ * the list. A tail queue may be traversed in either direction.
++ *
++ * A circle queue is headed by a pair of pointers, one to the head of the
++ * list and the other to the tail of the list. The elements are doubly
++ * linked so that an arbitrary element can be removed without a need to
++ * traverse the list. New elements can be added to the list before or after
++ * an existing element, at the head of the list, or at the end of the list.
++ * A circle queue may be traversed in either direction, but has a more
++ * complex end of list detection.
++ *
++ * For details on the use of these macros, see the queue(3) manual page.
++ */
++
++/*
++ * List definitions.
++ */
++#define	GG_LIST_HEAD(name, type)					\
++struct name {								\
++	struct type *lh_first;	/* first element */			\
++}
++
++#define	GG_LIST_HEAD_INITIALIZER(head)					\
++	{ NULL }
++
++#define	GG_LIST_ENTRY(type)						\
++struct {								\
++	struct type *le_next;	/* next element */			\
++	struct type **le_prev;	/* address of previous next element */	\
++}
++
++/*
++ * List functions.
++ */
++#if defined(QUEUEDEBUG)
++#define	GG_QUEUEDEBUG_LIST_INSERT_HEAD(head, elm, field)		\
++	if ((head)->lh_first &&						\
++	    (head)->lh_first->field.le_prev != &(head)->lh_first)	\
++		panic("LIST_INSERT_HEAD %p %s:%d", (head), __FILE__, __LINE__);
++#define	GG_QUEUEDEBUG_LIST_OP(elm, field)				\
++	if ((elm)->field.le_next &&					\
++	    (elm)->field.le_next->field.le_prev !=			\
++	    &(elm)->field.le_next)					\
++		panic("LIST_* forw %p %s:%d", (elm), __FILE__, __LINE__);\
++	if (*(elm)->field.le_prev != (elm))				\
++		panic("LIST_* back %p %s:%d", (elm), __FILE__, __LINE__);
++#define	GG_QUEUEDEBUG_LIST_POSTREMOVE(elm, field)			\
++	(elm)->field.le_next = (void *)1L;				\
++	(elm)->field.le_prev = (void *)1L;
++#else
++#define	GG_QUEUEDEBUG_LIST_INSERT_HEAD(head, elm, field)
++#define	GG_QUEUEDEBUG_LIST_OP(elm, field)
++#define	GG_QUEUEDEBUG_LIST_POSTREMOVE(elm, field)
++#endif
++
++#define	GG_LIST_INIT(head) do {						\
++	(head)->lh_first = NULL;					\
++} while (/*CONSTCOND*/0)
++
++#define	GG_LIST_INSERT_AFTER(listelm, elm, field) do {			\
++	GG_QUEUEDEBUG_LIST_OP((listelm), field)				\
++	if (((elm)->field.le_next = (listelm)->field.le_next) != NULL)	\
++		(listelm)->field.le_next->field.le_prev =		\
++		    &(elm)->field.le_next;				\
++	(listelm)->field.le_next = (elm);				\
++	(elm)->field.le_prev = &(listelm)->field.le_next;		\
++} while (/*CONSTCOND*/0)
++
++#define	GG_LIST_INSERT_BEFORE(listelm, elm, field) do {			\
++	GG_QUEUEDEBUG_LIST_OP((listelm), field)				\
++	(elm)->field.le_prev = (listelm)->field.le_prev;		\
++	(elm)->field.le_next = (listelm);				\
++	*(listelm)->field.le_prev = (elm);				\
++	(listelm)->field.le_prev = &(elm)->field.le_next;		\
++} while (/*CONSTCOND*/0)
++
++#define	GG_LIST_INSERT_HEAD(head, elm, field) do {			\
++	GG_QUEUEDEBUG_LIST_INSERT_HEAD((head), (elm), field)		\
++	if (((elm)->field.le_next = (head)->lh_first) != NULL)		\
++		(head)->lh_first->field.le_prev = &(elm)->field.le_next;\
++	(head)->lh_first = (elm);					\
++	(elm)->field.le_prev = &(head)->lh_first;			\
++} while (/*CONSTCOND*/0)
++
++#define	GG_LIST_REMOVE(elm, field) do {					\
++	GG_QUEUEDEBUG_LIST_OP((elm), field)				\
++	if ((elm)->field.le_next != NULL)				\
++		(elm)->field.le_next->field.le_prev =			\
++		    (elm)->field.le_prev;				\
++	*(elm)->field.le_prev = (elm)->field.le_next;			\
++	GG_QUEUEDEBUG_LIST_POSTREMOVE((elm), field)			\
++} while (/*CONSTCOND*/0)
++
++#define	GG_LIST_FOREACH(var, head, field)				\
++	for ((var) = ((head)->lh_first);				\
++		(var);							\
++		(var) = ((var)->field.le_next))
++
++/*
++ * List access methods.
++ */
++#define	GG_LIST_EMPTY(head)		((head)->lh_first == NULL)
++#define	GG_LIST_FIRST(head)		((head)->lh_first)
++#define	GG_LIST_NEXT(elm, field)	((elm)->field.le_next)
++
++
++/*
++ * Singly-linked List definitions.
++ */
++#define	GG_SLIST_HEAD(name, type)					\
++struct name {								\
++	struct type *slh_first;	/* first element */			\
++}
++
++#define	GG_SLIST_HEAD_INITIALIZER(head)					\
++	{ NULL }
++
++#define	GG_SLIST_ENTRY(type)						\
++struct {								\
++	struct type *sle_next;	/* next element */			\
++}
++
++/*
++ * Singly-linked List functions.
++ */
++#define	GG_SLIST_INIT(head) do {					\
++	(head)->slh_first = NULL;					\
++} while (/*CONSTCOND*/0)
++
++#define	GG_SLIST_INSERT_AFTER(slistelm, elm, field) do {		\
++	(elm)->field.sle_next = (slistelm)->field.sle_next;		\
++	(slistelm)->field.sle_next = (elm);				\
++} while (/*CONSTCOND*/0)
++
++#define	GG_SLIST_INSERT_HEAD(head, elm, field) do {			\
++	(elm)->field.sle_next = (head)->slh_first;			\
++	(head)->slh_first = (elm);					\
++} while (/*CONSTCOND*/0)
++
++#define	GG_SLIST_REMOVE_HEAD(head, field) do {				\
++	(head)->slh_first = (head)->slh_first->field.sle_next;		\
++} while (/*CONSTCOND*/0)
++
++#define	GG_SLIST_REMOVE(head, elm, type, field) do {			\
++	if ((head)->slh_first == (elm)) {				\
++		GG_SLIST_REMOVE_HEAD((head), field);			\
++	}								\
++	else {								\
++		struct type *curelm = (head)->slh_first;		\
++		while(curelm->field.sle_next != (elm))			\
++			curelm = curelm->field.sle_next;		\
++		curelm->field.sle_next =				\
++		    curelm->field.sle_next->field.sle_next;		\
++	}								\
++} while (/*CONSTCOND*/0)
++
++#define	GG_SLIST_FOREACH(var, head, field)				\
++	for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next)
++
++/*
++ * Singly-linked List access methods.
++ */
++#define	GG_SLIST_EMPTY(head)	((head)->slh_first == NULL)
++#define	GG_SLIST_FIRST(head)	((head)->slh_first)
++#define	GG_SLIST_NEXT(elm, field)	((elm)->field.sle_next)
++
++
++/*
++ * Simple queue definitions.
++ */
++#define	GG_SIMPLEQ_HEAD(name, type)					\
++struct name {								\
++	struct type *sqh_first;	/* first element */			\
++	struct type **sqh_last;	/* addr of last next element */		\
++}
++
++#define	GG_SIMPLEQ_HEAD_INITIALIZER(head)				\
++	{ NULL, &(head).sqh_first }
++
++#define	GG_SIMPLEQ_ENTRY(type)						\
++struct {								\
++	struct type *sqe_next;	/* next element */			\
++}
++
++/*
++ * Simple queue functions.
++ */
++#define	GG_SIMPLEQ_INIT(head) do {					\
++	(head)->sqh_first = NULL;					\
++	(head)->sqh_last = &(head)->sqh_first;				\
++} while (/*CONSTCOND*/0)
++
++#define	GG_SIMPLEQ_INSERT_HEAD(head, elm, field) do {			\
++	if (((elm)->field.sqe_next = (head)->sqh_first) == NULL)	\
++		(head)->sqh_last = &(elm)->field.sqe_next;		\
++	(head)->sqh_first = (elm);					\
++} while (/*CONSTCOND*/0)
++
++#define	GG_SIMPLEQ_INSERT_TAIL(head, elm, field) do {			\
++	(elm)->field.sqe_next = NULL;					\
++	*(head)->sqh_last = (elm);					\
++	(head)->sqh_last = &(elm)->field.sqe_next;			\
++} while (/*CONSTCOND*/0)
++
++#define	GG_SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do {		\
++	if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\
++		(head)->sqh_last = &(elm)->field.sqe_next;		\
++	(listelm)->field.sqe_next = (elm);				\
++} while (/*CONSTCOND*/0)
++
++#define	GG_SIMPLEQ_REMOVE_HEAD(head, field) do {			\
++	if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \
++		(head)->sqh_last = &(head)->sqh_first;			\
++} while (/*CONSTCOND*/0)
++
++#define	GG_SIMPLEQ_REMOVE(head, elm, type, field) do {			\
++	if ((head)->sqh_first == (elm)) {				\
++		GG_SIMPLEQ_REMOVE_HEAD((head), field);			\
++	} else {							\
++		struct type *curelm = (head)->sqh_first;		\
++		while (curelm->field.sqe_next != (elm))			\
++			curelm = curelm->field.sqe_next;		\
++		if ((curelm->field.sqe_next =				\
++			curelm->field.sqe_next->field.sqe_next) == NULL) \
++			    (head)->sqh_last = &(curelm)->field.sqe_next; \
++	}								\
++} while (/*CONSTCOND*/0)
++
++#define	GG_SIMPLEQ_FOREACH(var, head, field)				\
++	for ((var) = ((head)->sqh_first);				\
++		(var);							\
++		(var) = ((var)->field.sqe_next))
++
++/*
++ * Simple queue access methods.
++ */
++#define	GG_SIMPLEQ_EMPTY(head)		((head)->sqh_first == NULL)
++#define	GG_SIMPLEQ_FIRST(head)		((head)->sqh_first)
++#define	GG_SIMPLEQ_NEXT(elm, field)	((elm)->field.sqe_next)
++
++
++/*
++ * Tail queue definitions.
++ */
++#define	GG_TAILQ_HEAD(name, type)					\
++struct name {								\
++	struct type *tqh_first;	/* first element */			\
++	struct type **tqh_last;	/* addr of last next element */		\
++}
++
++#define	GG_TAILQ_HEAD_INITIALIZER(head)					\
++	{ NULL, &(head).tqh_first }
++
++#define	GG_TAILQ_ENTRY(type)						\
++struct {								\
++	struct type *tqe_next;	/* next element */			\
++	struct type **tqe_prev;	/* address of previous next element */	\
++}
++
++/*
++ * Tail queue functions.
++ */
++#if defined(QUEUEDEBUG)
++#define	GG_QUEUEDEBUG_TAILQ_INSERT_HEAD(head, elm, field)		\
++	if ((head)->tqh_first &&					\
++	    (head)->tqh_first->field.tqe_prev != &(head)->tqh_first)	\
++		panic("TAILQ_INSERT_HEAD %p %s:%d", (head), __FILE__, __LINE__);
++#define	GG_QUEUEDEBUG_TAILQ_INSERT_TAIL(head, elm, field)		\
++	if (*(head)->tqh_last != NULL)					\
++		panic("TAILQ_INSERT_TAIL %p %s:%d", (head), __FILE__, __LINE__);
++#define	GG_QUEUEDEBUG_TAILQ_OP(elm, field)				\
++	if ((elm)->field.tqe_next &&					\
++	    (elm)->field.tqe_next->field.tqe_prev !=			\
++	    &(elm)->field.tqe_next)					\
++		panic("TAILQ_* forw %p %s:%d", (elm), __FILE__, __LINE__);\
++	if (*(elm)->field.tqe_prev != (elm))				\
++		panic("TAILQ_* back %p %s:%d", (elm), __FILE__, __LINE__);
++#define	GG_QUEUEDEBUG_TAILQ_PREREMOVE(head, elm, field)			\
++	if ((elm)->field.tqe_next == NULL &&				\
++	    (head)->tqh_last != &(elm)->field.tqe_next)			\
++		panic("TAILQ_PREREMOVE head %p elm %p %s:%d",		\
++		      (head), (elm), __FILE__, __LINE__);
++#define	GG_QUEUEDEBUG_TAILQ_POSTREMOVE(elm, field)			\
++	(elm)->field.tqe_next = (void *)1L;				\
++	(elm)->field.tqe_prev = (void *)1L;
++#else
++#define	GG_QUEUEDEBUG_TAILQ_INSERT_HEAD(head, elm, field)
++#define	GG_QUEUEDEBUG_TAILQ_INSERT_TAIL(head, elm, field)
++#define	GG_QUEUEDEBUG_TAILQ_OP(elm, field)
++#define	GG_QUEUEDEBUG_TAILQ_PREREMOVE(head, elm, field)
++#define	GG_QUEUEDEBUG_TAILQ_POSTREMOVE(elm, field)
++#endif
++
++#define	GG_TAILQ_INIT(head) do {					\
++	(head)->tqh_first = NULL;					\
++	(head)->tqh_last = &(head)->tqh_first;				\
++} while (/*CONSTCOND*/0)
++
++#define	GG_TAILQ_INSERT_HEAD(head, elm, field) do {			\
++	GG_QUEUEDEBUG_TAILQ_INSERT_HEAD((head), (elm), field)		\
++	if (((elm)->field.tqe_next = (head)->tqh_first) != NULL)	\
++		(head)->tqh_first->field.tqe_prev =			\
++		    &(elm)->field.tqe_next;				\
++	else								\
++		(head)->tqh_last = &(elm)->field.tqe_next;		\
++	(head)->tqh_first = (elm);					\
++	(elm)->field.tqe_prev = &(head)->tqh_first;			\
++} while (/*CONSTCOND*/0)
++
++#define	GG_TAILQ_INSERT_TAIL(head, elm, field) do {			\
++	GG_QUEUEDEBUG_TAILQ_INSERT_TAIL((head), (elm), field)		\
++	(elm)->field.tqe_next = NULL;					\
++	(elm)->field.tqe_prev = (head)->tqh_last;			\
++	*(head)->tqh_last = (elm);					\
++	(head)->tqh_last = &(elm)->field.tqe_next;			\
++} while (/*CONSTCOND*/0)
++
++#define	GG_TAILQ_INSERT_AFTER(head, listelm, elm, field) do {		\
++	GG_QUEUEDEBUG_TAILQ_OP((listelm), field)			\
++	if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\
++		(elm)->field.tqe_next->field.tqe_prev =			\
++		    &(elm)->field.tqe_next;				\
++	else								\
++		(head)->tqh_last = &(elm)->field.tqe_next;		\
++	(listelm)->field.tqe_next = (elm);				\
++	(elm)->field.tqe_prev = &(listelm)->field.tqe_next;		\
++} while (/*CONSTCOND*/0)
++
++#define	GG_TAILQ_INSERT_BEFORE(listelm, elm, field) do {		\
++	GG_QUEUEDEBUG_TAILQ_OP((listelm), field)			\
++	(elm)->field.tqe_prev = (listelm)->field.tqe_prev;		\
++	(elm)->field.tqe_next = (listelm);				\
++	*(listelm)->field.tqe_prev = (elm);				\
++	(listelm)->field.tqe_prev = &(elm)->field.tqe_next;		\
++} while (/*CONSTCOND*/0)
++
++#define	GG_TAILQ_REMOVE(head, elm, field) do {				\
++	GG_QUEUEDEBUG_TAILQ_PREREMOVE((head), (elm), field)		\
++	GG_QUEUEDEBUG_TAILQ_OP((elm), field)				\
++	if (((elm)->field.tqe_next) != NULL)				\
++		(elm)->field.tqe_next->field.tqe_prev =			\
++		    (elm)->field.tqe_prev;				\
++	else								\
++		(head)->tqh_last = (elm)->field.tqe_prev;		\
++	*(elm)->field.tqe_prev = (elm)->field.tqe_next;			\
++	GG_QUEUEDEBUG_TAILQ_POSTREMOVE((elm), field);			\
++} while (/*CONSTCOND*/0)
++
++#define	GG_TAILQ_FOREACH(var, head, field)				\
++	for ((var) = ((head)->tqh_first);				\
++		(var);							\
++		(var) = ((var)->field.tqe_next))
++
++#define	GG_TAILQ_FOREACH_REVERSE(var, head, headname, field)		\
++	for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last));\
++		(var);							\
++		(var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last)))
++
++/*
++ * Tail queue access methods.
++ */
++#define	GG_TAILQ_EMPTY(head)		((head)->tqh_first == NULL)
++#define	GG_TAILQ_FIRST(head)		((head)->tqh_first)
++#define	GG_TAILQ_NEXT(elm, field)	((elm)->field.tqe_next)
++
++#define	GG_TAILQ_LAST(head, headname) \
++	(*(((struct headname *)((head)->tqh_last))->tqh_last))
++#define	GG_TAILQ_PREV(elm, headname, field) \
++	(*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
++
++
++/*
++ * Circular queue definitions.
++ */
++#define	GG_CIRCLEQ_HEAD(name, type)					\
++struct name {								\
++	struct type *cqh_first;		/* first element */		\
++	struct type *cqh_last;		/* last element */		\
++}
++
++#define	GG_CIRCLEQ_HEAD_INITIALIZER(head)				\
++	{ (void *)&head, (void *)&head }
++
++#define	GG_CIRCLEQ_ENTRY(type)						\
++struct {								\
++	struct type *cqe_next;		/* next element */		\
++	struct type *cqe_prev;		/* previous element */		\
++}
++
++/*
++ * Circular queue functions.
++ */
++#define	GG_CIRCLEQ_INIT(head) do {					\
++	(head)->cqh_first = (void *)(head);				\
++	(head)->cqh_last = (void *)(head);				\
++} while (/*CONSTCOND*/0)
++
++#define	GG_CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do {		\
++	(elm)->field.cqe_next = (listelm)->field.cqe_next;		\
++	(elm)->field.cqe_prev = (listelm);				\
++	if ((listelm)->field.cqe_next == (void *)(head))		\
++		(head)->cqh_last = (elm);				\
++	else								\
++		(listelm)->field.cqe_next->field.cqe_prev = (elm);	\
++	(listelm)->field.cqe_next = (elm);				\
++} while (/*CONSTCOND*/0)
++
++#define	GG_CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do {	\
++	(elm)->field.cqe_next = (listelm);				\
++	(elm)->field.cqe_prev = (listelm)->field.cqe_prev;		\
++	if ((listelm)->field.cqe_prev == (void *)(head))		\
++		(head)->cqh_first = (elm);				\
++	else								\
++		(listelm)->field.cqe_prev->field.cqe_next = (elm);	\
++	(listelm)->field.cqe_prev = (elm);				\
++} while (/*CONSTCOND*/0)
++
++#define	GG_CIRCLEQ_INSERT_HEAD(head, elm, field) do {			\
++	(elm)->field.cqe_next = (head)->cqh_first;			\
++	(elm)->field.cqe_prev = (void *)(head);				\
++	if ((head)->cqh_last == (void *)(head))				\
++		(head)->cqh_last = (elm);				\
++	else								\
++		(head)->cqh_first->field.cqe_prev = (elm);		\
++	(head)->cqh_first = (elm);					\
++} while (/*CONSTCOND*/0)
++
++#define	GG_CIRCLEQ_INSERT_TAIL(head, elm, field) do {			\
++	(elm)->field.cqe_next = (void *)(head);				\
++	(elm)->field.cqe_prev = (head)->cqh_last;			\
++	if ((head)->cqh_first == (void *)(head))			\
++		(head)->cqh_first = (elm);				\
++	else								\
++		(head)->cqh_last->field.cqe_next = (elm);		\
++	(head)->cqh_last = (elm);					\
++} while (/*CONSTCOND*/0)
++
++#define	GG_CIRCLEQ_REMOVE(head, elm, field) do {			\
++	if ((elm)->field.cqe_next == (void *)(head))			\
++		(head)->cqh_last = (elm)->field.cqe_prev;		\
++	else								\
++		(elm)->field.cqe_next->field.cqe_prev =			\
++		    (elm)->field.cqe_prev;				\
++	if ((elm)->field.cqe_prev == (void *)(head))			\
++		(head)->cqh_first = (elm)->field.cqe_next;		\
++	else								\
++		(elm)->field.cqe_prev->field.cqe_next =			\
++		    (elm)->field.cqe_next;				\
++} while (/*CONSTCOND*/0)
++
++#define	GG_CIRCLEQ_FOREACH(var, head, field)				\
++	for ((var) = ((head)->cqh_first);				\
++		(var) != (void *)(head);				\
++		(var) = ((var)->field.cqe_next))
++
++#define	GG_CIRCLEQ_FOREACH_REVERSE(var, head, field)			\
++	for ((var) = ((head)->cqh_last);				\
++		(var) != (void *)(head);				\
++		(var) = ((var)->field.cqe_prev))
++
++/*
++ * Circular queue access methods.
++ */
++#define	GG_CIRCLEQ_EMPTY(head)		((head)->cqh_first == (void *)(head))
++#define	GG_CIRCLEQ_FIRST(head)		((head)->cqh_first)
++#define	GG_CIRCLEQ_LAST(head)		((head)->cqh_last)
++#define	GG_CIRCLEQ_NEXT(elm, field)	((elm)->field.cqe_next)
++#define	GG_CIRCLEQ_PREV(elm, field)	((elm)->field.cqe_prev)
++
++#endif	/* !GG_QUEUE_H_ */
+--- libggi-2.2.1.orig/programs/check/speed.c
++++ libggi-2.2.1/programs/check/speed.c
+@@ -28,7 +28,7 @@
+ #ifdef HAVE_LIMITS_H
+ #include <limits.h>
+ #endif
+-#ifndef CLK_TCK
++#ifndef CLOCKS_PER_SEC
+ #include <time.h>
+ #endif
+ 
+@@ -60,8 +60,8 @@
+ {
+ 	struct tms end; 
+ 	times(&end);
+-	u_time = (double) -(end.tms_utime - timer.tms_utime) / CLK_TCK;
+-	s_time = (double) -(end.tms_stime - timer.tms_stime) / CLK_TCK;
++	u_time = (double) -(end.tms_utime - timer.tms_utime) / CLOCKS_PER_SEC;
++	s_time = (double) -(end.tms_stime - timer.tms_stime) / CLOCKS_PER_SEC;
+ 	time_start();
+ }
+ 
+@@ -73,8 +73,8 @@
+ {
+ 	struct tms end; 
+ 	times(&end);
+-	u_time += (double) (end.tms_utime - timer.tms_utime) / CLK_TCK;
+-	s_time += (double) (end.tms_stime - timer.tms_stime) / CLK_TCK;
++	u_time += (double) (end.tms_utime - timer.tms_utime) / CLOCKS_PER_SEC;
++	s_time += (double) (end.tms_stime - timer.tms_stime) / CLOCKS_PER_SEC;
+ }
+ 
+ /* The pixelvalue for the color white.
--- libggi-2.2.2.orig/debian/patches/01_manpages.diff
+++ libggi-2.2.2/debian/patches/01_manpages.diff
@@ -0,0 +1,1445 @@
+diff -urN libggi-2.2.2.orig/doc/man/cube3d.1 libggi-2.2.2/doc/man/cube3d.1
+--- libggi-2.2.2.orig/doc/man/cube3d.1	2005-09-21 17:09:59.000000000 -0400
++++ libggi-2.2.2/doc/man/cube3d.1	2008-04-13 10:40:58.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "cube3d" 1 "2003-04-02" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBcube3d\fR : 3D cube console
++\fBcube3d\fR \- 3D cube console
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ cube3d
+ .fi
+@@ -13,14 +13,14 @@
+ 
+ The programs program1 to program6 are invoked and mapped to the cube
+ sides after the 3d program itself has started. You can interleave the
+-program names with size parameters of the form -xxx,yyy that will ask
++program names with size parameters of the form \-xxx,yyy that will ask
+ the programs that come later on the commandline to start up in that
+ size.  The default size is half that of the visual 3d is running on.
+ 
+ You can add more programs while 3d is running by setting some
+ environment variables and starting them:
+ 
+-.nb
++
+ .nf
+ GGI_DISPLAY=display-memory:-input:keyfile:1048576:[0-5]:/dev/null
+ .fi
+diff -urN libggi-2.2.2.orig/doc/man/display-aa.7 libggi-2.2.2/doc/man/display-aa.7
+--- libggi-2.2.2.orig/doc/man/display-aa.7	2006-02-22 12:17:43.000000000 -0500
++++ libggi-2.2.2/doc/man/display-aa.7	2008-04-13 09:52:41.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "display-aa" 7 "2006-02-22" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBdisplay-aa\fR : Display using AAlib
++\fBdisplay-aa\fR \- Display using AAlib
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ display-aalib
+ .fi
+diff -urN libggi-2.2.2.orig/doc/man/display-auto.7 libggi-2.2.2/doc/man/display-auto.7
+--- libggi-2.2.2.orig/doc/man/display-auto.7	2005-09-21 17:10:00.000000000 -0400
++++ libggi-2.2.2/doc/man/display-auto.7	2008-04-13 00:46:00.000000000 -0400
+@@ -2,7 +2,7 @@
+ .SH NAME
+ \fBdisplay-auto\fR : OS dependent target autodetection
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ display-auto
+ .fi
+diff -urN libggi-2.2.2.orig/doc/man/display-directx.7 libggi-2.2.2/doc/man/display-directx.7
+--- libggi-2.2.2.orig/doc/man/display-directx.7	2005-09-21 17:10:01.000000000 -0400
++++ libggi-2.2.2/doc/man/display-directx.7	2008-04-13 00:46:00.000000000 -0400
+@@ -2,7 +2,7 @@
+ .SH NAME
+ \fBdisplay-directx\fR : DirectX (WIN32)
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ display-directx: [ [-inwin=<winid>|root] | [-fullscreen] ]
+                  [ [-keepcursor] | [-nocursor] ] [-noinput]
+diff -urN libggi-2.2.2.orig/doc/man/display-fbdev.7 libggi-2.2.2/doc/man/display-fbdev.7
+--- libggi-2.2.2.orig/doc/man/display-fbdev.7	2005-09-21 17:10:02.000000000 -0400
++++ libggi-2.2.2/doc/man/display-fbdev.7	2008-04-13 10:39:34.000000000 -0400
+@@ -1,11 +1,11 @@
+ .TH "display-fbdev" 7 "2003-04-02" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBdisplay-fbdev\fR : Display using Linux kernel framebuffer devices
++\fBdisplay-fbdev\fR \- Display using Linux kernel framebuffer devices
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+-display-fbdev: [ [-noinput] | [ [-nokbd] | [-nomouse] ] ] [-novt]
+-               [-physz=<sizex>,<sizey>[dpi]] [<framebuffer>]
++display-fbdev: [ [\-noinput] | [ [\-nokbd] | [\-nomouse] ] ] [\-novt]
++               [\-physz=<sizex>,<sizey>[dpi]] [<framebuffer>]
+ .fi
+ 
+ .SH DESCRIPTION
+diff -urN libggi-2.2.2.orig/doc/man/display-file.7 libggi-2.2.2/doc/man/display-file.7
+--- libggi-2.2.2.orig/doc/man/display-file.7	2005-09-21 17:10:02.000000000 -0400
++++ libggi-2.2.2/doc/man/display-file.7	2008-04-13 10:34:14.000000000 -0400
+@@ -1,11 +1,11 @@
+ .TH "display-file" 7 "2003-04-02" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBdisplay-file\fR : Render display into image file
++\fBdisplay-file\fR \- Render display into image file
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+-display-file: [-flushcmd=<command>] [-flushframe=<n>]
+-              [-flushtime=<t>] <filename>
++display-file: [\-flushcmd=<command>] [\-flushframe=<n>]
++              [\-flushtime=<t>] <filename>
+ .fi
+ 
+ .SH DESCRIPTION
+@@ -31,7 +31,7 @@
+ to execute at the times given by one of the two other parameters. This
+ looks typically like:
+ 
+-.nb
++
+ .nf
+ ppmtogif foo.ppm > foo.%04d.gif
+ .fi
+diff -urN libggi-2.2.2.orig/doc/man/display-glide.7 libggi-2.2.2/doc/man/display-glide.7
+--- libggi-2.2.2.orig/doc/man/display-glide.7	2005-09-21 17:10:02.000000000 -0400
++++ libggi-2.2.2/doc/man/display-glide.7	2008-04-13 09:50:58.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "display-glide" 7 "2003-04-02" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBdisplay-glide\fR : Display using Glide library
++\fBdisplay-glide\fR \- Display using Glide library
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ display-glide:<card>
+ .fi
+diff -urN libggi-2.2.2.orig/doc/man/display-mansync.7 libggi-2.2.2/doc/man/display-mansync.7
+--- libggi-2.2.2.orig/doc/man/display-mansync.7	2005-09-21 17:10:03.000000000 -0400
++++ libggi-2.2.2/doc/man/display-mansync.7	2008-04-13 00:46:00.000000000 -0400
+@@ -2,7 +2,7 @@
+ .SH NAME
+ \fBdisplay-mansync\fR : sync mode emulation
+ .SH SYNOPIS
+-.nb
++
+ .nf
+ display-mansync
+ .fi
+@@ -16,7 +16,7 @@
+ It must pass a pointer to a _ggi_opmansync structure as the argument
+ to _ggiAddDL(), and must define the following macros:
+ 
+-.nb
++
+ .nf
+ MANSYNC_init(vis)
+ MANSYNC_deinit(vis)
+@@ -30,7 +30,7 @@
+ 
+ Mansync provides the following functions:
+ 
+-.nb
++
+ .nf
+ int _GGI_mansync_init(vis);
+ int _GGI_mansync_deinit(vis);
+diff -urN libggi-2.2.2.orig/doc/man/display-memory.7 libggi-2.2.2/doc/man/display-memory.7
+--- libggi-2.2.2.orig/doc/man/display-memory.7	2005-09-21 17:10:03.000000000 -0400
++++ libggi-2.2.2/doc/man/display-memory.7	2008-04-13 10:35:05.000000000 -0400
+@@ -1,12 +1,12 @@
+ .TH "display-memory" 7 "2004-10-14" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBdisplay-memory\fR : Display on buffer in main memory
++\fBdisplay-memory\fR \- Display on buffer in main memory
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+-display-memory: [-input] [-noblank]
+-                [-layout=<fstride>[[plb<lstride>]|[plan<pstride>,<plstride>]]]
+-                [-physz=<sizex>,<sizey>[dpi]] [-pixfmt=<format_string>]
++display-memory: [\-input] [\-noblank]
++                [\-layout=<fstride>[[plb<lstride>]|[plan<pstride>,<plstride>]]]
++                [\-physz=<sizex>,<sizey>[dpi]] [\-pixfmt=<format_string>]
+                 [ [shmid:<sid> ] | [keyfile:<size>:<id>:<fname>] | pointer ]
+ .fi
+ 
+@@ -53,7 +53,7 @@
+ future LibGGI releases.
+ 
+ .TP
+-\f(CW[-layout=<fstride>[[plb<lstride>]|[plan<pstride>,<plstride>]]]\fR
++\f(CW[\-layout=<fstride>[[plb<lstride>]|[plan<pstride>,<plstride>]]]\fR
+ This option will provide a non-default framebuffer layout
+ explicitly.  The \fIfstride\fR parameter denotes the number of
+ bytes between frames in the framebuffer, and will default to the
+diff -urN libggi-2.2.2.orig/doc/man/display-monotext.7 libggi-2.2.2/doc/man/display-monotext.7
+--- libggi-2.2.2.orig/doc/man/display-monotext.7	2005-09-21 17:10:04.000000000 -0400
++++ libggi-2.2.2/doc/man/display-monotext.7	2008-04-13 10:39:07.000000000 -0400
+@@ -1,10 +1,10 @@
+ .TH "display-monotext" 7 "2004-10-14" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBdisplay-monotext\fR : Emulate palettized modes on text-mode visuals
++\fBdisplay-monotext\fR \- Emulate palettized modes on text-mode visuals
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+-display-monotext: [ [-a=<acc>] | [ [-x=<acc>] [-y=<acc>] ] ] <target-spec>
++display-monotext: [ [\-a=<acc>] | [ [\-x=<acc>] [\-y=<acc>] ] ] <target-spec>
+ .fi
+ 
+ .SH DESCRIPTION
+diff -urN libggi-2.2.2.orig/doc/man/display-multi.7 libggi-2.2.2/doc/man/display-multi.7
+--- libggi-2.2.2.orig/doc/man/display-multi.7	2005-09-21 17:10:04.000000000 -0400
++++ libggi-2.2.2/doc/man/display-multi.7	2008-04-13 09:46:59.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "display-multi" 7 "2004-10-17" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBdisplay-multi\fR : Duplicate visual operations onto multiple visuals
++\fBdisplay-multi\fR \- Duplicate visual operations onto multiple visuals
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ display-multi <:targetspec> ...
+ .fi
+diff -urN libggi-2.2.2.orig/doc/man/display-palemu.7 libggi-2.2.2/doc/man/display-palemu.7
+--- libggi-2.2.2.orig/doc/man/display-palemu.7	2005-09-21 17:10:04.000000000 -0400
++++ libggi-2.2.2/doc/man/display-palemu.7	2008-04-13 10:40:01.000000000 -0400
+@@ -1,10 +1,10 @@
+ .TH "display-palemu" 7 "2003-04-02" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBdisplay-palemu\fR : Emulate palettized modes on visuals of other mode schemes
++\fBdisplay-palemu\fR \- Emulate palettized modes on visuals of other mode schemes
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+-display-palemu: [-parent=<mode>] <target-spec>
++display-palemu: [\-parent=<mode>] <target-spec>
+ .fi
+ 
+ .SH DESCRIPTION
+diff -urN libggi-2.2.2.orig/doc/man/display-quartz.7 libggi-2.2.2/doc/man/display-quartz.7
+--- libggi-2.2.2.orig/doc/man/display-quartz.7	2005-09-21 17:10:05.000000000 -0400
++++ libggi-2.2.2/doc/man/display-quartz.7	2008-04-13 00:46:00.000000000 -0400
+@@ -2,7 +2,7 @@
+ .SH NAME
+ \fBdisplay-quartz\fR : Display using Quartz2D on Mac OSX
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ display-quartz:       [-physz=<sizex>,<sizey>[dpi]] [-nomansync]
+ .fi
+diff -urN libggi-2.2.2.orig/doc/man/display-sub.7 libggi-2.2.2/doc/man/display-sub.7
+--- libggi-2.2.2.orig/doc/man/display-sub.7	2005-09-21 17:10:05.000000000 -0400
++++ libggi-2.2.2/doc/man/display-sub.7	2008-04-13 09:47:12.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "display-sub" 7 "2005-01-16" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBdisplay-sub\fR : Make a child visual that is a window to the parent
++\fBdisplay-sub\fR \- Make a child visual that is a window to the parent
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ display-sub: <target-spec>
+ .fi
+diff -urN libggi-2.2.2.orig/doc/man/display-svgalib.7 libggi-2.2.2/doc/man/display-svgalib.7
+--- libggi-2.2.2.orig/doc/man/display-svgalib.7	2005-09-21 17:10:05.000000000 -0400
++++ libggi-2.2.2/doc/man/display-svgalib.7	2008-04-13 10:38:23.000000000 -0400
+@@ -1,10 +1,10 @@
+ .TH "display-svgalib" 7 "2004-04-06" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBdisplay-svgalib\fR : Display fullscreen using SVGAlib
++\fBdisplay-svgalib\fR \- Display fullscreen using SVGAlib
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+-display-svgalib: [-physz=<sizex>,<sizey>[dpi]]
++display-svgalib: [\-physz=<sizex>,<sizey>[dpi]]
+ .fi
+ 
+ .SH DESCRIPTION
+diff -urN libggi-2.2.2.orig/doc/man/display-tele.7 libggi-2.2.2/doc/man/display-tele.7
+--- libggi-2.2.2.orig/doc/man/display-tele.7	2005-09-21 17:10:06.000000000 -0400
++++ libggi-2.2.2/doc/man/display-tele.7	2008-04-13 09:47:31.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "display-tele" 7 "2005-03-11" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBdisplay-tele\fR : Forwards the display over a network
++\fBdisplay-tele\fR \- Forwards the display over a network
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ display-tele: [inet]:<host>[:port]
+ display-tele: unix:<file>
+@@ -22,7 +22,7 @@
+ and unix. The specifier for type inet has the format hostname:port,
+ and for type unix, it is a file. Some examples:
+ 
+-.nb
++
+ .nf
+ - GGI_DISPLAY=tele:inet:localhost:27780
+ - GGI_DISPLAY=tele::192.168.1.2:27780 (inet is the default)
+diff -urN libggi-2.2.2.orig/doc/man/display-terminfo.7 libggi-2.2.2/doc/man/display-terminfo.7
+--- libggi-2.2.2.orig/doc/man/display-terminfo.7	2005-09-21 17:10:06.000000000 -0400
++++ libggi-2.2.2/doc/man/display-terminfo.7	2008-04-13 00:46:00.000000000 -0400
+@@ -2,7 +2,7 @@
+ .SH NAME
+ \fBdisplay-terminfo\fR : Display using ncurses
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ display-terminfo: [-physz=<sizex>,<sizey>[dpi]]
+ .fi
+diff -urN libggi-2.2.2.orig/doc/man/display-tile.7 libggi-2.2.2/doc/man/display-tile.7
+--- libggi-2.2.2.orig/doc/man/display-tile.7	2005-09-21 17:10:07.000000000 -0400
++++ libggi-2.2.2/doc/man/display-tile.7	2008-04-13 10:35:23.000000000 -0400
+@@ -1,10 +1,10 @@
+ .TH "display-tile" 7 "2003-04-02" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBdisplay-tile\fR : Divide display into tiles similar to a video wall
++\fBdisplay-tile\fR \- Divide display into tiles similar to a video wall
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+-display-tile : [ [-usedb] | [-nodb] ]
++display-tile : [ [\-usedb] | [\-nodb] ]
+                <offset-x>,<offset-y>,<size-x>,<size-y>,<child-target-spec>
+                ...
+ .fi
+diff -urN libggi-2.2.2.orig/doc/man/display-trueemu.7 libggi-2.2.2/doc/man/display-trueemu.7
+--- libggi-2.2.2.orig/doc/man/display-trueemu.7	2005-09-21 17:10:07.000000000 -0400
++++ libggi-2.2.2/doc/man/display-trueemu.7	2008-04-13 10:40:28.000000000 -0400
+@@ -1,11 +1,11 @@
+ .TH "display-trueemu" 7 "2003-04-02" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBdisplay-trueemu\fR : Emulate truecolor modes
++\fBdisplay-trueemu\fR \- Emulate truecolor modes
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+-display-trueemu : [-parent=<mode>] [-dither=<dither>]
+-                  [-model=<model>] <target-spec>
++display-trueemu : [\-parent=<mode>] [\-dither=<dither>]
++                  [\-model=<model>] <target-spec>
+ .fi
+ 
+ .SH DESCRIPTION
+diff -urN libggi-2.2.2.orig/doc/man/display-vcsa.7 libggi-2.2.2/doc/man/display-vcsa.7
+--- libggi-2.2.2.orig/doc/man/display-vcsa.7	2005-09-21 17:10:08.000000000 -0400
++++ libggi-2.2.2/doc/man/display-vcsa.7	2008-04-13 10:38:10.000000000 -0400
+@@ -1,11 +1,11 @@
+ .TH "display-vcsa" 7 "2004-10-14" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBdisplay-vcsa\fR : Display using Linux virtual console text device
++\fBdisplay-vcsa\fR \- Display using Linux virtual console text device
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+-display-vcsa : [ [-noinput] | [ [-nokbd] [-nomouse] ] ] [-ascii]
+-                 [-physz=<sizex>,<sizey>[dpi]] [-shade] [<vcsa device>]
++display-vcsa : [ [\-noinput] | [ [\-nokbd] [\-nomouse] ] ] [\-ascii]
++                 [\-physz=<sizex>,<sizey>[dpi]] [\-shade] [<vcsa device>]
+ .fi
+ 
+ .SH DESCRIPTION
+diff -urN libggi-2.2.2.orig/doc/man/display-vgl.7 libggi-2.2.2/doc/man/display-vgl.7
+--- libggi-2.2.2.orig/doc/man/display-vgl.7	2005-09-21 17:10:08.000000000 -0400
++++ libggi-2.2.2/doc/man/display-vgl.7	2008-04-13 00:46:00.000000000 -0400
+@@ -2,7 +2,7 @@
+ .SH NAME
+ \fBdisplay-vgl\fR : FreeBSD/i386 console display
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ display-vgl:[-nodb|-usedb]
+ .fi
+diff -urN libggi-2.2.2.orig/doc/man/display-x.7 libggi-2.2.2/doc/man/display-x.7
+--- libggi-2.2.2.orig/doc/man/display-x.7	2005-09-21 17:10:09.000000000 -0400
++++ libggi-2.2.2/doc/man/display-x.7	2008-04-13 10:37:25.000000000 -0400
+@@ -1,13 +1,13 @@
+ .TH "display-x" 7 "2005-04-11" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBdisplay-x\fR : Displays to an X11 server
++\fBdisplay-x\fR \- Displays to an X11 server
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+-display-x: [ [-inwin=<winid>|root] | [-screen=<screenidx>] ]
+-           [-fullscreen] [-keepcursor] [-noaccel] [-nobuffer]
+-           [-nocursor] [-nodbe] [-nodga] [-noevi] [-noinput]
+-           [-nomansync] [-noshm] [-novidmode] [-physz=<sizex>,<sizey>[dpi]]
++display-x: [ [\-inwin=<winid>|root] | [\-screen=<screenidx>] ]
++           [\-fullscreen] [\-keepcursor] [\-noaccel] [\-nobuffer]
++           [\-nocursor] [\-nodbe] [\-nodga] [\-noevi] [\-noinput]
++           [\-nomansync] [\-noshm] [\-novidmode] [\-physz=<sizex>,<sizey>[dpi]]
+            [<display>]
+ .fi
+ 
+@@ -36,9 +36,9 @@
+ \f(CW-fullscreen\fR
+ Turns on the fullscreen mode. Default mode is the windowed mode.
+ In fullscreen mode, the dga helper is tried first if not disabled
+-by -nodga or failed for some reason. Then the vidmode helper is
++by \-nodga or failed for some reason. Then the vidmode helper is
+ tried. When this fails, then the target falls back to the windowed
+-mode. Note, the -inwin option has no effect with fullscreen.
++mode. Note, the \-inwin option has no effect with fullscreen.
+ 
+ .TP
+ \f(CW-noaccel\fR
+@@ -223,7 +223,7 @@
+ another window or by the edge of the screen, and the data must be
+ resent from the client.
+ .PP
+-...in the last case the whole area that must be refreshed is sent
++In the last case the whole area that must be refreshed is sent
+ again by the client.  In the first two cases only the dirty area is
+ sent, except when the application is holding the directbuffer writing
+ resource, in which case the whole area must be synced because there is
+@@ -273,7 +273,7 @@
+ causes palette and gammamap to be messed up.  Since so many
+ windowmanagers fail to implement the behavior described in the Xlib
+ manpages, a workaround needs to be added which will not use the child
+-window (this part is easy enough since the -inwin=root option already
++window (this part is easy enough since the \-inwin=root option already
+ implements a child-less rendering) and either disables ggiSetOrigin
+ support, or uses a better version of the old display-x target's
+ creative blitting to emulate setorigin support.
+@@ -308,7 +308,7 @@
+ whether the server has XSHM, but it does not tell us whether the
+ client and server can share memory segments.  Thus, when running a
+ remote client, it may be necessary to manually disable XSHM support
+-with the -noshm target option.
++with the \-noshm target option.
+ 
+ Anyway, I hope this is helpful to any intrepid soul which decides to
+ fondle this code :-) (Brian S. Julin)
+diff -urN libggi-2.2.2.orig/doc/man/ggiCheckMode.3 libggi-2.2.2/doc/man/ggiCheckMode.3
+--- libggi-2.2.2.orig/doc/man/ggiCheckMode.3	2006-12-30 16:03:19.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiCheckMode.3	2008-04-14 17:50:47.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggiCheckMode" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiCheckMode\fR, \fBggiCheckTextMode\fR, \fBggiCheckGraphMode\fR, \fBggiCheckSimpleMode\fR : Check or negotiate a text/graphics mode on a visual
++\fBggiCheckMode\fR, \fBggiCheckTextMode\fR, \fBggiCheckGraphMode\fR, \fBggiCheckSimpleMode\fR \- Check or negotiate a text/graphics mode on a visual
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ int ggiCheckMode(ggi_visual_t visual, ggi_mode *tm);
+ 
+@@ -98,7 +98,7 @@
+ .SH EXAMPLES
+ Try a 320x200x8 mode:
+ 
+-.nb
++
+ .nf
+ ggi_mode sug_mode;
+ err = ggiCheckGraphMode(vis, 320, 200, GGI_AUTO, GGI_AUTO, GT_8BIT, 
+diff -urN libggi-2.2.2.orig/doc/man/ggi_color.3 libggi-2.2.2/doc/man/ggi_color.3
+--- libggi-2.2.2.orig/doc/man/ggi_color.3	2006-12-30 16:03:28.000000000 -0500
++++ libggi-2.2.2/doc/man/ggi_color.3	2008-04-14 17:26:39.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggi_color" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggi_color\fR, \fBggi_pixel\fR : LibGGI color description
++\fBggi_color\fR, \fBggi_pixel\fR \- LibGGI color description
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggi_colormap.3 libggi-2.2.2/doc/man/ggi_colormap.3
+--- libggi-2.2.2.orig/doc/man/ggi_colormap.3	2006-12-30 16:03:28.000000000 -0500
++++ libggi-2.2.2/doc/man/ggi_colormap.3	2008-04-14 17:26:28.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggi_colormap" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggi_colormap\fR, \fBggi_colormap_region\fR : LIBGGI colormap
++\fBggi_colormap\fR, \fBggi_colormap_region\fR \- LIBGGI colormap
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+@@ -148,7 +148,7 @@
+ .SH EXAMPLES
+ display/my_target/mode.c:
+ 
+-.nb
++
+ .nf
+ int GGI_my_target_setmode(ggi_visual *vis,ggi_mode *tm) {
+   /* Target structure */
+@@ -203,7 +203,7 @@
+ 
+ display/my_target/color.c:
+ 
+-.nb
++
+ .nf
+ #include "config.h"
+ #include <ggi/internal/ggi-dl.h>
+@@ -225,7 +225,7 @@
+     First we'll update the ggi_colormap and our priv palette.
+   */
+   memcpy(LIBGGI_PAL(vis)->clut.data+start, colormap, size*sizeof(ggi_color));
+-  for(; size > 0; ++start, --size) {
++  for(; size > 0; ++start, \-\-size) {
+       pal->b[start] = LIBGGI_PAL(vis)->clut.data[start].b >> 8;
+       pal->g[start] = LIBGGI_PAL(vis)->clut.data[start].g >> 8;
+       pal->r[start] = LIBGGI_PAL(vis)->clut.data[start].r >> 8;
+diff -urN libggi-2.2.2.orig/doc/man/ggiCopyBox.3 libggi-2.2.2/doc/man/ggiCopyBox.3
+--- libggi-2.2.2.orig/doc/man/ggiCopyBox.3	2006-12-30 16:03:20.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiCopyBox.3	2008-04-14 17:50:30.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggiCopyBox" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiCopyBox\fR : Copy a rectangular area
++\fBggiCopyBox\fR \- Copy a rectangular area
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiCrossBlit.3 libggi-2.2.2/doc/man/ggiCrossBlit.3
+--- libggi-2.2.2.orig/doc/man/ggiCrossBlit.3	2006-12-30 16:03:21.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiCrossBlit.3	2008-04-14 17:50:16.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggiCrossBlit" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiCrossBlit\fR : Copy a rectangular area between two visuals
++\fBggiCrossBlit\fR \- Copy a rectangular area between two visuals
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiDBGetNumBuffers.3 libggi-2.2.2/doc/man/ggiDBGetNumBuffers.3
+--- libggi-2.2.2.orig/doc/man/ggiDBGetNumBuffers.3	2006-12-30 16:03:21.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiDBGetNumBuffers.3	2008-04-14 17:50:02.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggiDBGetNumBuffers" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiDBGetNumBuffers\fR, \fBggiDBGetBuffer\fR : Get DirectBuffers from a visual
++\fBggiDBGetNumBuffers\fR, \fBggiDBGetBuffer\fR \- Get DirectBuffers from a visual
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+@@ -37,7 +37,7 @@
+ You're on your own now.
+ 
+ DirectBuffers where \fBggiResourceMustAcquire(3)\fR is true need to be
+-'acquired' (i.e. locked) before using.  An acquire is done by using
++acquired (i.e. locked) before using.  An acquire is done by using
+ \fBggiResourceAcquire(3)\fR and is released by calling \fBggiResourceRelease(3)\fR.
+ Beware that the \fBread\fR, \fBwrite\fR and \fBstride\fR fields of the
+ DirectBuffer may be changed by an acquire, and that they may be \fBNULL\fR
+@@ -62,7 +62,7 @@
+ .SH EXAMPLES
+ How to obtain a DirectBuffer:
+ 
+-.nb
++
+ .nf
+ ggi_visual_t  vis;
+ ggi_mode      mode;
+diff -urN libggi-2.2.2.orig/doc/man/ggi-demo.1 libggi-2.2.2/doc/man/ggi-demo.1
+--- libggi-2.2.2.orig/doc/man/ggi-demo.1	2005-09-21 17:10:00.000000000 -0400
++++ libggi-2.2.2/doc/man/ggi-demo.1	2008-04-13 00:46:00.000000000 -0400
+@@ -2,7 +2,7 @@
+ .SH NAME
+ \fBggi-demo\fR, \fBdemo\fR : GGI demonstration and example program
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ ggi-demo [--clip] [--noninteractive] [--target <target>]
+          <xsize>x<ysize>[#<virtx>x<virty>]['['<bpp>']']
+diff -urN libggi-2.2.2.orig/doc/man/ggidev-add_3.3 libggi-2.2.2/doc/man/ggidev-add_3.3
+--- libggi-2.2.2.orig/doc/man/ggidev-add_3.3	2006-12-30 16:03:36.000000000 -0500
++++ libggi-2.2.2/doc/man/ggidev-add_3.3	2008-04-14 17:23:13.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggidev-add_3" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggidev-add_3\fR, \fBggidev-sub_3\fR, \fBggidev-mul_3\fR, \fBggidev-divmod_3\fR : Binary arithmetic triple-int operations
++\fBggidev-add_3\fR, \fBggidev-sub_3\fR, \fBggidev-mul_3\fR, \fBggidev-divmod_3\fR \- Binary arithmetic triple-int operations
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/internal/triple-int.h>
+ 
+@@ -39,11 +39,11 @@
+ \fBadd_3\fR, \fBsub_3\fR and \fBmul_3\fR all return a pointer to \fBl\fR which has
+ been updated in place.
+ 
+-'divmod_3` returns a pointer to the quotient \fBq\fR.
++divmod_3 returns a pointer to the quotient \fBq\fR.
+ .SH EXAMPLES
+ Some binary arithmetic operations on \fBtriple-ints\fR:
+ 
+-.nb
++
+ .nf
+ unsigned x[3], y[3], q[3], r[3];
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggidev-assign_3.3 libggi-2.2.2/doc/man/ggidev-assign_3.3
+--- libggi-2.2.2.orig/doc/man/ggidev-assign_3.3	2006-12-30 16:03:35.000000000 -0500
++++ libggi-2.2.2/doc/man/ggidev-assign_3.3	2008-04-14 17:20:27.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggidev-assign_3" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggidev-assign_3\fR, \fBggidev-assign_int_3\fR, \fBggidev-assign_unsigned_3\fR : Initialize a triple-int
++\fBggidev-assign_3\fR, \fBggidev-assign_int_3\fR, \fBggidev-assign_unsigned_3\fR \- Initialize a triple-int
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/internal/triple-int.h>
+ 
+@@ -26,11 +26,11 @@
+ .SH EXAMPLES
+ Assign some values to \fBtriple-ints\fR:
+ 
+-.nb
++
+ .nf
+ unsigned x[3], y[3], z[3];
+ 
+-assign_int_3(x, -42);
++assign_int_3(x, \-42);
+ assign_unsigned_3(y, 17);
+ assign_3(z, x);
+ .fi
+diff -urN libggi-2.2.2.orig/doc/man/ggidev-eq_3.3 libggi-2.2.2/doc/man/ggidev-eq_3.3
+--- libggi-2.2.2.orig/doc/man/ggidev-eq_3.3	2006-12-30 16:03:36.000000000 -0500
++++ libggi-2.2.2/doc/man/ggidev-eq_3.3	2008-04-14 17:19:48.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggidev-eq_3" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggidev-eq_3\fR, \fBggidev-ge_3\fR : triple-int comparisons
++\fBggidev-eq_3\fR, \fBggidev-ge_3\fR \- triple-int comparisons
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/internal/triple-int.h>
+ 
+@@ -20,7 +20,7 @@
+ .SH EXAMPLES
+ Some \fBtriple-int\fR comparisons:
+ 
+-.nb
++
+ .nf
+ unsigned x[3], y[3], z[3];
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggidev-inc_3.3 libggi-2.2.2/doc/man/ggidev-inc_3.3
+--- libggi-2.2.2.orig/doc/man/ggidev-inc_3.3	2006-12-30 16:03:36.000000000 -0500
++++ libggi-2.2.2/doc/man/ggidev-inc_3.3	2008-04-14 17:19:29.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggidev-inc_3" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggidev-inc_3\fR, \fBggidev-dec_3\fR, \fBggidev-negate_3\fR, \fBggidev-abs_3\fR : Unary arithmetic triple-int operations
++\fBggidev-inc_3\fR, \fBggidev-dec_3\fR, \fBggidev-negate_3\fR, \fBggidev-abs_3\fR \- Unary arithmetic triple-int operations
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/internal/triple-int.h>
+ 
+@@ -16,7 +16,7 @@
+ .SH DESCRIPTION
+ \fBinc_3\fR increments \fBx\fR by one. Equivalent to ++x.
+ 
+-\fBdec_3\fR decrements \fBx\fR by one. Equivalent to --x.
++\fBdec_3\fR decrements \fBx\fR by one. Equivalent to \-\-x.
+ 
+ \fBnegate_3\fR negates \fBx\fR. Equivalent to x=-x.
+ 
+@@ -27,13 +27,13 @@
+ .SH EXAMPLES
+ Some unary arithmetic operations on \fBtriple-ints\fR:
+ 
+-.nb
++
+ .nf
+ unsigned x[3];
+ 
+ assign_int_3(x, 44);
+-negate_3(x);  /* x is now -44 */
+-inc_3(x);     /* x is now -43 */
++negate_3(x);  /* x is now \-44 */
++inc_3(x);     /* x is now \-43 */
+ abs_3(x);     /* x is now 43 */
+ dec_3(x);     /* x is now 42 */
+ .fi
+diff -urN libggi-2.2.2.orig/doc/man/ggidev-invert_3.3 libggi-2.2.2/doc/man/ggidev-invert_3.3
+--- libggi-2.2.2.orig/doc/man/ggidev-invert_3.3	2006-12-30 16:03:36.000000000 -0500
++++ libggi-2.2.2/doc/man/ggidev-invert_3.3	2008-04-14 17:17:53.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggidev-invert_3" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggidev-invert_3\fR, \fBggidev-lshift_3\fR, \fBggidev-rshift_3\fR : Bitwise triple-int operations
++\fBggidev-invert_3\fR, \fBggidev-lshift_3\fR, \fBggidev-rshift_3\fR \- Bitwise triple-int operations
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/internal/triple-int.h>
+ 
+@@ -27,11 +27,11 @@
+ .SH EXAMPLES
+ Some bitwise operations on \fBtriple-ints\fR:
+ 
+-.nb
++
+ .nf
+ unsigned x[3];
+ 
+-assign_int_3(x, -4);
++assign_int_3(x, \-4);
+ invert_3(x);     /* x is now 3 */
+ lshift_3(x, 42); /* x is now 3*2^42, if that fits in a triple-int */
+ rshift_3(x, 17); /* x is now 3*2^25 */
+diff -urN libggi-2.2.2.orig/doc/man/ggidev-sign_3.3 libggi-2.2.2/doc/man/ggidev-sign_3.3
+--- libggi-2.2.2.orig/doc/man/ggidev-sign_3.3	2006-12-30 16:03:36.000000000 -0500
++++ libggi-2.2.2/doc/man/ggidev-sign_3.3	2008-04-14 21:07:50.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggidev-sign_3" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggidev-sign_3\fR, \fBggidev-bits_3\fR, \fBggidev-eq0_3\fR, \fBggidev-gt0_3\fR, \fBggidev-ge0_3\fR, \fBggidev-lt0_3\fR, \fBggidev-le0_3\fR : triple-int properties
++\fBggidev-sign_3\fR, \fBggidev-bits_3\fR, \fBggidev-eq0_3\fR, \fBggidev-gt0_3\fR, \fBggidev-ge0_3\fR, \fBggidev-lt0_3\fR, \fBggidev-le0_3\fR \- triple-int properties
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/internal/triple-int.h>
+ 
+@@ -30,18 +30,18 @@
+ zero, \fBlt0_3\fR if \fBx\fR is less than zero and last but not least \fBle0_3\fR
+ tests if \fBx\fR is less than or equal to zero.
+ .SH RETURN VALUE
+-\fBsign_3\fR returns -1 for negative values, 0 for zero values and 1 for
++\fBsign_3\fR returns \-1 for negative values, 0 for zero values and 1 for
+ positive values.
+ 
+-\fBbits_3\fR returns 0 for \fBx\fR equal to 0 or -1, 1 for \fBx\fR equal to 1 and
+--2, 2 for \fBx\fR equal to 2, 3, -3 and -4 etc.
++\fBbits_3\fR returns 0 for \fBx\fR equal to 0 or \-1, 1 for \fBx\fR equal to 1 and
++\-2, 2 for \fBx\fR equal to 2, 3, \-3 and \-4 etc.
+ 
+ \fBeq0_3\fR, \fBgt0_3\fR, \fBge0_3\fR, \fBlt0_3\fR and \fBle0_3\fR all returns non-zero if
+ the relation is true, and zero otherwise.
+ .SH EXAMPLES
+ Some \fBtriple-int\fR tests:
+ 
+-.nb
++
+ .nf
+ unsigned x[3];
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggidev-triple-int.7 libggi-2.2.2/doc/man/ggidev-triple-int.7
+--- libggi-2.2.2.orig/doc/man/ggidev-triple-int.7	2006-12-30 16:03:35.000000000 -0500
++++ libggi-2.2.2/doc/man/ggidev-triple-int.7	2008-04-13 00:42:27.000000000 -0400
+@@ -2,7 +2,6 @@
+ .SH NAME
+ \fBggidev-triple-int\fR : triple-int General Information
+ .SH SYNOPSIS
+-.nb
+ .nf
+ #include <ggi/internal/triple-int.h>
+ .fi
+@@ -19,7 +18,6 @@
+ 
+ A \fBtriple-int\fR is typically declared as follows:
+ 
+-.nb
+ .nf
+ unsigned x[3];
+ .fi
+diff -urN libggi-2.2.2.orig/doc/man/ggi_directbuffer.3 libggi-2.2.2/doc/man/ggi_directbuffer.3
+--- libggi-2.2.2.orig/doc/man/ggi_directbuffer.3	2006-12-30 16:03:28.000000000 -0500
++++ libggi-2.2.2/doc/man/ggi_directbuffer.3	2008-04-14 17:24:21.000000000 -0400
+@@ -1,8 +1,7 @@
+ .TH "ggi_directbuffer" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggi_directbuffer\fR, \fBggi_pixellinearbuffer\fR, \fBggi_pixelplanarbuffer\fR, \fBggi_samplelinearbuffer\fR, \fBggi_sampleplanarbuffer\fR : LibGGI direct buffer structure description
++\fBggi_directbuffer\fR, \fBggi_pixellinearbuffer\fR, \fBggi_pixelplanarbuffer\fR, \fBggi_samplelinearbuffer\fR, \fBggi_sampleplanarbuffer\fR \- LibGGI direct buffer structure description
+ .SH SYNOPSIS
+-.nb
+ .nf
+ #include <ggi/ggi.h>
+ 
+@@ -38,7 +37,6 @@
+ .SH STRUCTURE MEMBERS
+ \fItype\fR
+ .RS
+-.nb
+ .nf
+ /* Buffer types */
+ #define GGI_DB_NORMAL      0x0001  /* "frame" is valid when set */
+@@ -142,7 +140,6 @@
+ 
+ .PP
+ .SH PIXEL LINEAR BUFFER
+-.nb
+ .nf
+ typedef struct {
+       int             stride;         /* bytes per row                */
+@@ -154,7 +151,6 @@
+ address space. A pixel with the pixel coordinates (\fIx\fR, \fIy\fR) is
+ assigned a pixel number according to the following formula:
+ 
+-.nb
+ .nf
+ pixel_number = (origin_y + y) * stride + origin_x + x;
+ .fi
+@@ -172,7 +168,6 @@
+ might not be in host CPU native format and swapping operations need to
+ be performed before writes or after reads.
+ .SH PIXEL PLANAR BUFFER
+-.nb
+ .nf
+ typedef struct {
+       int             next_line;      /* bytes until next line        */
+@@ -182,7 +177,6 @@
+ .fi
+ 
+ .SH SAMPLE LINEAR BUFFER
+-.nb
+ .nf
+ typedef struct {
+       int             num_pixels;     /* how many pixelformats        */
+@@ -192,7 +186,6 @@
+ .fi
+ 
+ .SH SAMPLE PLANAR BUFFER
+-.nb
+ .nf
+ typedef struct {
+       int             next_line[3];   /* bytes until next line        */
+diff -urN libggi-2.2.2.orig/doc/man/ggiDrawBox.3 libggi-2.2.2/doc/man/ggiDrawBox.3
+--- libggi-2.2.2.orig/doc/man/ggiDrawBox.3	2006-12-30 16:03:20.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiDrawBox.3	2008-04-14 17:49:26.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggiDrawBox" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiDrawBox\fR, \fBggiPutBox\fR, \fBggiGetBox\fR : Draw, put, and get a rectangle from a visual
++\fBggiDrawBox\fR, \fBggiPutBox\fR, \fBggiGetBox\fR \- Draw, put, and get a rectangle from a visual
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiDrawHLine.3 libggi-2.2.2/doc/man/ggiDrawHLine.3
+--- libggi-2.2.2.orig/doc/man/ggiDrawHLine.3	2006-12-30 16:03:20.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiDrawHLine.3	2008-04-14 17:49:17.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggiDrawHLine" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiDrawHLine\fR, \fBggiPutHLine\fR, \fBggiGetHLine\fR : Draw, put, and get a horizontal line from a visual
++\fBggiDrawHLine\fR, \fBggiPutHLine\fR, \fBggiGetHLine\fR \- Draw, put, and get a horizontal line from a visual
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiDrawLine.3 libggi-2.2.2/doc/man/ggiDrawLine.3
+--- libggi-2.2.2.orig/doc/man/ggiDrawLine.3	2006-12-30 16:03:20.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiDrawLine.3	2008-04-14 17:49:05.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggiDrawLine" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiDrawLine\fR : Draw a line on a visual
++\fBggiDrawLine\fR \- Draw a line on a visual
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiDrawPixel.3 libggi-2.2.2/doc/man/ggiDrawPixel.3
+--- libggi-2.2.2.orig/doc/man/ggiDrawPixel.3	2006-12-30 16:03:20.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiDrawPixel.3	2008-04-14 17:48:56.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggiDrawPixel" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiDrawPixel\fR, \fBggiPutPixel\fR, \fBggiGetPixel\fR : Draw, put, and get a single pixel from a visual
++\fBggiDrawPixel\fR, \fBggiPutPixel\fR, \fBggiGetPixel\fR \- Draw, put, and get a single pixel from a visual
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiDrawVLine.3 libggi-2.2.2/doc/man/ggiDrawVLine.3
+--- libggi-2.2.2.orig/doc/man/ggiDrawVLine.3	2006-12-30 16:03:20.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiDrawVLine.3	2008-04-14 17:48:30.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggiDrawVLine" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiDrawVLine\fR, \fBggiPutVLine\fR, \fBggiGetVLine\fR : Draw, put, and get a vertical line from a visual
++\fBggiDrawVLine\fR, \fBggiPutVLine\fR, \fBggiGetVLine\fR \- Draw, put, and get a vertical line from a visual
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiEventSend.3 libggi-2.2.2/doc/man/ggiEventSend.3
+--- libggi-2.2.2.orig/doc/man/ggiEventSend.3	2006-12-30 16:03:21.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiEventSend.3	2008-04-14 17:48:15.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggiEventSend" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiEventSend\fR : Send commands and events to a LibGGI visual
++\fBggiEventSend\fR \- Send commands and events to a LibGGI visual
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiFillscreen.3 libggi-2.2.2/doc/man/ggiFillscreen.3
+--- libggi-2.2.2.orig/doc/man/ggiFillscreen.3	2006-12-30 16:03:20.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiFillscreen.3	2008-04-14 17:48:03.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggiFillscreen" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiFillscreen\fR : Fill the entire virtual screen
++\fBggiFillscreen\fR \- Fill the entire virtual screen
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiFlush.3 libggi-2.2.2/doc/man/ggiFlush.3
+--- libggi-2.2.2.orig/doc/man/ggiFlush.3	2006-12-30 16:03:21.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiFlush.3	2008-04-14 17:47:45.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggiFlush" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiFlush\fR, \fBggiFlushRegion\fR : Flush pending output
++\fBggiFlush\fR, \fBggiFlushRegion\fR \- Flush pending output
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiGetc.3 libggi-2.2.2/doc/man/ggiGetc.3
+--- libggi-2.2.2.orig/doc/man/ggiGetc.3	2006-12-30 16:03:21.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiGetc.3	2008-04-14 17:46:02.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggiGetc" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiGetc\fR, \fBggiKbhit\fR : Convenience functions for simplistic keyboard input
++\fBggiGetc\fR, \fBggiKbhit\fR \- Convenience functions for simplistic keyboard input
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiGetGamma.3 libggi-2.2.2/doc/man/ggiGetGamma.3
+--- libggi-2.2.2.orig/doc/man/ggiGetGamma.3	2006-12-30 16:03:20.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiGetGamma.3	2008-04-14 17:47:14.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggiGetGamma" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiGetGamma\fR, \fBggiSetGamma\fR, \fBggiGetGammaMap\fR, \fBggiSetGammaMap\fR, \fBggiGammaMax\fR : Manipulate the gamma maps and the gamma correction of a visual
++\fBggiGetGamma\fR, \fBggiSetGamma\fR, \fBggiGetGammaMap\fR, \fBggiSetGammaMap\fR, \fBggiGammaMax\fR \- Manipulate the gamma maps and the gamma correction of a visual
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+@@ -43,7 +43,7 @@
+ set to the bit meaning (e.g. \fBGGI_BM_TYPE_COLOR\fR | \fBGGI_BM_SUB_BLUE\fR) of
+ the channel of which you are inquiring.  If \fBggiGammaMax\fR returns an
+ \f(CWggi-error(3)\fR, you cannot set the gamma map on this visual. 
+-If \fBggiGammaMax\fR succeeds, but \fImax_w\fR is -1 on return, this means
++If \fBggiGammaMax\fR succeeds, but \fImax_w\fR is \-1 on return, this means
+ that \fBggiSetGamma\fR will work, but that \fBggiSetGammaMap\fR will not.
+ 
+ \fBggiSetGamma\fR and \fBggiGetGamma\fR sets or gets the gamma correction for
+diff -urN libggi-2.2.2.orig/doc/man/ggiGetInput.3 libggi-2.2.2/doc/man/ggiGetInput.3
+--- libggi-2.2.2.orig/doc/man/ggiGetInput.3	2006-12-30 16:03:21.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiGetInput.3	2008-04-14 17:46:35.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggiGetInput" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiGetInput\fR, \fBggiDetachInput\fR : Functions to translate from GGI visuals to GII input
++\fBggiGetInput\fR, \fBggiDetachInput\fR \- Functions to translate from GGI visuals to GII input
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiGetPixelFormat.3 libggi-2.2.2/doc/man/ggiGetPixelFormat.3
+--- libggi-2.2.2.orig/doc/man/ggiGetPixelFormat.3	2006-12-30 16:03:20.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiGetPixelFormat.3	2008-04-14 17:46:24.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggiGetPixelFormat" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiGetPixelFormat\fR : Get a structure describing the format of a pixelvalue from a visual
++\fBggiGetPixelFormat\fR \- Get a structure describing the format of a pixelvalue from a visual
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiInit.3 libggi-2.2.2/doc/man/ggiInit.3
+--- libggi-2.2.2.orig/doc/man/ggiInit.3	2006-12-30 16:03:19.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiInit.3	2008-04-14 17:45:49.000000000 -0400
+@@ -1,8 +1,7 @@
+ .TH "ggiInit" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiInit\fR, \fBggiExit\fR : Initialize and uninitialize LibGGI
++\fBggiInit\fR, \fBggiExit\fR \- Initialize and uninitialize LibGGI
+ .SH SYNOPSIS
+-.nb
+ .nf
+ #include <ggi/ggi.h>
+ 
+@@ -48,7 +47,6 @@
+ .SH EXAMPLES
+ Initialize and uninitialize LibGGI:
+ 
+-.nb
+ .nf
+ if (ggiInit() < 0) {
+     fprintf(stderr, "Cannot initialize LibGGI!\en");
+diff -urN libggi-2.2.2.orig/doc/man/ggiJoinInputs.3 libggi-2.2.2/doc/man/ggiJoinInputs.3
+--- libggi-2.2.2.orig/doc/man/ggiJoinInputs.3	2006-12-30 16:03:21.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiJoinInputs.3	2008-04-14 17:45:37.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggiJoinInputs" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiJoinInputs\fR, \fBggiEventPoll\fR, \fBggiEventSelect\fR, \fBggiEventsQueued\fR, \fBggiEventRead\fR, \fBggiSetEventMask\fR, \fBggiGetEventMask\fR, \fBggiAddEventMask\fR, \fBggiRemoveEventMask\fR : Event management for LibGGI visual
++\fBggiJoinInputs\fR, \fBggiEventPoll\fR, \fBggiEventSelect\fR, \fBggiEventsQueued\fR, \fBggiEventRead\fR, \fBggiSetEventMask\fR, \fBggiGetEventMask\fR, \fBggiAddEventMask\fR, \fBggiRemoveEventMask\fR \- Event management for LibGGI visual
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+@@ -39,7 +39,7 @@
+ \fBImportant:\fR
+ By default LibGGI visuals autodetect and open the appropriate
+ inputs, including mouse and keyboard and any other inputs that are
+-'intrinsic' to the visual e.g. any registered X11 input device
++intrinsic to the visual e.g. any registered X11 input device
+ under the X target.  Thus in the usual cases there is no need to
+ open a LibGII \fBgii_input_t\fR directly (and that may in fact fail
+ because an input device is already open).  The LibGGI \fBggiEvent*\fR
+diff -urN libggi-2.2.2.orig/doc/man/ggiMapColor.3 libggi-2.2.2/doc/man/ggiMapColor.3
+--- libggi-2.2.2.orig/doc/man/ggiMapColor.3	2006-12-30 16:03:20.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiMapColor.3	2008-04-14 17:44:57.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggiMapColor" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiMapColor\fR, \fBggiUnmapPixel\fR, \fBggiPackColors\fR, \fBggiUnpackPixels\fR : Convert from ggi_color(s) to ggi_pixel(s) and vice versa
++\fBggiMapColor\fR, \fBggiUnmapPixel\fR, \fBggiPackColors\fR, \fBggiUnpackPixels\fR \- Convert from ggi_color(s) to ggi_pixel(s) and vice versa
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggi_mode.3 libggi-2.2.2/doc/man/ggi_mode.3
+--- libggi-2.2.2.orig/doc/man/ggi_mode.3	2006-12-30 16:03:28.000000000 -0500
++++ libggi-2.2.2/doc/man/ggi_mode.3	2008-04-14 17:24:05.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggi_mode" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggi_mode\fR, \fBggi_coord\fR, \fBggi_graphtype\fR : LibGGI mode description
++\fBggi_mode\fR, \fBggi_coord\fR, \fBggi_graphtype\fR \- LibGGI mode description
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiOpen.3 libggi-2.2.2/doc/man/ggiOpen.3
+--- libggi-2.2.2.orig/doc/man/ggiOpen.3	2006-12-30 16:03:19.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiOpen.3	2008-04-14 17:44:26.000000000 -0400
+@@ -1,8 +1,7 @@
+ .TH "ggiOpen" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiOpen\fR, \fBggiClose\fR : Open and close a visual
++\fBggiOpen\fR, \fBggiClose\fR \- Open and close a visual
+ .SH SYNOPSIS
+-.nb
+ .nf
+ #include <ggi/ggi.h>
+ 
+@@ -30,7 +29,7 @@
+ .SH EXAMPLES
+ Open and closing default visual:
+ 
+-.nb
++
+ .nf
+ ggi_visual_t vis = ggiOpen(NULL);
+ 
+@@ -45,12 +44,12 @@
+ 
+ Open and closing a memory visual:
+ 
+-.nb
++
+ .nf
+ ggi_visual_t memvis = ggiOpen("display-memory", NULL);
+ 
+ if(memvis==NULL) {
+-      return -1;
++      return \-1;
+ }
+ 
+ /* do stuff */
+diff -urN libggi-2.2.2.orig/doc/man/ggiPanic.3 libggi-2.2.2/doc/man/ggiPanic.3
+--- libggi-2.2.2.orig/doc/man/ggiPanic.3	2006-12-30 16:03:19.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiPanic.3	2008-04-14 17:44:04.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggiPanic" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiPanic\fR : Exit LibGGI programs for fatal errors
++\fBggiPanic\fR \- Exit LibGGI programs for fatal errors
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+@@ -24,7 +24,7 @@
+ .SH EXAMPLES
+ An unrecoverable error:
+ 
+-.nb
++
+ .nf
+ if (my_important_struct->magic != MAGIC) {
+       ggiPanic("Fatal error: structure is corrupted\en");
+diff -urN libggi-2.2.2.orig/doc/man/ggiParseMode.3 libggi-2.2.2/doc/man/ggiParseMode.3
+--- libggi-2.2.2.orig/doc/man/ggiParseMode.3	2006-12-30 16:03:20.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiParseMode.3	2008-04-14 17:43:48.000000000 -0400
+@@ -1,8 +1,7 @@
+ .TH "ggiParseMode" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiParseMode\fR, \fBggiPrintMode\fR, \fBggiSPrintMode\fR, \fBggiFPrintMode\fR : Parse and print formatted strings specifying modes
++\fBggiParseMode\fR, \fBggiPrintMode\fR, \fBggiSPrintMode\fR, \fBggiFPrintMode\fR \- Parse and print formatted strings specifying modes
+ .SH SYNOPSIS
+-.nb
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggi_pixelformat.3 libggi-2.2.2/doc/man/ggi_pixelformat.3
+--- libggi-2.2.2.orig/doc/man/ggi_pixelformat.3	2006-12-30 16:03:28.000000000 -0500
++++ libggi-2.2.2/doc/man/ggi_pixelformat.3	2008-04-14 17:23:47.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggi_pixelformat" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggi_pixelformat\fR : LibGGI pixel format description
++\fBggi_pixelformat\fR \- LibGGI pixel format description
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiPutc.3 libggi-2.2.2/doc/man/ggiPutc.3
+--- libggi-2.2.2.orig/doc/man/ggiPutc.3	2006-12-30 16:03:21.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiPutc.3	2008-04-14 17:34:11.000000000 -0400
+@@ -1,8 +1,7 @@
+ .TH "ggiPutc" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiPutc\fR, \fBggiPuts\fR, \fBggiGetCharSize\fR : Draw one or more characters on visual
++\fBggiPutc\fR, \fBggiPuts\fR, \fBggiGetCharSize\fR \- Draw one or more characters on visual
+ .SH SYNOPSIS
+-.nb
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiResourceAcquire.3 libggi-2.2.2/doc/man/ggiResourceAcquire.3
+--- libggi-2.2.2.orig/doc/man/ggiResourceAcquire.3	2006-12-30 16:03:21.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiResourceAcquire.3	2008-04-14 17:33:01.000000000 -0400
+@@ -1,8 +1,7 @@
+ .TH "ggiResourceAcquire" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiResourceAcquire\fR, \fBggiResourceRelease\fR, \fBggiResourceMustAcquire\fR : Acquire and release a LibGGI resource
++\fBggiResourceAcquire\fR, \fBggiResourceRelease\fR, \fBggiResourceMustAcquire\fR \- Acquire and release a LibGGI resource
+ .SH SYNOPSIS
+-.nb
+ .nf
+ #include <ggi/ggi.h>
+ 
+@@ -42,7 +41,6 @@
+ .SH EXAMPLES
+ Using DirectBuffers:
+ 
+-.nb
+ .nf
+ const ggi_directbuffer *dbuf;
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiSetColorfulPalette.3 libggi-2.2.2/doc/man/ggiSetColorfulPalette.3
+--- libggi-2.2.2.orig/doc/man/ggiSetColorfulPalette.3	2006-12-30 16:03:20.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiSetColorfulPalette.3	2008-04-14 17:31:36.000000000 -0400
+@@ -1,8 +1,8 @@
+ .TH "ggiSetColorfulPalette" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiSetColorfulPalette\fR : Set a palette with a full range of all colors
++\fBggiSetColorfulPalette\fR \- Set a palette with a full range of all colors
+ .SH SYNOPSIS
+-.nb
++
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiSetDisplayFrame.3 libggi-2.2.2/doc/man/ggiSetDisplayFrame.3
+--- libggi-2.2.2.orig/doc/man/ggiSetDisplayFrame.3	2006-12-30 16:03:20.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiSetDisplayFrame.3	2008-04-14 17:30:35.000000000 -0400
+@@ -1,8 +1,7 @@
+ .TH "ggiSetDisplayFrame" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiSetDisplayFrame\fR, \fBggiSetWriteFrame\fR, \fBggiSetReadFrame\fR, \fBggiGetDisplayFrame\fR, \fBggiGetWriteFrame\fR, \fBggiGetReadFrame\fR : Set or get the current frame for display, writing and reading
++\fBggiSetDisplayFrame\fR, \fBggiSetWriteFrame\fR, \fBggiSetReadFrame\fR, \fBggiGetDisplayFrame\fR, \fBggiGetWriteFrame\fR, \fBggiGetReadFrame\fR \- Set or get the current frame for display, writing and reading
+ .SH SYNOPSIS
+-.nb
+ .nf
+ #include <ggi/ggi.h>
+ 
+@@ -52,7 +51,6 @@
+ 
+ Wrong (causes flickering):
+ 
+-.nb
+ .nf
+ ggiSetWriteFrame(vis, framenr);
+ ggiSetDisplayFrame(vis, framenr);
+@@ -62,7 +60,6 @@
+ 
+ Right:
+ 
+-.nb
+ .nf
+ ggiSetWriteFrame(vis, framenr);
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiSetFlags.3 libggi-2.2.2/doc/man/ggiSetFlags.3
+--- libggi-2.2.2.orig/doc/man/ggiSetFlags.3	2006-12-30 16:03:21.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiSetFlags.3	2008-04-14 17:29:28.000000000 -0400
+@@ -1,8 +1,7 @@
+ .TH "ggiSetFlags" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiSetFlags\fR, \fBggiGetFlags\fR, \fBggiAddFlags\fR, \fBggiRemoveFlags\fR : Set or get flags affecting operation on a visual
++\fBggiSetFlags\fR, \fBggiGetFlags\fR, \fBggiAddFlags\fR, \fBggiRemoveFlags\fR \- Set or get flags affecting operation on a visual
+ .SH SYNOPSIS
+-.nb
+ .nf
+ #include <ggi/ggi.h>
+ 
+@@ -107,7 +106,6 @@
+ 
+ Setting up asynchronous mode:
+ 
+-.nb
+ .nf
+ ggiAddFlags(vis, GGIFLAG_ASYNC);      /* switches to asynchronous mode */
+ ggiFlush(vis);                        /* updates the screen */
+diff -urN libggi-2.2.2.orig/doc/man/ggiSetGCClipping.3 libggi-2.2.2/doc/man/ggiSetGCClipping.3
+--- libggi-2.2.2.orig/doc/man/ggiSetGCClipping.3	2006-12-30 16:03:20.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiSetGCClipping.3	2008-04-14 17:29:13.000000000 -0400
+@@ -1,8 +1,7 @@
+ .TH "ggiSetGCClipping" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiSetGCClipping\fR, \fBggiGetGCClipping\fR : Set or get the clipping rectangle for a visual
++\fBggiSetGCClipping\fR, \fBggiGetGCClipping\fR \- Set or get the clipping rectangle for a visual
+ .SH SYNOPSIS
+-.nb
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiSetGCForeground.3 libggi-2.2.2/doc/man/ggiSetGCForeground.3
+--- libggi-2.2.2.orig/doc/man/ggiSetGCForeground.3	2006-12-30 16:03:20.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiSetGCForeground.3	2008-04-14 17:28:55.000000000 -0400
+@@ -1,8 +1,7 @@
+ .TH "ggiSetGCForeground" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiSetGCForeground\fR, \fBggiGetGCForeground\fR, \fBggiSetGCBackground\fR, \fBggiGetGCBackground\fR : Set or get the foreground or background color used in drawing operations in a visual
++\fBggiSetGCForeground\fR, \fBggiGetGCForeground\fR, \fBggiSetGCBackground\fR, \fBggiGetGCBackground\fR \- Set or get the foreground or background color used in drawing operations in a visual
+ .SH SYNOPSIS
+-.nb
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiSetMode.3 libggi-2.2.2/doc/man/ggiSetMode.3
+--- libggi-2.2.2.orig/doc/man/ggiSetMode.3	2006-12-30 16:03:19.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiSetMode.3	2008-04-14 17:27:54.000000000 -0400
+@@ -1,8 +1,7 @@
+ .TH "ggiSetMode" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiSetMode\fR, \fBggiGetMode\fR : Set or get a mode on a visual
++\fBggiSetMode\fR, \fBggiGetMode\fR \- Set or get a mode on a visual
+ .SH SYNOPSIS
+-.nb
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiSetOrigin.3 libggi-2.2.2/doc/man/ggiSetOrigin.3
+--- libggi-2.2.2.orig/doc/man/ggiSetOrigin.3	2006-12-30 16:03:21.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiSetOrigin.3	2008-04-14 17:27:29.000000000 -0400
+@@ -1,8 +1,7 @@
+ .TH "ggiSetOrigin" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiSetOrigin\fR, \fBggiGetOrigin\fR : Set and get origin of virtual screen
++\fBggiSetOrigin\fR, \fBggiGetOrigin\fR \- Set and get origin of virtual screen
+ .SH SYNOPSIS
+-.nb
+ .nf
+ #include <ggi/ggi.h>
+ 
+@@ -42,7 +41,6 @@
+ .SH EXAMPLES
+ Pan from the top to the bottom of the virtual screen:
+ 
+-.nb
+ .nf
+ for(i = 0; i < virt_y-visible_y; i++) {
+       ggiSetOrigin(vis, 0, i);
+diff -urN libggi-2.2.2.orig/doc/man/ggiSetPalette.3 libggi-2.2.2/doc/man/ggiSetPalette.3
+--- libggi-2.2.2.orig/doc/man/ggiSetPalette.3	2006-12-30 16:03:20.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiSetPalette.3	2008-04-14 17:27:13.000000000 -0400
+@@ -1,8 +1,7 @@
+ .TH "ggiSetPalette" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiSetPalette\fR, \fBggiGetPalette\fR : Manipulate the palette of a visual
++\fBggiSetPalette\fR, \fBggiGetPalette\fR \- Manipulate the palette of a visual
+ .SH SYNOPSIS
+-.nb
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiSetTextMode.3 libggi-2.2.2/doc/man/ggiSetTextMode.3
+--- libggi-2.2.2.orig/doc/man/ggiSetTextMode.3	2006-12-30 16:03:19.000000000 -0500
++++ libggi-2.2.2/doc/man/ggiSetTextMode.3	2008-04-14 17:27:02.000000000 -0400
+@@ -1,8 +1,7 @@
+ .TH "ggiSetTextMode" 3 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiSetTextMode\fR, \fBggiSetGraphMode\fR, \fBggiSetSimpleMode\fR : Set a specific type of mode on a visual [DEPRECATED]
++\fBggiSetTextMode\fR, \fBggiSetGraphMode\fR, \fBggiSetSimpleMode\fR \- Set a specific type of mode on a visual [DEPRECATED]
+ .SH SYNOPSIS
+-.nb
+ .nf
+ #include <ggi/ggi.h>
+ 
+diff -urN libggi-2.2.2.orig/doc/man/ggiteleserver.1 libggi-2.2.2/doc/man/ggiteleserver.1
+--- libggi-2.2.2.orig/doc/man/ggiteleserver.1	2005-09-21 17:10:06.000000000 -0400
++++ libggi-2.2.2/doc/man/ggiteleserver.1	2008-04-13 10:41:20.000000000 -0400
+@@ -1,10 +1,9 @@
+ .TH "ggiteleserver" 1 "2005-03-11" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBggiteleserver\fR : GGI display server
++\fBggiteleserver\fR \- GGI display server
+ .SH SYNOPSIS
+-.nb
+ .nf
+-ggiteleserver [-V|--version] [-h|--help] [-t <target>] [-d <display>]
++ggiteleserver [\-V|\-\-version] [\-h|\-\-help] [\-t <target>] [\-d <display>]
+ .fi
+ 
+ .SH DESCRIPTION
+diff -urN libggi-2.2.2.orig/doc/man/libggi.7 libggi-2.2.2/doc/man/libggi.7
+--- libggi-2.2.2.orig/doc/man/libggi.7	2006-12-30 16:03:33.000000000 -0500
++++ libggi-2.2.2/doc/man/libggi.7	2008-04-13 09:47:59.000000000 -0400
+@@ -1,6 +1,6 @@
+ .TH "libggi" 7 "2006-12-30" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBlibggi\fR : A fast, simple, small and flexible user-space graphics library
++\fBlibggi\fR \- A fast, simple, small and flexible user-space graphics library
+ .SH DESCRIPTION
+ LibGGI is a fast, simple, small and flexible user-space graphics
+ library developed by the GGI Project. It attempts to abstract the
+@@ -219,7 +219,6 @@
+ .SH EXAMPLES
+ Example \fBGGI_DISPLAY\fR settings:
+ 
+-.nb
+ .nf
+ # see ASCII art flying GGIs
+ 
+@@ -234,7 +233,6 @@
+ 
+ Example \fBGGI_INPUT\fR string:
+ 
+-.nb
+ .nf
+ $ export GGI_INPUT=linux-mouse:auto
+ 
+diff -urN libggi-2.2.2.orig/doc/man/monitest.1 libggi-2.2.2/doc/man/monitest.1
+--- libggi-2.2.2.orig/doc/man/monitest.1	2005-09-21 17:09:59.000000000 -0400
++++ libggi-2.2.2/doc/man/monitest.1	2008-04-13 09:53:50.000000000 -0400
+@@ -1,8 +1,7 @@
+ .TH "monitest" 1 "2003-04-02" "libggi-2.2.x" GGI
+ .SH NAME
+-\fBmonitest\fR : Monitor test program
++\fBmonitest\fR \- Monitor test program
+ .SH SYNOPSIS
+-.nb
+ .nf
+ monitest [modestring]
+ .fi
+@@ -10,8 +9,7 @@
+ .SH DESCRIPTION
+ \fBmonitest\fR is intended to test ggi drivers (during development) and
+ the optical quality of monitors (later). Don't be too disappointed if
+-you find a weakness in your monitor, mine is probably worse than yours
+-...
++you find a weakness in your monitor, mine is probably worse than yours.
+ 
+ The main feature is a test screen like broadcast in former days before
+ 24 hour TV programs. It is used to test geometry and resolution of the
--- libggi-2.2.2.orig/debian/patches/03_fix_as-needed.diff
+++ libggi-2.2.2/debian/patches/03_fix_as-needed.diff
@@ -0,0 +1,30 @@
+--- a/ltmain.sh.orig	2006-03-29 15:45:36.000000000 +0200
++++ b/ltmain.sh	2006-03-29 16:39:30.000000000 +0200
+@@ -3276,6 +3276,11 @@
+ 	arg=$func_stripname_result
+ 	;;
+ 
++      -Wl,--as-needed)
++	deplibs="$deplibs $arg"
++	continue
++	;;
++      
+       -Wl,*)
+ 	func_stripname '-Wl,' '' "$arg"
+ 	args=$func_stripname_result
+@@ -3618,6 +3623,15 @@
+ 	lib=
+ 	found=no
+ 	case $deplib in
++	-Wl,--as-needed)
++	  if test "$linkmode,$pass" = "prog,link"; then
++	    compile_deplibs="$deplib $compile_deplibs"
++	    finalize_deplibs="$deplib $finalize_deplibs"
++	  else
++	    deplibs="$deplib $deplibs"
++	  fi
++	  continue
++	  ;;
+ 	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
+ 	  if test "$linkmode,$pass" = "prog,link"; then
+ 	    compile_deplibs="$deplib $compile_deplibs"