Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 384779 - [TRACKER] dev-libs/glib-2.30 (Was: x11-libs/pango-1.28.4 uses deprecated G_CONST_RETURN)
Summary: [TRACKER] dev-libs/glib-2.30 (Was: x11-libs/pango-1.28.4 uses deprecated G_CO...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords: Tracker
: 384919 385519 (view as bug list)
Depends on: 367251 376259 382783 384743 384765 384775 384789 384807 384815 384987 385171 385453 385503 385533 385597 387173 387335 387817 387823 387825 387831 387833 388019 388509 391091 391099 391101 391103 391105
Blocks: gnome3.2
  Show dependency tree
 
Reported: 2011-09-28 13:00 UTC by Ian Abbott
Modified: 2012-01-06 16:04 UTC (History)
8 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ian Abbott 2011-09-28 13:00:27 UTC
pango-1.28.4 uses the G_CONST_RETURN pre-processor macro in its C source and its public headers.  The G_CONST_RETURN macro was formally deprecated in glib-2.30.

This is more a problem with packages that directly or indirectly depend on the pango headers to build, and that define the G_DISABLE_DEPRECATED C pre-processor macro, but there seem to be a few of these that fail to compile because of it:

net-dns/avahi-0.6.30-r1 (bug 384743)
gnome-base/libglade-2.6.4 (bug 384775)
app-text/poppler-0.16.7 (no bug added yet)

Rather than fix all these individually, it might be better to fix it once in pango.

See http://git.gnome.org/browse/pango/commit/?id=4c7807daee7189f481d7c18b56b06d7b7dba7884 for the git commit and http://git.gnome.org/browse/pango/patch/?id=4c7807daee7189f481d7c18b56b06d7b7dba7884 for the patch.

The patch applies to the pango-1.28.4 source (with a few hunk offsets) and changes all the G_CONST_RETURN to const in the C source.

Reproducible: Always
Comment 1 Pacho Ramos gentoo-dev 2011-09-28 13:03:46 UTC
(In reply to comment #0)
[...]
> Rather than fix all these individually, it might be better to fix it once in
> pango.
[...]

Anyway, keep opening bug reports (and make them depend on this one to let me go for fixing them when I have time) for failing packages as they should be dropping DEPRECATED flags for a long time since they shouldn't be used in tarball releases

Thanks
Comment 2 Helmut Jarausch 2011-09-29 11:28:36 UTC
(In reply to comment #1)
> (In reply to comment #0)
> [...]
> > Rather than fix all these individually, it might be better to fix it once in
> > pango.
> [...]
> 

It didn't suffice here, since
/usr/include/atk-1.0/atk/atkobject.h
still contains G_CONST_RETURN

This still makes the ebuilds for libglade and avahi fail.

So, we need a patch for atk, as well.

Helmut.
Comment 3 Mart Raudsepp gentoo-dev 2011-09-29 15:40:10 UTC
No, we need avahi/libglade/whatever NOT pass -DG_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED and so on
Comment 4 Alexandre Rostovtsev (RETIRED) gentoo-dev 2011-09-29 16:35:40 UTC
(In reply to comment #3)
> No, we need avahi/libglade/whatever NOT pass -DG_DISABLE_DEPRECATED
> -DGTK_DISABLE_DEPRECATED and so on

It's significantly faster and easier for us to fix public headers in 2 packages (pango and atk) than to chase down and patch >9000 random packages that use pango and/or atk and enable G_DISABLE_DEPRECATED somewhere in their build system and get all their maintainers to apply patches.
Comment 5 Bryan Green 2011-09-29 20:54:05 UTC
net-misc/network-manager-vpnc-0.8.2 has this issue as well.
bug #384987
Comment 6 Olivier Rolland 2011-10-01 10:42:23 UTC
And media-libs/clutter-gst-1.3.14 (see bug #385171).
Comment 7 Pacho Ramos gentoo-dev 2011-10-03 20:14:11 UTC
*** Bug 385519 has been marked as a duplicate of this bug. ***
Comment 8 Naohiro Aota gentoo-dev 2011-10-08 06:59:44 UTC
*** Bug 386011 has been marked as a duplicate of this bug. ***
Comment 9 Pacho Ramos gentoo-dev 2011-10-20 22:58:15 UTC
*** Bug 384919 has been marked as a duplicate of this bug. ***
Comment 10 Pacho Ramos gentoo-dev 2011-11-20 12:48:37 UTC
bugs 384987, 385503, 385597 are now only affecting to hardmasked versions, would be nice if gnome3 developers could fix them, but they shouldn't block a glib-2.30 stabilization as they are hardmasked anyway

bug 388509 should neither block it as G_CONST problem is fixed, it's still not building due unrelated problems

As I have finally rebuilt most of the tree, I think glib-2.30 is now safe to go to stable (at least talking about this kind of problems)
Comment 11 Mart Raudsepp gentoo-dev 2011-11-22 13:52:37 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > No, we need avahi/libglade/whatever NOT pass -DG_DISABLE_DEPRECATED
> > -DGTK_DISABLE_DEPRECATED and so on
> 
> It's significantly faster and easier for us to fix public headers in 2 packages
> (pango and atk) than to chase down and patch >9000 random packages that use
> pango and/or atk and enable G_DISABLE_DEPRECATED somewhere in their build
> system and get all their maintainers to apply patches.

No, *_DISABLE_DEPRECATED must NOT be passed in any stable release versions and we need to fix them sooner or later anyway. This gives us a good trigger to show when there is this problem of having em passed. We can't predict the future. If we don't filter out this -DG_DISABLE_DEPRECATED stuff now, it's going to bite us again the next time something gets deprecated in the next version, and I ensure you, there will be something, and then we get to deal with this all over again.
We should also make sure upstream configure.ac's are fixed to not pass those things in even minor version number cases (stable releases) - there should be standard m4 macros for handling that in gnome-common I presume.
Comment 12 Mart Raudsepp gentoo-dev 2011-11-22 13:54:46 UTC
Just as I post this, it occurs me that glib rethoughts it deprecation handling and now I believe wants projects to just catch these by -Werror in development releases (deprecations usages emit compiler warnings), so actually many of them might be converting to that method now, and hopefully not ever pass -D*_DISABLE_DEPRECATED, just -Werror in development/git builds. On that light, after some research I may agree with changing public headers instead.
Comment 13 Pacho Ramos gentoo-dev 2011-11-28 20:22:43 UTC
All should be fixed now as bug 388509 remaining problems are not related with glib-2.30
Comment 14 Jeff Serafim 2012-01-06 13:26:04 UTC
gnome-extra/gnome-do-0.8.5 also fails compilation because of G_CONST_RETURN.
Replacing it for const in pango headers solves the errors.
Comment 15 Ian Abbott 2012-01-06 14:27:38 UTC
(In reply to comment #14)
> gnome-extra/gnome-do-0.8.5 also fails compilation because of G_CONST_RETURN.
> Replacing it for const in pango headers solves the errors.

I think you'll need to create a new bug report....
Comment 16 Pacho Ramos gentoo-dev 2012-01-06 16:04:57 UTC
(In reply to comment #14)
> gnome-extra/gnome-do-0.8.5 also fails compilation because of G_CONST_RETURN.
> Replacing it for const in pango headers solves the errors.

+  06 Jan 2012; Pacho Ramos <pacho@gentoo.org> gnome-do-0.8.5.ebuild:
+  Drop DEPRECATED flags (bug #384779 comment #14 by Jeff) and -Werror.
+

For next time open a separate bug report and make it block this one ;)