Updated Tue Jul 29 21:00:31 UTC 2008 --rworkman These packages are for Slackware 12.1 - DO NOT bother trying them on any earlier releases of Slackware, as they will not work. This is kde-4.1.0, finally. It seems pretty darn good here, but I'm still not sure if it's ready for us yet. 4.1.1 will almost surely be out before it's an issue anyway. ############################################################################## For those intending to build from source: 1. You will need the jdk package installed. 2. The build order used for the kde packages is what you see in the main KDE.SlackBuild script. Build order for dependencies: 1. boost 2. qt 3. eigen 4. clucene 5. raptor 6. rasqal 7. redland 8. exiv2 8. strigi 9. soprano 10. qimageblitz 11. qca 12. Rebuild poppler (for poppler-qt4) 13. everything else Note that ilmbase is a dependency of openexr, so build ilmbase before it. Also note that liboil is a dependency of the gstreamer plugins. ############################################################################## For those intending to install the packages: If you already had kde-4.0.68+ from here installed, so you should be able to use "upgradepkg --install-new" on all of the package and everything will work just fine. Otherwise, keep reading... You'll need to uninstall *all* qt and kde apps, including qt, qca, qca-tls, and knemo. These packages may *NOT* be co-installed with the stock qt/kde and friends packages in Slackware. Also, you'll need to remove the stock poppler package, as we need to compile it against qt4. Before installing these packages, if you have not already had previous kde4 packages from here installed, you'll need to remove /etc/kde (rm -rf /etc/kde) and either remove or backup your $HOME/.kde/ directory. Once you've done all of the above, install these packages. Be sure to run "xwmconfig" as your user account afterward. ############################################################################## KNOWN BUGS This is not intended to be an all-inclusive list; it's just what I happened to notice in my testing: 1. Unrecognized mime type entries; you'll see a lot of console spam on boot and/or when the mime database is updated. This is NOT a bug in Slackware or the packages (confirmed on the kde packagers list); it's something that will have to be addressed either by upstream shared-mime-info or upstream kde, and it's harmless anyway. 2. It's a bit slow to start up here, but maybe it's just me, or maybe it's partially because I had two other X sessions up when I started kde :-) These next ones are really not bugs in 4.1.0, but worth mentioning anyway: 1. k3b will compile (it needs libdvdread though), but it won't actually do a successful burn here. It doesn't crash anymore when trying, but the operation never finishes. 2. kdevplatform and kdevelop are not ready yet - they're on a separate release cycle. I had considered shipping earlier development snapshots, but the kdevelop guy prefers that we not do so. 3. amarok is also on a separate release cycle, but the 1.86 release (leading to 2.0) should be pretty functional. ############################################################################## Thanks to Heinz Wiesinger for spending more time looking into the dependency tree than I did, and then putting together the list below. In fact, I owe many thanks to Heinz for various hints and fixes along the way - he's been a *lot* of help on this. KDE 4.1.0 dependencies for Slackware-12.1 ---------------------------------------------- -) eigen uses qt4 only for tests. If tests are disabled, no qt dependency. -) strigi can use exiv2 (picture meta data support) can use hyperestraier (alternative indexing backend) can use sqlite (this is also used as an backend, but not that mature) can use log4cxx (advanced logging) -) soprano can use jdk - necessary for using the openrdf-sesame2 storage backend -) phonon can use gstreamer - necessary for the gstreamer-backend can use gstreamer-plugins-base -) kdelibs can use enchant - Sonnet, KDE4's languaging framework, will use enchant and elixir extensively in the future. enchant is a wrapper around aspell, ispell, hspell, myspell can use openexr - Support for EXR-Images. These are HDR-Images, probably only of interest for photographers. can use avahi - avahi is a network service discovery daemon can use hspell - hspell is a hebrew spell checker can use jasper - jasper is an implementation of the JPEG2000 format. Meant to be the future of web graphics. Probably license issues can use gssapi - Generic Security Services API A MIT or HEIMDAL flavor of GSSAPI to provide HTTP authentication services. -) kdebase can use libraw1394 - raw1394 (Firewire) support for solid can use webkitkde - WebKit kpart -) kdebase-runtime can use openexr -) kdebase-workspace can use NetworkManager (theoretically any version, but based on what I've seen on #kde-devel, it wants the unreleased 0.7.0) -RW can use libcaptury - libcaptury is a framework realtime video capturing can use libxklavier - XKB-rule management (recommended by KDE devs) can use xmms - needed for support in the now-playing applet -) kdegraphics gwenview won't build without exiv2 kamera won't build without libgphoto2 can use poppler-qt4 -- PDF support for okular can use djvulibre - DjVu support for okular can use chmlib - CHM support for okular can use libspectre - PS support for okular can use libepub - Okular support for epub-documents -) kdenetwork can use decibel - KDE framework for real-time communication Used by the Kopete telepathy protocol. can use libvncserver - needed to build krfb / VNC support in krdc can use mDNS - needed for KDE's service discovery feature in krfb, krdc, and dnssd ioslave. (Not quite trivial to install) can use xmms - Used by the Kopete nowlistening plugin to support the XMMS player can use libotr - A library to encrypt messages with Off-the-Record encryption. Required for the Kopete otr plugin can use webkitkde - WebKit kpart may use sqlite - database storage for kopete's statistics plugin, only runtime dependency -) kdepim kitchensync won't build without opensync can use gnokii - Needed to provide the ability to import and export KDE addressbook entries to/from mobile phones that are accessible via gnokii -) kdeedu step won't build without gmm can use ocaml - OCaml is needed by Kalzium for the Equation Solver can use libfacile - libfacile is needed by Kalzium for the Equation Solver. depends on ocaml can use openbabel2 >= 2.2 - OpenBabel is needed by Kalzium for the 3D-molecule viewer can use libnova - A general purpose, double precision, Celestial Mechanics, Astrometry and Astrodynamics library; used by kstars can use libcfitsio - A library for reading and writing data files in FITS (Flexible Image Transport System) data format; Gives KStars support for FITS images. can use libsbigudrv - SBIG Universal Driver; used by kstars can use gpsd - used by marble -) kdeutils can use libzip - Zip support for ark can use libarchive - tar.gz, tar.bz2, et cetera support for ark can use PyQt4 - needed by the printer-applet can use PyKDE - needed by the printer-applet (part of kdebindings) can use PyCups - needed by the printer-applet can use system-config-printer - needed by the printer-applet (optionally) can use hal-cups-utils - needed by printer-applet (optionally) -) kdebindings Needs qscintilla can use qwt - qt widgets for technical applications can use mono - needed by Qyoto (C#-Bindings) can use sip - needed by PyKDE (Python-Bindings) can use PyQT4 - needed by PyKDE (Python-Bindings) -) kdegames can use ggz-client-libs - online gaming support for kdegames -) kdeadmin may use smart - Smart Package Manager, needed by kpackage at runtime this needs python module for rpm, which won't build in the shipped version of rpm (well, not for me, anyway). rpm5 will build, and smart works with it, as does kpackage; however, rpm5 may not be compatible with earlier rpm implementations (testing is good here, but ymmv) --RW -) kdemultimedia can use musicbrainz - A library that provides access to metadata lookup on the MusicBrainz server can use tunepimp - A library for developing MusicBrainz enabled tagging applications; provides MusicBrainz tagging in Juk. -) koffice can use openexr - OpenEXR import filter for krita can use openctl - OpenCTL is needed for some color spaces (High Dynamic Range Color Spaces, YCbCr and LMS) can use postgresql can use libpqxx - Kexi PostgreSQL Migration driver requires it can use libpq - Kexi PostgreSQL Migration driver requires it can use freetds - Kexi Sybase Migration driver requires it can use xbase - Kexi XBase Migration driver requires it can use gmm - The Krita Panorama plugin will not be built without it can use glew - Shader filter plugin for krita can use graphicsmagick - needed by krita's GraphicsMagick filter for various file formats (including PSD, XCF). can use exiv2 - JPEG filter for krita. can use gsl - Solver plugin for kspread. can use spnav - Spnav is the library which is required by the space navigator device plugin All other parts don't have any special dependencies -- other kde4 apps -) k3b can use libdvdread can use musicbrainz can use libsamplerate can use ffmpeg can use muse can use libsndfile can use lame -) amarok can use libifp - Support iRiver iFP audio devices can use loudmouth - Loudmouth is the communication backend needed by mp3tunes for synching. can use libmp4v2 - Enable tagging of mp4 files from within amarok