After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 125061 - glibmm should use libsigc++2
glibmm should use libsigc++2
Status: RESOLVED FIXED
Product: glibmm
Classification: Bindings
Component: general
unspecified
Other other
: Normal normal
: ---
Assigned To: gtkmm-forge
gtkmm-forge
Depends on:
Blocks:
 
 
Reported: 2003-10-20 19:48 UTC by Martin Schulze
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
glibmm_use_libsigc2.diff: Initial revision of the patch. (54.35 KB, patch)
2003-10-20 19:49 UTC, Martin Schulze
none Details | Review
glibmm_sigc2_v2.patch (68.82 KB, patch)
2004-02-06 10:57 UTC, Murray Cumming
none Details | Review
gtkmm_sigc2.patch (184.17 KB, patch)
2004-02-10 14:21 UTC, Murray Cumming
none Details | Review
gtkmm_sigc2_v2+.patch (47.50 KB, patch)
2004-02-14 18:44 UTC, Martin Schulze
none Details | Review
gtkmm_sigc2_v3.patch (46.45 KB, patch)
2004-02-26 22:17 UTC, Bryan Forbes
none Details | Review

Description Martin Schulze 2003-10-20 19:48:02 UTC
Version is unspecified since libsigc++2 is not stable yet.

However I'm attaching a preliminary patch that makes glibmm compile against
libsigc++-1.9.9 (or higher) instead of libsigc++-1.2.

TODO: - Test thoroughly if the patch breaks anything.
      - Include sigc++/compatibility.h.
      - Complete compatibility module.
      - Create a patch for gtkmm.
      - Wait for libsigc++-2.0.0.
Comment 1 Martin Schulze 2003-10-20 19:49:17 UTC
Created attachment 20825 [details] [review]
glibmm_use_libsigc2.diff: Initial revision of the patch.
Comment 2 Murray Cumming 2003-10-21 08:40:16 UTC
Great. The code looks better than before.

Before, applying this, I would like:
- To release gtkmm 2.3.0 without this change, to isolate other problems.
- To make gtkmm 2.3 libsigc++-2 ready as well, so that we don't break
the CVS build.
- To see whether a compatibility API is possible.
- libsigc++ 2 and gtkmm must work with the SUN Forte compiler.
- We must warn people that gtkmm 2.3 will not work with gcc <3.2.

Comment 3 Martin Schulze 2003-10-21 18:55:33 UTC
One question: Would you prefer to use the compatibility module in
glibmm/gtkmm itself, i.e. leave occurencies of SigC::Slot0<void>, etc.
untouched? In the first patch I changed them to sigc::slot<void>, etc.
Comment 4 Murray Cumming 2003-10-22 08:43:38 UTC
> Would you prefer to use the compatibility module in
> glibmm/gtkmm itself

No, we would port to the latest non-deprecated libsigc++ API.
Comment 5 Murray Cumming 2004-01-02 10:28:18 UTC
We need to ask on the list whether people can live without gcc 2.9*. 
Comment 6 Murray Cumming 2004-01-13 13:26:35 UTC
So, we have officially abandoned gcc 2.9*.

We now need to patch gtkmm as well.
Comment 7 Martin Schulze 2004-01-13 21:32:18 UTC
What's the deadline? I'm really busy these days ...
Comment 8 Murray Cumming 2004-01-16 14:49:43 UTC
February 16th. I will try if nobody else, does though I have lots of
other gtkmm API stuff to do as well:
http://www.gnome.org/start/2.5/bindings/#ApiFreeze

I am also talking to people at SUN about getting a login so we can use
Forte C++, but I am not confident of a good response.
Comment 9 Murray Cumming 2004-02-06 10:54:49 UTC
We still desperately need to test libsigc++2 with the Forte compiler,
but here (glibmm_sigc2_v2.patch) is an update glibmm patch that also
updates gmmproc so that it generates appropriate code. I am working on
the gtkmm patch.

