KTp/Getting Set Up/Scripted

From KDE Community Wiki
Revision as of 18:17, 3 October 2011 by Alin (talk | contribs) (added a cd .. for the case when no build is intended.)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Here is a script to help you a major part of Telepathy KDE, feel free to modify it according to your needs.

#!/bin/bash
#
# Build script for telepathy-kde, assumes you have the latest telepathy-qt4, 
# have a proper gitconfig setup for and that you use Project Neon
#
# Instructions on how to use the script :
#      -b : Also build the cloned repos
#
# Copyright (C) 2011 Rohan Garg <[email protected]>
# Copyright (C) 2011 Dominik Schmidt <[email protected]>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################

SOURCE_DIR="."
INSTALL_DIR=`kde4-config --prefix`

# Add telepathy-qt4 here, if you want to build it from master too 
REPOS="telepathy-accounts-kcm
telepathy-accounts-kcm-plugins
telepathy-approver
telepathy-chat-handler
telepathy-contact-list
telepathy-nepomuk-service
telepathy-presence-applet
telepathy-presence-dataengine
telepathy-contact-applet
telepathy-filetransfer-handler
telepathy-send-file"
# these don't work currently, readd them at some point
# telepathy-call-ui - dont have farsight*/
# telepathy-kde - doesnt build
# telepathy-testlib

# configure your own custom build function here
function build {  
    cpus=$(ls -d /sys/devices/system/cpu/cpu? | wc -l)
    
    if [ -f /usr/bin/neonmake ]; then
        neonmake
    else
        makej=$(($cpus + 1))
        mkdir -p build
        cd build
        cmake -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR -DCMAKE_BUILD_TYPE=debugfull ..
        make --jobs=$makej
        sudo make install
        cd ..
    fi
}

mkdir -p $SOURCE_DIR
cd $SOURCE_DIR

for repo in $REPOS
do
    if [ -d "$repo" ]; then
        cd $repo
        echo "####################################################"
        echo "               Updating $repo              " 
        echo "####################################################"

        git pull --rebase
    else
        echo "####################################################"
        echo "               Cloning $repo              " 
        echo "####################################################"
        
        if [ "$repo" = "telepathy-qt4" ]; then
            git clone git://anongit.freedesktop.org/telepathy/$repo
        else
            git clone kde:$repo
        fi

        cd $repo
    fi

    if [ "$1" = "-b" ]; then
        echo "####################################################"
        echo "              Building $folder               " 
        echo "####################################################"
        build
        cd ..
    else
        cd ..
    fi
done