All pastes #1560896 Raw Edit

ArchLinux PKGBUILD for psi-plus-

public text v1 · immutable
#1560896 ·published 2009-09-10 09:54 UTC
rendered paste body
# Contributor: Nicktian Lezver <nicktian@mail.ru>
pkgname="psi-plus-svn"
pkgver=979
pkgrel=1
pkgdesc="Psi Mod from psi-dev@conference.jabber.ru"
url="http://code.google.com/p/psi-dev/"
license=('GPL2')
arch=('i686' 'x86_64')
depends=('qt' 'aspell' 'libxss' 'openssl' 'dbus' 'zlib')
makedepends=("subversion" "git")
conflicts=('psi' 'psi-svn' 'psi-git')
provides=('psi-plus' 'psi+' 'psi')

#source=('avcdisable.patch')
#md5sums=('ebcd83751195b531e531219f3b46ff34')

_svntrunk="http://psi-dev.googlecode.com/svn/trunk/patches"
_svnmod="patches"
_gitroot__="git://git.psi-im.org/psi.git"
_gitname__="psi"
#_irissvntrunk="https://delta.affinix.com/svn/trunk/iris"
#_irissvnmod="iris"
_iconsetssvntrunk="http://psi-dev.googlecode.com/svn/trunk/iconsets"
_iconsetssvnmod="iconsets"
_certssvntrunk="http://psi-dev.googlecode.com/svn/trunk/certs"
_certssvnmod="certs"
_pluginssvntrunk="http://psi-dev.googlecode.com/svn/trunk/plugins"
_pluginssvnmod="plugins"


build() {
	cd $srcdir

   msg "Getting patches from SVN"
   msg "connecting to $_svntrunk"
	if [ -d $srcdir/$_svnmod ] ; then
	    svn up $_svnmod -r $pkgver
	    msg "$srcdir/$_svnmod"
	else
	    svn checkout $_svntrunk $srcdir/$_svnmod -r $pkgver
	fi
    msg "SVN Checkout done or server timeout"
    
   msg "Getting iconsets from SVN"
   msg "connecting to $_iconsetssvntrunk"
	if [ -d $srcdir/$_iconsetssvnmod ] ; then
	    svn up $_iconsetssvnmod
	    msg "$srcdir/$_iconsetssvnmod"
	else
	    svn checkout $_iconsetssvntrunk $srcdir/$_iconsetssvnmod
	fi
    msg "SVN Checkout done or server timeout"

   msg "Getting certs from SVN"
   msg "connecting to $_certssvntrunk"
	if [ -d $srcdir/$_certssvnmod ] ; then
	    svn up $_certssvnmod
	    msg "$srcdir/$_certssvnmod"
	else
	    svn checkout $_certssvntrunk $srcdir/$_certssvnmod
	fi
    msg "SVN Checkout done or server timeout"

   msg "Getting plugins from SVN"
   msg "connecting to $_pluginssvntrunk"
	if [ -d $srcdir/$_pluginssvnmod ] ; then
	    svn up $_pluginssvnmod
	    msg "$srcdir/$_pluginssvnmod"
	else
	    svn checkout $_pluginssvntrunk $srcdir/$_pluginssvnmod
	fi
    msg "SVN Checkout done or server timeout"


#   msg "Getting Iris from SVN"
#   msg "connecting to $_irissvntrunk"
#	if [ -d $srcdir/$_irissvnmod ] ; then
#	    svn up $_irissvnmod
#	    msg "$srcdir/$_irissvnmod"
#	else
#	    svn checkout $_irissvntrunk $srcdir/$_irissvnmod
#	fi
#    msg "SVN Checkout done or server timeout"

   msg "Connecting to $_gitroot__ ..."
	if [ -d $srcdir/$_gitname__ ] ; then
		cd $_gitname__ && git pull origin
		msg "Updating iris ..."
		git submodule update
		msg "The local files are updated."
	  else
		git clone $_gitroot__
		cd psi
		msg "Getting iris ..."
		git submodule init
		git submodule update
	fi
   msg "GIT checkout done or server timeout"
   
   	[ -d $srcdir/$_gitname__-build ] && rm -r $srcdir/$_gitname__-build
	cp -r $srcdir/$_gitname__ $srcdir/$_gitname__-build


    
    msg "Copying patches to build directory"
    cp $srcdir/patches/* $srcdir/$_gitname__-build/	    


	cd $srcdir/$_gitname__-build
    msg "Applying patches"
    patch -p1 <$srcdir/avcdisable.patch
    sed "s/\(.xxx\)/.$pkgver/" -i "270-psi-application-info.diff" || return 1
    sh series.txt
    
    msg "Adding extra plugins"
    cp -rf $srcdir/$_pluginssvnmod $srcdir/$_gitname__-build/src

#    msg "Copying original iris lib"
#    rm -rf $srcdir/$_gitname__-build/$_irissvnmod
#    cp -rf $srcdir/$_irissvnmod $srcdir/$_gitname__-build/


   msg "Building $pkgname ..."

	./configure --prefix=/usr || return 1
	make -j1 || return 1
	make INSTALL_ROOT="$pkgdir" install || return 1

   # Copy Psi license
	install -D COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
	
	cd $startdir/pkg/usr/share/psi
	msg2 "Getting iconsets and certs from psi-dev svn..."
	cp -rf $srcdir/iconsets ./
	cp -rf $srcdir/certs ./

   msg "Building extra plugins ..."
	cd $srcdir/$_gitname__-build/src/plugins/generic
	# Create project file for extra plugins and compile them
	echo "TEMPLATE = subdirs" > extraplugins.pro
	echo -n "SUBDIRS = " >> extraplugins.pro
	ls -x ../../../../plugins/* >> extraplugins.pro
	qmake extraplugins.pro || return 1
	# Fix bad project name
	sed 's/screenshot\.pro/screenshotplugin\.pro/' -i Makefile
	make || return 1
	# Copy plugins
	mkdir $startdir/pkg/usr/share/psi/plugins
	find . -name "lib*plugin.so" -exec cp -f {} $startdir/pkg/usr/share/psi/plugins \;

	rm -rf $srcdir/$_gitname__-build
}