By the way, I really like the code simplification - it's nice to lose
the proxy and SlotBase and impl() stuff. Thanks.
Comment 10 Murray Cumming 2004-02-06 10:57:33 UTC
Created attachment 24130 [details] [review]
glibmm_sigc2_v2.patch
Comment 11 Murray Cumming 2004-02-10 14:21:24 UTC
Created attachment 24268 [details] [review]
gtkmm_sigc2.patch
Comment 12 Murray Cumming 2004-02-10 14:23:45 UTC
Martin, here is the gtkmm part (gtkmm_sigc2.patch). I would appreciate
it if you could check that for me.

I am committing these now. We _might_ have to revert this if we
discover a libsigc++2 problem on SUN Forte soon, but it's not our
fault if nobody will try it.
Comment 13 Murray Cumming 2004-02-11 19:01:14 UTC
Martin, please do review these patches.
Comment 14 Martin Schulze 2004-02-13 17:16:37 UTC
The glibmm patch looks fine. I committed some further fixes in the
documentation, comments and the tread example to cvs.

I'm running out of time so I have to finish reviewing the gtkmm patch
tomorrow. The changes to the examples look fine so far. You probably
forgot to remove some "using ..." and some includes. I will fix this
tomorrow and also have a look at the TODO entry you added in the
cellrenderercustom example.
Comment 15 Martin Schulze 2004-02-14 18:42:00 UTC
<off topic>
Grr, I don't manage to install gtk+ 2.4 in parallel of gtk+ 2.2. The
pango check in configure aborts after

configure:28079: gcc -o conftest -O2 -I/opt/gtk24/include -Wall
-I/opt/gtk24/inc
lude/pango-1.0 -I/usr/X11R6/include -I/usr/local/include/freetype2
-I/usr/local/
include -I/opt/gtk24/include/glib-2.0
-I/opt/gtk24/lib/glib-2.0/include   -O2 -I
/opt/gtk24/include -L/opt/gtk24/lib conftest.c -Wl,--export-dynamic
-L/opt/gtk24
/lib -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0
-lgmodule-2.0 -lglib-
2.0 -lintl -liconv     >&5
/usr/bin/ld: warning: libpango-1.0.so.200, needed by
/opt/gtk24/lib/libpangoxft-
1.0.so, may conflict with libpango-1.0.so.300
etc.

I have no clue whatsoever, why /usr/X11R6/lib/libpango-1.0.so is used
in the linking process when only -L/opt/gtk24/lib is given ...
</off topic>

Anyway, I am attaching gtkmm_sigc2_v2+.patch (against cvs). It
contains some documentation fixes, updates in the tutorial and tries
to solve some issues in GtkMainConnectionNode. I cannot test it
because of my problems above. Please check whether it compiles and the
demos run; then I'll commit to cvs.
Comment 16 Martin Schulze 2004-02-14 18:44:42 UTC
Created attachment 24416 [details] [review]
gtkmm_sigc2_v2+.patch
Comment 17 Murray Cumming 2004-02-16 13:01:51 UTC
Yes, GTK+ 2.4 can not be installed in parallel unless you use a
different prefix. I'll check the patch while I'm offline. Thanks.
Comment 18 Martin Schulze 2004-02-16 17:41:15 UTC
> Yes, GTK+ 2.4 can not be installed in parallel unless you use a
> different prefix.

That's what I tried (configure --prefix=/opt/gtk24). Glib, glibmm, atk
and pango all went into /opt/gtk24 like one would expect.

> I'll check the patch while I'm offline. Thanks.

Great!
Comment 19 Murray Cumming 2004-02-22 19:56:13 UTC
I highly recommend jhbuild.
Comment 20 Bryan Forbes 2004-02-26 22:15:18 UTC
I tried this patch out and it needed a few minor changes.  Here is the
updated patch.
Comment 21 Bryan Forbes 2004-02-26 22:17:33 UTC
Created attachment 24829 [details] [review]
gtkmm_sigc2_v3.patch
Comment 22 Murray Cumming 2004-02-26 22:59:53 UTC
OK, that's committed. Thanks everyone.

Please patch the ChangeLog in future.