Hi Axel, Axel Simon <axel.si...@in.tum.de> writes:
> Hi all, > > I think I've just pushed some patches, although I'm not sure they went > through. > > The patches should make gio, gtk and pango build but gstreamer is > still broken and other packages that use signals will break. The news > are: > > - the connect_ functions are now generated in each module and never > exported to other modules (this breaks other modules that used to > import the Signal module of gtk) > > - the gtkmarshal.list file is now copied to gtk (and called > marshal.list). Some instances here that are not > used by gtk should be removed from this file. > > - pango now builds correctly with the global Gtk2HsSetup.hs > > - Gtk2HsSetup.hs has changed and is now able to build several type > hierarchies (used in gstreamer) > > - gtk now has a flag whether it should depend on gio or not > > - gio now only depends on glib Excellent! I have test it, works fine. :) > > Please, Andy, feel free to fix things but don't revert stuff just > because it doesn't build. I push below patches: ------------------------------> new patches start <------------------------------ Fri May 14 21:50:32 CST 2010 Andy Stewart <lazycat.mana...@gmail.com> * Remove `Graphics.UI.Gtk.Signals.chs.template` and unnecessary signals from marshal.list. Fri May 14 15:16:17 CST 2010 Andy Stewart <lazycat.mana...@gmail.com> * Make gconf just depend on glib Fri May 14 12:09:03 CST 2010 Andy Stewart <lazycat.mana...@gmail.com> * Fix gio compile error. ------------------------------> new patches end <------------------------------ But i have problem with https://patch-tag.com/r/AndyStewart/gio-branch/home After i adjust gio-branch code, I got below error: ------------------------------> error start <------------------------------ System/GIO/Volumes/Volume.chs:204:8: Couldn't match expected type `GObject' against inferred type `()' Expected type: FunPtr (Ptr GObject -> Ptr AsyncResult -> Ptr () -> IO ()) Inferred type: FunPtr (Ptr () -> Ptr AsyncResult -> Ptr () -> IO ()) In the fifth argument of `g_volume_mount', namely `cCallback' In the expression: g_volume_mount cVolume (cFromFlags flags) cMountOperation cCancellable cCallback (castFunPtrToPtr cCallback) ------------------------------> error end <------------------------------ Here the define of `marshalAsyncReadyCallback`: ------------------------------> GAsyncReadyCallback start <------------------------------ GAsyncReadyCallback () void (*GAsyncReadyCallback) (GObject *source_object, GAsyncResult *res, gpointer user_data); ------------------------------> GAsyncReadyCallback end <------------------------------ ------------------------------> marshalAsyncReadyCallback define start <------------------------------ type AsyncReadyCallback = GObject -> AsyncResult -> IO () type CAsyncReadyCallback = Ptr GObject -> Ptr AsyncResult -> Ptr () -> IO () foreign import ccall "wrapper" makeAsyncReadyCallback :: CAsyncReadyCallback -> IO {# type GAsyncReadyCallback #} marshalAsyncReadyCallback :: AsyncReadyCallback -> IO {# type GAsyncReadyCallback #} marshalAsyncReadyCallback asyncReadyCallback = makeAsyncReadyCallback cAsyncReadyCallback where cAsyncReadyCallback :: CAsyncReadyCallback cAsyncReadyCallback cObject cAsyncResult cCallback = do object <- peekGObject cObject asyncResult <- peekGObject cAsyncResult asyncReadyCallback object asyncResult freeHaskellFunPtr (castPtrToFunPtr cCallback) ------------------------------> marshalAsyncReadyCallback define end <------------------------------ `marshalAsyncReadyCallback` should return FunPtr "(Ptr GObject -> Ptr AsyncResult -> Ptr () -> IO ())", but after i make gio generate signals itself, it return FunPtr "(Ptr () -> Ptr AsyncResult -> Ptr () -> IO ())" But from the define of `marshalAsyncReadyCallback`, looks fine. I still in investigation, or new patches add something need i noticed? I have push new patches to https://patch-tag.com/r/AndyStewart/gio-branch/home Can you take a look it? ( darcs get andystew...@patch-tag.com:/r/AndyStewart/gio-branch ) Thanks, -- Andy ------------------------------------------------------------------------------ _______________________________________________ Gtk2hs-devel mailing list Gtk2hs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gtk2hs-devel