The 2.6.0 stable version of wxWidgets is out. I didn't try to make an ebuild out of it, but it shouldn't be difficult. Reproducible: Always Steps to Reproduce: Expected Results: wxWidgets 2.6.0 on portage
wxPython 2.6.0.0 has a separate wxGTK included with it which is slightly incompatible with wxGTK-2.6.0 (new methods for wxSTC). The changes in wxPython's version will probably go in wxGTK-2.6.1. In the meantime I'm trying to incorporate the changes myself so we can get this out ASAP. If I can't do it soon (a couple days) we may have a private version of wxGTK for wxPython (yuck).
Great news from the author: > ACtually the wxGTK 2.6.0 that was done a few days ago was a false start > and it was redone last night. If you get a fresh wxGTK 2.6.0 tarball > then it should match up with what is in the wxPython snapshot. >
please make a wxbase ebuild too, so people can compilw wx apps without installing X server (of course apps without gui!)
We're working on wxBase. Diego has torn apart the eclass and re-written the ebuild to make it easy to install wxBase/wxMac/wxWhatever. Coming soon.
*** Bug 90028 has been marked as a duplicate of this bug. ***
Created attachment 57214 [details] wxlib.eclass
Created attachment 57215 [details] wxwidgets.eclass
Created attachment 57216 [details] wxbase-2.6.0.ebuild
Created attachment 57217 [details] wxgtk-2.6.0.ebuild
cc'ing you on this bug Diego so you can see the changes I made to your contributions. 1) rename wxGTK to wxgtk to conform to policy (will change all ebuilds in tree) 2) Moved some deps from wxlib to wxgtk since wxbase doesn't need any gui stuff Now wxlib has only USE flags/deps common to all wx* libraries 3) Added check for contrib/src in wxlib since wxbase has none 4) All /usr/bin/wx* programs are suffixed with 2.6 to avoid conflict with 2.4 or other 2.6 versions. i.e. wxrc, wx-config (see wxlib_src_install) TODO/Need testing/feedback: Need to do testing with USE='dmalloc', not sure what benfit if any there may be. Test sdl USE flag, it will make wxgtk use sdl for audio output Test gnome USE flag, its uses gnome-base/libgnomeprintui instead of default Postscript for printing. Change description of wxbase Add wxdoc ebuild for doc USE flag to work
I don't know if I can write it here but I did get the eclass files and ebuild for wxgtk 2.6. Place it in my overlay, download tarball from wxwidget home. When I try to emerge it i've got this error: ./bk-deps g++ -c -o gldll_glcanvas.o -I.pch/wxprec_gldll -D__WXGTK__ -DWXUSINGDLL -DWXMAKINGDLL_GL -fPIC -DPIC -DWX_PRECOMP -DNO_GCC_PRAGMA -DGTK_NO_CHECK_CASTS -Ilib/wx/include/gtk-ansi-release-2.6 -I/var/tmp/portage/wxgtk-2.6.0/work/wxWidgets-2.6.0/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -I/usr/X11R6/include -O2 -pipe -march=athlon-xp -mmmx -m3dnow -msse -mfpmath=sse,387 -frename-registers -ftracer -fprefetch-loop-arrays -pthread -I/usr/include/SDL -D_REENTRANT -Wall -Wno-ctor-dtor-privacy /var/tmp/portage/wxgtk-2.6.0/work/wxWidgets-2.6.0/src/gtk/glcanvas.cpp g++ -shared -fPIC -o lib/libwx_gtk_gl-2.6.so.0.0.0 gldll_glcanvas.o -pthread -Llib -Wl,-soname,libwx_gtk_gl-2.6.so.0 -pthread -Wl,--version-script,version-script -lz -ldl -lm -L/usr/lib -lgtk -lgdk -rdynamic -lgmodule -lgthread -lglib -lpthread -ldl -lXi -lXext -lX11 -lm -lXinerama -lXxf86vm -lpng -lz -ljpeg -ltiff -lwx_gtk-2.6 -lGL -lGLU ./bk-deps g++ -c -o monodll_appbase.o -I.pch/wxprec_monodll -D__WXGTK__ -DwxUSE_BASE=1 -DWXMAKINGDLL -fPIC -DPIC -DWX_PRECOMP -DNO_GCC_PRAGMA -DGTK_NO_CHECK_CASTS -Ilib/wx/include/gtk-ansi-release-2.6 -I/var/tmp/portage/wxgtk-2.6.0/work/wxWidgets-2.6.0/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -I/usr/X11R6/include -O2 -pipe -march=athlon-xp -mmmx -m3dnow -msse -mfpmath=sse,387 -frename-registers -ftracer -fprefetch-loop-arrays -pthread -I/usr/include/SDL -D_REENTRANT -Wall -Wno-ctor-dtor-privacy /var/tmp/portage/wxgtk-2.6.0/work/wxWidgets-2.6.0/src/common/appbase.cpp /usr/lib/gcc/i686-pc-linux-gnu/3.4.3-20050110/../../../../i686-pc-linux-gnu/bin/ld: cannot find -lwx_gtk-2.6 collect2: ld returned 1 exit status make: *** [lib/libwx_gtk_gl-2.6.so.0.0.0] Error 1 make: *** Waiting for unfinished jobs.... !!! ERROR: x11-libs/wxgtk-2.6.0 failed. !!! Function configure_build, Line 55, Exitcode 2 !!! emake failed !!! If you need support, post the topmost build error, NOT this status message. My emerge info: Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.4.3-20050110, glibc-2.3.4.20041102-r1, 2.6.11.7 i686) ================================================================= System uname: 2.6.11.7 i686 AMD Duron(tm) Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Mar 29 2005, 00:43:53)] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r7 sys-devel/libtool: 1.5.14 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -pipe -march=athlon-xp -mmmx -m3dnow -msse -mfpmath=sse,387 -frename-registers -ftracer -fprefetch-loop-arrays -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -pipe -march=athlon-xp -mmmx -m3dnow -msse -mfpmath=sse,387 -frename-registers -ftracer -fprefetch-loop-arrays" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" LANG="pl_PL" LC_ALL="pl_PL" LINGUAS="pl" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 3dnow X alsa apache2 apm avi berkdb bitmap-fonts cdr crypt cups curl divx4linux dvd emboss encode esd fam flac foomaticdb fortran gdbm gif gnome gpm gstreamer gtk gtk2 hal imagemagick imlib ipv6 java jpeg junit kde libg++ libwww mad matroska mikmod mmx mmxext motif mozilla moznomail mozsvg mp3 mpeg mysql nas ncurses network nls nocd nptl nptlonly nvidia ogg oggvorbis opengl oss pdflib perl png python qt quicktime readline real samba sdl spell sse ssl svg svga tcltk tcpd tiff tlen truetype truetype-fonts type1-fonts vorbis xml2 xv xvid zlib linguas_pl" Unset: ASFLAGS, CBUILD, CTARGET, LDFLAGS
I remember something similar a few months ago. Changing "emake" in "emake -j1" in the ebuild fixed the problem, maybe you could do the same in wxlib.eclass.
The ebuild has incorrect dependency on media-libs/sdl-sound. SDL_sound (which is what sdl-sound ebuild builds) and SDL are two different libraries (the former being an addon for the latter) and SDL_sound is not used by wxWidgets for anything. I should know, I wrote the code in question. The correct dependency should be on >=media-libs/libsdl-1.2.0. Having said that, thanks for working on bringing wx-2.6 into Portage!
Thanks for clearing that up Vaclav, I'll change it back to >=media-libs/libsdl-1.2.0. "configure --help" says this, so I thought it would need sdl-sound as well as libsdl: --with-sdl use SDL for audio on Unix Is that correct, it is used for audio?
Created attachment 57342 [details] wxlib.eclass Rafal, could you please try Giacomo's suggestion please? This eclass adds -j1 to all emakes.
Created attachment 57343 [details] wxgtk-2.6.0.ebuild fixes sdl dependency
Giacomo's sugestion work. I've just compiled wxgtk-2.6.0 and amule from cvs snapshot.
There is a typo in new ebuild. There is: >=media-libs/libdsl-1.2.0 and should be: >=media-libs/libsdl-1.2.0
Created attachment 57345 [details] wxgtk-2.6.0.ebuild fixed sdl typo
Re comment 14: yes, it is correct (it's used only to get the simplest possible access to audio buffer, though).
*** Bug 90759 has been marked as a duplicate of this bug. ***
just wanted to point out that -fvisibility-inlines-hidden isn't being filtered anymore although 2.6.0 still has the bug with #pragma (but the patch @ bug #82207 seems to fix that and makes filtering unneccesary anyways). i've just built 2.6.0 with GCC4 using -fvisibility-inlines-hidden and the pragma patch but xchm is failing to compile. i'm 95% sure it's GCC at fault because i got a similar error using 2.4.2 w/o -f-i-h after rebuilding it with gcc 4. if that turns out to be the case i'll see if i can come up with a patch and file a new bug. one odd thing i noticed though is that configure reports i have wxWindows 2.4.2 installed rather than 2.6.0. removing 2.4.2 from the system gives me an error stating that i don't have wx-config installed, which turns out to be true. i've checked to see if this was a version suffix problem but it doesn't look like it. 2.4.2 installs three wx-config executables that 2.6.0 does not. has this been moved to another package? could it be because i chose not to install the gtk1 support on this last run? finally, what are some other packages that use wxGTK that would make good testcases, just to rule out it's not xchm that's screwed?
ah nm, i just ran across /usr/lib/wx/config. i think i've got it now.
pretty stable to add to portage, maybe masked to be safer..
Ryan, as for bug# 82207 have you submitted your patch upstream? I still need to do a lot more testing and if you haven't submitted it upstream I'll at least run it by the wxwidgets-dev mailing list. I was hoping to get this in portage today, and that patch is the last thing on my list. As for the wx-config its a link to the actual gtk1, gtk2ansi or gtk2unicode config. Now we have a SLOT'd wxgtk/wxbase/wxmac/wxmotif etc. They all also look for /usr/bin/wx-config by default, so thats where the wxwidgets.eclass comes in. I can add a symlink if you only have 2.6 installed, but ebuilds should still use the wxwidgets.eclass and export WX_GTK_VER="2.6" to ensure it finds the correct wx-config.py in case someone has a 2.4 version installed. See wxpython-2.5.3.1.ebuild for an example. If you're developing your own wxapp in Gentoo its probably best to be specific and use export WX_CONFIG=/path/to/one/of/many/wx-config's instead of relying on configure finding /usr/bin/wx-config. I have this all documented and it'll be included with the ebuild. Theres nothing in portage except wxpython-2.6.0.0 (going in today too) that uses 2.6 so far, so I'll move it straight to ~x86 etc instead of package masking it. Amule and maybe poedit and a few others that have worked with 2.5 will be tested and their ebuilds modified if they test ok to use 2.6
amule compiles and runs perfectly with wx 2.6. no tests needed. i noticed that wx 2.4.x was needed by bochs and vlc (with wx flags of course). the slot option won't create any problem. add it :)
hey rob. before you send it upstream, check out bug #90839. like i thought the problem i hit was completely gcc 4.0. coincidently, the patch i found in Fedora's cvs also fixes the #pragma bug. 2.4.2 builds perfectly now so i'm about to attempt to port it to 2.6.0. :) thanks for the clairification on wx-config. i wonder if the symlink might be a necessary fallback until the app ebuilds get moved over to using the wxwidgets eclass - unless there's one already in there, i didn't look too carefully. ;)
Re comment 25: > As for the wx-config its a link to the actual gtk1, gtk2ansi or gtk2unicode > config. Please note that this was true in wx-2.4, the way wx-config is handled in wx-2.6 is different and friendlier to slotting. Let me describe how it works in 2.6: 1) wx-config data are stored in /usr/lib/wx/config/ -- there's one file per installed wx configuration there 2) /usr/bin/wx-config is a symlink to one of the files above, to the "default" configuration; thanks to point 3) below, it doesn't matter much which one, but GTK2 Unicode or GTK2 ANSI config is probably the best choice 3) you don't have to use the messy config names like wxgtk2ud-2.5-config anymore; if the app needs to use Unicode, it will run `wx-config --unicode`, if it doesn't want Unicode, but wants GTK1, it will run `wx-config --unicode=no --tolkit=gtk` (--toolkit=gtk2 for GTK+2) 4) the ugly wxgtk2ud-2.5-config symlinks still exist in 2.6, but they're just for (temporary) compatibility with old scripts As for handling existence of multiple versions of wx in parallel, you can use --version=2.5, --version=2.6 etc.; unfortunately this doesn't work with 2.4, so here I'd suggect that Gentoo renames 2.4's wx-config to wx-config-2.4 and uses this for "old" wx-2.4-only apps' ebuilds.
I think in the ebuild, myconf needs to have $(use_with odbc) added. See also bug #83417.
David, its in wxlib.eclass. Did it actually fail for you? subconfigure $3 $(use_with odbc)
Hi Rob, Oops... I forgot to look in wxlib.eclass. Mea cupla. However, I've copied the ebuild and eclasses into my local portage overlay... but when I try to emerge it complains that there are no ebuilds for =dev-libs/wxdocs-2.6.0 :( Where is this ebuild lurking? (I couldn't find any submission for it it in bugs.gentoo... and its not in my just-sync'd portage tree). Comment #10 implies this is a TODO. Also, why are the docs built as a separate ebuild?
When doing the ebuild, the following hiccup occurs: /usr/lib/portage/bin/ebuild.sh: line 1: wxlib_pkg_postinst: command not found
*** Bug 91009 has been marked as a duplicate of this bug. ***
wxbase-2.6.0.ebuild SLOT="2.5" ? http://www.wxpython.org Get it while it's HOT! ^^
Adding to cvs (also wxpython-2.6.0.0 is going in too). Docs have been included in the ebuild, wxlib_pkg_postinst is fixed, and its slotted in 2.6 re #28: I plan on making 2.6 the default wx-config, but there are 30+ packages and 80 or so ebuilds that depend on wxGTK and I only maintain a few of them, so its going to take a while to change them all before that happens.
Hi all. I appologize if you would prefer this to be a separate bug report. If you would, just let me know and I'll make a new report. I built wxPython-2.6.0.0 and friends tonight. Unfortunately, when I go to import wx, I get the following error: ImportError: /usr/lib/python2.3/site-packages/wx-2.6-gtk2-ansi/wx/_core_.so: undefined symbol: _ZTV12wxXPMHandler wxGTK is not built with the xpm use flag. I have also tried rebuilding wxpython. I still receive the same error. This makes me think it is related to wxGTK. POWER greg # emerge info Portage 2.0.51.21 (default-linux/x86/2005.0, gcc-3.4.3-20050110, glibc-2.3.5-r0, 2 .6.11-gentoo-r7 i686) ================================================================= System uname: 2.6.11-gentoo-r7 i686 Intel(R) Pentium(R) M processor 2.00GHz Gentoo Base System version 1.6.11 ccache version 2.4 [enabled] dev-lang/python: 2.3.5 sys-apps/sandbox: 1.2.3 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r8 sys-devel/libtool: 1.5.16 virtual/os-headers: 2.6.11 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O3 -march=pentium3 -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/c onfig /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozi lla/defaults/pref /usr/share/config /var /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-O3 -march=pentium3 -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/di stributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X alsa apache2 apm arts avi berkdb bitmap-fonts cddb cdr crypt cups curl dvd dvdr dvdread eds emboss encode esd fam flac foomaticdb gd gdbm gif gnome gphot o2 gpm gtk2 imagemagick imlib ipv6 java jpeg junit kde kdeenablefinal libg++ libww w mad mikmod mozilla mp3 mpeg ncurses nls nptl ogg oggvorbis opengl oss pam pdflib perl php png python qt quicktime readline sandbox scanner sdl spell sql ssl subve rsion svga tcpd tetex tiff truetype truetype-fonts type1-fonts usb vorbis win32cod ecs xml2 xmms xv zlib userland_GNU kernel_linux libc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
I'm not not sure it will help, but I solved some similar (maybe) problems removing wxGTK and wxpython and re-emerging them, instead of a simple upgrade emerge -C wxGTK wxpython && emerge wxGTK wxpython
since this bug has been resolved, this would best be handled with a new bug report. :)
I created a new bug. The bug is number <a href="http://bugs.gentoo.org/show_bug.cgi?id=91252">91252</a>. Thanks.
Re #35: > re #28: I plan on making 2.6 the default wx-config, but there are 30+ packages > and 80 or so ebuilds that depend on wxGTK and I only maintain a few of them, so > its going to take a while to change them all before that happens. Can you at least install the script as /usr/bin/wx-config-2.6, then? The "solution" when no wx-config script is installed in PATH is a disaster, it makes the installed library unusable for normal development. Also, I don't see the point behind installing wxrc as /usr/bin/wxrc-2.6: 2.4 ebuilds don't install wxrc as far as I can tell (it's definitely not present here) and even if they did, wxrc from 2.6 generates output compatible with 2.4.
Vaclov, the ebuild in portage does use /usr/bin/wx-config for 2.6 if no 2.4 version is installed. I've opened a new bug to keep track of all the slotting issues including wxrc bug #91307
Ah, sorry, I didn't catch that (I still have 2.4 installed). That's indeed good enough for most purposes, sorry again.
I installed wxgtk-2.6 (I don't have 2.4), and emerging amule fails: !!! set-wxconfig: Error: Can't find normal or debug version: !!! set-wxconfig: /usr/bin/wxgtk-2.4-config not found !!! set-wxconfig: /usr/bin/wxgtkd-2.4-config not found !!! You need to emerge wxGTK with wxgtk1 in your USE (amule-2.0.0_rc7)
Use the ebuild in bug #71108 for 2.0.0 final.