summaryrefslogtreecommitdiff
path: root/graphics/passepartout
diff options
context:
space:
mode:
authorJeremy Messenger <mezz@FreeBSD.org>2006-12-17 05:08:34 +0000
committerJeremy Messenger <mezz@FreeBSD.org>2006-12-17 05:08:34 +0000
commit1ba15423054fd0f7f53b043635477c8522d27715 (patch)
tree608cc7a91cca9e9d8110389cef2e7d49b51eb9cc /graphics/passepartout
parent- Update to 20061216 (diff)
-Update to 0.6.
-Use USE_FAM instead of LIB_DEPENDS=fam[...]. -Remove FreeBSD 4.x patches and mark it as IGNORE, we don't support it anymore. -Add several useful patches from Ubuntu Linux. * patch-01_gnomecanvasmm: Build with gnomecanvasmm-2.6, gtkmm-2.4 and sigc++-2.0. * patch-02_gcc-4.0: Build with gcc-4.0. [1] * patch-03_windowmenus: Use internal about dialog, not gtk's. * patch-06_freetype_makefile: Fix Includes for building libps.a. * patch-07_gcc-4.1: Build with gcc-4.1 [1] * patch-99_autotools: Update automake, autoconf and etc. Reported by: krismail [1]
Notes
Notes: svn path=/head/; revision=179991
Diffstat (limited to 'graphics/passepartout')
-rw-r--r--graphics/passepartout/Makefile14
-rw-r--r--graphics/passepartout/distinfo6
-rw-r--r--graphics/passepartout/files/extra-patch-old_cxx92
-rw-r--r--graphics/passepartout/files/patch-01_gnomecanvasmm1962
-rw-r--r--graphics/passepartout/files/patch-02_gcc-4.061
-rw-r--r--graphics/passepartout/files/patch-03_windowmenus21
-rw-r--r--graphics/passepartout/files/patch-06_freetype_makefile19
-rw-r--r--graphics/passepartout/files/patch-07_gcc-4.150
-rw-r--r--graphics/passepartout/files/patch-99_autotools2279
-rw-r--r--graphics/passepartout/files/patch-src::pptout::document::getxsltparams.cc10
-rw-r--r--graphics/passepartout/files/patch-src::pptout::document::textstream.h10
-rw-r--r--graphics/passepartout/files/patch-src::pptout::postscriptviewent.h10
-rw-r--r--graphics/passepartout/files/patch-src::pptout::widget::dialogwrap.cc14
-rw-r--r--graphics/passepartout/files/patch-src::ps::pdf.cc16
-rw-r--r--graphics/passepartout/files/patch-src::testbed::testbed.cc19
-rw-r--r--graphics/passepartout/files/patch-src::util::cmdline.cc10
-rw-r--r--graphics/passepartout/files/patch-src::util::filesys.cc11
-rw-r--r--graphics/passepartout/files/patch-src::util::filesys.h10
-rw-r--r--graphics/passepartout/files/patch-src::util::filewatcher.h10
-rw-r--r--graphics/passepartout/files/patch-src::util::processman.h10
-rw-r--r--graphics/passepartout/files/patch-src::util::valueuint.h23
-rw-r--r--graphics/passepartout/files/patch-src::xml2ps::pagedstream.cc11
-rw-r--r--graphics/passepartout/pkg-plist9
23 files changed, 4410 insertions, 267 deletions
diff --git a/graphics/passepartout/Makefile b/graphics/passepartout/Makefile
index a8d809810ca8..b4c36ac6d235 100644
--- a/graphics/passepartout/Makefile
+++ b/graphics/passepartout/Makefile
@@ -4,18 +4,18 @@
#
# $FreeBSD$
# $MCom: ports/graphics/passepartout/Makefile,v 1.4 2006/09/30 15:31:05 ahze Exp $
+#
PORTNAME= passepartout
-PORTVERSION= 0.4
-PORTREVISION= 10
+PORTVERSION= 0.6
CATEGORIES= graphics gnome
MASTER_SITES= http://www.stacken.kth.se/project/pptout/files/
MAINTAINER= gnome@FreeBSD.org
COMMENT= DTP application for X
-LIB_DEPENDS= gtkmm-2.0:${PORTSDIR}/x11-toolkits/gtkmm20 \
- xml\\+\\+-1.0:${PORTSDIR}/textproc/libxml++
+LIB_DEPENDS= xml\\+\\+-1.0:${PORTSDIR}/textproc/libxml++ \
+ gnomecanvasmm-2.6:${PORTSDIR}/graphics/libgnomecanvasmm26
RUN_DEPENDS= xsltproc:${PORTSDIR}/textproc/libxslt
USE_BZIP2= yes
@@ -25,12 +25,12 @@ GNU_CONFIGURE= yes
CONFIGURE_ENV= CFALGS=-I${LOCALBASE}/include \
LDFLAGS=-L${LOCALBASE}/lib
-MAN1= xml2ps.1 passepartout.1x
+MAN1= xml2ps.1 passepartout.1x
.include <bsd.port.pre.mk>
.if ${OSVERSION} < 500000
-EXTRA_PATCHES= ${PATCHDIR}/extra-patch-old_cxx
+IGNORE= does not build on FreeBSD 4.x
.endif
.if exists(${LOCALBASE}/lib/libfam.a)
@@ -38,7 +38,7 @@ WITH_FAM= yes
.endif
.if defined(WITH_FAM)
-LIB_DEPENDS+= fam.0:${PORTSDIR}/devel/fam
+USE_FAM= yes
.endif
.include <bsd.port.post.mk>
diff --git a/graphics/passepartout/distinfo b/graphics/passepartout/distinfo
index 5ff925fe0f89..1d942ed40e37 100644
--- a/graphics/passepartout/distinfo
+++ b/graphics/passepartout/distinfo
@@ -1,3 +1,3 @@
-MD5 (passepartout-0.4.tar.bz2) = 45bcf993d165daa654b6f9bce4160be2
-SHA256 (passepartout-0.4.tar.bz2) = ad04d7ec2817b3ff59a0dc053979bff2a617132884cacde019ad0eb556d7eb61
-SIZE (passepartout-0.4.tar.bz2) = 308226
+MD5 (passepartout-0.6.tar.bz2) = 5d35d32dce802a627e48531207db62ce
+SHA256 (passepartout-0.6.tar.bz2) = 5e95c4a35c4762a8a06429303b727f2dd0e250bd55a2fe087639b366723f815e
+SIZE (passepartout-0.6.tar.bz2) = 346041
diff --git a/graphics/passepartout/files/extra-patch-old_cxx b/graphics/passepartout/files/extra-patch-old_cxx
deleted file mode 100644
index 0c64b200766d..000000000000
--- a/graphics/passepartout/files/extra-patch-old_cxx
+++ /dev/null
@@ -1,92 +0,0 @@
---- src/ps/pfb2pfa.cc.orig Fri Oct 31 20:57:37 2003
-+++ src/ps/pfb2pfa.cc Sun Nov 2 11:47:20 2003
-@@ -4,8 +4,8 @@
- #include "encode.h"
-
- void PS::pfb2pfa(std::istream &in, std::ostream &out) {
-- in.exceptions(std::ios_base::eofbit); // throw exception on eof
-- try {
-+// in.exceptions(std::ios_base::eofbit); // throw exception on eof
-+// try {
- while(in) { // parse header
- if (in.peek() != 128)
- throw std::runtime_error("bad magic number for segment");
-@@ -40,9 +40,9 @@
- filter.end();
- }
- }
-- } catch (std::ios_base::failure) {
-- throw std::runtime_error("unexpected end of file");
-- }
-+// } catch (std::ios::failure) {
-+// throw std::runtime_error("unexpected end of file");
-+// }
- }
-
- #ifdef PFB2PFA_STANDALONE
---- src/pptout/docview.cc.orig Sun Nov 2 11:56:40 2003
-+++ src/pptout/docview.cc Sun Nov 2 12:04:37 2003
-@@ -467,7 +467,7 @@
-
- void Document_View::on_clipboard_clear() {
- // not really necessary
-- clip.clear();
-+ clip.resize(0);
- }
-
- void Document_View::cut() {
---- src/util/filesys.h.orig Fri Sep 19 16:46:08 2003
-+++ src/util/filesys.h Thu Dec 4 03:59:31 2003
-@@ -4,7 +4,8 @@
- // Copyright (C) 2002, 2003, Fredrik Arnerup & Rasmus Kaj, See COPYING
- ///
- #include <string>
--#include <ios> // mode for access
-+//#include <ios> // mode for access
-+#include <iostream>
- #include <stdexcept>
-
- /**
---- src/fonts/fontmetrics.cc.orig Thu Dec 4 04:08:47 2003
-+++ src/fonts/fontmetrics.cc Thu Dec 4 10:06:36 2003
-@@ -109,7 +109,8 @@
- cerr << " found " << ch << "!\n";
- #endif
- }
-- source.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
-+// source.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
-+ source.ignore(UINT_MAX,'\n');
- }
- }
-
---- src/util/stringutil.cc.orig Sat Jan 17 23:00:21 2004
-+++ src/util/stringutil.cc Sat Jan 17 23:03:14 2004
-@@ -18,7 +18,7 @@
-
- bool whitespace(char c)
- {
-- return std::isspace(c);
-+ return isspace(c);
- }
-
- std::string strip_whitespace(std::string s, bool front, bool back)
---- src/util/cmdline.cc.orig Mon Jan 12 14:01:33 2004
-+++ src/util/cmdline.cc Sun Jan 18 00:06:17 2004
-@@ -75,7 +75,7 @@
-
- // end of arguments
- if(argi == arguments.end())
-- return std::make_pair(null_option, "");
-+ return std::make_pair(null_option, std::string());
-
- // not an option
- if(argi->at(0) != '-' || seen_double_dash || *argi == "-")
-@@ -146,7 +146,7 @@
- break;
- }
- } else { // not REQ_PARAM
-- arg_queue.push(std::make_pair(option->id, ""));
-+ arg_queue.push(std::make_pair(option->id, std::string()));
- }
- }
- argi++;
diff --git a/graphics/passepartout/files/patch-01_gnomecanvasmm b/graphics/passepartout/files/patch-01_gnomecanvasmm
new file mode 100644
index 000000000000..71cdbab7831e
--- /dev/null
+++ b/graphics/passepartout/files/patch-01_gnomecanvasmm
@@ -0,0 +1,1962 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 01_gnomecanvasmm.dpatch by <gaudenz@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: build with gnomecanvasmm-2.6, gtkmm-2.4 and sigc++-2.0
+
+@DPATCH@
+diff -urNad passepartout-0.6-3~/configure.ac passepartout-0.6-3/configure.ac
+--- passepartout-0.6-3~/configure.ac 2005-12-21 02:16:06.000000000 +0100
++++ configure.ac 2005-12-21 02:24:59.000000000 +0100
+@@ -42,12 +42,12 @@
+
+ AC_SUBST([GTKMM_LIBS])
+ AC_SUBST([GTKMM_CFLAGS])
+-PKG_CHECK_MODULES(GTKMM, gtkmm-2.0)
++PKG_CHECK_MODULES(GTKMM, gtkmm-2.4)
+ AC_APPLY_RPATH([GTKMM_LIBS])
+
+ AC_SUBST([GNOMECANVAS_LIBS])
+ AC_SUBST([GNOMECANVAS_CFLAGS])
+-PKG_CHECK_MODULES(GNOMECANVAS, libgnomecanvasmm-2.0)
++PKG_CHECK_MODULES(GNOMECANVAS, libgnomecanvasmm-2.6)
+ AC_APPLY_RPATH([XMLPP_LIBS])
+
+ AC_SUBST([GTHREAD_LIBS])
+@@ -57,7 +57,7 @@
+
+ AC_SUBST([SIGC_LIBS])
+ AC_SUBST([SIGC_CFLAGS])
+-PKG_CHECK_MODULES([SIGC], [sigc++-1.2])
++PKG_CHECK_MODULES([SIGC], [sigc++-2.0])
+ AC_APPLY_RPATH([SIGC_LIBS])
+
+ AC_SUBST([FREETYPE_LIBS])
+diff -urNad passepartout-0.6-3~/src/pptout/aboutdialog.cc passepartout-0.6-3/src/pptout/aboutdialog.cc
+--- passepartout-0.6-3~/src/pptout/aboutdialog.cc 2005-12-21 02:16:06.000000000 +0100
++++ src/pptout/aboutdialog.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -61,9 +61,11 @@
+ webpage->set_relief(Gtk::RELIEF_NONE);
+ webpage->set_border_width(0);
+ webpage->signal_clicked().connect
+- (bind(slot(*this, &AboutDialog::on_response), OPEN_WEBPAGE));
++ (sigc::bind(sigc::mem_fun(*this, &AboutDialog::on_response),
++ int(OPEN_WEBPAGE)));
+ webpage->signal_activate().connect
+- (bind(slot(*this, &AboutDialog::on_response), OPEN_WEBPAGE));
++ (sigc::bind(sigc::mem_fun(*this, &AboutDialog::on_response),
++ int(OPEN_WEBPAGE)));
+ message->pack_start(*webpage, Gtk::PACK_SHRINK);
+
+ label =
+diff -urNad passepartout-0.6-3~/src/pptout/config.cc passepartout-0.6-3/src/pptout/config.cc
+--- passepartout-0.6-3~/src/pptout/config.cc 2005-12-21 02:16:06.000000000 +0100
++++ src/pptout/config.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -136,7 +136,7 @@
+ if(dialog)
+ return *dialog;
+ dialog = new PreferencesDialog();
+- dialog->signal_hide().connect(slot(*this, &PFile::dialog_done));
++ dialog->signal_hide().connect(sigc::mem_fun(*this, &PFile::dialog_done));
+ return *dialog;
+ }
+
+diff -urNad passepartout-0.6-3~/src/pptout/config.h passepartout-0.6-3/src/pptout/config.h
+--- passepartout-0.6-3~/src/pptout/config.h 2005-12-21 02:16:06.000000000 +0100
++++ src/pptout/config.h 2005-12-21 02:24:59.000000000 +0100
+@@ -34,7 +34,7 @@
+ };
+
+ /// Passepartout-specific config file reader.
+-class PFile: public Config::File, public SigC::Object {
++class PFile: public Config::File, public sigc::trackable {
+ public:
+
+ /// The global instance.
+diff -urNad passepartout-0.6-3~/src/pptout/docmeta.cc passepartout-0.6-3/src/pptout/docmeta.cc
+--- passepartout-0.6-3~/src/pptout/docmeta.cc 2005-12-21 02:16:06.000000000 +0100
++++ src/pptout/docmeta.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -19,7 +19,7 @@
+ // document = orig.document;
+ // }
+
+-SigC::Signal0<void>& DocMeta::changed_signal() {
++sigc::signal<void>& DocMeta::changed_signal() {
+ return data->changed_signal;
+ }
+
+diff -urNad passepartout-0.6-3~/src/pptout/docmeta.h passepartout-0.6-3/src/pptout/docmeta.h
+--- passepartout-0.6-3~/src/pptout/docmeta.h 2005-12-21 02:16:06.000000000 +0100
++++ src/pptout/docmeta.h 2005-12-21 02:24:59.000000000 +0100
+@@ -18,7 +18,7 @@
+ Document* operator->() const { return document.operator->(); }
+
+ /** Returns a signal that is emitted when the data has changed. */
+- SigC::Signal0<void>& changed_signal();
++ sigc::signal<void>& changed_signal();
+
+ const Glib::ustring& get_filename() const { return data->filename; }
+ void set_filename(const Glib::ustring &filename);
+@@ -28,7 +28,7 @@
+ private:
+ class DocData: public RefCounted {
+ public:
+- SigC::Signal0<void> changed_signal;
++ sigc::signal<void> changed_signal;
+ Glib::ustring filename;
+ };
+ Glib::RefPtr<DocData> data;
+diff -urNad passepartout-0.6-3~/src/pptout/docpropsdialog.cc passepartout-0.6-3/src/pptout/docpropsdialog.cc
+--- passepartout-0.6-3~/src/pptout/docpropsdialog.cc 2005-12-21 02:16:06.000000000 +0100
++++ src/pptout/docpropsdialog.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -142,7 +142,7 @@
+ create_button = add_button(Gtk::Stock::NEW, 1);
+
+ template_button->signal_clicked().connect
+- (slot(*this, &DocPropsDialog::update_mode));
++ (sigc::mem_fun(*this, &DocPropsDialog::update_mode));
+ update_mode();
+
+ get_vbox()->show_all();
+diff -urNad passepartout-0.6-3~/src/pptout/document/document.cc passepartout-0.6-3/src/pptout/document/document.cc
+--- passepartout-0.6-3~/src/pptout/document/document.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/document/document.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -24,10 +24,10 @@
+ #include "ps/type42.h"
+ #include "ps/pdf.h"
+
+-SigC::Signal1<void, DocRef> Document::changed_signal;
+-SigC::Signal1<void, DocRef> Document::size_changed_signal;
+-SigC::Signal1<void, DocRef> Document::selection_changed_signal;
+-SigC::Signal1<void, DocRef> Document::streams_changed_signal;
++sigc::signal<void, DocRef> Document::changed_signal;
++sigc::signal<void, DocRef> Document::size_changed_signal;
++sigc::signal<void, DocRef> Document::selection_changed_signal;
++sigc::signal<void, DocRef> Document::streams_changed_signal;
+
+ namespace { // local
+ class NameOrder {
+diff -urNad passepartout-0.6-3~/src/pptout/document/document.h passepartout-0.6-3/src/pptout/document/document.h
+--- passepartout-0.6-3~/src/pptout/document/document.h 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/document/document.h 2005-12-21 02:24:59.000000000 +0100
+@@ -38,10 +38,10 @@
+ typedef std::list<Pagent*> Selection;
+ typedef std::list<TextStream*> StreamVec;
+
+- static SigC::Signal1<void, DocRef> changed_signal;
+- static SigC::Signal1<void, DocRef> size_changed_signal;
+- static SigC::Signal1<void, DocRef> selection_changed_signal;
+- static SigC::Signal1<void, DocRef> streams_changed_signal;
++ static sigc::signal<void, DocRef> changed_signal;
++ static sigc::signal<void, DocRef> size_changed_signal;
++ static sigc::signal<void, DocRef> selection_changed_signal;
++ static sigc::signal<void, DocRef> streams_changed_signal;
+
+ static DocRef null() { return DocRef(); }
+
+diff -urNad passepartout-0.6-3~/src/pptout/document/group.h passepartout-0.6-3/src/pptout/document/group.h
+--- passepartout-0.6-3~/src/pptout/document/group.h 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/document/group.h 2005-12-21 02:24:59.000000000 +0100
+@@ -53,7 +53,7 @@
+ virtual void child_geometry_changed(Pagent *pagent);
+
+ /** Raised on direct changes to the group (i.e. new / ungrouped member) */
+- SigC::Signal1<void, Pagent*> group_changed_signal;
++ sigc::signal<void, Pagent*> group_changed_signal;
+ private:
+ Boundary Group::get_untransformed_box() const;
+
+diff -urNad passepartout-0.6-3~/src/pptout/document/imageframe.cc passepartout-0.6-3/src/pptout/document/imageframe.cc
+--- passepartout-0.6-3~/src/pptout/document/imageframe.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/document/imageframe.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -28,8 +28,8 @@
+ : CachedFrame(parent, "Image " + basename(assoc)),
+ association(assoc), filewatcher(association)
+ {
+- filewatcher.modified_signal.connect(slot(*this,
+- &ImageFrame::on_file_modified));
++ filewatcher.modified_signal.connect
++ (sigc::mem_fun(*this, &ImageFrame::on_file_modified));
+ read_size();
+ }
+
+@@ -38,8 +38,8 @@
+ association(xml.get_filename("file")),
+ filewatcher(association)
+ {
+- filewatcher.modified_signal.connect(slot(*this,
+- &ImageFrame::on_file_modified));
++ filewatcher.modified_signal.connect
++ (sigc::mem_fun(*this, &ImageFrame::on_file_modified));
+
+ if(association.empty()) {
+ warning << "No or empty \"file\" attribute found in image frame"
+diff -urNad passepartout-0.6-3~/src/pptout/document/pagent.cc passepartout-0.6-3/src/pptout/document/pagent.cc
+--- passepartout-0.6-3~/src/pptout/document/pagent.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/document/pagent.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -19,7 +19,7 @@
+ obstacle_margin(0)
+ {
+ // a geometry change implies a properties change
+- geometry_changed_signal.connect(props_changed_signal.slot());
++ geometry_changed_signal.connect(props_changed_signal.make_slot());
+ // a geometry change does NOT imply a redraw
+
+ connect_to_parent();
+@@ -119,13 +119,12 @@
+ // a group would need to maintain a list of connections.
+ // Note: we will get multible implicit signals.
+ if(parent) {
+- using SigC::slot;
+- geometry_connection = geometry_changed_signal.connect
+- (slot(*parent, &Group::child_geometry_changed));
+-
+- props_connection = props_changed_signal.connect
+- (slot(*parent, &Group::child_props_changed));
+- }
++ geometry_connection = geometry_changed_signal.connect
++ (sigc::mem_fun(*parent, &Group::child_geometry_changed));
++
++ props_connection = props_changed_signal.connect
++ (sigc::mem_fun(*parent, &Group::child_props_changed));
++ }
+ }
+
+ Pagent::Resizable::~Resizable() {}
+diff -urNad passepartout-0.6-3~/src/pptout/document/pagent.h passepartout-0.6-3/src/pptout/document/pagent.h
+--- passepartout-0.6-3~/src/pptout/document/pagent.h 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/document/pagent.h 2005-12-21 02:24:59.000000000 +0100
+@@ -6,7 +6,7 @@
+ #include "util/matrix.h"
+ #include "util/boundary.h"
+ #include "ps/pdf.h"
+-#include <sigc++/object.h>
++#include <sigc++/connection.h>
+ #include <sigc++/signal.h>
+ #include <libxml++/nodes/element.h>
+ #include <string>
+@@ -30,7 +30,7 @@
+ * A Pagent has a size and a transformation matrix that defines where on the
+ * Page it is.
+ */
+-class Pagent: public SigC::Object {
++class Pagent: public sigc::trackable {
+ public:
+ Pagent(Group *_parent, const std::string& _name);
+ virtual ~Pagent();
+@@ -103,13 +103,13 @@
+ Group& get_parent();
+
+ /** There was a change in the source object for this Pagent. */
+- SigC::Signal1<void, Pagent*> object_changed_signal;
++ sigc::signal<void, Pagent*> object_changed_signal;
+
+ /** Anything has changed, anything at all, including position and shape. */
+- SigC::Signal1<void, Pagent*> props_changed_signal;
++ sigc::signal<void, Pagent*> props_changed_signal;
+
+ /** the pagent has changed shape / position */
+- SigC::Signal1<void, Pagent*> geometry_changed_signal;
++ sigc::signal<void, Pagent*> geometry_changed_signal;
+
+ /**
+ * Resizability contract for Pagents. That a Pagent inherits Resizable
+@@ -132,7 +132,7 @@
+ float obstacle_margin;
+
+ // connections to parent
+- SigC::Connection draw_connection, geometry_connection, props_connection;
++ sigc::connection draw_connection, geometry_connection, props_connection;
+ void connect_to_parent();
+
+ private:
+diff -urNad passepartout-0.6-3~/src/pptout/document/rasterframe.cc passepartout-0.6-3/src/pptout/document/rasterframe.cc
+--- passepartout-0.6-3~/src/pptout/document/rasterframe.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/document/rasterframe.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -20,8 +20,8 @@
+ if(association.empty())
+ throw Error::Read("\"file\" attribute missing or empty in RasterFrame");
+
+- filewatcher.modified_signal.connect(slot(*this,
+- &RasterFrame::on_file_modified));
++ filewatcher.modified_signal.connect
++ (sigc::mem_fun(*this, &RasterFrame::on_file_modified));
+ on_file_modified();
+
+ // Handle widht and height for backwards compatibility
+@@ -40,8 +40,8 @@
+ : BasicFrame(parent, "Raster " + basename(filename)),
+ association(filename), filewatcher(association)
+ {
+- filewatcher.modified_signal.connect(slot(*this,
+- &RasterFrame::on_file_modified));
++ filewatcher.modified_signal.connect
++ (sigc::mem_fun(*this, &RasterFrame::on_file_modified));
+
+ try {
+ filepixbuf = Gdk::Pixbuf::create_from_file(association);
+diff -urNad passepartout-0.6-3~/src/pptout/document/textframe.cc passepartout-0.6-3/src/pptout/document/textframe.cc
+--- passepartout-0.6-3~/src/pptout/document/textframe.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/document/textframe.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -30,7 +30,7 @@
+ if(text_stream)
+ text_stream->add_frame(this);
+ signal_end_write_ps.connect
+- (slot(*this, &TextFrame::_end_write_ps));
++ (sigc::mem_fun(*this, &TextFrame::_end_write_ps));
+ }
+
+ TextFrame::TextFrame(const ElementWrap& xml, Group *parent)
+@@ -54,7 +54,7 @@
+ + "\" for text frame");
+ } // If stream is not present text_stream is null. This is ok.
+ signal_end_write_ps.connect
+- (slot(*this, &TextFrame::_end_write_ps));
++ (sigc::mem_fun(*this, &TextFrame::_end_write_ps));
+ }
+
+ TextFrame::~TextFrame() {
+diff -urNad passepartout-0.6-3~/src/pptout/document/textframe.h passepartout-0.6-3/src/pptout/document/textframe.h
+--- passepartout-0.6-3~/src/pptout/document/textframe.h 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/document/textframe.h 2005-12-21 02:24:59.000000000 +0100
+@@ -47,7 +47,7 @@
+
+ /** Emitted when the frame is or stops being the last frame of a
+ * truncated stream. */
+- SigC::Signal1<void, bool> truncated_state_changed_signal;
++ sigc::signal<void, bool> truncated_state_changed_signal;
+
+ // the frame will not try to read the ps between calls to
+ // begin- and end_write_ps
+diff -urNad passepartout-0.6-3~/src/pptout/document/textstream.cc passepartout-0.6-3/src/pptout/document/textstream.cc
+--- passepartout-0.6-3~/src/pptout/document/textstream.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/document/textstream.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -86,7 +86,7 @@
+ }
+
+
+-class TextStream::WorkerThread : public SigC::Object {
++class TextStream::WorkerThread : public sigc::trackable {
+ public:
+ static Glib::RefPtr<WorkerThread> create(TextStream& stream,
+ const Frames& frames) {
+@@ -96,9 +96,7 @@
+ return tmp;
+ }
+
+- /// replaces SigC::Object::reference
+ void reference() const { ++count_; }
+- /// replaces SigC::Object::unreference
+ void unreference() const { if(--count_ == 0) delete this; }
+
+ bool is_done();
+@@ -130,7 +128,7 @@
+ Frames sorted_frames;
+ bool truncated;
+ Glib::Dispatcher signal_done, signal_error;
+- SigC::Connection proc_stop_connection;
++ sigc::connection proc_stop_connection;
+ Glib::Thread* thread;
+ Process xformproc;
+ Glib::RefPtr<xml2ps::PsCanvas> new_canvas;
+@@ -139,15 +137,15 @@
+ TextStream::WorkerThread::WorkerThread(TextStream& s, const Frames& frames)
+ : count_(0), stream(s), sorted_frames(frames), truncated(false),
+ proc_stop_connection(ProcessManager::instance().process_stopped.connect
+- (SigC::slot(*this,
++ (sigc::mem_fun(*this,
+ &WorkerThread::process_stopped)))
+ {
+ sorted_frames.sort(SortingPredicate());
+
+- signal_done.connect(SigC::slot(*this, &WorkerThread::on_done));
+- signal_error.connect(SigC::slot(*this, &WorkerThread::on_error));
++ signal_done.connect(sigc::mem_fun(*this, &WorkerThread::on_done));
++ signal_error.connect(sigc::mem_fun(*this, &WorkerThread::on_error));
+
+- thread = Glib::Thread::create(SigC::slot(*this, &WorkerThread::run), false);
++ thread = Glib::Thread::create(sigc::mem_fun(*this, &WorkerThread::run), false);
+ debug << "Started thread " << thread << " from " << Glib::Thread::self()
+ << std::endl;
+
+@@ -181,12 +179,12 @@
+ parameters[*i] = "";
+
+ association_watcher.modified_signal.connect
+- (SigC::slot(*this, &TextStream::on_file_modified));
++ (sigc::mem_fun(*this, &TextStream::on_file_modified));
+ transform_watcher.modified_signal.connect
+- (SigC::slot(*this, &TextStream::on_file_modified));
++ (sigc::mem_fun(*this, &TextStream::on_file_modified));
+
+ // make sure Gtk::main() is running
+- Glib::signal_idle().connect(SigC::slot(*this, &TextStream::on_idle));
++ Glib::signal_idle().connect(sigc::mem_fun(*this, &TextStream::on_idle));
+ }
+
+ TextStream::TextStream(const ElementWrap& xml)
+@@ -218,12 +216,12 @@
+ }
+
+ association_watcher.modified_signal.connect
+- (SigC::slot(*this, &TextStream::on_file_modified));
++ (sigc::mem_fun(*this, &TextStream::on_file_modified));
+ transform_watcher.modified_signal.connect
+- (SigC::slot(*this, &TextStream::on_file_modified));
++ (sigc::mem_fun(*this, &TextStream::on_file_modified));
+
+ // make sure Gtk::main() is running
+- Glib::signal_idle().connect(SigC::slot(*this, &TextStream::on_idle));
++ Glib::signal_idle().connect(sigc::mem_fun(*this, &TextStream::on_idle));
+ }
+
+ TextStream::~TextStream() {
+@@ -399,7 +397,10 @@
+ started.open();
+
+ debug << "running internal xml2ps ..." << std::endl;
+- new_canvas = (new xml2ps::PsCanvas(pages, false /* no extra pages */));
++ xml2ps::PsCanvas *tmp =
++ new xml2ps::PsCanvas(pages, false /* no extra pages */);
++ tmp->reference(); // refcount starts at 0
++ new_canvas = Glib::RefPtr<xml2ps::PsCanvas>(tmp);
+ new_canvas->setSubstituteFontAliases(true);
+ xml2ps::PsConverter parser(*new_canvas.operator->());
+ try {
+diff -urNad passepartout-0.6-3~/src/pptout/document/textstream.h passepartout-0.6-3/src/pptout/document/textstream.h
+--- passepartout-0.6-3~/src/pptout/document/textstream.h 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/document/textstream.h 2005-12-21 02:24:59.000000000 +0100
+@@ -29,7 +29,7 @@
+ * TextStream::generate_ps_request which will run xml2ps if
+ * necessary. This also happens when a frame is resized.
+ */
+-class TextStream: public SigC::Object {
++class TextStream: public sigc::trackable {
+ public:
+ /**
+ * Create a new TextStream.
+diff -urNad passepartout-0.6-3~/src/pptout/docview.cc passepartout-0.6-3/src/pptout/docview.cc
+--- passepartout-0.6-3~/src/pptout/docview.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/docview.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -230,11 +230,11 @@
+ current_page_num = document->get_first_page_num();
+
+ Document::size_changed_signal.connect
+- (slot(*this, &DocumentView::update_document_size));
++ (sigc::mem_fun(*this, &DocumentView::update_document_size));
+ Document::changed_signal.connect
+- (slot(*this, &DocumentView::act_on_document_change));
++ (sigc::mem_fun(*this, &DocumentView::act_on_document_change));
+ Document::selection_changed_signal.connect
+- (slot(*this, &DocumentView::act_on_selection_change));
++ (sigc::mem_fun(*this, &DocumentView::act_on_selection_change));
+ } else {
+ no_pages_group.hide();
+ }
+@@ -313,7 +313,7 @@
+
+ // Update handles when we turn pages
+ current_page_num_changed_signal.connect
+- (slot(*this, &DocumentView::update_handles));
++ (sigc::mem_fun(*this, &DocumentView::update_handles));
+ }
+
+ DocumentView::~DocumentView() {
+@@ -446,8 +446,8 @@
+ std::list<Gtk::TargetEntry> target_list;
+ target_list.push_back(Gtk::TargetEntry(pptout_target));
+ clipboard->set(target_list,
+- SigC::slot(*this, &DocumentView::on_clipboard_get),
+- SigC::slot(*this, &DocumentView::on_clipboard_clear));
++ sigc::mem_fun(*this, &DocumentView::on_clipboard_get),
++ sigc::mem_fun(*this, &DocumentView::on_clipboard_clear));
+
+ // store an XML representation of the selected pagents
+ xmlpp::Document rep;
+@@ -504,7 +504,7 @@
+
+ Glib::RefPtr<Gtk::Clipboard> clipboard = Gtk::Clipboard::get();
+ clipboard->request_contents
+- (pptout_target, SigC::slot(*this, &DocumentView::on_clipboard_received));
++ (pptout_target, sigc::mem_fun(*this, &DocumentView::on_clipboard_received));
+ }
+
+ void
+@@ -682,7 +682,7 @@
+ return true;
+ }
+
+-Gdk::Cursor DocumentView::get_cursor(int x, int y) {
++Gdk::CursorType DocumentView::get_cursor(int x, int y) {
+ DocRef document = get_document();
+ if(!document)
+ return Gdk::LEFT_PTR;
+@@ -721,7 +721,7 @@
+ }
+
+ void DocumentView::update_cursor(int x, int y) {
+- win->set_cursor(get_cursor(x, y));
++ win->set_cursor(Gdk::Cursor(get_cursor(x, y)));
+ }
+
+ namespace {
+@@ -997,10 +997,10 @@
+ selected_geometry_connection.disconnect();
+ selected_props_connection.disconnect();
+ selected_geometry_connection = pagent->geometry_changed_signal.connect
+- (SigC::hide<Pagent*>(slot(*this, &DocumentView::update_handles)));
++ (sigc::hide(sigc::mem_fun(*this, &DocumentView::update_handles)));
+ // this is for noticing if the pagent is being locked/unlocked
+ selected_props_connection = pagent->props_changed_signal.connect
+- (SigC::hide<Pagent*>(slot(*this, &DocumentView::update_handles)));
++ (sigc::hide(sigc::mem_fun(*this, &DocumentView::update_handles)));
+ }
+ ResizeHandles pos = get_resize_handles(*pagent);
+ assert(pos.size() == 8);
+diff -urNad passepartout-0.6-3~/src/pptout/docview.h passepartout-0.6-3/src/pptout/docview.h
+--- passepartout-0.6-3~/src/pptout/docview.h 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/docview.h 2005-12-21 02:24:59.000000000 +0100
+@@ -21,10 +21,10 @@
+
+ class DocumentView: public Gnome::Canvas::Canvas, public View {
+ public:
+- SigC::Signal0<void> current_page_num_changed_signal;
+- SigC::Signal0<void> document_changed_signal;
+- SigC::Signal0<void> document_set_signal;
+- SigC::Signal1<void, float> zoom_change_signal;
++ sigc::signal<void> current_page_num_changed_signal;
++ sigc::signal<void> document_changed_signal;
++ sigc::signal<void> document_set_signal;
++ sigc::signal<void, float> zoom_change_signal;
+
+ Gdk::Color white, black, gray, red;
+
+@@ -90,9 +90,9 @@
+ Gnome::Canvas::Rect *handles[8]; /// managed by the canvas
+
+ /// a connection to the selected pagents geometry_changed_signal
+- SigC::Connection selected_geometry_connection;
++ sigc::connection selected_geometry_connection;
+ /// a connection to the selected pagents props_changed_signal
+- SigC::Connection selected_props_connection;
++ sigc::connection selected_props_connection;
+ /// keep track of which pagent the connection is to
+ Pagent *last_selected;
+
+@@ -138,12 +138,12 @@
+ void act_on_document_change(DocRef document_);
+ void act_on_selection_change(DocRef document_);
+ void update_document_size(DocRef document_);
+- Gdk::Cursor get_cursor(int x, int y);
++ Gdk::CursorType get_cursor(int x, int y);
+ void update_cursor(int x, int y);
+ bool in_move_area(int x, int y);
+ Pagent* in_select_area(int x, int y);
+
+- SigC::Connection connect_zoom_change(SigC::Slot1<void, float> slot) {
++ sigc::connection connect_zoom_change(sigc::slot<void, float> slot) {
+ return zoom_change_signal.connect(slot);
+ }
+ };
+diff -urNad passepartout-0.6-3~/src/pptout/groupmeta.cc passepartout-0.6-3/src/pptout/groupmeta.cc
+--- passepartout-0.6-3~/src/pptout/groupmeta.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/groupmeta.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -15,7 +15,6 @@
+ Viewent::Ref GroupMeta::create_viewent(View& view, Pagent& node) {
+ Viewent::Ref result(new GroupViewent
+ (view, &dynamic_cast<Group&>(node)));
+- result->set_manage(); // turn refcounting on
+ result->reference();
+ return result;
+ }
+diff -urNad passepartout-0.6-3~/src/pptout/groupviewent.cc passepartout-0.6-3/src/pptout/groupviewent.cc
+--- passepartout-0.6-3~/src/pptout/groupviewent.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/groupviewent.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -39,7 +39,7 @@
+ const Gdk::Color &get_color(Color::Id color) const {
+ return parent.get_color(color);
+ }
+- SigC::Connection connect_zoom_change(SigC::Slot1<void, float> slot) {
++ sigc::connection connect_zoom_change(sigc::slot<void, float> slot) {
+ return parent.connect_zoom_change(slot);
+ }
+ private:
+@@ -53,7 +53,7 @@
+ subview(new SubView(view, groupframe->get_matrix(), *content_group)),
+ frame(groupframe),
+ groupcon(frame->group_changed_signal.connect
+- (SigC::hide<Pagent*>(slot(*this, &GroupViewent::group_changed))))
++ (sigc::hide(sigc::mem_fun(*this, &GroupViewent::group_changed))))
+ {
+ // Create the initial content, just as if it was added after this object.
+ group_changed();
+diff -urNad passepartout-0.6-3~/src/pptout/groupviewent.h passepartout-0.6-3/src/pptout/groupviewent.h
+--- passepartout-0.6-3~/src/pptout/groupviewent.h 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/groupviewent.h 2005-12-21 02:24:59.000000000 +0100
+@@ -26,7 +26,7 @@
+
+ View* subview;
+ FrameRef frame;
+- SigC::Connection groupcon;
++ sigc::connection groupcon;
+ ChildVec childvec;
+ };
+
+diff -urNad passepartout-0.6-3~/src/pptout/imagemeta.cc passepartout-0.6-3/src/pptout/imagemeta.cc
+--- passepartout-0.6-3~/src/pptout/imagemeta.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/imagemeta.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -18,13 +18,12 @@
+ PostscriptViewent* rawresult
+ = new PostscriptViewent(view, &dynamic_cast<ImageFrame&>(node));
+ Viewent::Ref result(rawresult);
+- result->set_manage(); // turn refcounting on
+ result->reference();
+
+ // Images should be re-rastered when geometry changes, but not text frames,
+ // so connect this signal here rather than in the result.
+ node.geometry_changed_signal.connect
+- (SigC::hide<Pagent*>(slot(*rawresult, &PostscriptViewent::regenerate)));
++ (sigc::hide(sigc::mem_fun(*rawresult, &PostscriptViewent::regenerate)));
+
+ return result;
+ }
+@@ -45,11 +44,11 @@
+ line->pack_start(*label, Gtk::PACK_SHRINK);
+ line->pack_start(e_fname);
+ e_fname.entry.get_entry()->signal_activate().connect
+- (slot(*this, &PropImage::on_change));
++ (sigc::mem_fun(*this, &PropImage::on_change));
+ e_fname.entry.get_entry()->signal_focus_out_event().connect
+- (SigC::hide<GdkEventFocus*>(bind_return(slot(*this,
+- &PropImage::on_change),
+- true)));
++ (sigc::hide(bind_return(sigc::mem_fun(*this,
++ &PropImage::on_change),
++ true)));
+ pack_start(*line, Gtk::PACK_SHRINK);
+ set_sensitive(false);
+ update();
+diff -urNad passepartout-0.6-3~/src/pptout/inspiration.cc passepartout-0.6-3/src/pptout/inspiration.cc
+--- passepartout-0.6-3~/src/pptout/inspiration.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/inspiration.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -19,7 +19,7 @@
+ #endif
+
+ class Game: public Gtk::DrawingArea {
+- SigC::Connection connection;
++ sigc::connection connection;
+ Glib::RefPtr<Gdk::Window> win;
+ Glib::RefPtr<Gdk::Visual> visual;
+ Glib::RefPtr<Gdk::GC> gc;
+@@ -44,7 +44,7 @@
+ void put_pixel(Glib::RefPtr<Gdk::Image>, int x, int y, Gdk::Color &color);
+ void draw_rect(Gdk::Color &color, bool filled, int x, int y, int w, int h);
+ public:
+- SigC::Signal1<void, long> score_change_signal;
++ sigc::signal<void, long> score_change_signal;
+ Game();
+ bool on_key_press_event(GdkEventKey*);
+ void new_game();
+@@ -207,7 +207,7 @@
+ grow();
+ candy_found();
+ connection = Glib::signal_timeout().connect
+- (slot(*this, &Game::update), 20);
++ (sigc::mem_fun(*this, &Game::update), 20);
+ }
+
+ void Game::stop_game() {
+@@ -292,7 +292,8 @@
+ add_button(Gtk::Stock::CLOSE, 0);
+ add_button(Gtk::Stock::EXECUTE, 1);
+
+- game->score_change_signal.connect(slot(*this, &Inspiration::score_change));
++ game->score_change_signal.connect
++ (sigc::mem_fun(*this, &Inspiration::score_change));
+ }
+
+ Inspiration::~Inspiration() {}
+diff -urNad passepartout-0.6-3~/src/pptout/pagemeta.cc passepartout-0.6-3/src/pptout/pagemeta.cc
+--- passepartout-0.6-3~/src/pptout/pagemeta.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/pagemeta.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -11,7 +11,6 @@
+ Viewent::Ref PageMeta::create_viewent(View& view, Pagent& node) {
+ Viewent::Ref result(new PageViewent
+ (view, &dynamic_cast<Page&>(node)));
+- result->set_manage(); // turn refcounting on
+ result->reference();
+ return result;
+ }
+diff -urNad passepartout-0.6-3~/src/pptout/pagesel.cc passepartout-0.6-3/src/pptout/pagesel.cc
+--- passepartout-0.6-3~/src/pptout/pagesel.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/pagesel.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -98,9 +98,9 @@
+ document_view(docview)
+ {
+ document_view.current_page_num_changed_signal.connect
+- (slot(*this, &Pagesel::update));
++ (sigc::mem_fun(*this, &Pagesel::update));
+ document_view.document_changed_signal.connect
+- (slot(*this, &Pagesel::update));
++ (sigc::mem_fun(*this, &Pagesel::update));
+
+ left.add(*manage(new Gtk::Arrow(Gtk::ARROW_LEFT, Gtk::SHADOW_NONE)));
+ right.add(*manage(new Gtk::Arrow(Gtk::ARROW_RIGHT, Gtk::SHADOW_NONE)));
+@@ -112,10 +112,10 @@
+ pack_start(pages);
+ pack_start(right);
+
+- left.signal_clicked().connect(slot(*this, &Pagesel::prev));
+- right.signal_clicked().connect(slot(*this, &Pagesel::next));
++ left.signal_clicked().connect(sigc::mem_fun(*this, &Pagesel::prev));
++ right.signal_clicked().connect(sigc::mem_fun(*this, &Pagesel::next));
+ pages.get_menu()->signal_selection_done().connect
+- (slot(*this, &Pagesel::page_selected_action));
++ (sigc::mem_fun(*this, &Pagesel::page_selected_action));
+
+ show_all();
+ }
+diff -urNad passepartout-0.6-3~/src/pptout/pageviewent.cc passepartout-0.6-3/src/pptout/pageviewent.cc
+--- passepartout-0.6-3~/src/pptout/pageviewent.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/pageviewent.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -9,10 +9,10 @@
+ guide_group(view.get_guide_group())
+ {
+ Document::selection_changed_signal.connect
+- (slot(*this, &PageViewent::on_selection_changed));
++ (sigc::mem_fun(*this, &PageViewent::on_selection_changed));
+ /// \todo maybe let Page throw a size_changed_signal instead?
+ Document::size_changed_signal.connect
+- (slot(*this, &PageViewent::on_size_changed));
++ (sigc::mem_fun(*this, &PageViewent::on_size_changed));
+
+ using namespace Gnome::Canvas;
+
+diff -urNad passepartout-0.6-3~/src/pptout/postscriptviewent.cc passepartout-0.6-3/src/pptout/postscriptviewent.cc
+--- passepartout-0.6-3~/src/pptout/postscriptviewent.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/postscriptviewent.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -51,12 +51,12 @@
+ scale_factor = 1;
+
+ ProcessManager::instance().process_stopped.connect
+- (slot(*this, &PostscriptViewent::process_stopped));
++ (sigc::mem_fun(*this, &PostscriptViewent::process_stopped));
+ /// \todo Only regenerate when necessary, i.e. not when just moving ...
+ frame->object_changed_signal.connect
+- (SigC::hide<Pagent*>(slot(*this, &PostscriptViewent::regenerate)));
++ (sigc::hide(sigc::mem_fun(*this, &PostscriptViewent::regenerate)));
+ view.connect_zoom_change
+- (SigC::hide<float>(slot(*this, &PostscriptViewent::regenerate)));
++ (sigc::hide(sigc::mem_fun(*this, &PostscriptViewent::regenerate)));
+
+ canvas_pixbuf.reset(new Gnome::Canvas::Pixbuf(*content_group));
+ canvas_pixbuf->property_anchor() = Gtk::ANCHOR_SOUTH_WEST;
+@@ -110,7 +110,7 @@
+ pid = P_STARTUP;
+
+ Glib::signal_timeout().connect
+- (SigC::slot(*this, &PostscriptViewent::regenerate_bg),
++ (sigc::mem_fun(*this, &PostscriptViewent::regenerate_bg),
+ 200, Glib::PRIORITY_DEFAULT_IDLE);
+ }
+ }
+diff -urNad passepartout-0.6-3~/src/pptout/preferencesdialog.cc passepartout-0.6-3/src/pptout/preferencesdialog.cc
+--- passepartout-0.6-3~/src/pptout/preferencesdialog.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/preferencesdialog.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -136,11 +136,11 @@
+ cancel_button->set_flags(Gtk::CAN_DEFAULT);
+ cancel_button->grab_default();
+ cancel_button->signal_clicked().
+- connect(SigC::slot(*this, &PreferencesDialog::dialog_cancel));
++ connect(sigc::mem_fun(*this, &PreferencesDialog::dialog_cancel));
+ apply_button->signal_clicked().
+- connect(SigC::slot(*this, &PreferencesDialog::dialog_apply));
++ connect(sigc::mem_fun(*this, &PreferencesDialog::dialog_apply));
+ signal_delete_event().
+- connect(SigC::slot(*this, &PreferencesDialog::dialog_delete));
++ connect(sigc::mem_fun(*this, &PreferencesDialog::dialog_delete));
+
+
+ //Add the notebook pages
+diff -urNad passepartout-0.6-3~/src/pptout/printdialog.cc passepartout-0.6-3/src/pptout/printdialog.cc
+--- passepartout-0.6-3~/src/pptout/printdialog.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/printdialog.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -76,7 +76,7 @@
+ format_menu.set_menu(*menu);
+ }
+ format_menu.get_menu()->signal_selection_done().connect
+- (slot(*this, &PrintDialog::update));
++ (sigc::mem_fun(*this, &PrintDialog::update));
+ format_menu_box->pack_start(format_menu, Gtk::PACK_EXPAND_WIDGET);
+
+ Gtk::HBox *using_box = manage(new Gtk::HBox(false, double_space));
+@@ -126,12 +126,16 @@
+ using_entry.set_text(config.PrintCommand.values.front());
+ using_button.set_active(true);
+
+- using_button.signal_clicked().connect(slot(*this, &PrintDialog::update));
++ using_button.signal_clicked().connect
++ (sigc::mem_fun(*this, &PrintDialog::update));
+ // If there are only two buttons in a group, you only need to connect one.
+ // If there are more, you need to connect them all. That is annoying.
+- all_button.signal_clicked().connect(slot(*this, &PrintDialog::update));
+- current_button.signal_clicked().connect(slot(*this, &PrintDialog::update));
+- from_button.signal_clicked().connect(slot(*this, &PrintDialog::update));
++ all_button.signal_clicked().connect
++ (sigc::mem_fun(*this, &PrintDialog::update));
++ current_button.signal_clicked().connect
++ (sigc::mem_fun(*this, &PrintDialog::update));
++ from_button.signal_clicked().connect
++ (sigc::mem_fun(*this, &PrintDialog::update));
+
+ add_button(Gtk::Stock::CANCEL, 0);
+ add_button(Gtk::Stock::PRINT, 1)->grab_default();
+@@ -221,7 +225,7 @@
+ + file_entry.entry.get_text(),
+ "Check if you have permission "
+ "to write to this file");
+- window->set_cursor(Gdk::WATCH);
++ window->set_cursor(Gdk::Cursor(Gdk::WATCH));
+ // make sure the cursor is updated
+ while(Gtk::Main::events_pending())
+ Gtk::Main::iteration();
+diff -urNad passepartout-0.6-3~/src/pptout/propbase.cc passepartout-0.6-3/src/pptout/propbase.cc
+--- passepartout-0.6-3~/src/pptout/propbase.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/propbase.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -23,7 +23,7 @@
+ // one. I think this has to do with Gtk::Entry having its own
+ // window.
+ if(!sensitive)
+- foreach(slot(hide_widget));
++ foreach(sigc::ptr_fun(hide_widget));
+ }
+
+ void PropBase::right_justify(Gtk::Label &label) {
+diff -urNad passepartout-0.6-3~/src/pptout/propertiesdialog.cc passepartout-0.6-3/src/pptout/propertiesdialog.cc
+--- passepartout-0.6-3~/src/pptout/propertiesdialog.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/propertiesdialog.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -27,7 +27,7 @@
+ // Currently that means some kind of name, and the position and size of the
+ // object.
+ class PropBasic : public PropBase {
+- enum ChangeId { NAME, LEFT, BOTTOM, WIDTH, HEIGHT, ROTATE,
++ enum ChangeId { NAME, LEFT, BOTTOM, WIDTH, HEIGHT, SCALEX, SCALEY, ROTATE,
+ LOCKED, FLOWAROUND, MARGIN };
+ public:
+ // | name: | "name of object" |
+@@ -40,6 +40,7 @@
+ e_bottom(0, true, &length_units, default_unit),
+ e_width(0, true, &length_units, default_unit),
+ e_height(0, true, &length_units, default_unit),
++ e_scalex(0, true), e_scaley(0, true),
+ e_rotate(0, true, &angle_units),
+ e_margin(0, true, &length_units, default_unit),
+ c_flow("Text avoids object", 0), c_locked("Locked", 0)
+@@ -53,10 +54,11 @@
+ line->pack_start(e_name);
+ // not sure if connecting to signal_activate adds anything
+ e_name.signal_activate().connect
+- (bind(slot(*this, &PropBasic::on_change), NAME));
++ (bind(sigc::mem_fun(*this, &PropBasic::on_change), NAME));
+ e_name.signal_focus_out_event().connect
+- (SigC::hide<GdkEventFocus*>
+- (bind_return(bind(slot(*this, &PropBasic::on_change), NAME), true)));
++ (sigc::hide
++ (bind_return(bind(sigc::mem_fun(*this, &PropBasic::on_change),
++ NAME), true)));
+ pack_start(*line, Gtk::PACK_SHRINK);
+
+ SubPanel *box = manage(new SubPanel("Geometry"));
+@@ -69,7 +71,7 @@
+ line->pack_start(*label, Gtk::PACK_SHRINK);
+ line->pack_start(e_left, Gtk::PACK_SHRINK);
+ e_left.signal_value_changed().connect
+- (bind(slot(*this, &PropBasic::on_change), LEFT));
++ (bind(sigc::mem_fun(*this, &PropBasic::on_change), LEFT));
+ label->set_mnemonic_widget(e_left);
+
+ sizegroup->add_widget(*(label = manage(new Gtk::Label("_Width:",
+@@ -78,7 +80,7 @@
+ line->pack_start(e_width, Gtk::PACK_SHRINK);
+ label->set_mnemonic_widget(e_width);
+ e_width.signal_value_changed().connect
+- (bind(slot(*this, &PropBasic::on_change), WIDTH));
++ (bind(sigc::mem_fun(*this, &PropBasic::on_change), WIDTH));
+ box->pack_start(*line, Gtk::PACK_SHRINK);
+
+ line = manage(new Gtk::HBox(false, double_space));
+@@ -87,7 +89,7 @@
+ line->pack_start(*label, Gtk::PACK_SHRINK);
+ line->pack_start(e_bottom, Gtk::PACK_SHRINK);
+ e_bottom.signal_value_changed().connect
+- (bind(slot(*this, &PropBasic::on_change), BOTTOM));
++ (bind(sigc::mem_fun(*this, &PropBasic::on_change), BOTTOM));
+ label->set_mnemonic_widget(e_bottom);
+
+ sizegroup->add_widget(*(label = manage(new Gtk::Label("_Height:",
+@@ -96,19 +98,39 @@
+ line->pack_start(e_height, Gtk::PACK_SHRINK);
+ label->set_mnemonic_widget(e_height);
+ e_height.signal_value_changed().connect
+- (bind(slot(*this, &PropBasic::on_change), HEIGHT));
++ (bind(sigc::mem_fun(*this, &PropBasic::on_change), HEIGHT));
+ box->pack_start(*line, Gtk::PACK_SHRINK);
++ pack_start(*box, Gtk::PACK_SHRINK);
+
++ box = manage(new SubPanel("Transform"));
+ line = manage(new Gtk::HBox(false, double_space));
++ sizegroup->add_widget(*(label = manage(new Gtk::Label("Scale _X",
++ 0.0, 0.5, true))));
++ line->pack_start(*label, Gtk::PACK_SHRINK);
++ line->pack_start(e_scalex, Gtk::PACK_SHRINK);
++ label->set_mnemonic_widget(e_scalex);
++ e_scalex.signal_value_changed().connect
++ (bind(sigc::mem_fun(*this, &PropBasic::on_change), SCALEX));
++
+ sizegroup->add_widget(*(label = manage(new Gtk::Label("R_otate:",
+ 0.0, 0.5, true))));
+ line->pack_start(*label, Gtk::PACK_SHRINK);
+ line->pack_start(e_rotate, Gtk::PACK_SHRINK);
+ label->set_mnemonic_widget(e_rotate);
+ e_rotate.signal_value_changed().connect
+- (bind(slot(*this, &PropBasic::on_change), ROTATE));
++ (bind(sigc::mem_fun(*this, &PropBasic::on_change), ROTATE));
+
+ box->pack_start(*line, Gtk::PACK_SHRINK);
++ line = manage(new Gtk::HBox(false, double_space));
++ sizegroup->add_widget(*(label = manage(new Gtk::Label("Scale _Y",
++ 0.0, 0.5, true))));
++ line->pack_start(*label, Gtk::PACK_SHRINK);
++ line->pack_start(e_scaley, Gtk::PACK_SHRINK);
++ label->set_mnemonic_widget(e_scaley);
++ e_scaley.signal_value_changed().connect
++ (bind(sigc::mem_fun(*this, &PropBasic::on_change), SCALEY));
++ box->pack_start(*line, Gtk::PACK_SHRINK);
++
+ pack_start(*box, Gtk::PACK_SHRINK);
+
+ pack_start(hsep2, Gtk::PACK_SHRINK);
+@@ -116,13 +138,13 @@
+ Gtk::HBox *flow_box = manage(new Gtk::HBox(false, double_space));
+ flow_box->pack_start(c_locked, Gtk::PACK_SHRINK, triple_space);
+ c_locked.signal_toggled().connect
+- (bind(slot(*this, &PropBasic::on_change), LOCKED));
++ (bind(sigc::mem_fun(*this, &PropBasic::on_change), LOCKED));
+ flow_box->pack_start(c_flow, Gtk::PACK_SHRINK, 0);
+ c_flow.signal_toggled().connect
+- (bind(slot(*this, &PropBasic::on_change), FLOWAROUND));
++ (bind(sigc::mem_fun(*this, &PropBasic::on_change), FLOWAROUND));
+ flow_box->pack_start(e_margin, Gtk::PACK_SHRINK, 0);
+ e_margin.signal_value_changed().connect
+- (bind(slot(*this, &PropBasic::on_change), MARGIN));
++ (bind(sigc::mem_fun(*this, &PropBasic::on_change), MARGIN));
+ pack_start(*flow_box, Gtk::PACK_SHRINK);
+
+ set_sensitive(false);
+@@ -139,9 +161,9 @@
+ object = pagent;
+ if(object) {
+ geometry_changed_connection = object->geometry_changed_signal.connect
+- (slot(*this, &PropBasic::on_geometry_changed));
++ (sigc::mem_fun(*this, &PropBasic::on_geometry_changed));
+ props_changed_connection = object->props_changed_signal.connect
+- (slot(*this, &PropBasic::on_props_changed));
++ (sigc::mem_fun(*this, &PropBasic::on_props_changed));
+ }
+ set_sensitive(object);
+ if(is_visible())
+@@ -165,6 +187,10 @@
+ e_bottom.set(m.tr_y());
+ e_width.set(size.x * m.sc_x());
+ e_height.set(size.y * m.sc_y());
++
++ // transform
++ e_scalex.set(m.sc_x());
++ e_scaley.set(m.sc_y());
+ e_rotate.set(Matrix::rad2deg(m.rot()));
+
+ const bool flowaround = obj->get_flow_around();
+@@ -195,6 +221,11 @@
+ e_height.get() / size.y);
+ }
+ break;
++
++ case SCALEX:
++ case SCALEY:
++ object->set_scaling(e_scalex.get(), e_scaley.get());
++ break;
+
+ case ROTATE:
+ object->set_rotation(Matrix::deg2rad(e_rotate.get()));
+@@ -223,9 +254,10 @@
+ Pagent* object;
+ Gtk::HSeparator hsep1, hsep2;
+ Gtk::Entry e_name;
+- Spinner e_left, e_bottom, e_width, e_height, e_rotate, e_margin;
++ Spinner e_left, e_bottom, e_width, e_height,
++ e_scalex, e_scaley, e_rotate, e_margin;
+ Gtk::CheckButton c_flow, c_locked;
+- SigC::Connection geometry_changed_connection, props_changed_connection;
++ sigc::connection geometry_changed_connection, props_changed_connection;
+ };
+
+ // - - - - back to the actual PropertiesDialog implementation - - - -
+@@ -245,7 +277,7 @@
+ add(book);
+
+ book.signal_switch_page().connect
+- (slot(*this, &PropertiesDialog::show_page_contents));
++ (sigc::mem_fun(*this, &PropertiesDialog::show_page_contents));
+
+ PropBase* prop = new PropBasic(config.LengthUnit.values.front());
+ pages.push_back(prop);
+@@ -260,7 +292,7 @@
+
+ // listen to selection change signals:
+ Document::selection_changed_signal.connect
+- (slot(*this, &PropertiesDialog::select_change));
++ (sigc::mem_fun(*this, &PropertiesDialog::select_change));
+ }
+
+ PropertiesDialog::~PropertiesDialog() {}
+diff -urNad passepartout-0.6-3~/src/pptout/rastermeta.cc passepartout-0.6-3/src/pptout/rastermeta.cc
+--- passepartout-0.6-3~/src/pptout/rastermeta.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/rastermeta.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -21,7 +21,6 @@
+ Viewent::Ref RasterMeta::create_viewent(View& view, Pagent& node) {
+ Viewent::Ref result(new RasterViewent
+ (view, &dynamic_cast<RasterFrame&>(node)));
+- result->set_manage(); // turn refcounting on
+ result->reference();
+ return result;
+ }
+@@ -44,7 +43,7 @@
+ Spinner e_ppix, e_ppiy;
+ Gtk::ToggleButton b_ppic;
+ Gtk::HSeparator hsep;
+- SigC::Connection geometry_changed_connection, props_changed_connection;
++ sigc::connection geometry_changed_connection, props_changed_connection;
+ };
+ };
+
+@@ -63,12 +62,12 @@
+ line->pack_start(*label, Gtk::PACK_SHRINK);
+ line->pack_start(e_fname);
+ e_fname.entry.get_entry()->signal_activate().connect
+- (bind(slot(*this, &PropRaster::on_change), FILENAME));
++ (bind(sigc::mem_fun(*this, &PropRaster::on_change), FILENAME));
+ e_fname.entry.get_entry()->signal_focus_out_event().connect
+- (SigC::hide<GdkEventFocus*>(bind_return(bind(slot(*this,
+- &PropRaster::on_change),
+- FILENAME),
+- true)));
++ (sigc::hide(bind_return(bind(sigc::mem_fun(*this,
++ &PropRaster::on_change),
++ FILENAME),
++ true)));
+ pack_start(*line, Gtk::PACK_SHRINK);
+
+ Glib::RefPtr<Gtk::SizeGroup> sizegroup =
+@@ -108,11 +107,11 @@
+ pack_start(*rezpanel, Gtk::PACK_SHRINK);
+
+ e_ppix.signal_value_changed().connect
+- (bind(slot(*this, &PropRaster::on_change), HRES));
++ (bind(sigc::mem_fun(*this, &PropRaster::on_change), HRES));
+ e_ppiy.signal_value_changed().connect
+- (bind(slot(*this, &PropRaster::on_change), VRES));
++ (bind(sigc::mem_fun(*this, &PropRaster::on_change), VRES));
+ b_ppic.signal_toggled().connect
+- (bind(slot(*this, &PropRaster::on_change), ASPECT));
++ (bind(sigc::mem_fun(*this, &PropRaster::on_change), ASPECT));
+ set_sensitive(false);
+ update();
+ }
+@@ -123,10 +122,10 @@
+ if(object) {
+ // Switch raster resolution
+ geometry_changed_connection = object->geometry_changed_signal.connect
+- (SigC::hide<Pagent*>(slot(*this, &PropRaster::update)));
++ (sigc::hide(sigc::mem_fun(*this, &PropRaster::update)));
+ // Switched file
+ props_changed_connection = object->props_changed_signal.connect
+- (SigC::hide<Pagent*>(slot(*this, &PropRaster::update)));
++ (sigc::hide(sigc::mem_fun(*this, &PropRaster::update)));
+ }
+ }
+
+diff -urNad passepartout-0.6-3~/src/pptout/rasterviewent.cc passepartout-0.6-3/src/pptout/rasterviewent.cc
+--- passepartout-0.6-3~/src/pptout/rasterviewent.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/rasterviewent.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -7,9 +7,9 @@
+ : Viewent(view, rasterframe), frame(rasterframe)
+ {
+ frame->props_changed_signal.connect
+- (slot(*this, &RasterViewent::on_geometry_changed));
++ (sigc::mem_fun(*this, &RasterViewent::on_geometry_changed));
+ frame->object_changed_signal.connect
+- (slot(*this, &RasterViewent::on_object_changed));
++ (sigc::mem_fun(*this, &RasterViewent::on_object_changed));
+
+ canvas_pixbuf.reset(new Gnome::Canvas::Pixbuf(*content_group));
+ canvas_pixbuf->property_x() = 0; canvas_pixbuf->property_y() = 0;
+diff -urNad passepartout-0.6-3~/src/pptout/streamdialog.cc passepartout-0.6-3/src/pptout/streamdialog.cc
+--- passepartout-0.6-3~/src/pptout/streamdialog.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/streamdialog.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -61,10 +61,10 @@
+ }
+
+ namespace {
+- SigC::Slot1<bool, GdkEventFocus*>
+- adapt_focus_out(SigC::Slot1<void, int> slot, int response_id) {
+- return SigC::hide<GdkEventFocus*>(SigC::bind_return
+- (SigC::bind(slot, response_id), true));
++ sigc::slot<bool, GdkEventFocus*>
++ adapt_focus_out(sigc::slot<void, int> slot, int response_id) {
++ return sigc::hide(sigc::bind_return(sigc::bind(slot, response_id),
++ true));
+ }
+ }
+
+@@ -90,7 +90,7 @@
+
+ Glib::RefPtr<Gtk::TreeSelection> selection = stream_list.get_selection();
+ selection->signal_changed().connect
+- (slot(*this, &StreamDialog::on_selection_changed));
++ (sigc::mem_fun(*this, &StreamDialog::on_selection_changed));
+
+ Gtk::ScrolledWindow *scroll = manage(new Gtk::ScrolledWindow());
+ scroll->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
+@@ -159,7 +159,7 @@
+ param_list.append_column_editable("Value", param_columns.value);
+ param_list.property_height_request() = 90;
+ param_model->signal_row_changed().connect
+- (slot(*this, &StreamDialog::on_param_row_changed));
++ (sigc::mem_fun(*this, &StreamDialog::on_param_row_changed));
+ Gtk::ScrolledWindow *scroll = manage(new Gtk::ScrolledWindow());
+ scroll->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
+ scroll->set_shadow_type(Gtk::SHADOW_IN);
+@@ -174,24 +174,24 @@
+ show_all_children();
+
+ Document::streams_changed_signal.connect
+- (slot(*this, &StreamDialog::_update));
++ (sigc::mem_fun(*this, &StreamDialog::_update));
+
+ name_entry.signal_activate().connect
+- (bind(slot(*this, &StreamDialog::on_response), Response::SETNAME));
++ (bind(sigc::mem_fun(*this, &StreamDialog::on_response), Response::SETNAME));
+ name_entry.signal_focus_out_event().connect
+- (adapt_focus_out(slot(*this, &StreamDialog::on_response),
++ (adapt_focus_out(sigc::mem_fun(*this, &StreamDialog::on_response),
+ Response::SETNAME));
+
+ file_entry.entry.get_entry()->signal_activate().connect
+- (bind(slot(*this, &StreamDialog::on_response), Response::SETFILE));
++ (bind(sigc::mem_fun(*this, &StreamDialog::on_response), Response::SETFILE));
+ file_entry.entry.get_entry()->signal_focus_out_event().connect
+- (adapt_focus_out(slot(*this, &StreamDialog::on_response),
++ (adapt_focus_out(sigc::mem_fun(*this, &StreamDialog::on_response),
+ Response::SETFILE));
+
+ xfrm_entry.entry.get_entry()->signal_activate().connect
+- (bind(slot(*this, &StreamDialog::on_response), Response::SETXFRM));
++ (bind(sigc::mem_fun(*this, &StreamDialog::on_response), Response::SETXFRM));
+ xfrm_entry.entry.get_entry()->signal_focus_out_event().connect
+- (adapt_focus_out(slot(*this, &StreamDialog::on_response),
++ (adapt_focus_out(sigc::mem_fun(*this, &StreamDialog::on_response),
+ Response::SETXFRM));
+ }
+
+@@ -224,10 +224,10 @@
+ Gtk::Button *b = manage(button);
+ // Note: It seems that activate means "in any way except a simple click".
+ // So we have to add callbacks for both activate and clicked.
+- b->signal_clicked().connect(bind(slot(*this, &StreamDialog::on_response),
+- action_id));
+- b->signal_activate().connect(bind(slot(*this, &StreamDialog::on_response),
+- action_id));
++ b->signal_clicked().connect
++ (bind(sigc::mem_fun(*this, &StreamDialog::on_response), action_id));
++ b->signal_activate().connect
++ (bind(sigc::mem_fun(*this, &StreamDialog::on_response), action_id));
+ return b;
+ }
+
+@@ -360,7 +360,7 @@
+ }
+
+ void StreamDialog::on_param_row_changed(const Gtk::TreeModel::Path& path,
+- const Gtk::TreeModel::iterator& iter)
++ const Gtk::TreeModel::iterator& iter)
+ {
+ if(current_stream && iter)
+ current_stream->set_parameter(iter->get_value(param_columns.name),
+@@ -402,11 +402,11 @@
+ MenuList& menu_list = menu.items();
+ menu_list.clear();
+ if(!document) {
+- menu.items().push_back(MenuElem("")); // cosmetic fix
+- menu.set_active(0);
+- set_menu(menu);
+- return;
+- }
++ menu.items().push_back(MenuElem("")); // cosmetic fix
++ menu.set_active(0);
++ set_menu(menu);
++ return;
++ }
+ int index = 0;
+ Document::StreamVec streams = document->get_text_streams();
+ for(Document::StreamVec::iterator i = streams.begin();
+@@ -491,7 +491,7 @@
+
+ get_vbox()->pack_start(*main_box);
+
+- Gtk::RadioButton_Helpers::Group group = old_button->get_group();
++ Gtk::RadioButton::Group group = old_button->get_group();
+ new_button->set_group(group);
+ old_button->set_active();
+ fix_button(new_button, RESPONSE_TOGGLE_MODE);
+diff -urNad passepartout-0.6-3~/src/pptout/textmeta.cc passepartout-0.6-3/src/pptout/textmeta.cc
+--- passepartout-0.6-3~/src/pptout/textmeta.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/textmeta.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -21,7 +21,6 @@
+ Viewent::Ref TextMeta::create_viewent(View& view, Pagent& node) {
+ Viewent::Ref result(new TextViewent
+ (view, &dynamic_cast<TextFrame&>(node), 2));
+- result->set_manage(); // turn refcounting on
+ result->reference();
+ return result;
+ }
+@@ -41,10 +40,10 @@
+ label->set_mnemonic_widget(e_stream);
+ line->pack_start(e_stream, Gtk::PACK_EXPAND_WIDGET);
+ e_stream.signal_changed().connect
+- (bind(slot(*this, &PropText::on_change), STREAM));
++ (bind(sigc::mem_fun(*this, &PropText::on_change), STREAM));
+ Gtk::Button *b_streams = manage(new Gtk::Button("E_dit streams", true));
+- b_streams->signal_clicked().connect(slot(StreamDialog::instance(),
+- &StreamDialog::show_raise));
++ b_streams->signal_clicked().connect
++ (sigc::mem_fun(StreamDialog::instance(), &StreamDialog::show_raise));
+ line->pack_start(*b_streams, Gtk::PACK_SHRINK);
+ pack_start(*line, Gtk::PACK_SHRINK);
+
+@@ -57,7 +56,7 @@
+ label->set_mnemonic_widget(e_columns);
+ e_columns.limits(1, 64); // Note: The upper limit is rather arbitrary.
+ e_columns.signal_value_changed().connect
+- (bind(slot(*this, &PropText::on_change), COLUMNS));
++ (bind(sigc::mem_fun(*this, &PropText::on_change), COLUMNS));
+ line->pack_start(e_columns, Gtk::PACK_SHRINK);
+ box->pack_start(*line);
+
+@@ -69,13 +68,13 @@
+ label->set_mnemonic_widget(e_gutter);
+ line->pack_start(e_gutter, Gtk::PACK_SHRINK);
+ e_gutter.signal_value_changed().connect
+- (bind(slot(*this, &PropText::on_change), GUTTER));
++ (bind(sigc::mem_fun(*this, &PropText::on_change), GUTTER));
+ box->pack_start(*line);
+ pack_start(*box, Gtk::PACK_SHRINK);
+
+ // perhaps this should go into the StreamMenu class
+ Document::streams_changed_signal.connect
+- (slot(*this, &PropText::on_streams_changed));
++ (sigc::mem_fun(*this, &PropText::on_streams_changed));
+
+ set_sensitive(false);
+ update();
+diff -urNad passepartout-0.6-3~/src/pptout/textviewent.cc passepartout-0.6-3/src/pptout/textviewent.cc
+--- passepartout-0.6-3~/src/pptout/textviewent.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/textviewent.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -19,7 +19,7 @@
+ trunc_ind->hide();
+ on_geometry_changed(cachedframe);
+ dynamic_cast<TextFrame*>(cachedframe)->truncated_state_changed_signal.connect
+- (slot(*this, &TextViewent::on_truncated_state_changed));
++ (sigc::mem_fun(*this, &TextViewent::on_truncated_state_changed));
+ }
+
+ void TextViewent::on_truncated_state_changed(bool truncated) {
+diff -urNad passepartout-0.6-3~/src/pptout/viewent.cc passepartout-0.6-3/src/pptout/viewent.cc
+--- passepartout-0.6-3~/src/pptout/viewent.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/viewent.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -17,9 +17,9 @@
+ : view(the_view)
+ {
+ pagent->props_changed_signal.connect
+- (slot(*this, &Viewent::on_properties_changed));
++ (sigc::mem_fun(*this, &Viewent::on_properties_changed));
+ pagent->geometry_changed_signal.connect
+- (slot(*this, &Viewent::on_geometry_changed));
++ (sigc::mem_fun(*this, &Viewent::on_geometry_changed));
+
+ // can't create pixbuf until glib (or whatever) is initialized
+ if(!broken_pixbuf) {
+diff -urNad passepartout-0.6-3~/src/pptout/viewent.h passepartout-0.6-3/src/pptout/viewent.h
+--- passepartout-0.6-3~/src/pptout/viewent.h 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/viewent.h 2005-12-21 02:24:59.000000000 +0100
+@@ -5,6 +5,7 @@
+ ///
+ #include "view.h"
+ #include "document/pagent.h"
++#include "util/refcount.h"
+ #include <memory> // auto_ptr
+
+ /**
+@@ -13,7 +14,7 @@
+ * Pagent. When a View is rescaled etc, all its Viewent s are dropped
+ * and new ones created.
+ */
+-class Viewent : public SigC::Object {
++class Viewent : public sigc::trackable, public RefCounted {
+ public:
+ typedef Glib::RefPtr<const Gdk::Pixmap> PixmapRef;
+ typedef Glib::RefPtr<Viewent> Ref;
+diff -urNad passepartout-0.6-3~/src/pptout/view.h passepartout-0.6-3/src/pptout/view.h
+--- passepartout-0.6-3~/src/pptout/view.h 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/view.h 2005-12-21 02:24:59.000000000 +0100
+@@ -27,7 +27,7 @@
+ virtual const Gdk::Color& get_color(Color::Id color) const = 0;
+
+ /** Register a callback for the signal raised on rescaling the view */
+- virtual SigC::Connection connect_zoom_change(SigC::Slot1<void, float>) = 0;
++ virtual sigc::connection connect_zoom_change(sigc::slot<void, float>) = 0;
+ };
+
+ #endif
+diff -urNad passepartout-0.6-3~/src/pptout/widget/dialogwrap.cc passepartout-0.6-3/src/pptout/widget/dialogwrap.cc
+--- passepartout-0.6-3~/src/pptout/widget/dialogwrap.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/widget/dialogwrap.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -23,10 +23,10 @@
+ Gtk::Button *b = manage(button);
+ // Note: It seems that activate means "in any way except a simple click".
+ // So we have to add callbacks for both activate and clicked.
+- b->signal_clicked().connect(bind(slot(*this, &Gtk::Dialog::on_response),
+- action_id));
+- b->signal_activate().connect(bind(slot(*this, &Gtk::Dialog::on_response),
+- action_id));
++ b->signal_clicked().connect
++ (bind(sigc::mem_fun(*this, &Gtk::Dialog::on_response), action_id));
++ b->signal_activate().connect
++ (bind(sigc::mem_fun(*this, &Gtk::Dialog::on_response), action_id));
+ return b;
+ }
+
+diff -urNad passepartout-0.6-3~/src/pptout/widget/filesel.cc passepartout-0.6-3/src/pptout/widget/filesel.cc
+--- passepartout-0.6-3~/src/pptout/widget/filesel.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/widget/filesel.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -74,7 +74,8 @@
+
+ entry.show();
+ button.set_size_request(-1, entry.get_height());
+- button.signal_clicked().connect(slot(*this, &FileEntry::show_filesel));
++ button.signal_clicked().connect
++ (sigc::mem_fun(*this, &FileEntry::show_filesel));
+ }
+
+ bool FileEntry::on_mnemonic_activate(bool group_cycling) {
+@@ -115,7 +116,8 @@
+ } else {
+ filesel.reset(new Filesel(*toplevel, window_title, true, false));
+ }
+- filesel->signal_hide().connect(slot(*this, &FileEntry::filesel_done));
++ filesel->signal_hide().connect
++ (sigc::mem_fun(*this, &FileEntry::filesel_done));
+ if(entry.get_text() != *default_value) { //If non-default entry
+ filesel->set_filename(entry.get_text().empty()
+ ? default_path
+diff -urNad passepartout-0.6-3~/src/pptout/widget/imagefilesel.cc passepartout-0.6-3/src/pptout/widget/imagefilesel.cc
+--- passepartout-0.6-3~/src/pptout/widget/imagefilesel.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/widget/imagefilesel.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -58,11 +58,11 @@
+ box->show_all();
+
+ get_selection_entry()->signal_changed().connect
+- (slot(*this, &ImageFilesel::update_preview));
++ (sigc::mem_fun(*this, &ImageFilesel::update_preview));
+ show_preview.signal_clicked().connect
+- (slot(*this, &ImageFilesel::update_preview));
++ (sigc::mem_fun(*this, &ImageFilesel::update_preview));
+ res.signal_value_changed().connect
+- (slot(*this, &ImageFilesel::update_size));
++ (sigc::mem_fun(*this, &ImageFilesel::update_size));
+ }
+
+ void ImageFilesel::update_size() {
+diff -urNad passepartout-0.6-3~/src/pptout/widget/spinner.cc passepartout-0.6-3/src/pptout/widget/spinner.cc
+--- passepartout-0.6-3~/src/pptout/widget/spinner.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/widget/spinner.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -83,7 +83,7 @@
+ optionmenu = manage(new Gtk::OptionMenu());
+ optionmenu->set_menu(*menu);
+ menu->signal_selection_done().connect
+- (slot(*this, &Spinner::on_unit_select));
++ (sigc::mem_fun(*this, &Spinner::on_unit_select));
+
+ optionmenu->set_size_request(-1, spinbutton->get_height());
+ pack_start(*optionmenu);
+diff -urNad passepartout-0.6-3~/src/pptout/window.cc passepartout-0.6-3/src/pptout/window.cc
+--- passepartout-0.6-3~/src/pptout/window.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/window.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -160,75 +160,68 @@
+ scroller->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
+
+ {
+- using namespace Gtk::Toolbar_Helpers;
+- ToolList &tools = toolbar->tools();
+-
+- tools.push_back(StockElem(Gtk::Stock::SAVE,
+- slot(*this, &FrameWindow::save),
+- "Save file"));
+- save_button = static_cast<Gtk::Button*>(tools.back().get_widget());
+- tools.push_back(Space());
+- tools.push_back(StockElem(Gtk::Stock::PRINT_PREVIEW,
+- slot(*this, &FrameWindow::print_to_viewer),
+- "Print to external viewer"));
+- preview_button = static_cast<Gtk::Button*>(tools.back().get_widget());
+- tools.push_back(Space());
+- tools.push_back(ButtonElem("Text frame",
+- icons->new_frame,
+- slot(*text_frame_dialog,
+- &TextFrameDialog::show_raise),
+- "Create new text frame"));
+- text_frame_button = static_cast<Gtk::Button*>(tools.back().get_widget());
+- tools.push_back(ButtonElem("Image",
+- icons->moose,
+- slot(*import_dialog, &ImageFilesel::show),
+- "Import image file"));
+- image_frame_button = static_cast<Gtk::Button*>(tools.back().get_widget());
+- tools.push_back(Space());
+- tools.push_back(StockElem(Gtk::Stock::PROPERTIES,
+- slot(PropertiesDialog::instance(),
+- &PropertiesDialog::show_raise),
+- "Show object properties"));
+- properties_button = static_cast<Gtk::Button*>(tools.back().get_widget());
+- tools.push_back(ButtonElem("Streams",
+- icons->streams,
+- slot(StreamDialog::instance(),
+- &StreamDialog::show_raise),
+- "Show list of text streams"));
+- tools.push_back(Space());
+- tools.push_back(ToggleElem("Snap to grid",
+- icons->grid,
+- slot(*this,
+- &FrameWindow::on_grid_button_clicked),
+- "Align objects with grid"));
+- grid_button =
+- static_cast<Gtk::ToggleButton*>(tools.back().get_widget());
+- tools.push_back(Space());
+- tools.push_back(StockElem(Gtk::Stock::GOTO_TOP,
+- bind(slot(document_view,
+- &DocumentView::rearrange_selected),
+- TOP),
+- "Move object(s) to top"));
+-
+- tools.push_back(StockElem(Gtk::Stock::GO_UP,
+- bind(slot(document_view,
+- &DocumentView::rearrange_selected),
+- UP),
+- "Move object(s) up"));
++ toolbar->append(*manage(save_button =
++ new Gtk::ToolButton(Gtk::Stock::SAVE)),
++ sigc::mem_fun(*this, &FrameWindow::save));
++ toolbar->append(*manage(new Gtk::SeparatorToolItem()));
++ toolbar->append(*manage(preview_button =
++ new Gtk::ToolButton(Gtk::Stock::PRINT_PREVIEW)),
++ sigc::mem_fun(*this, &FrameWindow::print_to_viewer));
++ // "Print to external viewer"));
++ toolbar->append(*manage(new Gtk::SeparatorToolItem()));
++ toolbar->append(*manage(text_frame_button =
++ new Gtk::ToolButton(icons->new_frame,
++ "Text frame")),
++ sigc::mem_fun(*text_frame_dialog,
++ &TextFrameDialog::show_raise));
++ // "Create new text frame"));
++ toolbar->append(*manage(image_frame_button =
++ new Gtk::ToolButton(icons->moose,
++ ("Image"))),
++ sigc::mem_fun(*import_dialog, &ImageFilesel::show));
++ // "Import image file"));
++ toolbar->append(*manage(new Gtk::SeparatorToolItem()));
++ toolbar->append(*manage(properties_button =
++ new Gtk::ToolButton(Gtk::Stock::PROPERTIES)),
++ sigc::mem_fun(PropertiesDialog::instance(),
++ &PropertiesDialog::show_raise));
++ // "Show object properties"));
++ toolbar->append(*manage(streams_button =
++ new Gtk::ToolButton(icons->streams, "Streams")),
++ sigc::mem_fun(StreamDialog::instance(),
++ &StreamDialog::show_raise));
++ // "Show list of text streams"));
++ toolbar->append(*manage(new Gtk::SeparatorToolItem()));
++ toolbar->append(*manage(grid_button =
++ new Gtk::ToggleToolButton(icons->grid,
++ "Snap to grid")),
++ mem_fun(*this,
++ &FrameWindow::on_grid_button_clicked));
++ // "Align objects with grid"));
++ toolbar->append(*manage(new Gtk::SeparatorToolItem()));
++ toolbar->append(*manage(new Gtk::ToolButton(Gtk::Stock::GOTO_TOP)),
++ bind(sigc::mem_fun(document_view,
++ &DocumentView::rearrange_selected),
++ TOP));
++ // "Move object(s) to top"));
+
+- tools.push_back(StockElem(Gtk::Stock::GO_DOWN,
+- bind(slot(document_view,
+- &DocumentView::rearrange_selected),
+- DOWN),
+- "Move object(s) down"));
++ toolbar->append(*manage(new Gtk::ToolButton(Gtk::Stock::GO_UP)),
++ bind(sigc::mem_fun(document_view,
++ &DocumentView::rearrange_selected),
++ UP));
++ // "Move object(s) up"));
+
+- tools.push_back(StockElem(Gtk::Stock::GOTO_BOTTOM,
+- bind(slot(document_view,
+- &DocumentView::rearrange_selected),
+- BOTTOM),
+- "Move object(s) to bottom"));
++ toolbar->append(*manage(new Gtk::ToolButton(Gtk::Stock::GO_DOWN)),
++ bind(sigc::mem_fun(document_view,
++ &DocumentView::rearrange_selected),
++ DOWN));
++ // "Move object(s) down"));
+
+- streams_button = static_cast<Gtk::Button*>(tools.back().get_widget());
++ toolbar->append(*manage(new Gtk::ToolButton(Gtk::Stock::GOTO_BOTTOM)),
++ bind(sigc::mem_fun(document_view,
++ &DocumentView::rearrange_selected),
++ BOTTOM));
++ // "Move object(s) to bottom"));
+ }
+
+ cafe_opera = manage(new Gtk::Statusbar());
+@@ -250,23 +243,23 @@
+ mainbox->pack_end(*cafe_opera, Gtk::PACK_SHRINK);
+
+ document_view.zoom_change_signal.connect
+- (slot(*this, &FrameWindow::zoom_change_action));
++ (sigc::mem_fun(*this, &FrameWindow::zoom_change_action));
+ zoom_factor->set_menu(*create_zoom_menu());
+ zoom_factor->get_menu()->signal_selection_done().connect
+- (slot(*this, &FrameWindow::zoom_factor_changed_action));
++ (sigc::mem_fun(*this, &FrameWindow::zoom_factor_changed_action));
+
+ open_dialog->signal_hide().connect
+- (slot(*this, &FrameWindow::open_dialog_done));
++ (sigc::mem_fun(*this, &FrameWindow::open_dialog_done));
+ save_dialog->signal_hide().connect
+- (slot(*this, &FrameWindow::save_dialog_done));
++ (sigc::mem_fun(*this, &FrameWindow::save_dialog_done));
+ import_dialog->signal_hide().connect
+- (slot(*this, &FrameWindow::import_dialog_done));
++ (sigc::mem_fun(*this, &FrameWindow::import_dialog_done));
+
+ document_view.document_set_signal.connect
+- (slot(*this, &FrameWindow::on_document_changed));
++ (sigc::mem_fun(*this, &FrameWindow::on_document_changed));
+
+ Document::changed_signal.connect
+- (slot(*this, &FrameWindow::on_document_updated));
++ (sigc::mem_fun(*this, &FrameWindow::on_document_updated));
+
+ // put window in global list
+ windows.insert(this);
+@@ -420,7 +413,7 @@
+ // We may have a new DocMeta in view, so connect to the new signal
+ DocMeta docmeta = document_view.get_document_meta();
+ docmeta.changed_signal().connect
+- (slot(*this, &FrameWindow::on_document_filename_changed));
++ (sigc::mem_fun(*this, &FrameWindow::on_document_filename_changed));
+ set_filename(basename(docmeta.get_filename()));
+
+ }
+diff -urNad passepartout-0.6-3~/src/pptout/window.h passepartout-0.6-3/src/pptout/window.h
+--- passepartout-0.6-3~/src/pptout/window.h 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/window.h 2005-12-21 02:24:59.000000000 +0100
+@@ -51,9 +51,9 @@
+ Gtk::MenuItem *new_view_item, *save_item, *save_as_item,
+ *print_item, *preview_item,
+ *delete_page_item, *undo_item, *redo_item, *props_item, *prefs_item;
+- Gtk::Button *save_button, *text_frame_button, *image_frame_button;
+- Gtk::Button *streams_button, *preview_button, *properties_button;
+- Gtk::ToggleButton *grid_button;
++ Gtk::ToolButton *save_button, *text_frame_button, *image_frame_button,
++ *streams_button, *preview_button, *properties_button;
++ Gtk::ToggleToolButton *grid_button;
+
+ // We need to create separate copies of the icons for each window since each
+ // icon can only have one parent
+diff -urNad passepartout-0.6-3~/src/pptout/windowmenus.cc passepartout-0.6-3/src/pptout/windowmenus.cc
+--- passepartout-0.6-3~/src/pptout/windowmenus.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/pptout/windowmenus.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -18,8 +18,8 @@
+ void FrameWindow::create_menus() {
+ using namespace Gtk;
+ using namespace Menu_Helpers;
+- using SigC::bind;
+- using SigC::slot;
++ using sigc::bind;
++ using sigc::mem_fun;
+
+ /// *** file menu ***
+
+@@ -29,50 +29,50 @@
+ (ImageMenuElem("_New ...", AccelKey("<control>N"),
+ *manage(new Gtk::Image(Gtk::Stock::NEW,
+ Gtk::ICON_SIZE_MENU)),
+- slot(*this, &FrameWindow::new_document)));
++ mem_fun(*this, &FrameWindow::new_document)));
+ list_file.push_back
+ (ImageMenuElem("New Vi_ew",
+ *manage(new Gtk::Image(Gtk::Stock::NEW,
+ Gtk::ICON_SIZE_MENU)),
+- slot(*this, &FrameWindow::duplicate_view)));
++ mem_fun(*this, &FrameWindow::duplicate_view)));
+ new_view_item = &list_file.back();
+ list_file.push_back
+ (ImageMenuElem("_Open ...", AccelKey("<control>O"),
+ *manage(new Gtk::Image(Gtk::Stock::OPEN,
+ Gtk::ICON_SIZE_MENU)),
+- slot(*open_dialog, &Filesel::show_all)));
++ mem_fun(*open_dialog, &Filesel::show_all)));
+ list_file.push_back(SeparatorElem());
+ list_file.push_back(StockMenuElem(Gtk::Stock::SAVE,
+- slot(*this, &FrameWindow::save)));
++ mem_fun(*this, &FrameWindow::save)));
+ save_item = &list_file.back();
+ list_file.push_back
+ (ImageMenuElem("Save _As ...", AccelKey("<shift><control>S"),
+ *manage(new Gtk::Image(Gtk::Stock::PRINT,
+ Gtk::ICON_SIZE_MENU)),
+- slot(*save_dialog, &Filesel::show_all)));
++ mem_fun(*save_dialog, &Filesel::show_all)));
+ save_as_item = &list_file.back();
+ list_file.push_back(SeparatorElem());
+ list_file.push_back
+ (ImageMenuElem("_Print ...", AccelKey("<control>P"),
+ *manage(new Gtk::Image(Gtk::Stock::PRINT,
+ Gtk::ICON_SIZE_MENU)),
+- slot(*print_dialog, &PrintDialog::show_it)));
++ mem_fun(*print_dialog, &PrintDialog::show_it)));
+ print_item = &list_file.back();
+ list_file.push_back(StockMenuElem(Gtk::Stock::PRINT_PREVIEW,
+ AccelKey("<shift><control>P"),
+- slot(*this,
+- &FrameWindow::print_to_viewer)));
++ mem_fun(*this,
++ &FrameWindow::print_to_viewer)));
+ preview_item = &list_file.back();
+ list_file.push_back(SeparatorElem());
+ list_file.push_back
+ (MenuElem("P_roperties ...",
+- slot(*this, &FrameWindow::show_doc_props_dialog)));
++ mem_fun(*this, &FrameWindow::show_doc_props_dialog)));
+ props_item = &list_file.back();
+ list_file.push_back(SeparatorElem());
+ list_file.push_back(StockMenuElem(Gtk::Stock::CLOSE,
+- slot(*this, &FrameWindow::close)));
++ mem_fun(*this, &FrameWindow::close)));
+ list_file.push_back(StockMenuElem(Gtk::Stock::QUIT,
+- SigC::slot(&FrameWindow::quit)));
++ sigc::ptr_fun(&FrameWindow::quit)));
+ menubar->items().push_back(MenuElem("_File", AccelKey("<alt>f"),
+ *file_menu));
+
+@@ -92,64 +92,64 @@
+ #endif
+
+ list_edit.push_back(StockMenuElem(Gtk::Stock::COPY,
+- slot(document_view,
+- &DocumentView::copy)));
++ mem_fun(document_view,
++ &DocumentView::copy)));
+ list_edit.push_back(StockMenuElem(Gtk::Stock::CUT,
+- slot(document_view,
+- &DocumentView::cut)));
++ mem_fun(document_view,
++ &DocumentView::cut)));
+ list_edit.push_back(StockMenuElem(Gtk::Stock::PASTE,
+- slot(document_view,
+- &DocumentView::paste)));
++ mem_fun(document_view,
++ &DocumentView::paste)));
+ list_edit.push_back
+ (StockMenuElem(Gtk::Stock::DELETE,
+ AccelKey(guint(GDK_Delete),
+ Gdk::ModifierType(0)),
+- slot(document_view, &DocumentView::delete_selected)));
++ mem_fun(document_view, &DocumentView::delete_selected)));
+
+ list_edit.push_back(SeparatorElem());
+ list_edit.push_back(MenuElem("Select _All", AccelKey("<control>A"),
+- slot(document_view,
+- &DocumentView::select_all_frames)));
++ mem_fun(document_view,
++ &DocumentView::select_all_frames)));
+ list_edit.push_back
+ (MenuElem("Dese_lect All", AccelKey("<shift><control>A"),
+- slot(document_view, &DocumentView::unselect_all_frames)));
++ mem_fun(document_view, &DocumentView::unselect_all_frames)));
+ list_edit.push_back(SeparatorElem());
+ // *** arrange submenu ***
+ Menu *arrange_menu = manage(new Menu());
+ MenuList& list_arrange = arrange_menu->items();
+ list_arrange.push_back(MenuElem("_Group", AccelKey("<control>G"),
+- slot(document_view,
+- &DocumentView::group_selected)));
++ mem_fun(document_view,
++ &DocumentView::group_selected)));
+ list_arrange.push_back
+ (MenuElem("_Ungroup", AccelKey("<control>U"),
+- slot(document_view, &DocumentView::ungroup_selected)));
++ mem_fun(document_view, &DocumentView::ungroup_selected)));
+ list_arrange.push_back(SeparatorElem());
+ list_arrange.push_back
+ (MenuElem("Move to _top", AccelKey("<control>Home"),
+- bind(slot(document_view,
+- &DocumentView::rearrange_selected), TOP)));
++ bind(mem_fun(document_view,
++ &DocumentView::rearrange_selected), TOP)));
+ list_arrange.push_back
+ (MenuElem("Move _up", AccelKey("<control>Page_Up"),
+- bind(slot(document_view,
+- &DocumentView::rearrange_selected), UP)));
++ bind(mem_fun(document_view,
++ &DocumentView::rearrange_selected), UP)));
+ list_arrange.push_back
+ (MenuElem("Move _down", AccelKey("<control>Page_Down"),
+- bind(slot(document_view,
+- &DocumentView::rearrange_selected), DOWN)));
++ bind(mem_fun(document_view,
++ &DocumentView::rearrange_selected), DOWN)));
+ list_arrange.push_back
+ (MenuElem("Move to _bottom", AccelKey("<control>End"),
+- bind(slot(document_view,
+- &DocumentView::rearrange_selected), BOTTOM)));
++ bind(mem_fun(document_view,
++ &DocumentView::rearrange_selected), BOTTOM)));
+ list_edit.push_back(MenuElem("A_rrange", *arrange_menu));
+ list_edit.push_back(SeparatorElem());
+ list_edit.push_back(MenuElem("Insert Te_xt Frame ...",
+- slot(*text_frame_dialog,
+- &TextFrameDialog::show_raise)));
++ mem_fun(*text_frame_dialog,
++ &TextFrameDialog::show_raise)));
+ list_edit.push_back(MenuElem("Insert _Image ...",
+- slot(*import_dialog, &Filesel::show_all)));
++ mem_fun(*import_dialog, &Filesel::show_all)));
+ list_edit.push_back(SeparatorElem());
+ list_edit.push_back(MenuElem("Pre_ferences ...",
+- slot(config, &PFile::dialog_show)));
++ mem_fun(config, &PFile::dialog_show)));
+ prefs_item = &list_edit.back();
+ menubar->items().push_back(MenuElem("_Edit", AccelKey("<alt>e"),
+ *edit_menu));
+@@ -160,18 +160,18 @@
+ page_menu = manage(new Menu());
+ MenuList& list_page = page_menu->items();
+ list_page.push_back(MenuElem("_Delete",
+- slot(document_view,
+- &DocumentView::delete_page)));
++ mem_fun(document_view,
++ &DocumentView::delete_page)));
+ list_page.push_back(SeparatorElem());
+ list_page.push_back(MenuElem("Insert _Before ...",
+- slot(document_view,
+- &DocumentView::insert_page_before)));
++ mem_fun(document_view,
++ &DocumentView::insert_page_before)));
+ list_page.push_back(MenuElem("Insert _After ...",
+- slot(document_view,
+- &DocumentView::insert_page_after)));
++ mem_fun(document_view,
++ &DocumentView::insert_page_after)));
+ delete_page_item = &list_page.back();
+ // list_page.push_back(SeparatorElem());
+- // list_page.push_back(MenuElem("_Template Page ...", slot(this, &FrameWindow::show_template_page_dialog)));
++ // list_page.push_back(MenuElem("_Template Page ...", mem_fun(this, &FrameWindow::show_template_page_dialog)));
+ // it is not yet possible to change the template of an existing page
+ menubar->items().push_back(MenuElem("_Page", AccelKey("<alt>p"),*page_menu));
+
+@@ -182,20 +182,20 @@
+ MenuList& list_view = view_menu->items();
+ list_view.push_back
+ (CheckMenuElem("_Toolbar",
+- slot(*this, &FrameWindow::toggle_toolbar)));
++ mem_fun(*this, &FrameWindow::toggle_toolbar)));
+ static_cast<CheckMenuItem*>(&list_view.back())->set_active(true);
+ list_view.push_back(SeparatorElem());
+ list_view.push_back
+ (StockMenuElem(Gtk::Stock::PROPERTIES,
+- slot(PropertiesDialog::instance(),
+- &PropertiesDialog::show_raise)));
++ mem_fun(PropertiesDialog::instance(),
++ &PropertiesDialog::show_raise)));
+ list_view.push_back(MenuElem("_Streams",
+- slot(StreamDialog::instance(),
+- &StreamDialog::show_raise)));
++ mem_fun(StreamDialog::instance(),
++ &StreamDialog::show_raise)));
+ #ifdef ENABLE_UNDO
+ list_view.push_back(MenuElem("_Undo history",
+- slot(UndoDialog::instance(),
+- &UndoDialog::show_raise)));
++ mem_fun(UndoDialog::instance(),
++ &UndoDialog::show_raise)));
+ #endif
+ menubar->items().push_back(MenuElem("_View",
+ AccelKey("<alt>v"),
+@@ -207,16 +207,16 @@
+ Menu *help_menu = manage(new Menu());
+ MenuList& list_help = help_menu->items();
+ list_help.push_back(MenuElem("_User's guide", AccelKey("F1"),
+- SigC::slot(&open_docs)));
++ sigc::ptr_fun(&open_docs)));
+ list_help.push_back(MenuElem("_About",
+- slot(AboutDialog::instance(),
+- &AboutDialog::show_all)));
++ mem_fun(AboutDialog::instance(),
++ &AboutDialog::show_all)));
+ list_help.push_back(SeparatorElem());
+ list_help.push_back(MenuElem("_Homepage",
+- SigC::slot(&open_homepage)));
++ sigc::ptr_fun(&open_homepage)));
+ list_help.push_back(MenuElem("_Inspiration",
+- slot(Inspiration::instance(),
+- &Inspiration::show_all)));
++ sigc::mem_fun(Inspiration::instance(),
++ &Inspiration::show_all)));
+ menubar->items().push_back(MenuElem("_Help", AccelKey("<alt>h"),
+ *help_menu));
+ menubar->items().back().set_right_justified();
+diff -urNad passepartout-0.6-3~/src/util/filewatcher.cc passepartout-0.6-3/src/util/filewatcher.cc
+--- passepartout-0.6-3~/src/util/filewatcher.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/util/filewatcher.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -27,7 +27,7 @@
+ ~File();
+
+ /// Signal emitted every time a change is detected.
+- SigC::Signal0<void> signal;
++ sigc::signal<void> signal;
+
+ private:
+ std::string filename;
+@@ -35,7 +35,7 @@
+ };
+
+ /** A singleton with no public methods. Used only by File. */
+- class Server: public SigC::Object {
++ class Server: public sigc::trackable {
+ friend class File;
+ static Server *_instance;
+ bool ok;
+@@ -55,7 +55,7 @@
+ verbose << "Contact with FAM server established" << std::endl;
+ fd = FAMCONNECTION_GETFD(&fc);
+ /// \todo don't poll
+- Glib::signal_timeout().connect(slot(*this, &Server::poll),
++ Glib::signal_timeout().connect(sigc::mem_fun(*this, &Server::poll),
+ 100);
+ }
+ ~Server() {
+@@ -118,7 +118,7 @@
+ #ifdef HAVE_LIBFAM
+ try {
+ famfile.reset(new FAM::File(file));
+- famfile->signal.connect(modified_signal.slot());
++ famfile->signal.connect(modified_signal.make_slot());
+ }
+ catch(const std::exception&) { famfile.reset(); }
+ #endif
+@@ -127,8 +127,8 @@
+ if(!connection.connected()) {
+ debug << "Connecting to timeout" << std::endl;
+ connection =
+- Glib::signal_timeout().connect(slot(*this, &FileWatcher::check_file),
+- 100);
++ Glib::signal_timeout().connect
++ (sigc::mem_fun(*this, &FileWatcher::check_file), 100);
+ }
+ } else connection.disconnect();
+ }
+diff -urNad passepartout-0.6-3~/src/util/filewatcher.h passepartout-0.6-3/src/util/filewatcher.h
+--- passepartout-0.6-3~/src/util/filewatcher.h 2005-12-21 02:16:07.000000000 +0100
++++ src/util/filewatcher.h 2005-12-21 02:24:59.000000000 +0100
+@@ -13,7 +13,7 @@
+ /// Monitor a file for changes.
+ /** Uses the File Alteration Monitor from SGI if available, otherwise
+ * it calls stat(2) on the file at regular intervals. */
+-class FileWatcher: public SigC::Object {
++class FileWatcher: public sigc::trackable {
+ public:
+ /**
+ * \param filename File to watch. Must be an absolute path.
+@@ -23,13 +23,13 @@
+ void set_file(const std::string &filename);
+
+ /// Signal emitted each time a change is detected.
+- SigC::Signal0<void> modified_signal;
++ sigc::signal<void> modified_signal;
+
+ protected:
+ std::string file;
+ time_t last_time;
+ std::auto_ptr<FAM::File> famfile;
+- SigC::Connection connection;
++ sigc::connection connection;
+ bool check_file();
+
+ private:
+diff -urNad passepartout-0.6-3~/src/util/processman.cc passepartout-0.6-3/src/util/processman.cc
+--- passepartout-0.6-3~/src/util/processman.cc 2005-12-21 02:16:07.000000000 +0100
++++ src/util/processman.cc 2005-12-21 02:24:59.000000000 +0100
+@@ -125,11 +125,10 @@
+ return *_instance;
+ }
+
+-ProcessManager::ProcessManager()
+-{
++ProcessManager::ProcessManager() {
+ // Get a callback to run_check every 100ms.
+ Glib::signal_timeout().connect
+- (slot(*this, &ProcessManager::run_check), 100);
++ (sigc::mem_fun(*this, &ProcessManager::run_check), 100);
+ }
+
+ ProcessManager::~ProcessManager() {
+diff -urNad passepartout-0.6-3~/src/util/processman.h passepartout-0.6-3/src/util/processman.h
+--- passepartout-0.6-3~/src/util/processman.h 2005-12-21 02:16:07.000000000 +0100
++++ src/util/processman.h 2005-12-21 02:24:59.000000000 +0100
+@@ -67,12 +67,12 @@
+ typedef Glib::RefPtr<ProcessRecord> Process;
+
+ //This is a singleton
+-class ProcessManager: public SigC::Object {
++class ProcessManager: public sigc::trackable {
+ public:
+ // Signal that a process has stopped,
+ // attach process id, a bool to signify normal termination
+ // and an exit code that is only meaningful if the bool is true:
+- SigC::Signal3<void, pid_t, bool, int> process_stopped;
++ sigc::signal<void, pid_t, bool, int> process_stopped;
+
+ static ProcessManager &instance();
+
+diff -urNad passepartout-0.6-3~/src/xml2ps/xcanvas.hh passepartout-0.6-3/src/xml2ps/xcanvas.hh
+--- passepartout-0.6-3~/src/xml2ps/xcanvas.hh 2005-12-21 02:16:07.000000000 +0100
++++ src/xml2ps/xcanvas.hh 2005-12-21 02:24:59.000000000 +0100
+@@ -29,7 +29,7 @@
+ };
+ typedef std::vector<Part> Parts;
+
+-class XCanvas: public Canvas, public SigC::Object {
++class XCanvas: public Canvas, public sigc::trackable {
+ public:
+ explicit XCanvas(const PageVec& pages, bool allow_extra_pages);
+ virtual ~XCanvas();
diff --git a/graphics/passepartout/files/patch-02_gcc-4.0 b/graphics/passepartout/files/patch-02_gcc-4.0
new file mode 100644
index 000000000000..169c7cefea4b
--- /dev/null
+++ b/graphics/passepartout/files/patch-02_gcc-4.0
@@ -0,0 +1,61 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 02_gcc-4.0.dpatch by <gaudenz@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: build with gcc-4.0
+
+@DPATCH@
+diff -urNad passepartout-0.6-3~/configure.ac passepartout-0.6-3/configure.ac
+--- passepartout-0.6-3~/configure.ac 2005-12-21 02:27:34.000000000 +0100
++++ configure.ac 2005-12-21 02:27:43.000000000 +0100
+@@ -10,7 +10,7 @@
+ # AC_CONFIG_HEADER(src/defines.h)
+
+ # Define global compiler flags:
+-MY_CXXFLAGS="-Wall -Wold-style-casts"
++MY_CXXFLAGS="-Wall"
+ CXXFLAGS="$CXXFLAGS $MY_CXXFLAGS"
+
+ # Checks for programs.
+diff -urNad passepartout-0.6-3~/src/pptout/widget/dialogwrap.cc passepartout-0.6-3/src/pptout/widget/dialogwrap.cc
+--- passepartout-0.6-3~/src/pptout/widget/dialogwrap.cc 2005-12-21 02:27:34.000000000 +0100
++++ src/pptout/widget/dialogwrap.cc 2005-12-21 02:27:43.000000000 +0100
+@@ -24,9 +24,9 @@
+ // Note: It seems that activate means "in any way except a simple click".
+ // So we have to add callbacks for both activate and clicked.
+ b->signal_clicked().connect
+- (bind(sigc::mem_fun(*this, &Gtk::Dialog::on_response), action_id));
++ (bind(sigc::mem_fun(*this, &DialogWrap::on_response), action_id));
+ b->signal_activate().connect
+- (bind(sigc::mem_fun(*this, &Gtk::Dialog::on_response), action_id));
++ (bind(sigc::mem_fun(*this, &DialogWrap::on_response), action_id));
+ return b;
+ }
+
+diff -urNad passepartout-0.6-3~/src/ps/pfb2pfa.cc passepartout-0.6-3/src/ps/pfb2pfa.cc
+--- passepartout-0.6-3~/src/ps/pfb2pfa.cc 2004-10-07 23:35:36.000000000 +0200
++++ src/ps/pfb2pfa.cc 2005-12-21 02:27:43.000000000 +0100
+@@ -48,7 +48,7 @@
+ }
+ filter.end();
+ }
+- if(lengths) lengths->push_back(out.tellp() - blockstart);
++ if(lengths) lengths->push_back(long(out.tellp()) - blockstart);
+ debug << "Blockstart: " << blockstart << ", end: " << out.tellp()
+ << "\n";
+ }
+diff -urNad passepartout-0.6-3~/src/util/valueunit.h passepartout-0.6-3/src/util/valueunit.h
+--- passepartout-0.6-3~/src/util/valueunit.h 2004-01-12 20:01:34.000000000 +0100
++++ src/util/valueunit.h 2005-12-21 02:27:43.000000000 +0100
+@@ -7,6 +7,11 @@
+ #include <string>
+
+ template<class Value>
++class ValueUnit;
++template<class Value>
++std::istream& operator >> (std::istream& in, ValueUnit<Value>& vu);
++
++template<class Value>
+ class ValueUnit {
+ public:
+ ValueUnit() : value_(0) {}
diff --git a/graphics/passepartout/files/patch-03_windowmenus b/graphics/passepartout/files/patch-03_windowmenus
new file mode 100644
index 000000000000..a6499e5e0334
--- /dev/null
+++ b/graphics/passepartout/files/patch-03_windowmenus
@@ -0,0 +1,21 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 03_windowmenus.dpatch by <gaudenz@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: use internal about dialog, not gtk's
+
+@DPATCH@
+diff -urNad passepartout-0.6-3~/src/pptout/windowmenus.cc passepartout-0.6-3/src/pptout/windowmenus.cc
+--- passepartout-0.6-3~/src/pptout/windowmenus.cc 2005-12-21 02:29:14.000000000 +0100
++++ src/pptout/windowmenus.cc 2005-12-21 02:29:20.000000000 +0100
+@@ -209,8 +209,8 @@
+ list_help.push_back(MenuElem("_User's guide", AccelKey("F1"),
+ sigc::ptr_fun(&open_docs)));
+ list_help.push_back(MenuElem("_About",
+- mem_fun(AboutDialog::instance(),
+- &AboutDialog::show_all)));
++ mem_fun(::AboutDialog::instance(),
++ &::AboutDialog::show_all)));
+ list_help.push_back(SeparatorElem());
+ list_help.push_back(MenuElem("_Homepage",
+ sigc::ptr_fun(&open_homepage)));
diff --git a/graphics/passepartout/files/patch-06_freetype_makefile b/graphics/passepartout/files/patch-06_freetype_makefile
new file mode 100644
index 000000000000..fc421fb73270
--- /dev/null
+++ b/graphics/passepartout/files/patch-06_freetype_makefile
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 06_freetype_makefile.dpatch by <gaudenz@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix Includes for building libps.a
+
+@DPATCH@
+diff -urNad passepartout-0.6-3~/src/ps/Makefile.am passepartout-0.6-3/src/ps/Makefile.am
+--- passepartout-0.6-3~/src/ps/Makefile.am 2004-10-07 14:55:52.000000000 +0200
++++ src/ps/Makefile.am 2005-12-21 03:59:09.000000000 +0100
+@@ -10,7 +10,7 @@
+ examinepdf_SOURCES = examinepdf.cc
+
+ # for Glib::ustring
+-libps_a_CXXFLAGS = $(GTKMM_CFLAGS)
++libps_a_CXXFLAGS = $(GTKMM_CFLAGS) $(FREETYPE_CFLAGS)
+
+ libps_a_CXXFLAGS += -I$(top_srcdir)/src
+
diff --git a/graphics/passepartout/files/patch-07_gcc-4.1 b/graphics/passepartout/files/patch-07_gcc-4.1
new file mode 100644
index 000000000000..456e65c71c5a
--- /dev/null
+++ b/graphics/passepartout/files/patch-07_gcc-4.1
@@ -0,0 +1,50 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 07_gcc-4.1.dpatch by tbm@cyrius.com
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: build with gcc-4.1
+
+@DPATCH@
+--- a/src/pptout/document/group.h~ 2006-03-21 03:19:51.000000000 +0000
++++ src/pptout/document/group.h 2006-03-21 03:20:02.000000000 +0000
+@@ -30,7 +30,7 @@
+ void set_flow_around(bool);
+ bool get_flow_around() const;
+ Boundary get_obstacle_boundary() const;
+- BoundaryVect Group::obstacle_list() const;
++ BoundaryVect obstacle_list() const;
+
+ void add(Pagent* obj);
+ Pagent* ungroup(Pagent* obj);
+@@ -55,7 +55,7 @@
+ /** Raised on direct changes to the group (i.e. new / ungrouped member) */
+ sigc::signal<void, Pagent*> group_changed_signal;
+ private:
+- Boundary Group::get_untransformed_box() const;
++ Boundary get_untransformed_box() const;
+
+ ChildVec childs;
+ };
+--- a/src/pptout/propertiesdialog.h~ 2006-03-21 03:24:23.000000000 +0000
++++ src/pptout/propertiesdialog.h 2006-03-21 03:24:28.000000000 +0000
+@@ -39,7 +39,7 @@
+ // no destructor
+ ~PropertiesDialog();
+
+- void PropertiesDialog::show_page_contents(GtkNotebookPage*, guint index);
++ void show_page_contents(GtkNotebookPage*, guint index);
+
+ Gtk::Notebook book;
+ std::vector<PropBase*> pages;
+--- a/src/xml2ps/canvas.hh~ 2006-03-21 03:09:36.000000000 +0000
++++ src/xml2ps/canvas.hh 2006-03-21 03:10:43.000000000 +0000
+@@ -52,7 +52,7 @@
+ HBox hbox(bool span, float margin_left, float margin_right,
+ float ascender, float descender);
+
+- virtual void xml2ps::Canvas::addRelObstacle
++ virtual void addRelObstacle
+ (const float left, const float bottom, const float right, const float top);
+
+ // Check where the current column starts.
+
diff --git a/graphics/passepartout/files/patch-99_autotools b/graphics/passepartout/files/patch-99_autotools
new file mode 100644
index 000000000000..6b96607a6202
--- /dev/null
+++ b/graphics/passepartout/files/patch-99_autotools
@@ -0,0 +1,2279 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 99_autotools.dpatch by <gaudenz@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: result of running aclocal-1.7 ; automake-1.7 -a --foreign ; autoconf
+
+@DPATCH@
+diff -urNad passepartout-0.6-3.newpatch~/aclocal.m4 passepartout-0.6-3.newpatch/aclocal.m4
+--- passepartout-0.6-3.newpatch~/aclocal.m4 2004-10-31 19:53:09.000000000 +0100
++++ aclocal.m4 2005-12-21 04:31:04.000000000 +0100
+@@ -859,61 +859,160 @@
+ # AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
+ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
+
++# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
++#
++# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++#
++# As a special exception to the GNU General Public License, if you
++# distribute this file as part of a program that contains a
++# configuration script generated by Autoconf, you may include it under
++# the same distribution terms that you use for the rest of that program.
+
+-dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
+-dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
+-dnl also defines GSTUFF_PKG_ERRORS on error
+-AC_DEFUN(PKG_CHECK_MODULES, [
+- succeeded=no
++# PKG_PROG_PKG_CONFIG([MIN-VERSION])
++# ----------------------------------
++AC_DEFUN([PKG_PROG_PKG_CONFIG],
++[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
++m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
++AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
++if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
++ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
++fi
++if test -n "$PKG_CONFIG"; then
++ _pkg_min_version=m4_default([$1], [0.9.0])
++ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
++ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
++ AC_MSG_RESULT([yes])
++ else
++ AC_MSG_RESULT([no])
++ PKG_CONFIG=""
++ fi
++
++fi[]dnl
++])# PKG_PROG_PKG_CONFIG
+
+- if test -z "$PKG_CONFIG"; then
+- AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+- fi
++# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
++#
++# Check to see whether a particular set of modules exists. Similar
++# to PKG_CHECK_MODULES(), but does not set variables or print errors.
++#
++#
++# Similar to PKG_CHECK_MODULES, make sure that the first instance of
++# this or PKG_CHECK_MODULES is called, or make sure to call
++# PKG_CHECK_EXISTS manually
++# --------------------------------------------------------------
++AC_DEFUN([PKG_CHECK_EXISTS],
++[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
++if test -n "$PKG_CONFIG" && \
++ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
++ m4_ifval([$2], [$2], [:])
++m4_ifvaln([$3], [else
++ $3])dnl
++fi])
+
+- if test "$PKG_CONFIG" = "no" ; then
+- echo "*** The pkg-config script could not be found. Make sure it is"
+- echo "*** in your path, or set the PKG_CONFIG environment variable"
+- echo "*** to the full path to pkg-config."
+- echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+- else
+- PKG_CONFIG_MIN_VERSION=0.9.0
+- if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+- AC_MSG_CHECKING(for $2)
+
+- if $PKG_CONFIG --exists "$2" ; then
+- AC_MSG_RESULT(yes)
+- succeeded=yes
++# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
++# ---------------------------------------------
++m4_define([_PKG_CONFIG],
++[if test -n "$PKG_CONFIG"; then
++ if test -n "$$1"; then
++ pkg_cv_[]$1="$$1"
++ else
++ PKG_CHECK_EXISTS([$3],
++ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
++ [pkg_failed=yes])
++ fi
++else
++ pkg_failed=untried
++fi[]dnl
++])# _PKG_CONFIG
+
+- AC_MSG_CHECKING($1_CFLAGS)
+- $1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
+- AC_MSG_RESULT($$1_CFLAGS)
++# _PKG_SHORT_ERRORS_SUPPORTED
++# -----------------------------
++AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
++[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
++if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
++ _pkg_short_errors_supported=yes
++else
++ _pkg_short_errors_supported=no
++fi[]dnl
++])# _PKG_SHORT_ERRORS_SUPPORTED
+
+- AC_MSG_CHECKING($1_LIBS)
+- $1_LIBS=`$PKG_CONFIG --libs "$2"`
+- AC_MSG_RESULT($$1_LIBS)
+- else
+- $1_CFLAGS=""
+- $1_LIBS=""
+- ## If we have a custom action on failure, don't print errors, but
+- ## do set a variable so people can do so.
+- $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+- ifelse([$4], ,echo $$1_PKG_ERRORS,)
++
++# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
++# [ACTION-IF-NOT-FOUND])
++#
++#
++# Note that if there is a possibility the first call to
++# PKG_CHECK_MODULES might not happen, you should be sure to include an
++# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
++#
++#
++# --------------------------------------------------------------
++AC_DEFUN([PKG_CHECK_MODULES],
++[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
++AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
++AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
++
++pkg_failed=no
++AC_MSG_CHECKING([for $1])
++
++_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
++_PKG_CONFIG([$1][_LIBS], [libs], [$2])
++
++m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
++and $1[]_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.])
++
++if test $pkg_failed = yes; then
++ _PKG_SHORT_ERRORS_SUPPORTED
++ if test $_pkg_short_errors_supported = yes; then
++ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
++ else
++ $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+ fi
++ # Put the nasty error message in config.log where it belongs
++ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+- AC_SUBST($1_CFLAGS)
+- AC_SUBST($1_LIBS)
+- else
+- echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+- echo "*** See http://www.freedesktop.org/software/pkgconfig"
+- fi
+- fi
++ ifelse([$4], , [AC_MSG_ERROR(dnl
++[Package requirements ($2) were not met:
+
+- if test $succeeded = yes; then
+- ifelse([$3], , :, [$3])
+- else
+- ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4])
+- fi
+-])
++$$1_PKG_ERRORS
++
++Consider adjusting the PKG_CONFIG_PATH environment variable if you
++installed software in a non-standard prefix.
+
++_PKG_TEXT
++])],
++ [$4])
++elif test $pkg_failed = untried; then
++ ifelse([$4], , [AC_MSG_FAILURE(dnl
++[The pkg-config script could not be found or is too old. Make sure it
++is in your PATH or set the PKG_CONFIG environment variable to the full
++path to pkg-config.
+
++_PKG_TEXT
++
++To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.])],
++ [$4])
++else
++ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
++ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
++ AC_MSG_RESULT([yes])
++ ifelse([$3], , :, [$3])
++fi[]dnl
++])# PKG_CHECK_MODULES
+
+diff -urNad passepartout-0.6-3.newpatch~/configure passepartout-0.6-3.newpatch/configure
+--- passepartout-0.6-3.newpatch~/configure 2004-10-31 19:54:49.000000000 +0100
++++ configure 2005-12-21 04:32:12.000000000 +0100
+@@ -311,7 +311,7 @@
+ # include <unistd.h>
+ #endif"
+
+-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE am__leading_dot CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE RANLIB ac_ct_RANLIB APPLY_RPATH XMLPP_LIBS XMLPP_CFLAGS PKG_CONFIG XML2_LIBS XML2_CFLAGS GTKMM_LIBS GTKMM_CFLAGS GNOMECANVAS_LIBS GNOMECANVAS_CFLAGS GTHREAD_LIBS GTHREAD_CFLAGS SIGC_LIBS SIGC_CFLAGS FREETYPE_LIBS FREETYPE_CFLAGS CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE docdir xmldir CPP EGREP LIBOBJS LTLIBOBJS'
++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE am__leading_dot CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE RANLIB ac_ct_RANLIB APPLY_RPATH XMLPP_LIBS XMLPP_CFLAGS PKG_CONFIG ac_pt_PKG_CONFIG XML2_LIBS XML2_CFLAGS GTKMM_LIBS GTKMM_CFLAGS GNOMECANVAS_LIBS GNOMECANVAS_CFLAGS GTHREAD_LIBS GTHREAD_CFLAGS SIGC_LIBS SIGC_CFLAGS FREETYPE_LIBS FREETYPE_CFLAGS CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE docdir xmldir CPP EGREP LIBOBJS LTLIBOBJS'
+ ac_subst_files=''
+
+ # Initialize some variables set by options.
+@@ -772,6 +772,66 @@
+ ac_env_APPLY_RPATH_value=$APPLY_RPATH
+ ac_cv_env_APPLY_RPATH_set=${APPLY_RPATH+set}
+ ac_cv_env_APPLY_RPATH_value=$APPLY_RPATH
++ac_env_PKG_CONFIG_set=${PKG_CONFIG+set}
++ac_env_PKG_CONFIG_value=$PKG_CONFIG
++ac_cv_env_PKG_CONFIG_set=${PKG_CONFIG+set}
++ac_cv_env_PKG_CONFIG_value=$PKG_CONFIG
++ac_env_XMLPP_CFLAGS_set=${XMLPP_CFLAGS+set}
++ac_env_XMLPP_CFLAGS_value=$XMLPP_CFLAGS
++ac_cv_env_XMLPP_CFLAGS_set=${XMLPP_CFLAGS+set}
++ac_cv_env_XMLPP_CFLAGS_value=$XMLPP_CFLAGS
++ac_env_XMLPP_LIBS_set=${XMLPP_LIBS+set}
++ac_env_XMLPP_LIBS_value=$XMLPP_LIBS
++ac_cv_env_XMLPP_LIBS_set=${XMLPP_LIBS+set}
++ac_cv_env_XMLPP_LIBS_value=$XMLPP_LIBS
++ac_env_XML2_CFLAGS_set=${XML2_CFLAGS+set}
++ac_env_XML2_CFLAGS_value=$XML2_CFLAGS
++ac_cv_env_XML2_CFLAGS_set=${XML2_CFLAGS+set}
++ac_cv_env_XML2_CFLAGS_value=$XML2_CFLAGS
++ac_env_XML2_LIBS_set=${XML2_LIBS+set}
++ac_env_XML2_LIBS_value=$XML2_LIBS
++ac_cv_env_XML2_LIBS_set=${XML2_LIBS+set}
++ac_cv_env_XML2_LIBS_value=$XML2_LIBS
++ac_env_GTKMM_CFLAGS_set=${GTKMM_CFLAGS+set}
++ac_env_GTKMM_CFLAGS_value=$GTKMM_CFLAGS
++ac_cv_env_GTKMM_CFLAGS_set=${GTKMM_CFLAGS+set}
++ac_cv_env_GTKMM_CFLAGS_value=$GTKMM_CFLAGS
++ac_env_GTKMM_LIBS_set=${GTKMM_LIBS+set}
++ac_env_GTKMM_LIBS_value=$GTKMM_LIBS
++ac_cv_env_GTKMM_LIBS_set=${GTKMM_LIBS+set}
++ac_cv_env_GTKMM_LIBS_value=$GTKMM_LIBS
++ac_env_GNOMECANVAS_CFLAGS_set=${GNOMECANVAS_CFLAGS+set}
++ac_env_GNOMECANVAS_CFLAGS_value=$GNOMECANVAS_CFLAGS
++ac_cv_env_GNOMECANVAS_CFLAGS_set=${GNOMECANVAS_CFLAGS+set}
++ac_cv_env_GNOMECANVAS_CFLAGS_value=$GNOMECANVAS_CFLAGS
++ac_env_GNOMECANVAS_LIBS_set=${GNOMECANVAS_LIBS+set}
++ac_env_GNOMECANVAS_LIBS_value=$GNOMECANVAS_LIBS
++ac_cv_env_GNOMECANVAS_LIBS_set=${GNOMECANVAS_LIBS+set}
++ac_cv_env_GNOMECANVAS_LIBS_value=$GNOMECANVAS_LIBS
++ac_env_GTHREAD_CFLAGS_set=${GTHREAD_CFLAGS+set}
++ac_env_GTHREAD_CFLAGS_value=$GTHREAD_CFLAGS
++ac_cv_env_GTHREAD_CFLAGS_set=${GTHREAD_CFLAGS+set}
++ac_cv_env_GTHREAD_CFLAGS_value=$GTHREAD_CFLAGS
++ac_env_GTHREAD_LIBS_set=${GTHREAD_LIBS+set}
++ac_env_GTHREAD_LIBS_value=$GTHREAD_LIBS
++ac_cv_env_GTHREAD_LIBS_set=${GTHREAD_LIBS+set}
++ac_cv_env_GTHREAD_LIBS_value=$GTHREAD_LIBS
++ac_env_SIGC_CFLAGS_set=${SIGC_CFLAGS+set}
++ac_env_SIGC_CFLAGS_value=$SIGC_CFLAGS
++ac_cv_env_SIGC_CFLAGS_set=${SIGC_CFLAGS+set}
++ac_cv_env_SIGC_CFLAGS_value=$SIGC_CFLAGS
++ac_env_SIGC_LIBS_set=${SIGC_LIBS+set}
++ac_env_SIGC_LIBS_value=$SIGC_LIBS
++ac_cv_env_SIGC_LIBS_set=${SIGC_LIBS+set}
++ac_cv_env_SIGC_LIBS_value=$SIGC_LIBS
++ac_env_FREETYPE_CFLAGS_set=${FREETYPE_CFLAGS+set}
++ac_env_FREETYPE_CFLAGS_value=$FREETYPE_CFLAGS
++ac_cv_env_FREETYPE_CFLAGS_set=${FREETYPE_CFLAGS+set}
++ac_cv_env_FREETYPE_CFLAGS_value=$FREETYPE_CFLAGS
++ac_env_FREETYPE_LIBS_set=${FREETYPE_LIBS+set}
++ac_env_FREETYPE_LIBS_value=$FREETYPE_LIBS
++ac_cv_env_FREETYPE_LIBS_set=${FREETYPE_LIBS+set}
++ac_cv_env_FREETYPE_LIBS_value=$FREETYPE_LIBS
+ ac_env_CC_set=${CC+set}
+ ac_env_CC_value=$CC
+ ac_cv_env_CC_set=${CC+set}
+@@ -872,6 +932,29 @@
+ CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
+ headers in a nonstandard directory <include dir>
+ APPLY_RPATH ="true" : specify -rpath options to the linker
++ PKG_CONFIG path to pkg-config utility
++ XMLPP_CFLAGS
++ C compiler flags for XMLPP, overriding pkg-config
++ XMLPP_LIBS linker flags for XMLPP, overriding pkg-config
++ XML2_CFLAGS C compiler flags for XML2, overriding pkg-config
++ XML2_LIBS linker flags for XML2, overriding pkg-config
++ GTKMM_CFLAGS
++ C compiler flags for GTKMM, overriding pkg-config
++ GTKMM_LIBS linker flags for GTKMM, overriding pkg-config
++ GNOMECANVAS_CFLAGS
++ C compiler flags for GNOMECANVAS, overriding pkg-config
++ GNOMECANVAS_LIBS
++ linker flags for GNOMECANVAS, overriding pkg-config
++ GTHREAD_CFLAGS
++ C compiler flags for GTHREAD, overriding pkg-config
++ GTHREAD_LIBS
++ linker flags for GTHREAD, overriding pkg-config
++ SIGC_CFLAGS C compiler flags for SIGC, overriding pkg-config
++ SIGC_LIBS linker flags for SIGC, overriding pkg-config
++ FREETYPE_CFLAGS
++ C compiler flags for FREETYPE, overriding pkg-config
++ FREETYPE_LIBS
++ linker flags for FREETYPE, overriding pkg-config
+ CC C compiler command
+ CFLAGS C compiler flags
+ CPP C preprocessor
+@@ -968,7 +1051,7 @@
+ else
+ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi
+- cd $ac_popdir
++ cd "$ac_popdir"
+ done
+ fi
+
+@@ -1736,7 +1819,7 @@
+ # AC_CONFIG_HEADER(src/defines.h)
+
+ # Define global compiler flags:
+-MY_CXXFLAGS="-Wall -Wold-style-casts"
++MY_CXXFLAGS="-Wall"
+ CXXFLAGS="$CXXFLAGS $MY_CXXFLAGS"
+
+ # Checks for programs.
+@@ -2086,8 +2169,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -2145,8 +2227,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -2217,8 +2298,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -2262,8 +2342,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -2557,11 +2636,11 @@
+
+
+
+- succeeded=no
+
+- if test -z "$PKG_CONFIG"; then
+- # Extract the first word of "pkg-config", so it can be a program name with args.
+-set dummy pkg-config; ac_word=$2
++if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
++set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+ echo "$as_me:$LINENO: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+@@ -2586,7 +2665,6 @@
+ done
+ done
+
+- test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+ ;;
+ esac
+ fi
+@@ -2600,80 +2678,19 @@
+ echo "${ECHO_T}no" >&6
+ fi
+
+- fi
+-
+- if test "$PKG_CONFIG" = "no" ; then
+- echo "*** The pkg-config script could not be found. Make sure it is"
+- echo "*** in your path, or set the PKG_CONFIG environment variable"
+- echo "*** to the full path to pkg-config."
+- echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+- else
+- PKG_CONFIG_MIN_VERSION=0.9.0
+- if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+- echo "$as_me:$LINENO: checking for libxml++-1.0" >&5
+-echo $ECHO_N "checking for libxml++-1.0... $ECHO_C" >&6
+-
+- if $PKG_CONFIG --exists "libxml++-1.0" ; then
+- echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
+- succeeded=yes
+-
+- echo "$as_me:$LINENO: checking XMLPP_CFLAGS" >&5
+-echo $ECHO_N "checking XMLPP_CFLAGS... $ECHO_C" >&6
+- XMLPP_CFLAGS=`$PKG_CONFIG --cflags "libxml++-1.0"`
+- echo "$as_me:$LINENO: result: $XMLPP_CFLAGS" >&5
+-echo "${ECHO_T}$XMLPP_CFLAGS" >&6
+-
+- echo "$as_me:$LINENO: checking XMLPP_LIBS" >&5
+-echo $ECHO_N "checking XMLPP_LIBS... $ECHO_C" >&6
+- XMLPP_LIBS=`$PKG_CONFIG --libs "libxml++-1.0"`
+- echo "$as_me:$LINENO: result: $XMLPP_LIBS" >&5
+-echo "${ECHO_T}$XMLPP_LIBS" >&6
+- else
+- XMLPP_CFLAGS=""
+- XMLPP_LIBS=""
+- ## If we have a custom action on failure, don't print errors, but
+- ## do set a variable so people can do so.
+- XMLPP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libxml++-1.0"`
+- echo $XMLPP_PKG_ERRORS
+- fi
+-
+-
+-
+- else
+- echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+- echo "*** See http://www.freedesktop.org/software/pkgconfig"
+- fi
+- fi
+-
+- if test $succeeded = yes; then
+- :
+- else
+- { { echo "$as_me:$LINENO: error: Library requirements (libxml++-1.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5
+-echo "$as_me: error: Library requirements (libxml++-1.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;}
+- { (exit 1); exit 1; }; }
+- fi
+-
+-if test "$APPLY_RPATH" != ""; then
+- XMLPP_LIBS=`echo "$XMLPP_LIBS" | sed -e "s/-L\([^ ]*\)/& -Wl,-rpath,\1/g"`
+ fi
+-
+-
+-
+-
+- succeeded=no
+-
+- if test -z "$PKG_CONFIG"; then
+- # Extract the first word of "pkg-config", so it can be a program name with args.
++if test -z "$ac_cv_path_PKG_CONFIG"; then
++ ac_pt_PKG_CONFIG=$PKG_CONFIG
++ # Extract the first word of "pkg-config", so it can be a program name with args.
+ set dummy pkg-config; ac_word=$2
+ echo "$as_me:$LINENO: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
++if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- case $PKG_CONFIG in
++ case $ac_pt_PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+- ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
++ ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+@@ -2683,185 +2700,391 @@
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
++ ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+ done
+ done
+
+- test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+ ;;
+ esac
+ fi
+-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
++ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+
+-if test -n "$PKG_CONFIG"; then
+- echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+-echo "${ECHO_T}$PKG_CONFIG" >&6
++if test -n "$ac_pt_PKG_CONFIG"; then
++ echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
++echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6
+ else
+ echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+- fi
+-
+- if test "$PKG_CONFIG" = "no" ; then
+- echo "*** The pkg-config script could not be found. Make sure it is"
+- echo "*** in your path, or set the PKG_CONFIG environment variable"
+- echo "*** to the full path to pkg-config."
+- echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+- else
+- PKG_CONFIG_MIN_VERSION=0.9.0
+- if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+- echo "$as_me:$LINENO: checking for libxml-2.0" >&5
+-echo $ECHO_N "checking for libxml-2.0... $ECHO_C" >&6
++ PKG_CONFIG=$ac_pt_PKG_CONFIG
++else
++ PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
++fi
+
+- if $PKG_CONFIG --exists "libxml-2.0" ; then
+- echo "$as_me:$LINENO: result: yes" >&5
++fi
++if test -n "$PKG_CONFIG"; then
++ _pkg_min_version=0.9.0
++ echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
++echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6
++ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
++ echo "$as_me:$LINENO: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+- succeeded=yes
++ else
++ echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++ PKG_CONFIG=""
++ fi
+
+- echo "$as_me:$LINENO: checking XML2_CFLAGS" >&5
+-echo $ECHO_N "checking XML2_CFLAGS... $ECHO_C" >&6
+- XML2_CFLAGS=`$PKG_CONFIG --cflags "libxml-2.0"`
+- echo "$as_me:$LINENO: result: $XML2_CFLAGS" >&5
+-echo "${ECHO_T}$XML2_CFLAGS" >&6
++fi
+
+- echo "$as_me:$LINENO: checking XML2_LIBS" >&5
+-echo $ECHO_N "checking XML2_LIBS... $ECHO_C" >&6
+- XML2_LIBS=`$PKG_CONFIG --libs "libxml-2.0"`
+- echo "$as_me:$LINENO: result: $XML2_LIBS" >&5
+-echo "${ECHO_T}$XML2_LIBS" >&6
++pkg_failed=no
++echo "$as_me:$LINENO: checking for XMLPP" >&5
++echo $ECHO_N "checking for XMLPP... $ECHO_C" >&6
++
++if test -n "$PKG_CONFIG"; then
++ if test -n "$XMLPP_CFLAGS"; then
++ pkg_cv_XMLPP_CFLAGS="$XMLPP_CFLAGS"
++ else
++ if test -n "$PKG_CONFIG" && \
++ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libxml++-1.0\"") >&5
++ ($PKG_CONFIG --exists --print-errors "libxml++-1.0") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ pkg_cv_XMLPP_CFLAGS=`$PKG_CONFIG --cflags "libxml++-1.0" 2>/dev/null`
++else
++ pkg_failed=yes
++fi
++ fi
++else
++ pkg_failed=untried
++fi
++if test -n "$PKG_CONFIG"; then
++ if test -n "$XMLPP_LIBS"; then
++ pkg_cv_XMLPP_LIBS="$XMLPP_LIBS"
++ else
++ if test -n "$PKG_CONFIG" && \
++ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libxml++-1.0\"") >&5
++ ($PKG_CONFIG --exists --print-errors "libxml++-1.0") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ pkg_cv_XMLPP_LIBS=`$PKG_CONFIG --libs "libxml++-1.0" 2>/dev/null`
++else
++ pkg_failed=yes
++fi
++ fi
++else
++ pkg_failed=untried
++fi
++
++
++
++if test $pkg_failed = yes; then
++
++if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
++ _pkg_short_errors_supported=yes
++else
++ _pkg_short_errors_supported=no
++fi
++ if test $_pkg_short_errors_supported = yes; then
++ XMLPP_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libxml++-1.0"`
+ else
+- XML2_CFLAGS=""
+- XML2_LIBS=""
+- ## If we have a custom action on failure, don't print errors, but
+- ## do set a variable so people can do so.
+- XML2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libxml-2.0"`
+- echo $XML2_PKG_ERRORS
++ XMLPP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libxml++-1.0"`
+ fi
++ # Put the nasty error message in config.log where it belongs
++ echo "$XMLPP_PKG_ERRORS" >&5
+
++ { { echo "$as_me:$LINENO: error: Package requirements (libxml++-1.0) were not met:
+
++$XMLPP_PKG_ERRORS
+
+- else
+- echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+- echo "*** See http://www.freedesktop.org/software/pkgconfig"
+- fi
+- fi
++Consider adjusting the PKG_CONFIG_PATH environment variable if you
++installed software in a non-standard prefix.
+
+- if test $succeeded = yes; then
+- :
+- else
+- { { echo "$as_me:$LINENO: error: Library requirements (libxml-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5
+-echo "$as_me: error: Library requirements (libxml-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;}
++Alternatively, you may set the environment variables XMLPP_CFLAGS
++and XMLPP_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++" >&5
++echo "$as_me: error: Package requirements (libxml++-1.0) were not met:
++
++$XMLPP_PKG_ERRORS
++
++Consider adjusting the PKG_CONFIG_PATH environment variable if you
++installed software in a non-standard prefix.
++
++Alternatively, you may set the environment variables XMLPP_CFLAGS
++and XMLPP_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++" >&2;}
+ { (exit 1); exit 1; }; }
+- fi
++elif test $pkg_failed = untried; then
++ { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
++is in your PATH or set the PKG_CONFIG environment variable to the full
++path to pkg-config.
++
++Alternatively, you may set the environment variables XMLPP_CFLAGS
++and XMLPP_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++
++To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
++See \`config.log' for more details." >&5
++echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
++is in your PATH or set the PKG_CONFIG environment variable to the full
++path to pkg-config.
++
++Alternatively, you may set the environment variables XMLPP_CFLAGS
++and XMLPP_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
+
++To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++else
++ XMLPP_CFLAGS=$pkg_cv_XMLPP_CFLAGS
++ XMLPP_LIBS=$pkg_cv_XMLPP_LIBS
++ echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++ :
++fi
+ if test "$APPLY_RPATH" != ""; then
+- XML2_LIBS=`echo "$XML2_LIBS" | sed -e "s/-L\([^ ]*\)/& -Wl,-rpath,\1/g"`
++ XMLPP_LIBS=`echo "$XMLPP_LIBS" | sed -e "s/-L\([^ ]*\)/& -Wl,-rpath,\1/g"`
+ fi
+
+
+
+
+- succeeded=no
++pkg_failed=no
++echo "$as_me:$LINENO: checking for XML2" >&5
++echo $ECHO_N "checking for XML2... $ECHO_C" >&6
+
+- if test -z "$PKG_CONFIG"; then
+- # Extract the first word of "pkg-config", so it can be a program name with args.
+-set dummy pkg-config; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
++if test -n "$PKG_CONFIG"; then
++ if test -n "$XML2_CFLAGS"; then
++ pkg_cv_XML2_CFLAGS="$XML2_CFLAGS"
++ else
++ if test -n "$PKG_CONFIG" && \
++ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libxml-2.0\"") >&5
++ ($PKG_CONFIG --exists --print-errors "libxml-2.0") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ pkg_cv_XML2_CFLAGS=`$PKG_CONFIG --cflags "libxml-2.0" 2>/dev/null`
+ else
+- case $PKG_CONFIG in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+- ;;
+- *)
+- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+- break 2
+- fi
+-done
+-done
+-
+- test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+- ;;
+-esac
++ pkg_failed=yes
++fi
++ fi
++else
++ pkg_failed=untried
+ fi
+-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+-
+ if test -n "$PKG_CONFIG"; then
+- echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+-echo "${ECHO_T}$PKG_CONFIG" >&6
++ if test -n "$XML2_LIBS"; then
++ pkg_cv_XML2_LIBS="$XML2_LIBS"
++ else
++ if test -n "$PKG_CONFIG" && \
++ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libxml-2.0\"") >&5
++ ($PKG_CONFIG --exists --print-errors "libxml-2.0") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ pkg_cv_XML2_LIBS=`$PKG_CONFIG --libs "libxml-2.0" 2>/dev/null`
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ pkg_failed=yes
++fi
++ fi
++else
++ pkg_failed=untried
+ fi
+
+- fi
+
+- if test "$PKG_CONFIG" = "no" ; then
+- echo "*** The pkg-config script could not be found. Make sure it is"
+- echo "*** in your path, or set the PKG_CONFIG environment variable"
+- echo "*** to the full path to pkg-config."
+- echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+- else
+- PKG_CONFIG_MIN_VERSION=0.9.0
+- if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+- echo "$as_me:$LINENO: checking for gtkmm-2.0" >&5
+-echo $ECHO_N "checking for gtkmm-2.0... $ECHO_C" >&6
+
+- if $PKG_CONFIG --exists "gtkmm-2.0" ; then
+- echo "$as_me:$LINENO: result: yes" >&5
++if test $pkg_failed = yes; then
++
++if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
++ _pkg_short_errors_supported=yes
++else
++ _pkg_short_errors_supported=no
++fi
++ if test $_pkg_short_errors_supported = yes; then
++ XML2_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libxml-2.0"`
++ else
++ XML2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libxml-2.0"`
++ fi
++ # Put the nasty error message in config.log where it belongs
++ echo "$XML2_PKG_ERRORS" >&5
++
++ { { echo "$as_me:$LINENO: error: Package requirements (libxml-2.0) were not met:
++
++$XML2_PKG_ERRORS
++
++Consider adjusting the PKG_CONFIG_PATH environment variable if you
++installed software in a non-standard prefix.
++
++Alternatively, you may set the environment variables XML2_CFLAGS
++and XML2_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++" >&5
++echo "$as_me: error: Package requirements (libxml-2.0) were not met:
++
++$XML2_PKG_ERRORS
++
++Consider adjusting the PKG_CONFIG_PATH environment variable if you
++installed software in a non-standard prefix.
++
++Alternatively, you may set the environment variables XML2_CFLAGS
++and XML2_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++" >&2;}
++ { (exit 1); exit 1; }; }
++elif test $pkg_failed = untried; then
++ { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
++is in your PATH or set the PKG_CONFIG environment variable to the full
++path to pkg-config.
++
++Alternatively, you may set the environment variables XML2_CFLAGS
++and XML2_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++
++To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
++See \`config.log' for more details." >&5
++echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
++is in your PATH or set the PKG_CONFIG environment variable to the full
++path to pkg-config.
++
++Alternatively, you may set the environment variables XML2_CFLAGS
++and XML2_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++
++To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++else
++ XML2_CFLAGS=$pkg_cv_XML2_CFLAGS
++ XML2_LIBS=$pkg_cv_XML2_LIBS
++ echo "$as_me:$LINENO: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+- succeeded=yes
++ :
++fi
++if test "$APPLY_RPATH" != ""; then
++ XML2_LIBS=`echo "$XML2_LIBS" | sed -e "s/-L\([^ ]*\)/& -Wl,-rpath,\1/g"`
++fi
+
+- echo "$as_me:$LINENO: checking GTKMM_CFLAGS" >&5
+-echo $ECHO_N "checking GTKMM_CFLAGS... $ECHO_C" >&6
+- GTKMM_CFLAGS=`$PKG_CONFIG --cflags "gtkmm-2.0"`
+- echo "$as_me:$LINENO: result: $GTKMM_CFLAGS" >&5
+-echo "${ECHO_T}$GTKMM_CFLAGS" >&6
+
+- echo "$as_me:$LINENO: checking GTKMM_LIBS" >&5
+-echo $ECHO_N "checking GTKMM_LIBS... $ECHO_C" >&6
+- GTKMM_LIBS=`$PKG_CONFIG --libs "gtkmm-2.0"`
+- echo "$as_me:$LINENO: result: $GTKMM_LIBS" >&5
+-echo "${ECHO_T}$GTKMM_LIBS" >&6
++
++
++pkg_failed=no
++echo "$as_me:$LINENO: checking for GTKMM" >&5
++echo $ECHO_N "checking for GTKMM... $ECHO_C" >&6
++
++if test -n "$PKG_CONFIG"; then
++ if test -n "$GTKMM_CFLAGS"; then
++ pkg_cv_GTKMM_CFLAGS="$GTKMM_CFLAGS"
++ else
++ if test -n "$PKG_CONFIG" && \
++ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtkmm-2.4\"") >&5
++ ($PKG_CONFIG --exists --print-errors "gtkmm-2.4") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ pkg_cv_GTKMM_CFLAGS=`$PKG_CONFIG --cflags "gtkmm-2.4" 2>/dev/null`
++else
++ pkg_failed=yes
++fi
++ fi
++else
++ pkg_failed=untried
++fi
++if test -n "$PKG_CONFIG"; then
++ if test -n "$GTKMM_LIBS"; then
++ pkg_cv_GTKMM_LIBS="$GTKMM_LIBS"
++ else
++ if test -n "$PKG_CONFIG" && \
++ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtkmm-2.4\"") >&5
++ ($PKG_CONFIG --exists --print-errors "gtkmm-2.4") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ pkg_cv_GTKMM_LIBS=`$PKG_CONFIG --libs "gtkmm-2.4" 2>/dev/null`
++else
++ pkg_failed=yes
++fi
++ fi
++else
++ pkg_failed=untried
++fi
++
++
++
++if test $pkg_failed = yes; then
++
++if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
++ _pkg_short_errors_supported=yes
++else
++ _pkg_short_errors_supported=no
++fi
++ if test $_pkg_short_errors_supported = yes; then
++ GTKMM_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gtkmm-2.4"`
+ else
+- GTKMM_CFLAGS=""
+- GTKMM_LIBS=""
+- ## If we have a custom action on failure, don't print errors, but
+- ## do set a variable so people can do so.
+- GTKMM_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gtkmm-2.0"`
+- echo $GTKMM_PKG_ERRORS
++ GTKMM_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gtkmm-2.4"`
+ fi
++ # Put the nasty error message in config.log where it belongs
++ echo "$GTKMM_PKG_ERRORS" >&5
+
++ { { echo "$as_me:$LINENO: error: Package requirements (gtkmm-2.4) were not met:
+
++$GTKMM_PKG_ERRORS
+
+- else
+- echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+- echo "*** See http://www.freedesktop.org/software/pkgconfig"
+- fi
+- fi
++Consider adjusting the PKG_CONFIG_PATH environment variable if you
++installed software in a non-standard prefix.
+
+- if test $succeeded = yes; then
+- :
+- else
+- { { echo "$as_me:$LINENO: error: Library requirements (gtkmm-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5
+-echo "$as_me: error: Library requirements (gtkmm-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;}
++Alternatively, you may set the environment variables GTKMM_CFLAGS
++and GTKMM_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++" >&5
++echo "$as_me: error: Package requirements (gtkmm-2.4) were not met:
++
++$GTKMM_PKG_ERRORS
++
++Consider adjusting the PKG_CONFIG_PATH environment variable if you
++installed software in a non-standard prefix.
++
++Alternatively, you may set the environment variables GTKMM_CFLAGS
++and GTKMM_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++" >&2;}
+ { (exit 1); exit 1; }; }
+- fi
++elif test $pkg_failed = untried; then
++ { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
++is in your PATH or set the PKG_CONFIG environment variable to the full
++path to pkg-config.
++
++Alternatively, you may set the environment variables GTKMM_CFLAGS
++and GTKMM_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++
++To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
++See \`config.log' for more details." >&5
++echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
++is in your PATH or set the PKG_CONFIG environment variable to the full
++path to pkg-config.
++
++Alternatively, you may set the environment variables GTKMM_CFLAGS
++and GTKMM_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
+
++To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++else
++ GTKMM_CFLAGS=$pkg_cv_GTKMM_CFLAGS
++ GTKMM_LIBS=$pkg_cv_GTKMM_LIBS
++ echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++ :
++fi
+ if test "$APPLY_RPATH" != ""; then
+ GTKMM_LIBS=`echo "$GTKMM_LIBS" | sed -e "s/-L\([^ ]*\)/& -Wl,-rpath,\1/g"`
+ fi
+@@ -2869,103 +3092,116 @@
+
+
+
+- succeeded=no
++pkg_failed=no
++echo "$as_me:$LINENO: checking for GNOMECANVAS" >&5
++echo $ECHO_N "checking for GNOMECANVAS... $ECHO_C" >&6
+
+- if test -z "$PKG_CONFIG"; then
+- # Extract the first word of "pkg-config", so it can be a program name with args.
+-set dummy pkg-config; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
++if test -n "$PKG_CONFIG"; then
++ if test -n "$GNOMECANVAS_CFLAGS"; then
++ pkg_cv_GNOMECANVAS_CFLAGS="$GNOMECANVAS_CFLAGS"
++ else
++ if test -n "$PKG_CONFIG" && \
++ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libgnomecanvasmm-2.6\"") >&5
++ ($PKG_CONFIG --exists --print-errors "libgnomecanvasmm-2.6") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ pkg_cv_GNOMECANVAS_CFLAGS=`$PKG_CONFIG --cflags "libgnomecanvasmm-2.6" 2>/dev/null`
+ else
+- case $PKG_CONFIG in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+- ;;
+- *)
+- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+- break 2
+- fi
+-done
+-done
+-
+- test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+- ;;
+-esac
++ pkg_failed=yes
++fi
++ fi
++else
++ pkg_failed=untried
+ fi
+-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+-
+ if test -n "$PKG_CONFIG"; then
+- echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+-echo "${ECHO_T}$PKG_CONFIG" >&6
++ if test -n "$GNOMECANVAS_LIBS"; then
++ pkg_cv_GNOMECANVAS_LIBS="$GNOMECANVAS_LIBS"
++ else
++ if test -n "$PKG_CONFIG" && \
++ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libgnomecanvasmm-2.6\"") >&5
++ ($PKG_CONFIG --exists --print-errors "libgnomecanvasmm-2.6") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ pkg_cv_GNOMECANVAS_LIBS=`$PKG_CONFIG --libs "libgnomecanvasmm-2.6" 2>/dev/null`
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ pkg_failed=yes
++fi
++ fi
++else
++ pkg_failed=untried
+ fi
+
+- fi
+-
+- if test "$PKG_CONFIG" = "no" ; then
+- echo "*** The pkg-config script could not be found. Make sure it is"
+- echo "*** in your path, or set the PKG_CONFIG environment variable"
+- echo "*** to the full path to pkg-config."
+- echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+- else
+- PKG_CONFIG_MIN_VERSION=0.9.0
+- if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+- echo "$as_me:$LINENO: checking for libgnomecanvasmm-2.0" >&5
+-echo $ECHO_N "checking for libgnomecanvasmm-2.0... $ECHO_C" >&6
+
+- if $PKG_CONFIG --exists "libgnomecanvasmm-2.0" ; then
+- echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
+- succeeded=yes
+
+- echo "$as_me:$LINENO: checking GNOMECANVAS_CFLAGS" >&5
+-echo $ECHO_N "checking GNOMECANVAS_CFLAGS... $ECHO_C" >&6
+- GNOMECANVAS_CFLAGS=`$PKG_CONFIG --cflags "libgnomecanvasmm-2.0"`
+- echo "$as_me:$LINENO: result: $GNOMECANVAS_CFLAGS" >&5
+-echo "${ECHO_T}$GNOMECANVAS_CFLAGS" >&6
++if test $pkg_failed = yes; then
+
+- echo "$as_me:$LINENO: checking GNOMECANVAS_LIBS" >&5
+-echo $ECHO_N "checking GNOMECANVAS_LIBS... $ECHO_C" >&6
+- GNOMECANVAS_LIBS=`$PKG_CONFIG --libs "libgnomecanvasmm-2.0"`
+- echo "$as_me:$LINENO: result: $GNOMECANVAS_LIBS" >&5
+-echo "${ECHO_T}$GNOMECANVAS_LIBS" >&6
++if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
++ _pkg_short_errors_supported=yes
++else
++ _pkg_short_errors_supported=no
++fi
++ if test $_pkg_short_errors_supported = yes; then
++ GNOMECANVAS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libgnomecanvasmm-2.6"`
+ else
+- GNOMECANVAS_CFLAGS=""
+- GNOMECANVAS_LIBS=""
+- ## If we have a custom action on failure, don't print errors, but
+- ## do set a variable so people can do so.
+- GNOMECANVAS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libgnomecanvasmm-2.0"`
+- echo $GNOMECANVAS_PKG_ERRORS
++ GNOMECANVAS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libgnomecanvasmm-2.6"`
+ fi
++ # Put the nasty error message in config.log where it belongs
++ echo "$GNOMECANVAS_PKG_ERRORS" >&5
+
++ { { echo "$as_me:$LINENO: error: Package requirements (libgnomecanvasmm-2.6) were not met:
+
++$GNOMECANVAS_PKG_ERRORS
+
+- else
+- echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+- echo "*** See http://www.freedesktop.org/software/pkgconfig"
+- fi
+- fi
++Consider adjusting the PKG_CONFIG_PATH environment variable if you
++installed software in a non-standard prefix.
+
+- if test $succeeded = yes; then
+- :
+- else
+- { { echo "$as_me:$LINENO: error: Library requirements (libgnomecanvasmm-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5
+-echo "$as_me: error: Library requirements (libgnomecanvasmm-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;}
++Alternatively, you may set the environment variables GNOMECANVAS_CFLAGS
++and GNOMECANVAS_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++" >&5
++echo "$as_me: error: Package requirements (libgnomecanvasmm-2.6) were not met:
++
++$GNOMECANVAS_PKG_ERRORS
++
++Consider adjusting the PKG_CONFIG_PATH environment variable if you
++installed software in a non-standard prefix.
++
++Alternatively, you may set the environment variables GNOMECANVAS_CFLAGS
++and GNOMECANVAS_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++" >&2;}
+ { (exit 1); exit 1; }; }
+- fi
++elif test $pkg_failed = untried; then
++ { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
++is in your PATH or set the PKG_CONFIG environment variable to the full
++path to pkg-config.
++
++Alternatively, you may set the environment variables GNOMECANVAS_CFLAGS
++and GNOMECANVAS_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++
++To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
++See \`config.log' for more details." >&5
++echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
++is in your PATH or set the PKG_CONFIG environment variable to the full
++path to pkg-config.
++
++Alternatively, you may set the environment variables GNOMECANVAS_CFLAGS
++and GNOMECANVAS_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
+
++To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++else
++ GNOMECANVAS_CFLAGS=$pkg_cv_GNOMECANVAS_CFLAGS
++ GNOMECANVAS_LIBS=$pkg_cv_GNOMECANVAS_LIBS
++ echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++ :
++fi
+ if test "$APPLY_RPATH" != ""; then
+ XMLPP_LIBS=`echo "$XMLPP_LIBS" | sed -e "s/-L\([^ ]*\)/& -Wl,-rpath,\1/g"`
+ fi
+@@ -2973,103 +3209,116 @@
+
+
+
+- succeeded=no
++pkg_failed=no
++echo "$as_me:$LINENO: checking for GTHREAD" >&5
++echo $ECHO_N "checking for GTHREAD... $ECHO_C" >&6
+
+- if test -z "$PKG_CONFIG"; then
+- # Extract the first word of "pkg-config", so it can be a program name with args.
+-set dummy pkg-config; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
++if test -n "$PKG_CONFIG"; then
++ if test -n "$GTHREAD_CFLAGS"; then
++ pkg_cv_GTHREAD_CFLAGS="$GTHREAD_CFLAGS"
++ else
++ if test -n "$PKG_CONFIG" && \
++ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gthread-2.0\"") >&5
++ ($PKG_CONFIG --exists --print-errors "gthread-2.0") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ pkg_cv_GTHREAD_CFLAGS=`$PKG_CONFIG --cflags "gthread-2.0" 2>/dev/null`
+ else
+- case $PKG_CONFIG in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+- ;;
+- *)
+- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+- break 2
+- fi
+-done
+-done
+-
+- test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+- ;;
+-esac
++ pkg_failed=yes
++fi
++ fi
++else
++ pkg_failed=untried
+ fi
+-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+-
+ if test -n "$PKG_CONFIG"; then
+- echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+-echo "${ECHO_T}$PKG_CONFIG" >&6
++ if test -n "$GTHREAD_LIBS"; then
++ pkg_cv_GTHREAD_LIBS="$GTHREAD_LIBS"
++ else
++ if test -n "$PKG_CONFIG" && \
++ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gthread-2.0\"") >&5
++ ($PKG_CONFIG --exists --print-errors "gthread-2.0") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ pkg_cv_GTHREAD_LIBS=`$PKG_CONFIG --libs "gthread-2.0" 2>/dev/null`
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ pkg_failed=yes
++fi
++ fi
++else
++ pkg_failed=untried
+ fi
+
+- fi
+-
+- if test "$PKG_CONFIG" = "no" ; then
+- echo "*** The pkg-config script could not be found. Make sure it is"
+- echo "*** in your path, or set the PKG_CONFIG environment variable"
+- echo "*** to the full path to pkg-config."
+- echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+- else
+- PKG_CONFIG_MIN_VERSION=0.9.0
+- if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+- echo "$as_me:$LINENO: checking for gthread-2.0" >&5
+-echo $ECHO_N "checking for gthread-2.0... $ECHO_C" >&6
+
+- if $PKG_CONFIG --exists "gthread-2.0" ; then
+- echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
+- succeeded=yes
+
+- echo "$as_me:$LINENO: checking GTHREAD_CFLAGS" >&5
+-echo $ECHO_N "checking GTHREAD_CFLAGS... $ECHO_C" >&6
+- GTHREAD_CFLAGS=`$PKG_CONFIG --cflags "gthread-2.0"`
+- echo "$as_me:$LINENO: result: $GTHREAD_CFLAGS" >&5
+-echo "${ECHO_T}$GTHREAD_CFLAGS" >&6
++if test $pkg_failed = yes; then
+
+- echo "$as_me:$LINENO: checking GTHREAD_LIBS" >&5
+-echo $ECHO_N "checking GTHREAD_LIBS... $ECHO_C" >&6
+- GTHREAD_LIBS=`$PKG_CONFIG --libs "gthread-2.0"`
+- echo "$as_me:$LINENO: result: $GTHREAD_LIBS" >&5
+-echo "${ECHO_T}$GTHREAD_LIBS" >&6
++if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
++ _pkg_short_errors_supported=yes
++else
++ _pkg_short_errors_supported=no
++fi
++ if test $_pkg_short_errors_supported = yes; then
++ GTHREAD_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gthread-2.0"`
+ else
+- GTHREAD_CFLAGS=""
+- GTHREAD_LIBS=""
+- ## If we have a custom action on failure, don't print errors, but
+- ## do set a variable so people can do so.
+- GTHREAD_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gthread-2.0"`
+- echo $GTHREAD_PKG_ERRORS
++ GTHREAD_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gthread-2.0"`
+ fi
++ # Put the nasty error message in config.log where it belongs
++ echo "$GTHREAD_PKG_ERRORS" >&5
+
++ { { echo "$as_me:$LINENO: error: Package requirements (gthread-2.0) were not met:
+
++$GTHREAD_PKG_ERRORS
+
+- else
+- echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+- echo "*** See http://www.freedesktop.org/software/pkgconfig"
+- fi
+- fi
++Consider adjusting the PKG_CONFIG_PATH environment variable if you
++installed software in a non-standard prefix.
+
+- if test $succeeded = yes; then
+- :
+- else
+- { { echo "$as_me:$LINENO: error: Library requirements (gthread-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5
+-echo "$as_me: error: Library requirements (gthread-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;}
++Alternatively, you may set the environment variables GTHREAD_CFLAGS
++and GTHREAD_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++" >&5
++echo "$as_me: error: Package requirements (gthread-2.0) were not met:
++
++$GTHREAD_PKG_ERRORS
++
++Consider adjusting the PKG_CONFIG_PATH environment variable if you
++installed software in a non-standard prefix.
++
++Alternatively, you may set the environment variables GTHREAD_CFLAGS
++and GTHREAD_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++" >&2;}
+ { (exit 1); exit 1; }; }
+- fi
++elif test $pkg_failed = untried; then
++ { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
++is in your PATH or set the PKG_CONFIG environment variable to the full
++path to pkg-config.
++
++Alternatively, you may set the environment variables GTHREAD_CFLAGS
++and GTHREAD_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++
++To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
++See \`config.log' for more details." >&5
++echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
++is in your PATH or set the PKG_CONFIG environment variable to the full
++path to pkg-config.
++
++Alternatively, you may set the environment variables GTHREAD_CFLAGS
++and GTHREAD_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
+
++To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++else
++ GTHREAD_CFLAGS=$pkg_cv_GTHREAD_CFLAGS
++ GTHREAD_LIBS=$pkg_cv_GTHREAD_LIBS
++ echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++ :
++fi
+ if test "$APPLY_RPATH" != ""; then
+ GTHREAD_LIBS=`echo "$GTHREAD_LIBS" | sed -e "s/-L\([^ ]*\)/& -Wl,-rpath,\1/g"`
+ fi
+@@ -3077,103 +3326,116 @@
+
+
+
+- succeeded=no
++pkg_failed=no
++echo "$as_me:$LINENO: checking for SIGC" >&5
++echo $ECHO_N "checking for SIGC... $ECHO_C" >&6
+
+- if test -z "$PKG_CONFIG"; then
+- # Extract the first word of "pkg-config", so it can be a program name with args.
+-set dummy pkg-config; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
++if test -n "$PKG_CONFIG"; then
++ if test -n "$SIGC_CFLAGS"; then
++ pkg_cv_SIGC_CFLAGS="$SIGC_CFLAGS"
++ else
++ if test -n "$PKG_CONFIG" && \
++ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"sigc++-2.0\"") >&5
++ ($PKG_CONFIG --exists --print-errors "sigc++-2.0") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ pkg_cv_SIGC_CFLAGS=`$PKG_CONFIG --cflags "sigc++-2.0" 2>/dev/null`
+ else
+- case $PKG_CONFIG in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+- ;;
+- *)
+- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+- break 2
+- fi
+-done
+-done
+-
+- test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+- ;;
+-esac
++ pkg_failed=yes
++fi
++ fi
++else
++ pkg_failed=untried
+ fi
+-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+-
+ if test -n "$PKG_CONFIG"; then
+- echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+-echo "${ECHO_T}$PKG_CONFIG" >&6
++ if test -n "$SIGC_LIBS"; then
++ pkg_cv_SIGC_LIBS="$SIGC_LIBS"
++ else
++ if test -n "$PKG_CONFIG" && \
++ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"sigc++-2.0\"") >&5
++ ($PKG_CONFIG --exists --print-errors "sigc++-2.0") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ pkg_cv_SIGC_LIBS=`$PKG_CONFIG --libs "sigc++-2.0" 2>/dev/null`
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ pkg_failed=yes
++fi
++ fi
++else
++ pkg_failed=untried
+ fi
+
+- fi
+-
+- if test "$PKG_CONFIG" = "no" ; then
+- echo "*** The pkg-config script could not be found. Make sure it is"
+- echo "*** in your path, or set the PKG_CONFIG environment variable"
+- echo "*** to the full path to pkg-config."
+- echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+- else
+- PKG_CONFIG_MIN_VERSION=0.9.0
+- if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+- echo "$as_me:$LINENO: checking for sigc++-1.2" >&5
+-echo $ECHO_N "checking for sigc++-1.2... $ECHO_C" >&6
+
+- if $PKG_CONFIG --exists "sigc++-1.2" ; then
+- echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
+- succeeded=yes
+
+- echo "$as_me:$LINENO: checking SIGC_CFLAGS" >&5
+-echo $ECHO_N "checking SIGC_CFLAGS... $ECHO_C" >&6
+- SIGC_CFLAGS=`$PKG_CONFIG --cflags "sigc++-1.2"`
+- echo "$as_me:$LINENO: result: $SIGC_CFLAGS" >&5
+-echo "${ECHO_T}$SIGC_CFLAGS" >&6
++if test $pkg_failed = yes; then
+
+- echo "$as_me:$LINENO: checking SIGC_LIBS" >&5
+-echo $ECHO_N "checking SIGC_LIBS... $ECHO_C" >&6
+- SIGC_LIBS=`$PKG_CONFIG --libs "sigc++-1.2"`
+- echo "$as_me:$LINENO: result: $SIGC_LIBS" >&5
+-echo "${ECHO_T}$SIGC_LIBS" >&6
++if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
++ _pkg_short_errors_supported=yes
++else
++ _pkg_short_errors_supported=no
++fi
++ if test $_pkg_short_errors_supported = yes; then
++ SIGC_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "sigc++-2.0"`
+ else
+- SIGC_CFLAGS=""
+- SIGC_LIBS=""
+- ## If we have a custom action on failure, don't print errors, but
+- ## do set a variable so people can do so.
+- SIGC_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "sigc++-1.2"`
+- echo $SIGC_PKG_ERRORS
++ SIGC_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "sigc++-2.0"`
+ fi
++ # Put the nasty error message in config.log where it belongs
++ echo "$SIGC_PKG_ERRORS" >&5
+
++ { { echo "$as_me:$LINENO: error: Package requirements (sigc++-2.0) were not met:
+
++$SIGC_PKG_ERRORS
+
+- else
+- echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+- echo "*** See http://www.freedesktop.org/software/pkgconfig"
+- fi
+- fi
++Consider adjusting the PKG_CONFIG_PATH environment variable if you
++installed software in a non-standard prefix.
+
+- if test $succeeded = yes; then
+- :
+- else
+- { { echo "$as_me:$LINENO: error: Library requirements (sigc++-1.2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5
+-echo "$as_me: error: Library requirements (sigc++-1.2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;}
++Alternatively, you may set the environment variables SIGC_CFLAGS
++and SIGC_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++" >&5
++echo "$as_me: error: Package requirements (sigc++-2.0) were not met:
++
++$SIGC_PKG_ERRORS
++
++Consider adjusting the PKG_CONFIG_PATH environment variable if you
++installed software in a non-standard prefix.
++
++Alternatively, you may set the environment variables SIGC_CFLAGS
++and SIGC_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++" >&2;}
+ { (exit 1); exit 1; }; }
+- fi
++elif test $pkg_failed = untried; then
++ { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
++is in your PATH or set the PKG_CONFIG environment variable to the full
++path to pkg-config.
++
++Alternatively, you may set the environment variables SIGC_CFLAGS
++and SIGC_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++
++To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
++See \`config.log' for more details." >&5
++echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
++is in your PATH or set the PKG_CONFIG environment variable to the full
++path to pkg-config.
+
++Alternatively, you may set the environment variables SIGC_CFLAGS
++and SIGC_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++
++To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++else
++ SIGC_CFLAGS=$pkg_cv_SIGC_CFLAGS
++ SIGC_LIBS=$pkg_cv_SIGC_LIBS
++ echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++ :
++fi
+ if test "$APPLY_RPATH" != ""; then
+ SIGC_LIBS=`echo "$SIGC_LIBS" | sed -e "s/-L\([^ ]*\)/& -Wl,-rpath,\1/g"`
+ fi
+@@ -3181,103 +3443,116 @@
+
+
+
+- succeeded=no
++pkg_failed=no
++echo "$as_me:$LINENO: checking for FREETYPE" >&5
++echo $ECHO_N "checking for FREETYPE... $ECHO_C" >&6
+
+- if test -z "$PKG_CONFIG"; then
+- # Extract the first word of "pkg-config", so it can be a program name with args.
+-set dummy pkg-config; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
++if test -n "$PKG_CONFIG"; then
++ if test -n "$FREETYPE_CFLAGS"; then
++ pkg_cv_FREETYPE_CFLAGS="$FREETYPE_CFLAGS"
++ else
++ if test -n "$PKG_CONFIG" && \
++ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"freetype2\"") >&5
++ ($PKG_CONFIG --exists --print-errors "freetype2") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ pkg_cv_FREETYPE_CFLAGS=`$PKG_CONFIG --cflags "freetype2" 2>/dev/null`
+ else
+- case $PKG_CONFIG in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+- ;;
+- *)
+- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+- break 2
+- fi
+-done
+-done
+-
+- test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+- ;;
+-esac
++ pkg_failed=yes
++fi
++ fi
++else
++ pkg_failed=untried
+ fi
+-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+-
+ if test -n "$PKG_CONFIG"; then
+- echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+-echo "${ECHO_T}$PKG_CONFIG" >&6
++ if test -n "$FREETYPE_LIBS"; then
++ pkg_cv_FREETYPE_LIBS="$FREETYPE_LIBS"
++ else
++ if test -n "$PKG_CONFIG" && \
++ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"freetype2\"") >&5
++ ($PKG_CONFIG --exists --print-errors "freetype2") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ pkg_cv_FREETYPE_LIBS=`$PKG_CONFIG --libs "freetype2" 2>/dev/null`
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ pkg_failed=yes
++fi
++ fi
++else
++ pkg_failed=untried
+ fi
+
+- fi
+-
+- if test "$PKG_CONFIG" = "no" ; then
+- echo "*** The pkg-config script could not be found. Make sure it is"
+- echo "*** in your path, or set the PKG_CONFIG environment variable"
+- echo "*** to the full path to pkg-config."
+- echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+- else
+- PKG_CONFIG_MIN_VERSION=0.9.0
+- if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+- echo "$as_me:$LINENO: checking for freetype2" >&5
+-echo $ECHO_N "checking for freetype2... $ECHO_C" >&6
+
+- if $PKG_CONFIG --exists "freetype2" ; then
+- echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
+- succeeded=yes
+
+- echo "$as_me:$LINENO: checking FREETYPE_CFLAGS" >&5
+-echo $ECHO_N "checking FREETYPE_CFLAGS... $ECHO_C" >&6
+- FREETYPE_CFLAGS=`$PKG_CONFIG --cflags "freetype2"`
+- echo "$as_me:$LINENO: result: $FREETYPE_CFLAGS" >&5
+-echo "${ECHO_T}$FREETYPE_CFLAGS" >&6
++if test $pkg_failed = yes; then
+
+- echo "$as_me:$LINENO: checking FREETYPE_LIBS" >&5
+-echo $ECHO_N "checking FREETYPE_LIBS... $ECHO_C" >&6
+- FREETYPE_LIBS=`$PKG_CONFIG --libs "freetype2"`
+- echo "$as_me:$LINENO: result: $FREETYPE_LIBS" >&5
+-echo "${ECHO_T}$FREETYPE_LIBS" >&6
++if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
++ _pkg_short_errors_supported=yes
++else
++ _pkg_short_errors_supported=no
++fi
++ if test $_pkg_short_errors_supported = yes; then
++ FREETYPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "freetype2"`
+ else
+- FREETYPE_CFLAGS=""
+- FREETYPE_LIBS=""
+- ## If we have a custom action on failure, don't print errors, but
+- ## do set a variable so people can do so.
+- FREETYPE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "freetype2"`
+- echo $FREETYPE_PKG_ERRORS
++ FREETYPE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "freetype2"`
+ fi
++ # Put the nasty error message in config.log where it belongs
++ echo "$FREETYPE_PKG_ERRORS" >&5
+
++ { { echo "$as_me:$LINENO: error: Package requirements (freetype2) were not met:
+
++$FREETYPE_PKG_ERRORS
+
+- else
+- echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+- echo "*** See http://www.freedesktop.org/software/pkgconfig"
+- fi
+- fi
++Consider adjusting the PKG_CONFIG_PATH environment variable if you
++installed software in a non-standard prefix.
+
+- if test $succeeded = yes; then
+- :
+- else
+- { { echo "$as_me:$LINENO: error: Library requirements (freetype2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5
+-echo "$as_me: error: Library requirements (freetype2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;}
++Alternatively, you may set the environment variables FREETYPE_CFLAGS
++and FREETYPE_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++" >&5
++echo "$as_me: error: Package requirements (freetype2) were not met:
++
++$FREETYPE_PKG_ERRORS
++
++Consider adjusting the PKG_CONFIG_PATH environment variable if you
++installed software in a non-standard prefix.
++
++Alternatively, you may set the environment variables FREETYPE_CFLAGS
++and FREETYPE_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++" >&2;}
+ { (exit 1); exit 1; }; }
+- fi
++elif test $pkg_failed = untried; then
++ { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
++is in your PATH or set the PKG_CONFIG environment variable to the full
++path to pkg-config.
++
++Alternatively, you may set the environment variables FREETYPE_CFLAGS
++and FREETYPE_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++
++To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
++See \`config.log' for more details." >&5
++echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
++is in your PATH or set the PKG_CONFIG environment variable to the full
++path to pkg-config.
++
++Alternatively, you may set the environment variables FREETYPE_CFLAGS
++and FREETYPE_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
+
++To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++else
++ FREETYPE_CFLAGS=$pkg_cv_FREETYPE_CFLAGS
++ FREETYPE_LIBS=$pkg_cv_FREETYPE_LIBS
++ echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++ :
++fi
+ if test "$APPLY_RPATH" != ""; then
+ FREETYPE_LIBS=`echo "$FREETYPE_LIBS" | sed -e "s/-L\([^ ]*\)/& -Wl,-rpath,\1/g"`
+ fi
+@@ -3650,8 +3925,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -3709,8 +3983,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -3826,8 +4099,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -3881,8 +4153,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -3927,8 +4198,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -3972,8 +4242,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4154,8 +4423,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4239,8 +4507,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4312,8 +4579,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4367,8 +4633,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4439,8 +4704,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4494,8 +4758,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4814,8 +5077,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4985,8 +5247,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -5051,8 +5312,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -5117,8 +5377,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -5188,8 +5447,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -5374,8 +5632,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -5417,18 +5674,24 @@
+ ac_cv_func_fork_works=cross
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-/* By Ruediger Kuhlmann. */
+- #include <sys/types.h>
+- #if HAVE_UNISTD_H
+- # include <unistd.h>
+- #endif
+- /* Some systems only have a dummy stub for fork() */
+- int main ()
+- {
+- if (fork() < 0)
+- exit (1);
+- exit (0);
+- }
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++
++ /* By Ruediger Kuhlmann. */
++ if (fork() < 0)
++ exit (1);
++ exit (0);
++
++ ;
++ return 0;
++}
+ _ACEOF
+ rm -f conftest$ac_exeext
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+@@ -5855,8 +6118,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -6589,6 +6851,7 @@
+ s,@XMLPP_LIBS@,$XMLPP_LIBS,;t t
+ s,@XMLPP_CFLAGS@,$XMLPP_CFLAGS,;t t
+ s,@PKG_CONFIG@,$PKG_CONFIG,;t t
++s,@ac_pt_PKG_CONFIG@,$ac_pt_PKG_CONFIG,;t t
+ s,@XML2_LIBS@,$XML2_LIBS,;t t
+ s,@XML2_CFLAGS@,$XML2_CFLAGS,;t t
+ s,@GTKMM_LIBS@,$GTKMM_LIBS,;t t
+@@ -6779,11 +7042,6 @@
+ *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+ esac
+
+- if test x"$ac_file" != x-; then
+- { echo "$as_me:$LINENO: creating $ac_file" >&5
+-echo "$as_me: creating $ac_file" >&6;}
+- rm -f "$ac_file"
+- fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+@@ -6822,6 +7080,12 @@
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
++
++ if test x"$ac_file" != x-; then
++ { echo "$as_me:$LINENO: creating $ac_file" >&5
++echo "$as_me: creating $ac_file" >&6;}
++ rm -f "$ac_file"
++ fi
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF
+ sed "$ac_vpsub
+diff -urNad passepartout-0.6-3.newpatch~/doc/examples/Makefile.in passepartout-0.6-3.newpatch/doc/examples/Makefile.in
+--- passepartout-0.6-3.newpatch~/doc/examples/Makefile.in 2004-10-31 20:23:49.000000000 +0100
++++ doc/examples/Makefile.in 2005-12-21 04:31:21.000000000 +0100
+@@ -101,6 +101,7 @@
+ ac_ct_CXX = @ac_ct_CXX@
+ ac_ct_RANLIB = @ac_ct_RANLIB@
+ ac_ct_STRIP = @ac_ct_STRIP@
++ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+diff -urNad passepartout-0.6-3.newpatch~/doc/Makefile.in passepartout-0.6-3.newpatch/doc/Makefile.in
+--- passepartout-0.6-3.newpatch~/doc/Makefile.in 2004-10-31 20:23:49.000000000 +0100
++++ doc/Makefile.in 2005-12-21 04:31:21.000000000 +0100
+@@ -101,6 +101,7 @@
+ ac_ct_CXX = @ac_ct_CXX@
+ ac_ct_RANLIB = @ac_ct_RANLIB@
+ ac_ct_STRIP = @ac_ct_STRIP@
++ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+@@ -465,7 +466,7 @@
+ @echo "it deletes files that may require special tools to rebuild."
+ clean: clean-recursive
+
+-clean-am: clean-generic mostlyclean-am
++clean-am: clean-generic clean-local mostlyclean-am
+
+ distclean: distclean-recursive
+ -rm -f Makefile
+@@ -517,16 +518,16 @@
+ uninstall-man: uninstall-man1
+
+ .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
+- clean-generic clean-recursive ctags ctags-recursive distclean \
+- distclean-generic distclean-recursive distclean-tags distdir \
+- dvi dvi-am dvi-recursive info info-am info-recursive install \
+- install-am install-data install-data-am install-data-recursive \
+- install-dist_docDATA install-docDATA install-exec \
+- install-exec-am install-exec-recursive install-info \
+- install-info-am install-info-recursive install-man install-man1 \
+- install-recursive install-strip installcheck installcheck-am \
+- installdirs installdirs-am installdirs-recursive \
+- maintainer-clean maintainer-clean-generic \
++ clean-generic clean-local clean-recursive ctags ctags-recursive \
++ distclean distclean-generic distclean-recursive distclean-tags \
++ distdir dvi dvi-am dvi-recursive info info-am info-recursive \
++ install install-am install-data install-data-am \
++ install-data-recursive install-dist_docDATA install-docDATA \
++ install-exec install-exec-am install-exec-recursive \
++ install-info install-info-am install-info-recursive install-man \
++ install-man1 install-recursive install-strip installcheck \
++ installcheck-am installdirs installdirs-am \
++ installdirs-recursive maintainer-clean maintainer-clean-generic \
+ maintainer-clean-recursive mostlyclean mostlyclean-generic \
+ mostlyclean-recursive pdf pdf-am pdf-recursive ps ps-am \
+ ps-recursive tags tags-recursive uninstall uninstall-am \
+@@ -552,6 +553,10 @@
+
+ .xml.html:
+ xsltproc -o $@ $(DOCBOOK2HTML) $<
++
++# clean generated .txt and .html files
++clean-local:
++ rm -f *.txt *.html
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
+diff -urNad passepartout-0.6-3.newpatch~/logotype/Makefile.in passepartout-0.6-3.newpatch/logotype/Makefile.in
+--- passepartout-0.6-3.newpatch~/logotype/Makefile.in 2004-10-31 20:23:49.000000000 +0100
++++ logotype/Makefile.in 2005-12-21 04:31:21.000000000 +0100
+@@ -101,6 +101,7 @@
+ ac_ct_CXX = @ac_ct_CXX@
+ ac_ct_RANLIB = @ac_ct_RANLIB@
+ ac_ct_STRIP = @ac_ct_STRIP@
++ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+diff -urNad passepartout-0.6-3.newpatch~/Makefile.in passepartout-0.6-3.newpatch/Makefile.in
+--- passepartout-0.6-3.newpatch~/Makefile.in 2004-10-31 20:23:48.000000000 +0100
++++ Makefile.in 2005-12-21 04:31:20.000000000 +0100
+@@ -101,6 +101,7 @@
+ ac_ct_CXX = @ac_ct_CXX@
+ ac_ct_RANLIB = @ac_ct_RANLIB@
+ ac_ct_STRIP = @ac_ct_STRIP@
++ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+@@ -145,8 +146,9 @@
+ installdirs-recursive install-recursive uninstall-recursive \
+ check-recursive installcheck-recursive
+ DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/configure AUTHORS \
+- COPYING INSTALL Makefile.am NEWS aclocal.m4 configure \
+- configure.ac depcomp install-sh missing mkinstalldirs
++ COPYING INSTALL Makefile.am NEWS aclocal.m4 config.guess \
++ config.sub configure configure.ac depcomp install-sh missing \
++ mkinstalldirs
+ DIST_SUBDIRS = $(SUBDIRS)
+ all: all-recursive
+
+diff -urNad passepartout-0.6-3.newpatch~/src/fonts/Makefile.in passepartout-0.6-3.newpatch/src/fonts/Makefile.in
+--- passepartout-0.6-3.newpatch~/src/fonts/Makefile.in 2004-10-31 20:23:50.000000000 +0100
++++ src/fonts/Makefile.in 2005-12-21 04:31:21.000000000 +0100
+@@ -101,6 +101,7 @@
+ ac_ct_CXX = @ac_ct_CXX@
+ ac_ct_RANLIB = @ac_ct_RANLIB@
+ ac_ct_STRIP = @ac_ct_STRIP@
++ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+diff -urNad passepartout-0.6-3.newpatch~/src/Makefile.in passepartout-0.6-3.newpatch/src/Makefile.in
+--- passepartout-0.6-3.newpatch~/src/Makefile.in 2004-10-31 20:23:49.000000000 +0100
++++ src/Makefile.in 2005-12-21 04:31:21.000000000 +0100
+@@ -101,6 +101,7 @@
+ ac_ct_CXX = @ac_ct_CXX@
+ ac_ct_RANLIB = @ac_ct_RANLIB@
+ ac_ct_STRIP = @ac_ct_STRIP@
++ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+diff -urNad passepartout-0.6-3.newpatch~/src/pptout/document/Makefile.in passepartout-0.6-3.newpatch/src/pptout/document/Makefile.in
+--- passepartout-0.6-3.newpatch~/src/pptout/document/Makefile.in 2004-10-31 20:23:51.000000000 +0100
++++ src/pptout/document/Makefile.in 2005-12-21 04:31:22.000000000 +0100
+@@ -101,6 +101,7 @@
+ ac_ct_CXX = @ac_ct_CXX@
+ ac_ct_RANLIB = @ac_ct_RANLIB@
+ ac_ct_STRIP = @ac_ct_STRIP@
++ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+diff -urNad passepartout-0.6-3.newpatch~/src/pptout/icons/Makefile.in passepartout-0.6-3.newpatch/src/pptout/icons/Makefile.in
+--- passepartout-0.6-3.newpatch~/src/pptout/icons/Makefile.in 2004-10-31 20:23:52.000000000 +0100
++++ src/pptout/icons/Makefile.in 2005-12-21 04:31:22.000000000 +0100
+@@ -101,6 +101,7 @@
+ ac_ct_CXX = @ac_ct_CXX@
+ ac_ct_RANLIB = @ac_ct_RANLIB@
+ ac_ct_STRIP = @ac_ct_STRIP@
++ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+diff -urNad passepartout-0.6-3.newpatch~/src/pptout/Makefile.in passepartout-0.6-3.newpatch/src/pptout/Makefile.in
+--- passepartout-0.6-3.newpatch~/src/pptout/Makefile.in 2004-10-31 20:23:51.000000000 +0100
++++ src/pptout/Makefile.in 2005-12-21 04:31:21.000000000 +0100
+@@ -101,6 +101,7 @@
+ ac_ct_CXX = @ac_ct_CXX@
+ ac_ct_RANLIB = @ac_ct_RANLIB@
+ ac_ct_STRIP = @ac_ct_STRIP@
++ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+diff -urNad passepartout-0.6-3.newpatch~/src/pptout/widget/Makefile.in passepartout-0.6-3.newpatch/src/pptout/widget/Makefile.in
+--- passepartout-0.6-3.newpatch~/src/pptout/widget/Makefile.in 2004-10-31 20:23:52.000000000 +0100
++++ src/pptout/widget/Makefile.in 2005-12-21 04:31:22.000000000 +0100
+@@ -101,6 +101,7 @@
+ ac_ct_CXX = @ac_ct_CXX@
+ ac_ct_RANLIB = @ac_ct_RANLIB@
+ ac_ct_STRIP = @ac_ct_STRIP@
++ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+diff -urNad passepartout-0.6-3.newpatch~/src/ps/Makefile.in passepartout-0.6-3.newpatch/src/ps/Makefile.in
+--- passepartout-0.6-3.newpatch~/src/ps/Makefile.in 2004-10-31 20:23:53.000000000 +0100
++++ src/ps/Makefile.in 2005-12-21 04:31:22.000000000 +0100
+@@ -101,6 +101,7 @@
+ ac_ct_CXX = @ac_ct_CXX@
+ ac_ct_RANLIB = @ac_ct_RANLIB@
+ ac_ct_STRIP = @ac_ct_STRIP@
++ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+@@ -143,7 +144,7 @@
+ examinepdf_SOURCES = examinepdf.cc
+
+ # for Glib::ustring
+-libps_a_CXXFLAGS = $(GTKMM_CFLAGS) -I$(top_srcdir)/src
++libps_a_CXXFLAGS = $(GTKMM_CFLAGS) $(FREETYPE_CFLAGS) -I$(top_srcdir)/src
+
+ examinepdf_CXXFLAGS = $(libps_a_CXXFLAGS)
+ examinepdf_LDADD = $(GTKMM_LIBS) \
+diff -urNad passepartout-0.6-3.newpatch~/src/testbed/Makefile.in passepartout-0.6-3.newpatch/src/testbed/Makefile.in
+--- passepartout-0.6-3.newpatch~/src/testbed/Makefile.in 2004-10-31 20:23:53.000000000 +0100
++++ src/testbed/Makefile.in 2005-12-21 04:31:23.000000000 +0100
+@@ -101,6 +101,7 @@
+ ac_ct_CXX = @ac_ct_CXX@
+ ac_ct_RANLIB = @ac_ct_RANLIB@
+ ac_ct_STRIP = @ac_ct_STRIP@
++ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+diff -urNad passepartout-0.6-3.newpatch~/src/util/Makefile.in passepartout-0.6-3.newpatch/src/util/Makefile.in
+--- passepartout-0.6-3.newpatch~/src/util/Makefile.in 2004-10-31 20:23:54.000000000 +0100
++++ src/util/Makefile.in 2005-12-21 04:31:23.000000000 +0100
+@@ -103,6 +103,7 @@
+ ac_ct_CXX = @ac_ct_CXX@
+ ac_ct_RANLIB = @ac_ct_RANLIB@
+ ac_ct_STRIP = @ac_ct_STRIP@
++ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+diff -urNad passepartout-0.6-3.newpatch~/src/xml2ps/Makefile.in passepartout-0.6-3.newpatch/src/xml2ps/Makefile.in
+--- passepartout-0.6-3.newpatch~/src/xml2ps/Makefile.in 2004-10-31 20:23:54.000000000 +0100
++++ src/xml2ps/Makefile.in 2005-12-21 04:31:23.000000000 +0100
+@@ -101,6 +101,7 @@
+ ac_ct_CXX = @ac_ct_CXX@
+ ac_ct_RANLIB = @ac_ct_RANLIB@
+ ac_ct_STRIP = @ac_ct_STRIP@
++ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
diff --git a/graphics/passepartout/files/patch-src::pptout::document::getxsltparams.cc b/graphics/passepartout/files/patch-src::pptout::document::getxsltparams.cc
deleted file mode 100644
index 58e84880c1e8..000000000000
--- a/graphics/passepartout/files/patch-src::pptout::document::getxsltparams.cc
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/pptout/document/getxsltparams.cc.orig Sun Jan 18 00:22:12 2004
-+++ src/pptout/document/getxsltparams.cc Sun Jan 18 00:22:54 2004
-@@ -3,6 +3,7 @@
- ///
- #include <libxml++/libxml++.h>
- #include <fstream>
-+#include <algorithm>
-
- class XsltParamsFinder : public xmlpp::SaxParser {
- public:
diff --git a/graphics/passepartout/files/patch-src::pptout::document::textstream.h b/graphics/passepartout/files/patch-src::pptout::document::textstream.h
deleted file mode 100644
index 522dee52f34c..000000000000
--- a/graphics/passepartout/files/patch-src::pptout::document::textstream.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/pptout/document/textstream.h.orig Thu Dec 4 10:27:38 2003
-+++ src/pptout/document/textstream.h Thu Dec 4 10:46:07 2003
-@@ -90,6 +90,7 @@
- std::map<const TextFrame*, unsigned int> pageno_map;
-
- class WorkerThread;
-+ friend class WorkerThread;
- Glib::RefPtr<WorkerThread> typesetter_thread;
-
- // Undefined ctors, avoid defaults
diff --git a/graphics/passepartout/files/patch-src::pptout::postscriptviewent.h b/graphics/passepartout/files/patch-src::pptout::postscriptviewent.h
deleted file mode 100644
index 7ed0624d528d..000000000000
--- a/graphics/passepartout/files/patch-src::pptout::postscriptviewent.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/pptout/postscriptviewent.h.orig Thu Dec 4 10:51:01 2003
-+++ src/pptout/postscriptviewent.h Thu Dec 4 10:56:37 2003
-@@ -5,6 +5,7 @@
- ///
- #include "viewent.h"
- #include "document/cachedframe.h"
-+#include <unistd.h>
-
- class PostscriptViewent : public Viewent {
- protected:
diff --git a/graphics/passepartout/files/patch-src::pptout::widget::dialogwrap.cc b/graphics/passepartout/files/patch-src::pptout::widget::dialogwrap.cc
deleted file mode 100644
index 47481c09a2f3..000000000000
--- a/graphics/passepartout/files/patch-src::pptout::widget::dialogwrap.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- src/pptout/widget/dialogwrap.cc.orig Thu Aug 19 00:18:05 2004
-+++ src/pptout/widget/dialogwrap.cc Thu Aug 19 00:19:35 2004
-@@ -24,9 +24,9 @@
- Gtk::Button *b = manage(button);
- // Note: It seems that activate means "in any way except a simple click".
- // So we have to add callbacks for both activate and clicked.
-- b->signal_clicked().connect(bind(slot(*this, &Gtk::Dialog::on_response),
-+ b->signal_clicked().connect(bind(slot(*this, &DialogWrap::on_response),
- action_id));
-- b->signal_activate().connect(bind(slot(*this, &Gtk::Dialog::on_response),
-+ b->signal_activate().connect(bind(slot(*this, &DialogWrap::on_response),
- action_id));
- return b;
- }
diff --git a/graphics/passepartout/files/patch-src::ps::pdf.cc b/graphics/passepartout/files/patch-src::ps::pdf.cc
deleted file mode 100644
index 165de6273f5d..000000000000
--- a/graphics/passepartout/files/patch-src::ps::pdf.cc
+++ /dev/null
@@ -1,16 +0,0 @@
---- src/ps/pdf.cc.orig Wed Aug 18 23:42:10 2004
-+++ src/ps/pdf.cc Wed Aug 18 23:44:28 2004
-@@ -199,10 +199,10 @@
- bytecount write(std::ostream *out, bool binary=true, bytecount offset=0)
- {
- Part::write(out, binary, offset);
-- std::string str(str());
-+ const std::string& s(str());
- if(out)
-- (*out) << str;
-- return offset+str.length();
-+ (*out) << s;
-+ return offset+s.length();
- }
-
- protected:
diff --git a/graphics/passepartout/files/patch-src::testbed::testbed.cc b/graphics/passepartout/files/patch-src::testbed::testbed.cc
deleted file mode 100644
index 30cf5b7c9d5c..000000000000
--- a/graphics/passepartout/files/patch-src::testbed::testbed.cc
+++ /dev/null
@@ -1,19 +0,0 @@
---- src/testbed/testbed.cc.orig Sat Jan 17 22:58:16 2004
-+++ src/testbed/testbed.cc Sat Jan 17 22:42:18 2004
-@@ -1,6 +1,7 @@
- #include "testbed.hh"
- #include "util/warning.h"
- #include <glibmm/exception.h> // Stupid glib!
-+#include <algorithm>
- #include <functional>
- ///
- // Copyright (C) 2003, 2004, Fredrik Arnerup & Rasmus Kaj, See COPYING
-@@ -53,7 +54,7 @@
- verbose.active = true;
- verbose << "Starting test run. " << TestCase::cases.size()
- << " case(s) to try." << std::endl;
-- for_each(TestCase::cases.begin(), TestCase::cases.end(),
-+ std::for_each(TestCase::cases.begin(), TestCase::cases.end(),
- std::mem_fun(&TestCase::run));
- verbose << "Done running " << TestCase::cases.size() << " test case(s). "
- << TestCase::successes << " succeded, "
diff --git a/graphics/passepartout/files/patch-src::util::cmdline.cc b/graphics/passepartout/files/patch-src::util::cmdline.cc
deleted file mode 100644
index 138d15fda582..000000000000
--- a/graphics/passepartout/files/patch-src::util::cmdline.cc
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/util/cmdline.cc.orig Sat Jan 17 23:49:30 2004
-+++ src/util/cmdline.cc Sat Jan 17 23:50:03 2004
-@@ -2,6 +2,7 @@
- // Copyright (C) 2003, 2004, Fredrik Arnerup & Rasmus Kaj, See COPYING
- ///
- #include "cmdline.h"
-+#include <algorithm>
-
- CmdLine::CmdLine(int argc, char **argv) : seen_double_dash(false)
- {
diff --git a/graphics/passepartout/files/patch-src::util::filesys.cc b/graphics/passepartout/files/patch-src::util::filesys.cc
deleted file mode 100644
index d5f2ee4c7cbf..000000000000
--- a/graphics/passepartout/files/patch-src::util::filesys.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/util/filesys.cc.orig Sat Jan 17 23:18:22 2004
-+++ src/util/filesys.cc Sat Jan 17 23:19:26 2004
-@@ -4,6 +4,8 @@
- #include "filesys.h"
- #include "stringutil.h"
- #include "os.h"
-+#include <errno.h>
-+#include <memory>
- #include <unistd.h>
- #include <stdexcept>
- #include "defines.h"
diff --git a/graphics/passepartout/files/patch-src::util::filesys.h b/graphics/passepartout/files/patch-src::util::filesys.h
deleted file mode 100644
index a67194d77c9d..000000000000
--- a/graphics/passepartout/files/patch-src::util::filesys.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/util/filesys.h.orig Mon Jan 12 14:01:33 2004
-+++ src/util/filesys.h Sat Jan 17 23:40:36 2004
-@@ -6,6 +6,7 @@
- #include <string>
- #include <ios> // mode for access
- #include <stdexcept>
-+#include <time.h>
-
- /// An exception to use when a libc call fails and sets errno.
- class ClibException : public std::runtime_error {
diff --git a/graphics/passepartout/files/patch-src::util::filewatcher.h b/graphics/passepartout/files/patch-src::util::filewatcher.h
deleted file mode 100644
index 412ff5d292a5..000000000000
--- a/graphics/passepartout/files/patch-src::util::filewatcher.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/util/filewatcher.h Sat Jan 17 23:45:10 2004
-+++ src/util/filewatcher.h.orig Sat Jan 17 23:44:57 2004
-@@ -6,7 +6,8 @@
- #include <sigc++/sigc++.h>
- #include <string>
- #include <memory>
-+#include <time.h>
-
- namespace FAM { class File; }
-
diff --git a/graphics/passepartout/files/patch-src::util::processman.h b/graphics/passepartout/files/patch-src::util::processman.h
deleted file mode 100644
index 9157b13909b8..000000000000
--- a/graphics/passepartout/files/patch-src::util::processman.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/util/processman.h.orig Thu Dec 4 04:05:14 2003
-+++ src/util/processman.h Thu Dec 4 04:03:33 2003
-@@ -6,6 +6,7 @@
- #include "refcount.h"
- #include <map>
- #include <string>
-+#include <memory>
- #include <sigc++/object.h>
- #include <sys/types.h>
- #include <gtkmm/main.h>
diff --git a/graphics/passepartout/files/patch-src::util::valueuint.h b/graphics/passepartout/files/patch-src::util::valueuint.h
deleted file mode 100644
index 75fd7602f90c..000000000000
--- a/graphics/passepartout/files/patch-src::util::valueuint.h
+++ /dev/null
@@ -1,23 +0,0 @@
---- src/util/valueunit.h.orig Wed Aug 18 23:48:05 2004
-+++ src/util/valueunit.h Thu Aug 19 00:04:04 2004
-@@ -15,10 +15,10 @@
- const Value& value() const { return value_; }
- const std::string& unit() const { return unit_; }
-
--private:
-+protected:
- Value value_;
- std::string unit_;
-- friend std::istream& operator >> <> (std::istream& in, ValueUnit<Value>& vu);
-+ friend std::istream& operator >> (std::istream& in, ValueUnit<Value>& vu);
- };
-
- template <typename Tp>
-@@ -44,7 +44,6 @@
- * Special case for float, since readig a float from "14em" barfs, guessing
- * that the 'e' is for an exponent.
- */
--template<>
- std::istream& operator >> (std::istream& in, ValueUnit<float>& vu) {
- in >> std::ws;
- std::string value;
diff --git a/graphics/passepartout/files/patch-src::xml2ps::pagedstream.cc b/graphics/passepartout/files/patch-src::xml2ps::pagedstream.cc
deleted file mode 100644
index 9f1d08d1cdb9..000000000000
--- a/graphics/passepartout/files/patch-src::xml2ps::pagedstream.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/xml2ps/pagedstream.cc.orig Thu Nov 20 04:13:54 2003
-+++ src/xml2ps/pagedstream.cc Fri Nov 21 16:32:48 2003
-@@ -7,6 +7,8 @@
- #include <sstream>
- #include <iostream>
- #include <vector>
-+#include <exception>
-+#include <memory>
-
- xml2ps::PagedStream::PagedStream()
- : current_part(0)
diff --git a/graphics/passepartout/pkg-plist b/graphics/passepartout/pkg-plist
index 0abb21e7f120..38ec3e8a66f2 100644
--- a/graphics/passepartout/pkg-plist
+++ b/graphics/passepartout/pkg-plist
@@ -1,3 +1,4 @@
+bin/examinepdf
bin/passepartout
bin/xml2ps
%%DOCSDIR%%/README
@@ -8,23 +9,29 @@ bin/xml2ps
%%DOCSDIR%%/examples/gradient.eps
%%DOCSDIR%%/examples/hippie.jpg
%%DOCSDIR%%/examples/hline.eps
+%%DOCSDIR%%/examples/multilingual-head.xml
+%%DOCSDIR%%/examples/multilingual.html
+%%DOCSDIR%%/examples/multilingual.pp
%%DOCSDIR%%/examples/snowflake.eps
%%DOCSDIR%%/examples/snowflake.xml
%%DOCSDIR%%/examples/vline.eps
%%DOCSDIR%%/examples/xhtml.xslt
%%DOCSDIR%%/examples/xml2ps-example.xml
%%DOCSDIR%%/faq.html
+%%DOCSDIR%%/faq.txt
%%DOCSDIR%%/faq.xml
%%DOCSDIR%%/nsfaq.html
+%%DOCSDIR%%/nsfaq.txt
%%DOCSDIR%%/nsfaq.xml
%%DOCSDIR%%/pptout-sv.eps
%%DOCSDIR%%/users_guide.html
%%DOCSDIR%%/users_guide.pp
+%%DOCSDIR%%/users_guide.txt
%%DOCSDIR%%/users_guide.xml
%%DOCSDIR%%/xhtml.xslt
share/xml/passepartout/docbook.xslt
share/xml/passepartout/xhtml.xslt
share/xml/passepartout/xml2ps.dtd
+@dirrm share/xml/passepartout
@dirrm %%DOCSDIR%%/examples
@dirrm %%DOCSDIR%%
-@dirrm share/xml/passepartout