Gentoo Archives: gentoo-dev

From: Ryan Hill <dirtyepic@g.o>
To: gentoo-dev@l.g.o, gentoo-dev-announce@l.g.o, gentoo-user@l.g.o
Subject: [gentoo-dev] wxGTK 2.8
Date: Fri, 21 Dec 2007 19:35:01
Message-Id: 476C14AA.8020105@gentoo.org
1 Time to close bug #145884.
2
3 After over a year of waiting (but still way ahead of Debian), wxGTK 2.8 is finally coming to Gentoo. I'd like to thank everyone for their patience while we got the wrinkles ironed out.
4
5 Many of the problems we've had previously with wxWidgets in Gentoo were due in general to an incomplete separation between two major versions (being 2.4 and 2.6). These ebuilds had many file collisions and would conditionally install important files based on if the other version was installed or not, leading to situations where a working system was solely dependent on the order in which they were installed. Uninstalling or re-emerging one would often break the other. Packages would be built against whichever version was handy, despite what its requirements were. Many bugs were filed, and Jakb was sad.
6
7 The first thing we did to get ourselves out of this situation was to get rid of 2.4. Then I took some pointers (and patches) from FreeBSD and got 2.6 and 2.8 to coexist nicely. After some fiddling with eclasses, a wrapper or two, and an eselect module, we seem to be on good ground.
8
9 So here's what you need to know.
10
11 For the Users:
12
13 Nothing. ;P If all you know about wxGTK is it's some dependency you have to install on your way to building amule or vlc or audacity then everything should just work without you having to do a thing. You might be happy to know we've cut the compile time in half though.
14
15 For the Other Users:
16
17 If you are building software outside of portage, say, doing development on a package that uses wxGTK or building something from CVS/SVN/etc., then we have a new eselect module (eselect-wxwidgets) which can be used to set the default version and type of wxGTK you need. Initially the profile is set to "none" and you'll have to switch to the one you want. This is currently a global setting, and has zero effect on packages built through portage.
18
19 We previously planned to allow installing debug and release versions side by side, but later decided against it. I know there is some interest in this and I tried to design things to keep it open as an option so we might reconsider it sometime in the future.
20
21 For the Devs:
22
23 Basically, /usr/bin/wx-config is now a wrapper. When called from userspace it falls through to the wx-config corresponding to the profile the user has set with the eselect module. When called from wxwidgets.eclass, it uses info provided by the ebuild (WX_GTK_VER, need-wxwidgets) to choose which wx-config to call. The obvious result of this is that ebuilds *NEED* to be accessing wx-config through the eclass. There are a few packages which currently don't do this that I'll be filing bugs for. Eventually (and sooner than later) calling the wrapper from ${PACKAGE_MANAGER} without going through the eclass will result in a fatal error.
24
25 The eclass has been in the tree for a bit and is documentated so I won't go over it again here. `emerge eclass-manpages && man wxwidgets.eclass` should do it. If we missed anything or you have any questions about the eclass please feel free to ask me and/or leio and/or wxwindows@g.o. One thing I did want to mention is that the eclass now automatically does the necessary built_with_use checks (X, unicode, etc) for whatever type of wxGTK you request so they can be dropped from the ebuilds. There is also a new check_wx function for checking wxGTK for other USE flags (eg. opengl, odbc, gstreamer) in a consistent way.
26
27 The biggest change in our wxGTK-2.8 is we are no longer supporting the ansi profile; that is, we are unicode-only. The upcoming wxWidgets 3.0 will do away with the ansi/unicode split and simply use UTF-8 for everything. If your package supports building against the unicode libraries (most should), we encourage you to at least provide that option with a unicode USE flag or at most make it the default. ;)
28
29 Thanks to everyone who helped this along, tested, or otherwise poked at us to get it done.
30
31 Your wxWi{ndows,dgets} team.
32
33
34 PS. wxpython-2.8 will also be added shortly, after I finish cleaning up a few more packages that break when the two versions are both installed.
35
36
37 --
38 looks like christmas at fifty-five degrees
39 this latitude weakens my knees
40 EFFD 380E 047A 4B51 D2BD C64F 8AA8 8346 F9A4 0662 (0xF9A40662)
41 --
42 gentoo-dev@g.o mailing list

Replies

Subject Author
Re: [gentoo-dev] wxGTK 2.8 Michal Kurgan <moloh@g.o>
[gentoo-dev] Re: wxGTK 2.8 Ryan Hill <dirtyepic@g.o>