# Sample configuration file for kdesrc-build.
#
# To use this sample configuration file, copy it to ~/.kdesrc-buildrc, and then
# edit it to suit your desires.

# Global settings go in this section.  They apply to every module unless
# overridden later.
global

# This is the directory that your KDE sources are downloaded to.  This
# directory also holds the build and log directories by default.
#	source-dir ~/kdesrc

# 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.

# This is the Qt installation to use to build KDE.  The default is qt-copy
# from Subversion.  Qt will be installed to this directory, so it is
# recommended to use something like ~/qt-4.
# KDE /trunk requires a very recent Qt so qt-copy is the best route if you're
# building /trunk.  If you are building an older branch you may use your
# system installed Qt by setting qtdir to point to it (what qmake -v
# reports with the /lib removed).
	qtdir ~/qt4  # Default to installing Qt

# By default (if the above is commented out), you are getting trunk.
# If instead you want to check out another branch, like 4.4, use
#	branch 4.4
#
# but also see the qt-copy and kdesupport modules below, which have special
# requirements

# To use a single git repository to download multiple KDE source modules, you
# can define a "base repository", which you can use later with a "module-set"
# grouping and the "use-modules" option. This sets up the "kde-git" git
# repository, you can change the URL if you are a developer.
	git-repository-base kde-git git://anongit.kde.org/
#	git-repository-base kde-git git@git.kde.org: # Developers

# This is the Subversion server to download the rest of 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

# cmake-options controls the compilation options for building KDE 4 modules.
# These options apply to all KDE modules unless otherwise specified.
# NOTE: If you want the cxxflags option below to work (advanced users only)
# then make sure to set the "-DCMAKE_BUILD_TYPE=none" here, or in the specific
# module's cmake-options
#
# Also see http://techbase.kde.org/Development/Tutorials/CMake#Command_Line_Variables
#	cmake-options -DKDE4_BUILD_TESTS:BOOL=ON
	cmake-options -DCMAKE_BUILD_TYPE=RelWithDebInfo

# 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

# KDE has one of the most extensive translation packages in the world.  They
# are stored in the l10n module.  kdesrc-build can automatically try to build
# and install languages for you, using this parameter.  It should be a list
# of languages to build and install.  This option requires the language code
# as present in l10n.  You can look these codes up at
# http://i18n.kde.org/teams/
#	kde-languages de        # German
#	kde-languages fr        # French
#	kde-languages en_GB cs  # British English and Czech

# 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.
#
# The -S parameter causes sudo to read from standard input (which is redirected
# by kdesrc-build).  This means that if sudo has to ask for your password, it
# will fail, you need to configure sudo to be able to run "make install"
# without requesting a password.
#
# In addition, you can run kdesrc-build --no-install, and then
# sudo kdesrc-build --install if you are unable to configure sudo to allow
# make install with no password.
#	 make-install-prefix sudo -S

# purge-old-logs controls whether old log files should be removed after the
# latest build finishes. Set to true to enable it.
#	 purge-old-logs false

# 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.
# If you leave this option blank, it will default to the PATH that kdesrc-build had
# when it was started.
#	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 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

# 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.
#
# NOTE: For KDE 4 these flags are only applied if you set the CMAKE_BUILD_TYPE setting
# to "none" (see the cmake-options setting)
#	cxxflags -pipe -march=native # Don't use native with distributed build

# 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 Nokia'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.)
#
# Note that this module uses the "git" source control tool instead of
# Subversion, so read carefully the comments below. ;)
module qt-copy
# Configure flags. See README.kde-qt for the official recommended ones, which
# may become inconsistent with these sample flags.
# Do not specify -prefix, kdesrc-build will handle that.
#
# Phonon note:
# - If you compile phonon separately, make sure to pass -no-phonon.
# - Alternatively, if you use Qt's phonon, remove "phonon" from the use-modules
#   option in the module-set below.
# - As of KDE 4.6/Qt 4.7 the "right answer" is the first option: separate phonon.
	configure-flags -qt-gif -fast -debug -no-separate-debug-info \
	                -system-zlib -system-libpng -system-libjpeg \
	                -dbus -webkit -plugin-sql-mysql \
	                -nomake examples -nomake demos \
	                -no-phonon # See module-set below

#	make-options -j2

#	Default Qt repository -- Use this if you want Nokia's official Qt
#	without any KDE fixes or extensions.
#	repository git://gitorious.org/qt/qt.git
#
#	KDE's (slightly) modified Qt repository.  This includes various
#	optimizations and bugfixes and is generally what KDE developers use.
#	This is recommended in most cases.  If you used to use the old
#	"apply-patches" option, this is the git equivalent.
	repository git://gitorious.org/+kde-developers/qt/kde-qt.git

# If you use the branch option up in the "global" section to set a
# default KDE version, you should manually choose a branch here for Qt.
# You can see the available branches by looking first on gitorious.org,
# or by using "git branch -r" from the qt-copy source directory.
#
# The "master" branch is the best choice for both kde-qt and official Qt if
# you have no preference.
	branch master
end module

