1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
|
# Sample configuration file for kdesvn-build. (Applies to KDE 3.5)
#
# To use this sample configuration file, copy it to ~/.kdesvn-buildrc, and then
# edit it to suit your desires.
# Global settings go in this section. They apply to every module unless
# overridden later.
global
# binpath controls the value of the PATH environment variable during
# compilation. If you have unusual tools that need to be in the path to build
# KDE, add them here. KDE's and Qt's programs are automatically added.
binpath /bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
# binpath /usr/lib/ccache/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
# This is the directory that your KDE sources are downloaded to. This
# directory also holds the build and log directories by default.
# source-dir ~/kdesvn
# This is the Qt installation to use to build KDE. The default is qt-copy
# from Subversion.
qtdir ~/kdesvn/build/qt-copy
# You might want to use your system's built-in Qt already (3.3 or greater, not
# 4.x). If so, assign the qtdir option appropriately.
# qtdir /path/to/system/qt
# This is the Subversion server to download the KDE sources from. Developers:
# Don't forget to add your username to the URL if necessary!
# svn-server svn://anonsvn.kde.org/home/kde
# This controls the configure flags passed to every module (except qt-copy) by
# default. If you have module-specific configure flags, they will be placed
# after these flags to allow the module setting to override the global setting.
configure-flags --enable-debug
# These are the compilation flags to use by default when compiling KDE.
# gcc supports a -march option in order to generate specific code for pentium4, athlon-xp,
# etc. See the gcc man page for more information.
cxxflags -pipe
# These are the default options passed to the make command. The default tries
# to build with 2 parallel compiles. If you are using distcc or have SMP, you
# should experiment with setting this value higher for best performance.
# make-options -j2
# These are the default options passed to unsermake, which supports some
# options not present with make. The default tries to run 2 compile jobs
# in parallel. The -p option is used to display progress information.
# unsermake-options --compile-jobs=2 -p
# This option is used to decide whether to use the unsermake build system, which
# is usually faster and more efficient than the standard automake-based build
# system. It is generally stable enough to use, so it defaults to on. You
# can disable this on a module-by-module basis if it gives you problems.
# use-unsermake true
# This directory is where everything gets built before it is installed. By
# default it is relative to the value for source-dir. You can specify an
# absolute path if you'd like (begin the path with a slash).
# build-dir build
# This is the directory that KDE will end up installed at. The default is
# appropriate for a single-user installation of KDE, which requires no root
# permissions. If you'd like, you can install and use the sudo program to
# install KDE anywhere on your system, in conjunction with the
# make-install-prefix option.
# kdedir ~/kde
#
# You can overwrite the installation directory for a given module using
# the per-module "prefix" option. Note that when doing this you need to
# set KDEDIRS, PATH and LD_LIBRARY_PATH to point to both directories,
# and that you should use separate test users or KDEHOME values to separate
# the ksycoca databases. Only set prefix if you know what you're doing.
# If you would like install KDE to the system (DO NOT INSTALL *over* a prior
# installation!), then you'll probably need to use sudo to install everything.
# make-install-prefix sudo
# You can use the set-env option to add values to the build environment.
set-env LDFLAGS -Wl,-O1 # Optimize the linker, takes longer.
# If you use software which requires pkg-config, and you need to add entries
# to your pkg-config path, you can also use set-env for that. Some broken
# systems require you to set this to find e.g. glib.
# set-env PKG_CONFIG_PATH /opt/gnome/lib/pkgconfig
end global
# qt-copy is a copy of Trolltech's Qt, optionally with some bugfixes and
# optimizations added. It is the easiest way to get Qt if you don't already
# have it (and you don't want to use your distro's tools to install it.)
module qt-copy
configure-flags -system-zlib -qt-gif -system-libjpeg -system-libpng \
-plugin-imgfmt-mng -thread -no-exceptions -debug \
-fast -dlopen-opengl
apply-qt-patches true
use-qt-builddir-hack true
# trunk's qt-copy is 4.x now.
module-base-path branches/qt/3.3
end module
# arts is the KDE sound library.
module arts
end module
# tdesupport contains taglib and QCA. taglib is required for JuK, amarok, and
# the meta info reader for music files in Konqueror.
module tdesupport
end module
# kdelibs are the base KDE libraries needed by all KDE applications.
module kdelibs
configure-flags --enable-sendfile --enable-mitshm
# If you're a programmer you may want to build the API docs. Note that
# it takes some time. :(
# apidox true
end module
# kdebase contains useful general-purpose programs, normally people would
# expect a usable desktop to have these.
module kdebase
configure-flags --with-pam --with-shadow
end module
# kdemultimedia contains JuK, noatun, Kaboodle, and other KDE multimedia
# applications. It does not include amarok, which is in extragear/multimedia
module kdemultimedia
end module
# kdesdk is a useful module for software developers. It is where kdesvn-build
# is developed.
module kdesdk
end module
# kdenetwork has Kopete and other useful applications for the Internet and
# other networks.
module kdenetwork
end module
# kdeadmin has system administration tools for your computer.
module kdeadmin
configure-flags --with-shadow --with-pam=yes
end module
# kdebindings is useful for software developers, and for those who wish to run
# some KDE programs that don't use C++. The python bindings are not included
# by default as they never build for me. If you'd like to build all the
# bindings, comment out the checkout-only option below.
module kdebindings
checkout-only admin dcopc kalyptus smoke qtruby korundum kjsembed dcoppython
# kdebindings will probably need to use the following option to install
# successfully. You must configure the sudo program first to allow for
# passwordless operation.
# make-install-prefix sudo
use-unsermake false
end module
# tdepim contains KMail, Kontact, KOrganizer, and other insanely useful
# programs that help you keep track of things.
module tdepim
configure-flags --disable-exchange
end module
# kdeutils has miscellaneous programs which can be useful. You probably won't
# die if you remove this from the config file though.
module kdeutils
end module
# kdegraphics contains various programs useful for graphics editing. It
# doesn't include Krita, which is part of KOffice, but it is worth it just for
# KolourPaint.
module kdegraphics
end module
# kdeaddons are nifty additions to some programs in other KDE modules. For
# example, there are addons for Konqueror, extra Kicker applets, and Noatun
# plugins.
module kdeaddons
end module
# ... Well, they're games. ;)
module tdegames
# use-unsermake false
end module
# Contains nifty diversions of time, which generally aren't games.
module kdetoys
end module
# Educational programs. Some are actually quite fun even if you're not trying
# to learn anything.
module kdeedu
end module
# The KDE Office Suite. Includes a pretty expansive collection of programs.
# It is rather large, so you can cut download and build times by removing it
# from this file.
module koffice
# branch 1.5 # KOffice /trunk is not compatible with KDE 3.
end module
# The KDevelop IDE, useful for developing all kinds of programs. If you don't
# plan on being a software developer you can save time by removing this from
# your configuration.
module kdevelop
use-unsermake false
end module
# Includes Quanta Plus and other web design tools.
module kdewebdev
end module
# Modules in extragear and playground can also be added.
# To see what you can find in the various modules, browse
# http://websvn.kde.org/trunk/extragear and
# http://websvn.kde.org/trunk/playground
# Includes various libraries needed by other applications in extragear.
module extragear/libs
# If you don't like the default name that kdesvn-build gives modules on-disk,
# you can use dest-dir to change it.
# dest-dir extragear-libs
end module
# Includes the popular K3B and Amarok programs.
module extragear/multimedia
end module
# Includes various photo management applications.
module extragear/graphics
checkout-only digikamimageplugins digikam gwenview kimdaba
end module
# module extragear/network
# # Options like checkout-only should work as before.
# checkout-only konversation
# end module
# module playground/games
# end module
# Add more modules as needed, they support the same options as before.
|