cd guile-gnome
ln -s . src
patch -p0 <<EOF
+diff -p'urNx*~' -x=build ../../guile-gnome-platform-2.5.990/defs/gnome/defs/libgnomecanvas.defs ./defs/gnome/defs/libgnomecanvas.defs
+--- ../../guile-gnome-platform-2.5.990/defs/gnome/defs/libgnomecanvas.defs 2004-09-12 10:52:16 +0200
++++ ./defs/gnome/defs/libgnomecanvas.defs 2004-09-15 03:08:09 +0200
+@@ -760,23 +760,24 @@
+ )
+ )
+
+-(define-method affine_relative
+- (of-object "GnomeCanvasItem")
+- (c-name "gnome_canvas_item_affine_relative")
+- (return-type "none")
+- (parameters
+- '("const-double[6]" "affine")
+- )
+-)
+-
+-(define-method affine_absolute
+- (of-object "GnomeCanvasItem")
+- (c-name "gnome_canvas_item_affine_absolute")
+- (return-type "none")
+- (parameters
+- '("const-double[6]" "affine")
+- )
+-)
++;; cannot have these overridden anymore, while still using _wrap? --jcn
++;;(define-method affine_relative
++;; (of-object "GnomeCanvasItem")
++;; (c-name "gnome_canvas_item_affine_relative")
++;; (return-type "none")
++;; (parameters
++;; '("const-double[6]" "affine")
++;; )
++;;)
++
++;;(define-method affine_absolute
++;; (of-object "GnomeCanvasItem")
++;; (c-name "gnome_canvas_item_affine_absolute")
++;; (return-type "none")
++;; (parameters
++;; '("const-double[6]" "affine")
++;; )
++;;)
+
+ (define-method raise
+ (of-object "GnomeCanvasItem")
+diff -p'urNx*~' -x=build ../../guile-gnome-platform-2.5.990/libgnomecanvas/gnome/Makefile.am ./libgnomecanvas/gnome/Makefile.am
+--- ../../guile-gnome-platform-2.5.990/libgnomecanvas/gnome/Makefile.am 2004-09-12 11:22:07 +0200
++++ ./libgnomecanvas/gnome/Makefile.am 2004-09-15 03:04:04 +0200
+@@ -2,10 +2,10 @@ include \$(top_srcdir)/common.mk
+
+ SUBDIRS = overrides
+
+-guilegwmodule_DATA =
++guilemodule_DATA =
+
+ if HAVE_CANVAS
+-guilegwmodule_DATA += canvas.scm
++guilemodule_DATA += canvas.scm
+ SUBDIRS += gw
+ endif
+
+diff -p'urNx*~' -x=build ../../guile-gnome-platform-2.5.990/libgnomecanvas/gnome/Makefile.in ./libgnomecanvas/gnome/Makefile.in
+--- ../../guile-gnome-platform-2.5.990/libgnomecanvas/gnome/Makefile.in 2004-09-12 13:36:44 +0200
++++ ./libgnomecanvas/gnome/Makefile.in 2004-09-15 03:04:04 +0200
+@@ -212,7 +212,7 @@ GUILE_LOAD_PATH := \$(PKG_PATH):\${G_WRAP_
+
+ SUBDIRS = overrides \$(am__append_2)
+
+-guilegwmodule_DATA = \$(am__append_1)
++guilemodule_DATA = \$(am__append_1)
+
+ EXTRA_DIST = canvas.scm
+ DIST_SUBDIRS = gw overrides
+@@ -222,7 +222,7 @@ mkinstalldirs = \$(SHELL) \$(top_srcdir)/m
+ CONFIG_HEADER = \$(top_builddir)/config.h
+ CONFIG_CLEAN_FILES =
+ DIST_SOURCES =
+-DATA = \$(guilegwmodule_DATA)
++DATA = \$(guilemodule_DATA)
+
+
+ RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \\
+@@ -250,23 +250,23 @@ clean-libtool:
+ distclean-libtool:
+ -rm -f libtool
+ uninstall-info-am:
+-guilegwmoduleDATA_INSTALL = \$(INSTALL_DATA)
+-install-guilegwmoduleDATA: \$(guilegwmodule_DATA)
++guilemoduleDATA_INSTALL = \$(INSTALL_DATA)
++install-guilemoduleDATA: \$(guilemodule_DATA)
+ @\$(NORMAL_INSTALL)
+- \$(mkinstalldirs) \$(DESTDIR)\$(guilegwmoduledir)
+- @list='\$(guilegwmodule_DATA)'; for p in \$\$list; do \\
++ \$(mkinstalldirs) \$(DESTDIR)\$(guilemoduledir)
++ @list='\$(guilemodule_DATA)'; for p in \$\$list; do \\
+ if test -f "\$\$p"; then d=; else d="\$(srcdir)/"; fi; \\
+ f="\`echo \$\$p | sed -e 's|^.*/||'\`"; \\
+- echo " \$(guilegwmoduleDATA_INSTALL) \$\$d\$\$p \$(DESTDIR)\$(guilegwmoduledir)/\$\$f"; \\
+- \$(guilegwmoduleDATA_INSTALL) \$\$d\$\$p \$(DESTDIR)\$(guilegwmoduledir)/\$\$f; \\
++ echo " \$(guilemoduleDATA_INSTALL) \$\$d\$\$p \$(DESTDIR)\$(guilemoduledir)/\$\$f"; \\
++ \$(guilemoduleDATA_INSTALL) \$\$d\$\$p \$(DESTDIR)\$(guilemoduledir)/\$\$f; \\
+ done
+
+-uninstall-guilegwmoduleDATA:
++uninstall-guilemoduleDATA:
+ @\$(NORMAL_UNINSTALL)
+- @list='\$(guilegwmodule_DATA)'; for p in \$\$list; do \\
++ @list='\$(guilemodule_DATA)'; for p in \$\$list; do \\
+ f="\`echo \$\$p | sed -e 's|^.*/||'\`"; \\
+- echo " rm -f \$(DESTDIR)\$(guilegwmoduledir)/\$\$f"; \\
+- rm -f \$(DESTDIR)\$(guilegwmoduledir)/\$\$f; \\
++ echo " rm -f \$(DESTDIR)\$(guilemoduledir)/\$\$f"; \\
++ rm -f \$(DESTDIR)\$(guilemoduledir)/\$\$f; \\
+ done
+
+ # This directory's subdirectories are mostly independent; you can cd
+@@ -443,7 +443,7 @@ check: check-recursive
+ all-am: Makefile \$(DATA)
+ installdirs: installdirs-recursive
+ installdirs-am:
+- \$(mkinstalldirs) \$(DESTDIR)\$(guilegwmoduledir)
++ \$(mkinstalldirs) \$(DESTDIR)\$(guilemoduledir)
+
+ install: install-recursive
+ install-exec: install-exec-recursive
+@@ -486,7 +486,7 @@ info: info-recursive
+
+ info-am:
+
+-install-data-am: install-guilegwmoduleDATA
++install-data-am: install-guilemoduleDATA
+
+ install-exec-am:
+
+@@ -512,7 +512,7 @@ ps: ps-recursive
+
+ ps-am:
+
+-uninstall-am: uninstall-guilegwmoduleDATA uninstall-info-am
++uninstall-am: uninstall-guilemoduleDATA uninstall-info-am
+
+ uninstall-info: uninstall-info-recursive
+
+@@ -523,7 +523,7 @@ uninstall-info: uninstall-info-recursive
+ dvi-recursive info info-am info-recursive install install-am \\
+ install-data install-data-am install-data-recursive \\
+ install-exec install-exec-am install-exec-recursive \\
+- install-guilegwmoduleDATA install-info install-info-am \\
++ install-guilemoduleDATA install-info install-info-am \\
+ install-info-recursive install-man install-recursive \\
+ install-strip installcheck installcheck-am installdirs \\
+ installdirs-am installdirs-recursive maintainer-clean \\
+@@ -531,7 +531,7 @@ uninstall-info: uninstall-info-recursive
+ mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \\
+ pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \\
+ tags-recursive uninstall uninstall-am \\
+- uninstall-guilegwmoduleDATA uninstall-info-am \\
++ uninstall-guilemoduleDATA uninstall-info-am \\
+ uninstall-info-recursive uninstall-recursive
+
+ @MK@ifneq (\$(top_srcdir),\$(top_builddir))
+diff -p'urNx*~' -x=build ../../guile-gnome-platform-2.5.990/libgnomecanvas/gnome/overrides/libgnomecanvas.defs ./libgnomecanvas/gnome/overrides/libgnomecanvas.defs
+--- ../../guile-gnome-platform-2.5.990/libgnomecanvas/gnome/overrides/libgnomecanvas.defs 2004-09-12 11:20:43 +0200
++++ ./libgnomecanvas/gnome/overrides/libgnomecanvas.defs 2004-09-15 03:09:42 +0200
+@@ -1,63 +1,71 @@
+-;; -*- scheme -*-
+-;; guile-gnome
+-;; Copyright (C) 2003,2004 Andy Wingo <wingo at pobox dot 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, contact:
+-;;
+-;; Free Software Foundation Voice: +1-617-542-5942
+-;; 59 Temple Place - Suite 330 Fax: +1-617-542-2652
+-;; Boston, MA 02111-1307, USA gnu@gnu.org
+-
+-;;; Commentary:
+-;;
+-;;Custom wrapper definitions.
+-;;
+-;;; Code:
+-
+-(ignore-glob "*_get_type"
+- "_*"
+- "*_ref"
+- "*_unref"
+- "*_copy"
+- "*_free"
+- "*_newv"
+- "*_valist"
+- "*_setv"
+- "*_foreach"
+- "*_valist"
+-
+- ;; only used by item implementations
+- "gnome_canvas_request_redraw*"
+-
+- ;; don't deal with those yet
+- "*_svp"
+- "*_svp_*"
+- )
+-
+-
+-
+-(ignore "gnome_canvas_item_affine_relative" ;; don't deal with these affines yet
+- "gnome_canvas_item_affine_absolute"
+- "gnome_canvas_item_i2w_affine"
+- "gnome_canvas_item_i2c_affine"
+- "gnome_canvas_w2c_affine"
+-
+- ;; only for use by item implementations
+- "gnome_canvas_item_request_update"
+- "gnome_canvas_set_stipple_origin"
+-
+- ;; these use Art types, don't deal with them yet
+- "gnome_canvas_cap_gdk_to_art"
+- "gnome_canvas_join_gdk_to_art"
+- )
++;;;; -*- scheme -*-
++;;;; guile-gnome
++;;;; Copyright (C) 2004 Jan Nieuwenhuizen <janneke@gnu.org>
++;;;; Andy Wingo <wingo at pobox dot 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, contact:
++;;;;
++;;;; Free Software Foundation Voice: +1-617-542-5942
++;;;; 59 Temple Place - Suite 330 Fax: +1-617-542-2652
++;;;; Boston, MA 02111-1307, USA gnu@gnu.org
++
++;; I'm not sure this wrapping for affine funtctions is the Right Way,
++;; but it works. Maybe we should have a plain affine maker: double[6]
++;; list_to_affine (SCM) or have affine_absolute take a SCM list
++;; directly?
++(define-method affine_absolute
++ (of-object "GnomeCanvasItem")
++ (c-name "_wrap_gnome_canvas_item_affine_absolute")
++ (overrides "gnome_canvas_item_affine_absolute")
++ (return-type "void")
++ (parameters
++ '("double" "x1")
++ '("double" "y2")
++ '("double" "x2")
++ '("double" "y2")
++ '("double" "x3")
++ '("double" "y3")))
++
++(define-method affine_relative
++ (of-object "GnomeCanvasItem")
++ (c-name "_wrap_gnome_canvas_item_affine_relative")
++ (overrides "gnome_canvas_item_affine_relative")
++ (return-type "void")
++ (parameters
++ '("double" "x1")
++ '("double" "y2")
++ '("double" "x2")
++ '("double" "y2")
++ '("double" "x3")
++ '("double" "y3")))
++
++(ignore-glob
++ ;; _get_type is needed/useful for the canvas, why ignore those?
++ ;;"*_get_type"
++ "_*"
++ "*_ref"
++ "*_unref"
++ "*_copy"
++ "*_free"
++ "*_newv"
++ "*_setv"
++ "*_foreach"
++ ;; "*_affine*" this removes the overridden _wrap methods now too --jcn
++ "*i2c_affine*"
++ "*i2w_affine*"
++ "*w2c_affine*"
++ "*gdk_to_art*"
++ ;; It seems that vararg functions are skipped no matter what.
++ ;;"*_valist"
++ )
+
+EOF
+ fi
+
+ rm -rf $OPT/guile-gnome
+ mkdir =build
+ cd =build
+
+# Using libtool < 1.6.0 together with gcc-3.4 may trigger this problem:
+#
+# If a tag has not been given, and we're using a compiler which is
+# not one of the ones with which libtool was built, attempt to
+# infer the compiler from the first word of the command line passed
+# to libtool.
+#
+ if [ -z "$GCC34" ]; then
+ # Use libtool-1.5.6, gcc-3.{2,3} without -O2,
+ CFLAGS='-O -g' ../src/configure --prefix=$OPT/guile-gnome --enable-maintainer-mode
+ else
+ # or use gcc-3.4 with libtool-1.6.0
+ CC=$GCC34 ../src/configure --prefix=$OPT/guile-gnome --enable-maintainer-mode
+ fi
+ make install G_WRAP_MODULE_DIR=$OPT/g-wrap/share/guile/site
+fi
+
+# simple test -- fails atm
+# guile -s ../src/libgnomecanvas/examples/canvas.scm
+