I'm using the Meta ebuilds for KDE 3.4rc1 After some research I noticed that dcopidl2cpp writes the #include lines in completely backwards order to what is stored within the kaffeine.kidl and kaffeine.h files. in the attempt to fix the problem I did fix a few compile bugs and also got rid of all the depreciated functions. This is for Kaffeine 0.4.3b http://smileaf.org/files/kaffeine-KDE-3.4.0-compile-and-depreciated-fix.patch.bz2 In the end the only way I was able to install kaffeine was apply the patch. and edit kaffeine_stub.h reversing the #includes Reproducible: Always Steps to Reproduce: 1. emerge kaffeine 2. wait 3. wait somemore.... Actual Results: i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/kde/3.4/include -I/usr/qt/3/include -I/usr/X11R6/include -I/usr/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -DNDEBUG -DNO_DEBUG -O2 -O2 -march=pentium4 -fomit-frame-pointer -Wl,-z,now -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -c -o kaffeine_stub.o kaffeine_stub.cpp In file included from kaffeine_stub.h:13, from kaffeine_stub.cpp:9: filterdialog.h:54: error: syntax error before `*' token filterdialog.h:55: error: syntax error before `*' token i686-pc-linux-gnu-g++: -z: linker input file unused because linking not done i686-pc-linux-gnu-g++: now: linker input file unused because linking not done i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/kde/3.4/include -I/usr/qt/3/include -I/usr/X11R6/include -I/usr/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -DNDEBUG -DNO_DEBUG -O2 -O2 -march=pentium4 -fomit-frame-pointer -Wl,-z,now -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -c -o controlpanel_skel.o controlpanel_skel.cpp In file included from kaffeine_stub.h:16, from kaffeine_stub.cpp:9: videowindow.h: In constructor ` DeinterlacerConfigDialog::DeinterlacerConfigDialog(QWidget*, const char*)': videowindow.h:53: error: `i18n' undeclared (first use this function) videowindow.h:53: error: (Each undeclared identifier is reported only once for each function it appears in.) In file included from equalizer.h:27, from kaffeine_stub.h:17, from kaffeine_stub.cpp:9: /usr/qt/3/include/qslider.h: At global scope: /usr/qt/3/include/qslider.h:67: error: parse error before numeric constant /usr/qt/3/include/qslider.h:68: error: missing ';' before right brace /usr/qt/3/include/qslider.h:70: error: parse error before `*' token /usr/qt/3/include/qslider.h:71: error: parse error before `,' token /usr/qt/3/include/qslider.h:72: error: parse error before `int' /usr/qt/3/include/qslider.h:74: error: destructors must be member functions /usr/qt/3/include/qslider.h:76: error: `Orientation' was not declared in this scope /usr/qt/3/include/qslider.h:76: error: virtual outside class declaration /usr/qt/3/include/qslider.h:76: error: variable or field `setOrientation' declared void /usr/qt/3/include/qslider.h:77: error: parse error before `)' token /usr/qt/3/include/qslider.h:78: error: virtual outside class declaration /usr/qt/3/include/qslider.h:79: error: non-member function `bool tracking()' cannot have `const' method qualifier /usr/qt/3/include/qslider.h:80: error: virtual outside class declaration /usr/qt/3/include/qslider.h:82: error: non-member function `int sliderStart()' cannot have `const' method qualifier /usr/qt/3/include/qslider.h:83: error: non-member function `QRect sliderRect()' cannot have `const' method qualifier /usr/qt/3/include/qslider.h:84: error: non-member function `QSize sizeHint()' cannot have `const' method qualifier /usr/qt/3/include/qslider.h:88: error: non-member function `QSizePolicy sizePolicy()' cannot have `const' method qualifier /usr/qt/3/include/qslider.h:89: error: non-member function `QSize minimumSizeHint()' cannot have `const' method qualifier /usr/qt/3/include/qslider.h:91: error: `TickSetting' was not declared in this scope /usr/qt/3/include/qslider.h:91: error: virtual outside class declaration /usr/qt/3/include/qslider.h:91: error: variable or field `setTickmarks' declared void /usr/qt/3/include/qslider.h:92: error: parse error before `)' token /usr/qt/3/include/qslider.h:94: error: virtual outside class declaration /usr/qt/3/include/qslider.h:95: error: non-member function `int tickInterval()' cannot have `const' method qualifier /usr/qt/3/include/qslider.h: In function `int tickInterval()': /usr/qt/3/include/qslider.h:95: error: `tickInt' undeclared (first use this function) /usr/qt/3/include/qslider.h: At global scope: /usr/qt/3/include/qslider.h:97: error: non-member function `int minValue()' cannot have `const' method qualifier /usr/qt/3/include/qslider.h:98: error: non-member function `int maxValue()' cannot have `const' method qualifier /usr/qt/3/include/qslider.h:101: error: non-member function `int lineStep()' cannot have `const' method qualifier /usr/qt/3/include/qslider.h:102: error: non-member function `int pageStep()' cannot have `const' method qualifier /usr/qt/3/include/qslider.h:105: error: non-member function `int value()' cannot have `const' method qualifier /usr/qt/3/include/qslider.h:107: error: parse error before `public' /usr/qt/3/include/qslider.h:114: error: parse error before `protected' /usr/qt/3/include/qslider.h:120: error: parse error before `protected' /usr/qt/3/include/qslider.h:139: error: parse error before `private' /usr/qt/3/include/qslider.h:146: error: non-member function `int positionFromValue(int)' cannot have `const' method qualifier /usr/qt/3/include/qslider.h:147: error: non-member function `int valueFromPosition(int)' cannot have `const' method qualifier /usr/qt/3/include/qslider.h:151: error: non-member function `int available()' cannot have `const' method qualifier /usr/qt/3/include/qslider.h:152: error: non-member function `int goodPart(const QPoint&)' cannot have `const' method qualifier /usr/qt/3/include/qslider.h:160: error: 'State' is used as a type, but is not defined as a type. /usr/qt/3/include/qslider.h:163: error: 'TickSetting' is used as a type, but is not defined as a type. /usr/qt/3/include/qslider.h:164: error: `int tickInt' used prior to declaration /usr/qt/3/include/qslider.h:165: error: 'Orientation' is used as a type, but is not defined as a type. /usr/qt/3/include/qslider.h:167: error: parse error before `private' /usr/qt/3/include/qslider.h:170: error: syntax error before `&' token /usr/qt/3/include/qslider.h:175: error: no `bool QSlider::tracking() const' member function declared in class `QSlider' /usr/qt/3/include/qslider.h:180: error: no `Qt::Orientation QSlider::orientation() const' member function declared in class `QSlider' /usr/qt/3/include/qslider.h: In member function `Qt::Orientation QSlider::orientation() const': /usr/qt/3/include/qslider.h:181: error: `orient' undeclared (first use this function) /usr/qt/3/include/qslider.h: At global scope: /usr/qt/3/include/qslider.h:185: error: no `int QSlider::sliderStart() const' member function declared in class `QSlider' /usr/qt/3/include/qslider.h:190: error: no `void QSlider::setSizePolicy(QSizePolicy::SizeType, QSizePolicy::SizeType, bool)' member function declared in class `QSlider' In file included from kaffeine_stub.h:17, from kaffeine_stub.cpp:9: equalizer.h:63: error: syntax error before `*' token equalizer.h:64: error: syntax error before `*' token equalizer.h:65: error: syntax error before `*' token equalizer.h:66: error: syntax error before `*' token equalizer.h:67: error: syntax error before `*' token equalizer.h:68: error: syntax error before `*' token equalizer.h:69: error: syntax error before `*' token equalizer.h:70: error: syntax error before `*' token equalizer.h:71: error: syntax error before `*' token equalizer.h:72: error: syntax error before `*' token In file included from kaffeine_stub.h:18, from kaffeine_stub.cpp:9: videosettings.h:58: error: syntax error before `*' token videosettings.h:59: error: syntax error before `*' token videosettings.h:60: error: syntax error before `*' token videosettings.h:61: error: syntax error before `*' token videosettings.h:62: error: syntax error before `*' token videosettings.h:63: error: syntax error before `*' token In file included from kaffeine_stub.h:20, from kaffeine_stub.cpp:9: configwidget.h:89: error: syntax error before `*' token In file included from kaffeine_stub.h:23, from kaffeine_stub.cpp:9: controlpanel.h:112: error: syntax error before `*' token controlpanel.h: In member function `void ControlPanel::volUp()': controlpanel.h:62: error: `volSlider' undeclared (first use this function) In file included from /usr/kde/3.4/include/kbookmarkmenu.h:33, from kaffeine_stub.h:33, from kaffeine_stub.cpp:9: /usr/kde/3.4/include/klocale.h: At global scope: /usr/kde/3.4/include/klocale.h:73: error: `QString i18n(const char*)' used prior to declaration make[2]: *** [kaffeine_stub.o] Error 1 make[2]: *** Waiting for unfinished jobs.... i686-pc-linux-gnu-g++: -z: linker input file unused because linking not done i686-pc-linux-gnu-g++: now: linker input file unused because linking not done make[2]: Leaving directory `/var/tmp/portage/kaffeine-0.4.3b-r1/work/kaffeine-0.4.3b/kaffeine' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/kaffeine-0.4.3b-r1/work/kaffeine-0.4.3b' make: *** [all] Error 2 Expected Results: Clean Compile. Portage 2.0.51-r15 (default-linux/x86/2004.3, gcc-3.3.5, glibc-2.3.4.20040808-r1, 2.6.10-gentoo-r6 i686) ================================================================= System uname: 2.6.10-gentoo-r6 i686 Mobile Intel(R) Celeron(R) CPU 2.40GHz Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 27 2005, 12:53:54)] 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-r1 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -Wl,-z,now" 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/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -Wl,-z,now" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks nodoc noinfo sandbox sfperms" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X acpi aim alsa apm arts avi berkdb bitmap-fonts bzlib canna cdparanoia cdr cjk crypt cups curl dvd dvdread emboss encode f77 fam fbcon flac font-server foomaticdb fortran gcj gif gpm gtk2 hal imlib ipv6 java jpeg junit kde kdexdeltas libcaca libg++ libwww mad mikmod mmx mng motif mpeg ncurses network nls ntpl ogg oggvorbis opengl oss pam pcmcia pcre pdflib perl png posix postgres python qt quicktime readline samba smartcard sockets spell sqlite sse sse2 ssl svga tcpd theora threads tiff truetype truetype-fonts trusted type1-fonts unicode usb usepackagedmakefiles wifi xine xml2 xosd xsl xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
I confirm that kaffeine-0.4.3b uses #includes in a sloppy way and breaks with kde-3.4. kaffeine-0.5 works well though. Maybe you can ask the author to push out a revision of the 0.4 series that works with kde-3.4? Otherwise we could just mark kaffeine-0.5 stable and forget about 0.4...
If I had to use 0.5 I'd find another player. IMO 0.5 is a usability nightmare.
> IMO 0.5 is a usability nightmare. I tend to agree... that's why I proposed you to ask for a new revision of kaffeine-0.4.x ;)
We could do it ourself :) I've been researching on what change they made to fix my bug. later I might look into other improvements they've done and possibly include those in my version. sadly I doubt they'll make a revision.
Personally, I don't think we are the right people to host and maintain a forked version of kaffeine. You could just send your patches to the author.
True. Really I didn't want a forked version. just something that will compile. more or less when I said we could do it ourself I was thinking. if you hate it as well would you like to help? not can gentoo host and maintain this. ;)
> Really I didn't want a forked version. just something that will compile. Ah, Ok. A patch to make it compile will be gladly accepted.
Just got an ebuild to compile it!! sadly it's a hack instead of a true fix but it works :D Here is my ebuild mods src_unpack() { kde_src_unpack epatch ${FILESDIR}/${P}-SecurityTracker-1011936.patch epatch ${FILESDIR}/kaffeine-KDE-3.4.0-compile-and-depreciated-fix.patch } src_compile() { econf || die emake || perl ${FILESDIR}/revinclude.pl && make || die } When it dies.. run my perl script which will rearrange the #includes then continue the compile again :) http://smileaf.org/files/kaffeine-0.4.3b-r2.tar.bz2
I don't think that can be an acceptable strategy...
0.6 should fix everything It also re-features the minimal mode with M! (i'm very happy about it). Still I think we should wait for -r1 with the xorg problem fixed.. Anyway until 3.4 is stable I don't see need to mark 0.5 or 0.6 stables.
0.6 does bring back some important functionality. but it's still not near as functional 0.4.3b. 1 such function I'm thinking of is the ability to skip ahead and backwards using they left and right arrow keys. true this can be done using they mouse scroll however this is not very friendly IMHO. but I will agree that there is no need for 0.5 or 0.6 until kde 3.4 is marked stable. Until they do get all the functionality back in tho I'll keep it in my package.mask and continue to just use my "non-acceptable strategy" ebuild to build it :)
I'm marking 0.6-r1 stable to allow kde 3.4.1 to be marked stable.