Puggy and I have been working on building a KDE system without arts. Why? - arts is very slow, - arts doesn't have anything to offer us, - ask Puggy :-) The attached ebuilds allow you to build KDE (including koffice / k3b) without arts, if the "arts" use flag is off. They are patches against the -3.2.3 ebuilds. Note that there is a bug in kdemultimedia-3.2.3 which won't allow you to build it if you don't have arts installed (http://bugs.kde.org/show_bug.cgi?id=83723). This has already been fixed so it should be in the next release.
Created attachment 33706 [details, diff] Make k3b listen to the "arts" use flag
Created attachment 33707 [details, diff] Make kdeaddons listen to the "arts" use flag
Created attachment 33708 [details, diff] Make kdebase listen to the "arts" use flag
Created attachment 33709 [details, diff] Make kdegames listen to the "arts" use flag
Created attachment 33710 [details, diff] Make kdelibs listen to the "arts" use flag
Created attachment 33711 [details, diff] Make kdemultimedia listen to the "arts" use flag
Created attachment 33712 [details, diff] Make koffice listen to the "arts" use flag
*** Bug 40295 has been marked as a duplicate of this bug. ***
*** Bug 56028 has been marked as a duplicate of this bug. ***
K3b makes use of 'arts' flag since 0.11.12 (see bug #53724)
Created attachment 35516 [details, diff] Patch to add arts use flag to kde.eclass The attached patch is against the kde eclass, and adds an "arts" USE flag to the KDE eclass. If arts isn't selected, then it specifies '--without-arts' to the configure script. The actual dependency on kde-base/arts is given in the kde-base/kdelibs ebuild...
Created attachment 35517 [details, diff] Patch to add arts use flag to kdelibs ebuild. ... which is patched here. This effectively allows compilation of KDE 3.3.0 beta 1 without arts, but with the following issues: - kdepim won't compile (fixed in KDE CVS, see http://bugs.kde.org/show_bug.cgi?id=84815 ) - kdemultimedia won't compile (patch available, not yet in CVS, see http://bugs.kde.org/show_bug.cgi?id=83723 ) - kdeartwork won't compile (only just reported, see http://bugs.kde.org/show_bug.cgi?id=85307 ) Hopefully, these issues will be resolved by the time 3.3.0 is released proper.
The kdemultimedia bug (http://bugs.kde.org/show_bug.cgi?id=83723) has been fixed (not sure if it made it into the beta release, but definitely is in CVS). This only leaves a single outstanding issue.
I was thinking about this last night, but I'm a little worried. Won't this disable arts by default unless a user has the flag set? I'm concerned that a lot of users won't know to set the arts use flag, and end up with a non-arts based KDE and complain about not having all of the multimedia...
sascha@cube:~$ grep arts /etc/make.profile/make.defaults USE="x86 oss apm arts avi berkdb crypt cups encode foomaticdb gdbm gif gpm gtk gtk2 imlib The arts USE flag is already set by default so KDE will be built with arts support unless you explicitly turn it off.
ahh, just checked. ok, i'm going to work on integrating these with beta2. I believe they will have to go in the ebuild has if they're in the eclass it could break compilation for previous versions (especially if packages didnt' support the flag), so we'll just stick with the ebuilds for now.
Well, I just compiled kdelibs from 3.3.0_beta2 without a problem by using the same ebuild from beta1, with a version number change. So I guess that works OK. I have yet to test any other packages. Not sure whether ebuild or eclass is the best solution. Presumably, as long as we test the stable KDE version (3.2.3?) with the use flag, then it won't break anything for anybody -- since everyone with an up-to-date eclass will also have an up-to-date KDE. Eclass is definitely better in terms of how much work we do. Also, since the eclass only adds a configure flag, it should not break compilation of anything anyway, right?
Created attachment 36084 [details, diff] Patch to add arts use flag to krusader-1.40
*** Bug 58262 has been marked as a duplicate of this bug. ***
kdeartwork 3.2.92 (aka 3.3 beta2) will not compile if kdelibs is not compiled with arts. See also: http://bugs.gentoo.org/show_bug.cgi?id=58262 http://bugs.kde.org/show_bug.cgi?id=85307
K3b doesn't compile: ------------------------------------------------------------ checking for mcopidl... not found configure: error: The important program mcopidl was not found! Please check whether you installed aRts correctly or use --without-arts to compile without aRts support (this will remove functionality). !!! ERROR: app-cdr/k3b-0.11.13 failed. !!! Function kde_src_compile, Line 119, Exitcode 1 !!! died running ./configure, kde_src_compile:configure ------------------------------------------------------------ K3b requires --without-arts, and kde.eclass sets --with-arts when 'arts' flag is on, but does nothing when it's not set. I would suggest changing the kde.class to set one of --with-arts or --without-arts.
emerge sync'ed today, and it compiled, but 'emerge -uav k3b' shows two 'arts' flags for k3b
>emerge sync'ed today, and it compiled, but 'emerge -uav k3b' shows two 'arts' flags for k3b it's a sign of the upcoming portage .51, but no problem
Thx for info.
kdevelop has the same problem. it does not even check for arts and ./configure fails without.
kdebluetooth also has a problem.
Created attachment 37865 [details] kdebluetooth with -arts flag This ebuild takes the first step of asking it _not_ to use arts but there are some hard coded deps. Naughty naughty.
kdebluetooth: revised ebuild available: http://bugs.gentoo.org/show_bug.cgi?id=61170
Created attachment 37882 [details] Make kiso listen to the "arts" use flag
Please note that the kde.eclass now supports the arts use flag. There seems to be a problem in portage that doesn't allow this to work right, but seems to be fixed in portage-2.0.50-r10. Try ugprading portage, and seeing if any ebuilds are still not turning off arts compilation.
kmuddy also wont compile without arts, tried to edit the ebuild the same was as the others but, the ebuild is very empty, i dont use kde so im not familiar with the inherit kde line
kdenetwork-3.3.0 won't compile with USE=-arts, too: make[3]: Entering directory `/var/tmp/portage/kdenetwork-3.3.0/work/kdenetwork-3.3.0/wifi' /usr/qt/3/bin/moc ./interface_wireless.h -o interface_wireless.moc /usr/qt/3/bin/moc ./interface_wireless_wirelessextensions.h -o interface_wireless_wirelessextensions.moc /usr/qt/3/bin/moc ./kwifimanager.h -o kwifimanager.moc g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/kde/3.3/include -I/usr/qt/3/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -D_FILE_OFFSET_BITS=64 -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 -O3 -march=athlon-xp -pipe -fomit-frame-pointer -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -c -o locator.o locator.cpp g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/kde/3.3/include -I/usr/qt/3/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -D_FILE_OFFSET_BITS=64 -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 -O3 -march=athlon-xp -pipe -fomit-frame-pointer -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -c -o main.o main.cpp In file included from locator.cpp:20: interface_wireless.h:24:28: arts/iomanager.h: No such file or directory interface_wireless.h:25:29: arts/dispatcher.h: No such file or directory In file included from locator.cpp:20: interface_wireless.h:98: error: `Arts' is not a class or namespace interface_wireless.h:99: error: `TimeNotify' is not a class or namespace interface_wireless.h:99: error: invalid base-class specification interface_wireless.h:101: error: syntax error before `::' token interface_wireless.h:102: error: parse error before `::' token interface_wireless.h:107: error: parse error before `}' token make[3]: *** [locator.o] Error 1 make[3]: *** Waiting for unfinished jobs.... In file included from kwifimanager.h:43, from main.cpp:25: interface_wireless.h:24:28: arts/iomanager.h: No such file or directory interface_wireless.h:25:29: arts/dispatcher.h: No such file or directory In file included from kwifimanager.h:43, from main.cpp:25: interface_wireless.h:98: error: `Arts' is not a class or namespace interface_wireless.h:99: error: `TimeNotify' is not a class or namespace interface_wireless.h:99: error: invalid base-class specification interface_wireless.h:101: error: syntax error before `::' token interface_wireless.h:102: error: parse error before `::' token interface_wireless.h:107: error: parse error before `}' token make[3]: *** [main.o] Error 1 make[3]: Leaving directory `/var/tmp/portage/kdenetwork-3.3.0/work/kdenetwork-3.3.0/wifi' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/kdenetwork-3.3.0/work/kdenetwork-3.3.0/wifi' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/kdenetwork-3.3.0/work/kdenetwork-3.3.0' make: *** [all] Error 2 !!! ERROR: kde-base/kdenetwork-3.3.0 failed. !!! Function kde_src_compile, Line 135, Exitcode 2 !!! died running emake, kde_src_compile:make root@caravan:~#
BTW: Why does it attempt to compile the wifi stuff at all? I don't have the "wifi" local USE flag set (though I should set it on that host, but that's another story): root@caravan:~# emerge -pv kdenetwork These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild N ] kde-base/kdenetwork-3.3.0 -arts -debug +samba -slp +ssl -wifi 0 kB Total size of downloads: 0 kB
Wifi bug: Bug #61186 Otherwise, this can be closed as it should "just work" for most ebuilds. Any that don't, please open new reports.