Build kde4 from source
Kool Desktop Environment (KDE)
Updated to kde-4.4.0 2/10/2010
To build kde from source is a big job. But it's nice to be able to start with a minimal menu and add things rather than to start huge and remove things until it all breaks. Eventually, this very long build was finished and ready for a test drive and some tweaking.
Briefly:
1 - Prerequisites
2 - Pre-installation configuration
3 - dbus-glib (if not installed)
4 - hal-info (if not installed)
5 - eggdbus (a.k.a. D-Bus GObject Bindings) (if not installed)
6 - cppunit
7 - Qt4
8 - cmake
9 - automoc4
10 - xcb-proto (if not installed)
11 - libxcb (if not installed)
12 - phonon
13 - clucene-core
14 - strigi
15 - soprano
16 - boost-jam
17 - boost
18 - kdelibs
19 - qimageblitz
20 - akonadi
21 - libgpg-error
22 - gpgme
23 - cyrus-sasl
24 - libical
25 - tcp_wrappers
26 - openldap
27 - kdepimlibs
28 - kdelibs-experimental
29 - sip
30 - PyQt
31 - eet
32 - qzion
33 - qedje
34 - kdebindings
35 - kdebase-workspace
36 - kdebase
37 - oxygen-icons
38 - eigen
39 - kdeartwork
40 - kdebase-runtime
41 - kdemultimedia
42 - Starting kde
43 - Bugus bugs
44 - Looking forward
# I had previously installed:
BUILD KDE 4.4.0
Total SBU: 131.08
Total download MiB: 448.74
# PRE-INSTALLATION CONFIGURATION for qt-4.6.0 and kde-4.4.0
# If X-Window-System is installed in /usr, create a compatibility symlink
because developers still think it is /usr/X11R6
# This allows Fontconfig to use the TrueType fonts provided by X (which are scalable and of higher quality).
# Create directories for ldconfig
# Add qt and kde libs to /etc/ld.so.conf
# Add qt to man path
# Set paths needed during build and to run kde
# VERY IMPORTANT !!!
# Logout completely before proceeding.
# That is essential to provide the proper build paths.
# Starting kde -- 3 ways
Some people don't like KDE4
It's not as quick as xfce4, but its not horrible. It looks pretty good, but there are some annoyances ... tiny things that should have been easy to do right ... and I was about to reformat the thing. Instead, I keep hammering at it.
The kde4 screen resolution is not restored the way I set it after logoff/logon. To overcome this annoying disfunction, I used xrandr -q to get the numbers for the screen resolution I like. Then I made a desktop file in /usr/share/applications
Then System Settings->Advanced->Autostart->Add Program
Now, when I log in, it starts at ITS default, then the screen goes blank for a moment while xrandr is setting it the way I want, and then its ok.
Note: xrandr -h tells that -s <size> and -r <rate> and man xrandr does not tell that.
Kde4 does not restore screen resolution at login seems as though it has been confirmed by popular vote, but the more votes, the better.
It seemed like kde was ignoring my XTerm app-defaults in /usr/share/X11/app-defaults and then I realized they were lower-casing xterm which apparenly overrides the mixed-case XTerm. So I put a ! comment in front of theirs, so I could use mine.
I made a patch to kde4 clear recently used permanently, because I happen not to want them and I would get very tired of always having to keep clearing them. To even get the options to clear recently used applications and/or to clear recently used documents, you have to be using the kickoff menu style. If you prefer the classic menu style, you first have to switch to kickoff menu style by right clicking on the menu icon.
The kde4 recent documents and applications cannot be suppressed or disabled as they could be on old kde by setting number to zero. This bugs me so much I made this kde4 disable recent patch which effectively has zero recent applications. The recent documents seem to stay away after you have cleared them and they discontinue accumulating.
kdebase-workspace-4.4.0-norecent.patch
This unable to configure kickoff recent applications list seems as though it might be escalated to confirmed status by popular vote, but the more votes, the better.
The default favorites bug me too because they are not my favorites. You can remove them from favorites, but if you remove all the favorites, then the next time you logon, the default favorites (again, not my favorites) will be back. I don't like that, so I made this kde4 favorites no-defaults patch.
kdebase-workspace-4.4.0-nofavdefaults.patch
I have not found any way to disable those giant balloon tooltips.
Vote for Offer option for small text tooltips - Bug 232405
Vote for Allow tooltips to be turned off for all panel widgets - Bug 192155
I wish the kickoff style menu would have from left to right, Applications, Computer, Leave, Favorites, Recently Used, so that it wouldn't be necessary to move the mouse just to see the REAL menu which is Applications.
I just noticed this. Is it kool or is it klunky?
Klipper broke the mouse so I removed it.
Looking ahead ...
kde-4.4 expected release 2/09/2010
Updated to kde-4.4.0 2/10/2010
- TODO: untested
- sip and PyQT urls missing - fix? OK, I hate when they move stuff.
- Qt-4.6.0 required for version on this page
- kde 4.3.4 / Qt-4.5.3 version saved here
- See build kde 4.4.3
To build kde from source is a big job. But it's nice to be able to start with a minimal menu and add things rather than to start huge and remove things until it all breaks. Eventually, this very long build was finished and ready for a test drive and some tweaking.
Briefly:
1 - Prerequisites
2 - Pre-installation configuration
3 - dbus-glib (if not installed)
4 - hal-info (if not installed)
5 - eggdbus (a.k.a. D-Bus GObject Bindings) (if not installed)
6 - cppunit
7 - Qt4
8 - cmake
9 - automoc4
10 - xcb-proto (if not installed)
11 - libxcb (if not installed)
12 - phonon
13 - clucene-core
14 - strigi
15 - soprano
16 - boost-jam
17 - boost
18 - kdelibs
19 - qimageblitz
20 - akonadi
21 - libgpg-error
22 - gpgme
23 - cyrus-sasl
24 - libical
25 - tcp_wrappers
26 - openldap
27 - kdepimlibs
28 - kdelibs-experimental
29 - sip
30 - PyQt
31 - eet
32 - qzion
33 - qedje
34 - kdebindings
35 - kdebase-workspace
36 - kdebase
37 - oxygen-icons
38 - eigen
39 - kdeartwork
40 - kdebase-runtime
41 - kdemultimedia
42 - Starting kde
43 - Bugus bugs
44 - Looking forward
# I had previously installed:
LFS development version
from BLFS development version:
wget pkg-config Python libxml2 libxslt expat
freetype fontconfig XML-Parser URI
X-Window-System nss openssl pciutils
cairo glib-2 pango atk tiff libjpeg gtk+-2
dbus libusb usbutils hal alsa-lib alsa-utils
shared-mime-info hicolor-icon-theme
xine-lib xine-ui libdvdcss intltool cups
giflib lesstif imlib2 libglade scrollkeeper
xvidcap giflib
and
ttf-bitstream-vera fonts
copied to /usr/lib/X11/fonts/TTF
Not sure which are prerequisites.
BUILD KDE 4.4.0
Total SBU: 131.08
Total download MiB: 448.74
# PRE-INSTALLATION CONFIGURATION for qt-4.6.0 and kde-4.4.0
# If X-Window-System is installed in /usr, create a compatibility symlink
because developers still think it is /usr/X11R6
ln -v -sn /usr /usr/X11R6
# Make sure the link is right
# This allows Fontconfig to use the TrueType fonts provided by X (which are scalable and of higher quality).
ln -v -sn /usr/lib/X11/fonts/TTF /usr/share/fonts/X11-TTF
# Create directories for ldconfig
install -v -d /opt/kde-4.4.0/lib
install -v -d /opt/qt-4.6.0/lib
ln -v -sfn qt-4.6.0 /opt/qt
# Make sure the link is right
# Add qt and kde libs to /etc/ld.so.conf
cat >> /etc/ld.so.conf << "EOF"
# Begin qt addition to /etc/ld.so.conf
/opt/qt/lib
# End qt addition
# Begin kde addition to /etc/ld.so.conf
/opt/kde-4.4.0/lib
# End kde addition
EOF
# Add qt to man path
cat >> /etc/man_db.conf << "EOF"
# Begin qt addition to man_db.conf
MANDATORY_MANPATH /opt/qt/doc/man
# End qt addition to man_db.conf
EOF
# Set paths needed during build and to run kde
cat >> /etc/profile.d/extrapaths.sh << "EOF"
# kde additions to /etc/profile.d/extrapaths.sh
pathappend /usr/local/share XDG_DATA_DIRS
pathappend /usr/share XDG_DATA_DIRS
pathappend /etc/xdg XDG_CONFIG_DIRS
export KDE_VERSION=4.4.0
pathappend /etc/kde/xdg XDG_CONFIG_DIRS
pathappend /opt/kde-${KDE_VERSION} KDE_PREFIX
pathappend $KDE_PREFIX/share XDG_DATA_DIRS
# end additions for kde
EOF
# VERY IMPORTANT !!!
# Logout completely before proceeding.
# That is essential to provide the proper build paths.
echo "Logout completely before proceeding."
echo "Or shutdown/restart before proceeding."
echo "It is essential for the proper build paths."
# Build dbus-glib
# Needed if not installed
# Needed if not installed
PKG="dbus-glib"
PKG_VERSION="0.82"
PKG_FILE="dbus-glib-0.82.tar.gz"
BUILD_SBU=0.19
DOWNLOAD_MiB=0.64
URL=http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-0.82.tar.gz
MD5="aa2a4517de0e9144be3bce2cf8cdd924"
./configure --prefix=/usr \
--sysconfdir=/etc \
--libexecdir=/usr/lib/dbus-1.0/dbus-1 &&
make
make install
# Build hal-info
# Needed if not installed
# Needed if not installed
PKG="hal-info"
PKG_VERSION="20090414"
PKG_FILE="hal-info-20090414.tar.gz"
BUILD_SBU=0.03
DOWNLOAD_MiB=0.13
URL=http://hal.freedesktop.org/releases/hal-info-20090414.tar.gz
MD5="ae7177ab8f0163d3ef2df71f0de2b357"
./configure --prefix=/usr
make install
# Build eggdbus
# GObject bindings for D-Bus
# Needed if not installed
# GObject bindings for D-Bus
# Needed if not installed
PKG="eggdbus"
PKG_VERSION="0.5"
PKG_FILE="eggdbus-0.5.tar.gz"
BUILD_SBU=0.46
DOWNLOAD_MiB=0.75
URL=http://hal.freedesktop.org/releases/eggdbus-0.5.tar.gz
MD5="44f1f6387c49e8198d7aa755aeee46c6"
./configure --prefix=/usr &&
make
make install
# Build cppunit
# a C++ unit testing framework
# a C++ unit testing framework
PKG="cppunit"
PKG_VERSION="1.12.1"
PKG_FILE="cppunit-1.12.1.tar.gz"
BUILD_SBU=0.50
DOWNLOAD_MiB=0.73
URL=http://downloads.sourceforge.net/cppunit/cppunit-1.12.1.tar.gz
MD5="bd30e9cf5523cdfc019b94f5e1d7fd19"
./configure --prefix=/usr \
--disable-dependency-tracking &&
make &&
make install
# Build Qt4
PKG="qt-everywhere-opensource-src"
PKG_VERSION="4.6.0"
PKG_FILE="qt-everywhere-opensource-src-4.6.0.tar.gz"
BUILD_SBU=38
DOWNLOAD_MiB=119.58
URL=http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.6.0.tar.gz
MD5=""
./configure -prefix /opt/qt-4.6.0 \
-release \
-nomake examples \
-nomake demos \
-no-separate-debug-info &&
make
make install
# Build cmake
PKG="cmake"
PKG_VERSION="2.6.4"
PKG_FILE="cmake-2.6.4.tar.gz"
BUILD_SBU=2.00
DOWNLOAD_MiB=3.13
URL=http://www.cmake.org/files/v2.6/cmake-2.6.4.tar.gz
MD5="50f387d0436696c4a68b5512a72c9cde"
./bootstrap --prefix=/usr \
--docdir=/share/doc/cmake-2.6.4 \
--datadir=/share/cmake-2.6.4 \
--mandir=/share/man &&
make &&
make install
# Build automoc4
# automoc4 is used to run moc on the right binaries in a QT4 or KDE4 application
# automoc4 is used to run moc on the right binaries in a QT4 or KDE4 application
PKG="automoc4"
PKG_VERSION="0.9.88"
PKG_FILE="automoc4-0.9.88.tar.bz2"
BUILD_SBU=0.02
DOWNLOAD_MiB=0.01
URL=ftp://ftp.kde.org/pub/kde/stable/automoc4/0.9.88/automoc4-0.9.88.tar.bz2
MD5="91bf517cb940109180ecd07bc90c69ec"
if [ -n "$KDE_PREFIX" ]; then
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=${KDE_PREFIX} ..
make
make install
cd ..
fi
# Build xcb-proto
# Needed if X-Window-System was built --without-xcb
# Needed if X-Window-System was built --without-xcb
PKG="xcb-proto"
PKG_VERSION="1.5"
PKG_FILE="xcb-proto-1.5.tar.bz2"
BUILD_SBU=0.01
DOWNLOAD_MiB=0.09
URL=http://xcb.freedesktop.org/dist/xcb-proto-1.5.tar.bz2
MD5="7d0481790104a10ff9174895ae954533"
./configure --prefix=/usr --sysconfdir=/etc \
--mandir=/usr/share/man \
--localstatedir=/var
make
make install
# Build libxcb
# Needed if X-Window-System was built --without-xcb
# Needed if X-Window-System was built --without-xcb
PKG="libxcb"
PKG_VERSION="1.4"
PKG_FILE="libxcb-1.4.tar.bz2"
BUILD_SBU=0.29
DOWNLOAD_MiB=0.29
URL=http://xcb.freedesktop.org/dist/libxcb-1.4.tar.bz2
MD5="b00fd506c717dea01f595e8da31f6914"
./configure --prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--localstatedir=/var \
--docdir='${datadir}'/doc/libxcb-1.4
make
make install
# Build phonon
# multimedia API for KDE 4, supports backends xine, GStreamer, etc.,
# replaces aRts
# multimedia API for KDE 4, supports backends xine, GStreamer, etc.,
# replaces aRts
PKG="phonon"
PKG_VERSION="4.3.0"
PKG_FILE="phonon-4.3.0.tar.bz2"
BUILD_SBU=0.50
DOWNLOAD_MiB=0.54
URL=ftp://ftp.kde.org/pub/kde/stable/phonon/4.3.0/phonon-4.3.0.tar.bz2
MD5="f851219ec1fb4eadc7904f053b6b498d"
if [ -n "$KDE_PREFIX" ]; then
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=${KDE_PREFIX} ..
make
make install
cd ..
fi
# Build clucene-core
# a high-performance, full-featured text search engine.
# a high-performance, full-featured text search engine.
PKG="clucene-core"
PKG_VERSION="0.9.21"
PKG_FILE="clucene-core-0.9.21.tar.bz2"
BUILD_SBU=1.16
DOWNLOAD_MiB=1.46
URL=http://downloads.sourceforge.net/clucene/clucene-core-0.9.21.tar.bz2
MD5="181cf9a827fd072717d9b09d1a1bda74"
patch -Np1 << 'EOF'
# per: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=505667
--- clucene-core-0.9.21/src/CLucene/util/bufferedstream.h~
+0000
+++ clucene-core-0.9.21/src/CLucene/util/bufferedstream.h
+0000
@@ -29,6 +29,7 @@
#include "streambase.h"
#include "inputstreambuffer.h"
#include <cassert>
+#include <cstdio>
namespace jstreams {
EOF
./configure --prefix=/usr &&
make &&
make install
# Build strigi
# crawler that can index data
# crawler that can index data
PKG="strigi"
PKG_VERSION="0.6.4"
PKG_FILE="strigi-0.6.4.tar.bz2"
BUILD_SBU=2.14
DOWNLOAD_MiB=0.85
URL=http://sourceforge.net/projects/strigi/files/strigi/strigi-0.6.4/strigi-0.6.4.tar.bz2/download
MD5="324fd9606ac77765501717ff92c04f9a"
PATCH1=http://paldo.org/paldo/sources/strigi/strigi-0.6.4-gcc-4.4-2.patch.bz2
if [ -n "$KDE_PREFIX" ]; then
bzcat ../strigi-0.6.4-gcc-4.4-2.patch.bz2 | patch -Np1
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=${KDE_PREFIX} ..
make
make install
cd ..
fi
# Build soprano
# C++/Qt4 framework for RDF data.
# C++/Qt4 framework for RDF data.
PKG="soprano"
PKG_VERSION="2.3.1"
PKG_FILE="soprano-2.3.1.tar.bz2"
BUILD_SBU=0.79
DOWNLOAD_MiB=1.83
URL=http://sourceforge.net/projects/soprano/files/Soprano/2.3.1/soprano-2.3.1.tar.bz2/download
MD5="c9a2c008b80cd5d76599e9d48139dfe9"
if [ -n "$KDE_PREFIX" ]; then
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=${KDE_PREFIX} ..
make
make install
cd ..
fi
# Build boost-jam
# a build tool based on FTJam
# a make(1) replacement
# a build tool based on FTJam
# a make(1) replacement
PKG="boost-jam"
PKG_VERSION="3.1.17"
PKG_FILE="boost-jam-3.1.17.tgz"
BUILD_SBU=0.07
DOWNLOAD_MiB=1.11
URL=http://downloads.sourceforge.net/boost/boost-jam-3.1.17.tgz
MD5="f4afd896788f2327fd35c128ddc6e340"
./build.sh &&
cd bin.linux* &&
cp -v bjam /usr/bin &&
cd ..
# Build boost
# a collection of free, peer-reviewed C++ libraries
# a collection of free, peer-reviewed C++ libraries
PKG="boost"
PKG_VERSION="1_37_0"
PKG_FILE="boost_1_37_0.tar.bz2"
BUILD_SBU=8.85
DOWNLOAD_MiB=28.07
URL=http://downloads.sourceforge.net/boost/boost_1_37_0.tar.bz2
MD5="8d9f990bfb7e83769fa5f1d6f065bc92"
./configure --prefix=/usr \
--with-toolset=gcc \
--with-bjam=/usr/bin/bjam &&
make &&
make install &&
ln -sfnv boost-1_37/boost /usr/include/boost
# Build kdelibs
PKG="kdelibs"
PKG_VERSION="4.4.0"
PKG_FILE="kdelibs-4.4.0.tar.bz2"
BUILD_SBU=21.41
DOWNLOAD_MiB=10.03
URL=http://download.kde.org/stable/4.4.0/src/kdelibs-4.4.0.tar.bz2
MD5="86d2f40e2b838fbe60e625dd2450b871c9bfe5c7"
if [ -n "$KDE_PREFIX" ]; then
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=${KDE_PREFIX} \
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DCMAKE_BUILD_TYPE:STRING=Release \
..
make
make install
cd ..
fi
# Build qimageblitz
PKG="qimageblitz"
PKG_VERSION="0.0.4"
PKG_FILE="qimageblitz-0.0.4.tar.bz2"
BUILD_SBU=0.08
DOWNLOAD_MiB=0.05
URL=http://sourceforge.net/projects/qimageblitz/files/qimageblitz/QImageBlitz%200.0.4/qimageblitz-0.0.4.tar.bz2/download
MD5="cb87c7f1c0455e8984ee4830f1e749cf"
if [ -n "$KDE_PREFIX" ]; then
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=${KDE_PREFIX} ..
make
make install
cd ..
fi
# Build akonadi
# a PIM Storage Service
# a PIM Storage Service
PKG="akonadi"
PKG_VERSION="1.2.1"
PKG_FILE="akonadi-1.2.1.tar.bz2"
BUILD_SBU=1.03
DOWNLOAD_MiB=0.17
URL=http://download.akonadi-project.org/akonadi-1.2.1.tar.bz2
MD5="f9c1d000844f31c67360078ddf60bec2"
if [ -n "$KDE_PREFIX" ]; then
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=${KDE_PREFIX} ..
make
make install
cd ..
fi
# Build libgpg-error
# a library with GnuPG related error codes and descriptions
# a library with GnuPG related error codes and descriptions
PKG="libgpg-error"
PKG_VERSION="1.7"
PKG_FILE="libgpg-error-1.7.tar.bz2"
BUILD_SBU=0.05
DOWNLOAD_MiB=0.39
URL=ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.7.tar.bz2
MD5="62c0d09d1e76c5b6da8fff92314c4665"
./configure --prefix=/usr &&
make
make install
# Build gpgme
# support for cryptography
# support for cryptography
PKG="gpgme"
PKG_VERSION="1.2.0"
PKG_FILE="gpgme-1.2.0.tar.bz2"
BUILD_SBU=0.14
DOWNLOAD_MiB=0.81
URL=ftp://gd.tuwien.ac.at/privacy/gnupg/gpgme/gpgme-1.2.0.tar.bz2
MD5="508ee686bd275d908d1dc1938810e045"
./configure --prefix=/usr
make
make install
# Build cyrus-sasl
# a library for integration of secure network authentication
# a library for integration of secure network authentication
PKG="cyrus-sasl"
PKG_VERSION="2.1.23"
PKG_FILE="cyrus-sasl-2.1.23.tar.gz"
BUILD_SBU=0.20
DOWNLOAD_MiB=1.54
URL=ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.23.tar.gz
MD5="2eb0e48106f0e9cd8001e654f267ecbc"
sed -i "/elif/s/WITH_DES/defined &/" plugins/digestmd5.c &&
./configure --prefix=/usr --sysconfdir=/etc \
--with-dbpath=/var/lib/sasl/sasldb2 \
--with-saslauthd=/var/run &&
make &&
make install &&
install -v -m755 -d /usr/share/doc/cyrus-sasl-2.1.23 &&
install -v -m644 doc/{*.{html,txt,fig},ONEWS,TODO} \
saslauthd/LDAP_SASLAUTHD /usr/share/doc/cyrus-sasl-2.1.23 &&
install -v -m700 -d /var/lib/sasl
# Build libical
# libical is used in calendaring and scheduling
# libical is used in calendaring and scheduling
PKG="libical"
PKG_VERSION="0.44"
PKG_FILE="libical-0.44.tar.gz"
BUILD_SBU=0.31
DOWNLOAD_MiB=1.10
URL=http://sourceforge.net/projects/freeassociation/files/libical/libical-0.44/libical-0.44.tar.gz/download
MD5="e0403c31e1ed82569325685f8c15959c"
./configure --prefix=/usr &&
make &&
make install
# Build tcp_wrappers
# fine-grained control over access
# fine-grained control over access
PKG="tcp_wrappers"
PKG_VERSION="7.6"
PKG_FILE="tcp_wrappers_7.6.tar.gz"
BUILD_SBU=0.02
DOWNLOAD_MiB=0.09
URL=ftp://ftp.porcupine.org/pub/security/tcp_wrappers_7.6.tar.gz
MD5="e6fa25f71226d090f34de3f6b122fb5a"
PATCH1=http://www.linuxfromscratch.org/patches/blfs/svn/tcp_wrappers-7.6-shared_lib_plus_plus-1.patch
patch -Np1 -i ../tcp_wrappers-7.6-shared_lib_plus_plus-1.patch &&
sed -i -e "s,^extern char \*malloc();,/* & */," scaffold.c &&
make REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS linux &&
make install
# Build openldap
PKG="openldap"
PKG_VERSION="2.4.19"
PKG_FILE="openldap-2.4.19.tgz"
BUILD_SBU=1.58
DOWNLOAD_MiB=5.22
URL=ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.19.tgz
MD5="4a6dab2711fcf141f19bb680bc335887"
sed -i 's@\(^STRIP = \).*@\1 @' build/top.mk &&
CPPFLAGS="-D_GNU_SOURCE" ./configure --prefix=/usr --sysconfdir=/etc \
--libexecdir=/usr/lib/openldap --localstatedir=/srv/ldap --disable-debug \
--enable-dynamic --enable-crypt --enable-modules --enable-wrappers \
--enable-bdb=mod --enable-hdb=mod --enable-ldap=mod \
--enable-monitor=mod --enable-perl=mod --enable-relay=mod \
--enable-dyngroup=mod --enable-dynlist=mod --enable-memberof=mod \
--enable-ppolicy=mod --enable-valsort=mod \
--disable-bdb --disable-hdb --with-ldbm-api=gdbm &&
make depend &&
make &&
make install &&
ln -sv ../lib/openldap/slapd /usr/sbin/slapd &&
install -dv -m755 /usr/share/doc/openldap-2.4.19/{drafts,guide,rfc} &&
install -v -m644 doc/drafts/* /usr/share/doc/openldap-2.4.19/drafts &&
install -v -m644 doc/rfc/* /usr/share/doc/openldap-2.4.19/rfc &&
cp -Rv doc/guide/* /usr/share/doc/openldap-2.4.19/guide
# Build kdepimlibs
PKG="kdepimlibs"
PKG_VERSION="4.4.0"
PKG_FILE="kdepimlibs-4.4.0.tar.bz2"
BUILD_SBU=4.19
DOWNLOAD_MiB=1.70
URL=http://download.kde.org/stable/4.4.0/src/kdepimlibs-4.4.0.tar.bz2
MD5="76e41917a9e2d6e4a78ecacf235a3b3a2a7d9ba0"
if [ -n "$KDE_PREFIX" ]; then
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=${KDE_PREFIX} \
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DCMAKE_BUILD_TYPE=Release \
..
make
make install
cd ..
fi
# Build kdelibs-experimental
Apparently not used or available
PKG="kdelibs-experimental"
PKG_VERSION="4.4.0"
PKG_FILE="kdelibs-experimental-4.4.0.tar.bz2"
BUILD_SBU=0.10
DOWNLOAD_MiB=0.03
URL=http://download.kde.org/stable/4.4.0/src/kdelibs-experimental-4.4.0.tar.bz2
MD5="ee3eb713d703b8bba9de61197f6943c4"
if [ -n "$KDE_PREFIX" ]; then
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=${KDE_PREFIX} \
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DCMAKE_BUILD_TYPE=Release \
..
make
make install
cd ..
fi
# Build sip
# a protocol used for controlling multimedia
# a protocol used for controlling multimedia
PKG="sip"
PKG_VERSION="4.10"
PKG_FILE="sip-4.10.tar.gz"
BUILD_SBU=0.09
DOWNLOAD_MiB=0.63
URL=http://www.riverbankcomputing.com/static/Downloads/sip4/sip-4.10.tar.gz
MD5=""
python configure.py &&
make &&
make install
# Build PyQt
# Python bindings for Qt4
# Python bindings for Qt4
PKG="PyQt-x11-gpl"
PKG_VERSION="4.7"
PKG_FILE="PyQt-x11-gpl-4.7.tar.gz"
BUILD_SBU=7.5
DOWNLOAD_MiB=6.66
URL=http://www.riverbankcomputing.com/static/Downloads/PyQt4/PyQt-x11-gpl-4.7.tar.gz
MD5=""
# You MUST type yes to accept license. !!From a terminal!!
# ... AND ... the output must not be captured to a log!!!
python configure.py
make &&
make install
# Build eet
# a data encoding, decoding and storage library
# a data encoding, decoding and storage library
PKG="eet"
PKG_VERSION="svn-35608"
PKG_FILE="eet-svn-35608.tar.bz2"
BUILD_SBU=0.12
DOWNLOAD_MiB=1.25
URL=http://dev.openbossa.org/qedje/downloads/source/eet/eet-svn-35608.tar.bz2
MD5="fef331a76a67d82d118b75bfa3bba547"
./autogen.sh --prefix=/usr &&
make &&
make install
# Build qzion
# a canvas abstraction used by QEdje
# a canvas abstraction used by QEdje
PKG="qzion"
PKG_VERSION="0.4.0"
PKG_FILE="d32223eae1bba7f1b191c334668f3f7dd662f582.tar.gz"
BUILD_SBU=0.38
DOWNLOAD_MiB=0.27
URL=http://code.openbossa.org/projects/qzion/repos/mainline/archive/d32223eae1bba7f1b191c334668f3f7dd662f582.tar.gz
MD5="4cd70c7d347be60e8bbb84a5a4b8d565"
# The gcc-4.4 const char * business again!
# http://sisyphus.ru/br/srpm/Sisyphus/qzion/patches
# 'qzion-0.4.0-gcc44.patch'
patch -Np1 << 'EOF'
--- qzion-mainline/python/qzion/qzionobject.sip
+++ qzion-mainline/python/qzion/qzionobject.sip 2009-05-26 08:33:48.000000000 -0400
@@ -10,7 +10,7 @@
%ConvertToSubClassCode
static struct classes {
- char *name;
+ const char *name;
sipWrapperType **type;
} cls[] = {
{sipName_QZionText, &sipClass_QZionText},
EOF
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DSKIP_TESTS=ON &&
make &&
make install
cd ..
# Build qedje
# simplifies development of complex UI interfaces
# simplifies development of complex UI interfaces
PKG="qedje"
PKG_VERSION="0.4.0"
PKG_FILE="0206ec8f2a802bf51455179933d8b7ab3e41a38b.tar.gz"
BUILD_SBU=0.28
DOWNLOAD_MiB=0.18
URL=http://code.openbossa.org/projects/qedje/repos/mainline/archive/0206ec8f2a802bf51455179933d8b7ab3e41a38b.tar.gz
MD5="72a92a56f56681b633bd0f779afb3379"
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DSKIP_TESTS=ON &&
make &&
make install
cd ..
# Build kdebindings
PKG="kdebindings"
PKG_VERSION="4.4.0"
PKG_FILE="kdebindings-4.4.0.tar.bz2"
BUILD_SBU=12.35
DOWNLOAD_MiB=4.65
URL=http://download.kde.org/stable/4.4.0/src/kdebindings-4.4.0.tar.bz2
MD5="232ca73567463a03ae3660afd66a6acfe3298e6f"
if [ -n "$KDE_PREFIX" ]; then
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=${KDE_PREFIX} ..
make
make install
cd ..
fi
# Build kdebase-workspace
PKG="kdebase-workspace"
PKG_VERSION="4.4.0"
PKG_FILE="kdebase-workspace-4.4.0.tar.bz2"
BUILD_SBU=13.93
DOWNLOAD_MiB=59.62
URL=http://download.kde.org/stable/4.4.0/src/kdebase-workspace-4.4.0.tar.bz2
MD5="86f8046f8fa3a4b53389353217cf8da8941a1d9c"
if [ -n "$KDE_PREFIX" ]; then
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=${KDE_PREFIX} \
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DCMAKE_BUILD_TYPE=Release \
..
make
make install
cd ..
fi
# Build kdebase
PKG="kdebase"
PKG_VERSION="4.4.0"
PKG_FILE="kdebase-4.4.0.tar.bz2"
BUILD_SBU=6.03
DOWNLOAD_MiB=3.96
URL=http://download.kde.org/stable/4.4.0/src/kdebase-4.4.0.tar.bz2
MD5="a1c978ca44f807cd98dd0d675aa2033eea4accc2"
if [ -n "$KDE_PREFIX" ]; then
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=${KDE_PREFIX} \
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DCMAKE_BUILD_TYPE=Release \
..
make
make install
cd ..
fi
# Build oxygen-icons
PKG="oxygen-icons"
PKG_VERSION="4.4.0"
PKG_FILE="oxygen-icons-4.4.0.tar.bz2"
BUILD_SBU=0.04
DOWNLOAD_MiB=119.96
URL=http://download.kde.org/stable/4.4.0/src/oxygen-icons-4.4.0.tar.bz2
MD5="8793dc6a67885b2038ca570fe5e2553a0a7635c1"
if [ -n "$KDE_PREFIX" ]; then
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=${KDE_PREFIX}
make
make install
cd ..
fi
# Build eigen
# a C++ template library for linear algebra
# a C++ template library for linear algebra
PKG="eigen"
PKG_VERSION="2.0.10"
PKG_FILE="2.0.10.tar.bz2"
BUILD_SBU=0.01
DOWNLOAD_MiB=0.35
URL=http://bitbucket.org/eigen/eigen/get/2.0.10.tar.bz2
MD5="4b73cd71a887b7e501fa9c4760e3d33a"
if [ -n "$KDE_PREFIX" ]; then
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=${KDE_PREFIX} \
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DCMAKE_BUILD_TYPE=Release
make
make install
cd ..
fi
# Build kdeartwork
PKG="kdeartwork"
PKG_VERSION="4.4.0"
PKG_FILE="kdeartwork-4.4.0.tar.bz2"
BUILD_SBU=0.52
DOWNLOAD_MiB=62.36
URL=http://download.kde.org/stable/4.4.0/src/kdeartwork-4.4.0.tar.bz2
MD5="5e1a95ddca0dcfbd22bd3ed095519a487a84aa4a"
if [ -n "$KDE_PREFIX" ]; then
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=${KDE_PREFIX} \
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DCMAKE_BUILD_TYPE=Release
make
make install
cd ..
fi
# Build kdebase-runtime
PKG="kdebase-runtime"
PKG_VERSION="4.4.0"
PKG_FILE="kdebase-runtime-4.4.0.tar.bz2"
BUILD_SBU=4.25
DOWNLOAD_MiB=6.99
URL=http://download.kde.org/stable/4.4.0/src/kdebase-runtime-4.4.0.tar.bz2
MD5="9fa8b0371d255536b945c1c099c2f2f15751fe0f"
if [ -n "$KDE_PREFIX" ]; then
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=${KDE_PREFIX} \
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DCMAKE_BUILD_TYPE=Release
make
make install
cd ..
fi
# Build kdemultimedia
PKG="kdemultimedia"
PKG_VERSION="4.4.0"
PKG_FILE="kdemultimedia-4.4.0.tar.bz2"
BUILD_SBU=1.46
DOWNLOAD_MiB=1.52
URL=http://download.kde.org/stable/4.4.0/src/kdemultimedia-4.4.0.tar.bz2
MD5="592419ff9c5da9dfe2fbb9b4bc8b84856186881b"
if [ -n "$KDE_PREFIX" ]; then
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=${KDE_PREFIX} \
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DCMAKE_BUILD_TYPE=Release
make
make install
cd ..
fi
# Starting kde -- 3 ways
#1
cat >> ~/.xinitrc << EOF
exec dbus-launch --exit-with-session startkde
EOF
# Shouldn't have anything else in ~/.xinitrc
startx
#2
sudo kdm
#3
cat >> /etc/inittab << EOF
X:5:respawn:/opt/kde-4.4.0/bin/kdm -nodaemon
EOF
sudo /sbin/init 5
# If you really like it, modify /etc/inittab
id:3:initdefault:
to
id:5:initdefault:
Some people don't like KDE4
- Pasting with the center mouse button doesn't often paste what expected.
- Apparenly no way to save screen size, although there is a setting.
- Sometimes, kickoff menu draws a border with no way to do anything.
- But you can switch menu between kickoff and classic style -- thank you.
- Go round in circles between System and Settings->System Settings to get what wanted.
- But it looks better than old kde.
It's not as quick as xfce4, but its not horrible. It looks pretty good, but there are some annoyances ... tiny things that should have been easy to do right ... and I was about to reformat the thing. Instead, I keep hammering at it.
The kde4 screen resolution is not restored the way I set it after logoff/logon. To overcome this annoying disfunction, I used xrandr -q to get the numbers for the screen resolution I like. Then I made a desktop file in /usr/share/applications
[Desktop Entry]
Type=Application
Exec=xrandr -s 0 -r 70
Icon=xfce-terminal
Terminal=false
Name=xrandr 70
Categories=System;
StartupNotify=false
Then System Settings->Advanced->Autostart->Add Program
Now, when I log in, it starts at ITS default, then the screen goes blank for a moment while xrandr is setting it the way I want, and then its ok.
Note: xrandr -h tells that -s <size> and -r <rate> and man xrandr does not tell that.
Kde4 does not restore screen resolution at login seems as though it has been confirmed by popular vote, but the more votes, the better.
It seemed like kde was ignoring my XTerm app-defaults in /usr/share/X11/app-defaults and then I realized they were lower-casing xterm which apparenly overrides the mixed-case XTerm. So I put a ! comment in front of theirs, so I could use mine.
Patch
--- /opt/kde-4.4.0/share/apps/kdisplay/app-defaults/XTerm.ad.orig 2009-12-08 20:58:15.000000000 -0500
+++ /opt/kde-4.4.0/share/apps/kdisplay/app-defaults/XTerm.ad 2009-12-15 19:34:27.000000000 -0500
@@ -1,4 +1,4 @@
-xterm*background: WINDOW_BACKGROUND
-xterm*foreground: WINDOW_FOREGROUND
-xterm.SimpleMenu*background: BACKGROUND
-xterm.SimpleMenu*foreground: FOREGROUND
+!xterm*background: WINDOW_BACKGROUND
+!xterm*foreground: WINDOW_FOREGROUND
+!xterm.SimpleMenu*background: BACKGROUND
+!xterm.SimpleMenu*foreground: FOREGROUND
I made a patch to kde4 clear recently used permanently, because I happen not to want them and I would get very tired of always having to keep clearing them. To even get the options to clear recently used applications and/or to clear recently used documents, you have to be using the kickoff menu style. If you prefer the classic menu style, you first have to switch to kickoff menu style by right clicking on the menu icon.
The kde4 recent documents and applications cannot be suppressed or disabled as they could be on old kde by setting number to zero. This bugs me so much I made this kde4 disable recent patch which effectively has zero recent applications. The recent documents seem to stay away after you have cleared them and they discontinue accumulating.
kdebase-workspace-4.4.0-norecent.patch
Another method to prevent it keeping track has been suggested. http://forum.kde.org/viewtopic.php?f=66&t=83686
--- plasma/applets/kickoff/core/recentapplications.cpp.orig 2009-12-15 16:22:35.000000000 -0500
+++ plasma/applets/kickoff/core/recentapplications.cpp 2009-12-15 16:22:48.000000000 -0500
@@ -114,7 +114,7 @@
}
};
- static const int DEFAULT_MAX_SERVICES = 5;
+ static const int DEFAULT_MAX_SERVICES = 0;
int defaultMaxServices, maxServices;
// queue to keep track of the order in which services have been used
// (most recently used at the back)
This unable to configure kickoff recent applications list seems as though it might be escalated to confirmed status by popular vote, but the more votes, the better.
The default favorites bug me too because they are not my favorites. You can remove them from favorites, but if you remove all the favorites, then the next time you logon, the default favorites (again, not my favorites) will be back. I don't like that, so I made this kde4 favorites no-defaults patch.
kdebase-workspace-4.4.0-nofavdefaults.patch
--- plasma/applets/kickoff/core/favoritesmodel.cpp.orig 2009-12-16 12:58:46.000000000 -0500
+++ plasma/applets/kickoff/core/favoritesmodel.cpp 2009-12-16 13:02:29.000000000 -0500
@@ -93,9 +93,11 @@
KConfigGroup favoritesGroup = componentData().config()->group("Favorites");
QList<QString> favoriteList = favoritesGroup.readEntry("FavoriteURLs", QList<QString>());
+/*
if (favoriteList.isEmpty()) {
favoriteList = defaultFavorites();
}
+*/
foreach (const QString &favorite, favoriteList) {
FavoritesModel::add(favorite);
I have not found any way to disable those giant balloon tooltips.
Vote for Offer option for small text tooltips - Bug 232405
Vote for Allow tooltips to be turned off for all panel widgets - Bug 192155
I wish the kickoff style menu would have from left to right, Applications, Computer, Leave, Favorites, Recently Used, so that it wouldn't be necessary to move the mouse just to see the REAL menu which is Applications.
I just noticed this. Is it kool or is it klunky?
-- Only for Classic Menu Style --
Right click on menu icon
Left Click Application Launcher Menu Settings
You may check/uncheck to show these items:
Recently Used Applications
Recently Used Documents
Favorites
Bookmarks
Computer
Recently Used
System Settings
Run Command
Switch User
Save Session
Lock Screen
Standby
Suspend to Disk
Suspend to Ram
Restart
Shutdown
Logout
Leave
Apparently, it does have a setting for
number of recently used applications.
I'll have to re-test that.
If you Switch to Kickoff Menu Style
Those are reset to defaults
You don't get option to check or uncheck them
You can change the menu icon
If you switch to the other Menu Style
it resets to default
Klipper broke the mouse so I removed it.
Looking ahead ...
kde-4.4 expected release 2/09/2010
- Requires Qt4.6 compilation with Qt4.5 will fail.
- KDE 4.4 Beta1 (a.k.a 4.3.80) sources
- KDE 4.4 Beta 2 (a.k.a 4.3.85) sources
- KDE 4.4 RC1 (a.k.a 4.3.90) sources
- Adventurous may try substitute kde 4.4 (Beta-x / RC-x) and qt-4.6 sources in above instructions to see how buggy/better kde 4.4 might be.
- kde 4.3.4 version saved here
10 Comments:
KDE 4.4 RC2 (a.k.a 4.3.95) sources
KDE 4.4.0 sources
wow.....amazing article, thanks for sharing.
KDE 4.4.1 sources
Bufix already. Sometime, substitute all "4.4.0" with "4.4.1" in instructions should work.
Moving LibAttica to kdesupport breaks build of kdelibs 4.4.
This libattica has been discovered Here and Here: svn ls svn://anonsvn.kde.org/home/kde/tags/kdesupport-for-4.4/attica
Is phonon now phonon-4.4.0?
Releases are going too fast to keep up.
4.4.2 - March 30
4.4.3 - May 4
Still looking for a way to disable the
giant balloon tooltips. In KDE3 this was called "mouseover effects and had the
option to disable."
sip and pyqt go missing every time they release a new one. Check http://www.riverbankcomputing.com/static/Downloads
KDE 4.4.2 sources
Currently trying to build KDE 4.4.2 and many new wrinkles being ironed out -- soon I hope.
Slackware's AlienBOB presented KDE 4.4.2 on April Fool's day featuring many solutions.
Post a Comment
Subscribe to Post Comments [Atom]
Click blog title for the latest post