[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: g-wrap-1.9.9 and guile-gnome-platform 2.15.93 fails
From: |
Andreas Rottmann |
Subject: |
Re: g-wrap-1.9.9 and guile-gnome-platform 2.15.93 fails |
Date: |
Fri, 17 Aug 2007 11:00:24 +0200 |
User-agent: |
Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux) |
steve tell <address@hidden> 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.
=== 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 <address@hidden>
+
+ * 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 <address@hidden>
* 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
Regards, Rotty
--
Andreas Rottmann | address@hidden | address@hidden | address@hidden
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.