Re: g-wrap-1.9.9 and guile-gnome-platform 2.15.93 fails
Andreas Rottmann <[email protected]>
| Newsgroups | gmane.lisp.guile.gtk |
|---|---|
| Message-ID | <[email protected]> |
steve tell <[email protected]> writes: > After building the recent g-wrap-1.9.9, I tried building > guile-gnome-platform-2.15.93 with it, and ran into a problem: > > > > make[4]: Entering directory `/usr/src/redhat/BUILD/guile-gnome-platform-2.15.93/ > glib/gnome/gw' > guile -c \ > "(debug-set! stack 400000) \ > (use-modules (gnome-0)) \ > (use-modules (g-wrap)) \ > (use-modules (gnome gw gobject-spec)) \ > (generate-wrapset 'guile 'gnome-gobject \"guile-gnome-gw-gobject\")" > WARNING: (g-wrap util): imported module (srfi srfi-34) overrides core binding `raise' > WARNING: (g-wrap): imported module (srfi srfi-34) overrides core binding `raise' > WARNING: (g-wrap rti): imported module (srfi srfi-34) overrides core binding `raise' > WARNING: (g-wrap c-types): imported module (srfi srfi-34) overrides core binding `raise' > WARNING: (gnome gw support g-wrap): `declarations-cg' imported from both (g-wrap c-codegen) and (g-wrap scm-codegen) > ERROR: No class slot with name `allowed-options' in class #<<gw-type-class> <gobject-object-type> 402489b0> > make[4]: *** [guile-gnome-gw-gobject.c] Error 1 > > > > The ERROR seems to be from this bit of code in support/gobject.scm: > > (for-each (lambda (null-ok-class) > (class-slot-set! null-ok-class 'allowed-options '(null-ok))) > (list <gobject-object-type> <gobject-boxed-type> > <gobject-interface-type>)) > > > It gets past this if I reinstall g-wrap-1.9.9-RC1, but then chokes on > some ffi.h issues (same ones I reported in RC1, and do seem fixed in the > g-wrap release.) > > Anyone else seeing this "ERROR: No class slot with name `allowed-options'" > and have any suggestions? > I've commited a fix to the bzr repo and attached the patch as well. Regards, Rotty -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | [email protected] http://rotty.uttx.net | GnuPG Key: http://rotty.uttx.net/gpg.asc Fingerprint | C38A 39C5 16D7 B69F 33A3 6993 22C8 27F7 35A9 92E7 v2sw7MYChw5pr5OFma7u7Lw2m5g/l7Di6e6t5BSb7en6g3/5HZa2Xs6MSr1/2p7 hackerkey.com Life is a sexually transmitted disease. _______________________________________________ guile-gtk-general mailing list [email protected] http://lists.gnu.org/mailman/listinfo/guile-gtk-general
allowed-options.patch
(text/x-diff, 2.8 KB)
=== modified file 'ChangeLog' --- ChangeLog 2007-08-14 23:05:58 +0000 +++ ChangeLog 2007-08-17 08:40:39 +0000 @@ -1,3 +1,10 @@ +2007-08-15 Andreas Rottmann <[email protected]> + + * gnome/gw/support/gobject.scm (<gobject-object-type>) + (<gobject-boxed-type>, <gobject-interface-type>): Properly set + allowed-options via class declaration keyword instead of explicit + slot access. + 2007-08-13 Andy Wingo <[email protected]> * gnome/gw/support/gobject.scm (generate-wrapset): Make generated === modified file 'gnome/gw/support/gobject.scm' --- gnome/gw/support/gobject.scm 2007-08-12 22:53:44 +0000 +++ gnome/gw/support/gobject.scm 2007-08-17 08:40:39 +0000 @@ -1,6 +1,6 @@ ;; guile-gnome ;; Copyright (C) 2003,2004 Andy Wingo <wingo at pobox dot com> -;; Copyright (C) 2004 Andreas Rottmann <rotty at debian dot org> +;; Copyright (C) 2004,2007 Andreas Rottmann <rotty at debian dot org> ;; This program is free software; you can redistribute it and/or ;; modify it under the terms of the GNU General Public License as @@ -194,7 +194,8 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Wrap objects. -(define-class <gobject-object-type> (<gobject-classed-pointer-type>)) +(define-class <gobject-object-type> (<gobject-classed-pointer-type>) + #:allowed-options '(null-ok)) (define-method (unwrap-null-checked (value <gw-value>) status-var @@ -246,7 +247,8 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Wrap boxed types, represented on the scheme side by GValues. -(define-class <gobject-boxed-type> (<gobject-classed-pointer-type>)) +(define-class <gobject-boxed-type> (<gobject-classed-pointer-type>) + #:allowed-options '(null-ok)) (define-method (make-typespec (type <gobject-boxed-type>) (options <list>)) (next-method type (cons 'unspecialized options))) @@ -350,7 +352,8 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Wrap interfaces. We only understand interfaces implemented by objects. -(define-class <gobject-interface-type> (<gobject-classed-pointer-type>)) +(define-class <gobject-interface-type> (<gobject-classed-pointer-type>) + #:allowed-options '(null-ok)) (define-method (wrap-interface! (ws <gobject-wrapset-base>) . args) (let ((type (apply make <gobject-interface-type> args))) @@ -516,11 +519,6 @@ #:c-const-type-name (string-append "const " ctype)))) (add-type-alias! ws ctype (name type)))) -(for-each (lambda (null-ok-class) - (class-slot-set! null-ok-class 'allowed-options '(null-ok))) - (list <gobject-object-type> <gobject-boxed-type> - <gobject-interface-type>)) - ;; Used for functions that operate on classes, e.g. ;; gtk_widget_class_install_style_property, ;; gst_element_class_get_pad_template