# Next is shown a "module-set", which is a grouping of modules that has special
# handling of the "repository" option (the module name is automatically added
# to the end for every module defined in this set), and accepts the special
# use-modules option to determine what modules are included in the group.
# Any other options included as defined for every module in the set.
# For every single module passed, kdesrc-build will create the appropriate
# "module" option, with the right repository setting (base + module name).
#
# If you need to set more options for only individual modules, you can add a
# module <name> ... end module as normal after the module-set, but keep in mind
# if you do this that you won't change the order the modules are built in.
#
# Example:
module-set
    # automoc is essential for building KDE's CMake-based modules, and so should be first
    # in this module set (but after Qt, if you're using qt-copy)
    # Phonon is the KDE multimedia layer, which is occasionally synced to Qt.
    use-modules automoc cagibi attica soprano polkit-qt-1 phonon

    # Special handling occurs with this option when used in module-set so you don't
    # have to re-type repository names.
    repository kde-git

    # Other options are simply passed to each defined module. For example if you
    # uncomment the next line, then the "debugfull" build type will be used for every
    # module in this set.
    # cmake-options -DCMAKE_BUILD_TYPE=debugfull
end module-set

# kdesupport contains taglib and QCA, and the Strigi library required for
# kdelibs in KDE 4.  taglib is required for JuK, amarok, and the meta info
# reader for music files in Konqueror.
module kdesupport
# To get the necessary kdesupport stuff for KDE-4.5, use:
#	tag kdesupport-for-4.5/kdesupport

#	Note: -DWITH_ASF=TRUE and -DWITH_MP4=TRUE (for taglib) is required to allow Amarok
#	(defined below, near the end of this file) to build.
	cmake-options -DWITH_ASF=TRUE -DWITH_MP4=TRUE
end module

# Support for notification area menus via the DBusMenu protocol
# This is needed by kdelibs.
module dbusmenu-git
    repository git://gitorious.org/dbusmenu/dbusmenu-qt.git
end module

# kdelibs are the base KDE libraries needed by all KDE applications.
module kdelibs
# KDE 4 uses CMake, if you need to pass options to the cmake command, use this
# option:
#	cmake-options -DKDE4_BUILD_TESTS:BOOL=ON

# If you're a programmer you may want to build the API docs.  There is a
# separate script in kdesdk/scripts to do that for you however.
end module

# akonadi is required for kdepimlibs. Added to this module-set so that it is next to
# kdepimlibs -- it could just as well be part of the earlier module-set. Having a
# module-set of only one module allows us to use the repository alias made earlier.
module-set
    use-modules akonadi
    repository kde-git
end module-set

# kdepimlibs contains required PIM (mail, instant messenger, etc.) basics
# that are needed by some other KDE modules.  Should be built after kdelibs
module kdepimlibs
end module

# kdebase contains useful general-purpose programs, normally people would
# expect a usable desktop to have these.  Includes required programs and
# libraries in runtime/, and Konqueror, Dolphin, and Plasma.
module kdebase
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

# ... Well, they're games. ;)
module kdegames
end module

# kdesdk is a useful module for software developers.  It is where kdesrc-build
# is developed, in addition to other handy scripts for KDE and general software
# developers.  Programmers *need* this module for kcachegrind
module kdesdk
end module

# kdenetwork has Kopete and other useful applications for the Internet and
# other networks.
module kdenetwork
end module

# kdepim contains KMail, Kontact, KOrganizer, and other insanely useful
# programs that help you keep track of things.
module kdepim
end module

# kdeadmin has system administration tools for your computer.
#module kdeadmin
#end module

# kdebindings is useful for software developers, and for those who wish to run
# some KDE programs that don't use C++.
#module kdebindings

# kdebindings will probably need to use the following option to install
# successfully due to necessary integration with the program interpreters.  You
# must configure the sudo program first to allow for passwordless operation.
#	make-install-prefix sudo -S
#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 and Gwenview.
module kdegraphics
end module

# Contains nifty diversions of time, which generally aren't games.
module kdetoys
	# Let's explain a new kdesrc-build feature here, as an example:
	# Say you don't want "./kdesrc-build" to always update and build kdetoys,
	# but you want to specify options here (branch, cmake-options etc.) so that
	# you can invoke "./kdesrc-build kdetoys" explicitly, now and then.
	# The option manual-update does exactly this.
	manual-update true
end module

# Educational programs.  Some are actually quite fun even if you're not trying
# to learn anything.
module kdeedu
end module

# Extra collection of useful plasma applets, runners, data engines, etc.
module kdeplasma-addons
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
#end module

## A prerequisite for kdevelop other modules using the kdevelop platform, like
# kdewebdev
#module kdevplatform
#	repository git://gitorious.org/kdevelop/kdevplatform.git
#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
#       repository git://gitorious.org/kdevelop/kdevelop.git
#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

# Amarok is a KDE application that uses the "git" source control system, like
# Nokia Qt does.  It used to be in extragear/multimedia.  If you want to
# build and install amarok, simply uncomment this module
#   NOTE: Ensure you've enabled ASF and MP4 support above in kdesupport. (If
#   you build the kdesupport/taglib module by itself, then make sure you've
#   enabled this support for taglib).
#module amarok
#	Read-only access
#	repository git://git.kde.org/amarok.git
#
#	Read-write access. See
#	http://techbase.kde.org/Getting_Started/Sources/Amarok_Git_Tutorial
#	for a good intro tutorial for developers.
#	repository git@git.kde.org:amarok.git
#end module

# --- The K3B cd/dvd/etc. burner.
#module-set
#    use-modules k3b
#    repository kde-git
#end module-set

# Includes various media players.
#module extragear/multimedia
#end module

# Includes various photo management applications, scanner frontends, etc.
#module extragear/graphics
#end module

# KTorrent, Konversation, some Kopete plugins, Choqok, etc.
# module extragear/network
# end module

# Has Mailody
#module extragear/pim
#end module

# Add more modules as needed.
