ash
# packager           : Frederic Boulet <bipbip> bipbiponlinux~AT~gmail.com
# homepage			 : http://www.screenlets.org/index.php/Home
# source location    : https://code.launchpad.net/screenlets/trunk/0.1.2/+download/screenlets-0.1.2.tar.bz2
# last revised       : 29.9.2009
# dep                : 

softname='screenlets'
softversion='0.1.2'
packageversion='1fb'

arch='i486'
cpu='i686'

prefix=/usr

# log :)
(

# parameters needed for the build process
buildir=$(pwd)
src="$buildir/$softname"
srcpkg="$buildir/$softname-$softversion.tar.bz2"
package="$softname-$softversion-$arch-$packageversion"
dest="$buildir/$package"
source=https://code.launchpad.net/screenlets/trunk/0.1.2/+download/$softname-$softversion.tar.bz2

# prepare the build result directory
rm -rf $dest
mkdir -p $dest
mkdir -p $dest/install
mkdir -p $dest/$prefix/bin
mkdir -p $dest/usr/share/applications
mkdir -p $dest/usr/share/icons/hicolor/scalable/apps
mkdir -p $dest/usr/share/icons/hicolor/48x48/apps
mkdir -p $dest/usr/doc
mkdir -p $dest/usr/src/$softname-$softversion

# Slack-desc
cat <<EOF > $dest/install/slack-desc 
          |-----handy-ruler------------------------------------------------------|
screenlets: screenlets (Small drawn-owner applications.)
screenlets:
screenlets: The goal of the Screenlets base-classes is to simplify the creation 
screenlets: of fully themeable mini-apps that each solve basic 
screenlets: desktop-work-related needs and generally improve the usability 
screenlets: and eye-candy of the modern composited Linux-desktop.
screenlets:
screenlets:
screenlets:
screenlets: 
screenlets:
EOF


# check if source is present
if [ -f $softname-$softversion.tar.bz2 ]; then
	echo "Source file already here, no need to download";
else
 	echo "Downloading source"
	wget -c --no-check-certificate $source
fi

# extract the source code
cd $buildir
tar xjvf $srcpkg
cd $src	

# build
export CFLAGS="-O2 -march=$arch -mtune=$cpu"

python setup.py install  --root=$dest --prefix=/usr

cp desktop-menu/$softname.svg $dest/usr/share/icons/
convert desktop-menu/$softname.svg -resize 48x48 $dest/usr/share/icons/hicolor/48x48/apps/$softname.png
mv $dest/usr/share/icons/screenlets.svg $dest/usr/share/icons/hicolor/scalable/apps

sed -i -e 's|/share/icons/screenlets.svg|/share/icons/hicolor/scalable/apps/screenlets.svg|g' $dest/usr/share/screenlets-manager/screenlets-manager.py
sed -i -e 's|/share/icons/screenlets.svg|/share/icons/hicolor/scalable/apps/screenlets.svg|g' $dest/usr/share/screenlets-manager/screenlets-daemon.py

# make the .desktop file
rm -v $dest/usr/share/applications/screenlets-manager.desktop
if [ ! -f $dest/usr/share/applications/screenlets-manager.desktop ]; then
cat << "EOF" > $dest/usr/share/applications/screenlets-manager.desktop
[Desktop Entry]
Type=Application
Categories=System;Settings;
Name=Screenlets
Name[de]=Screenlets
Comment=A graphical tool to manage your Screenlets.
Comment[de]=Ein grafisches Werkzeug, um Ihre Screenlets zu verwalten.
Encoding=UTF-8
Icon=screenlets
Exec=screenlets-manager > /dev/null
StartupNotify=true
EOF
fi

rm -fv $dest/usr/share/desktop-directories

#add 'default' files
cd $src
mkdir -p $dest/usr/doc/$softname-$softversion
cp -a \
    AUTHORS CHANGELOG COPYING LICENCE README TODO \
    $dest/usr/doc/$softname-$softversion
	
# strip Executables
( cd $dest
  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)

# SalixBuild
cd $buildir
cp build-$softname.sh $dest/$prefix/src/$softname-$softversion

# set target permissions
chown -R root.root $dest

cd $dest
find . -perm 664 -exec chmod 644 {} \;
find . -perm 600 -exec chmod 644 {} \;
find . -perm 444 -exec chmod 644 {} \;
find . -perm 400 -exec chmod 644 {} \;
find . -perm 440 -exec chmod 644 {} \;
find . -perm 777 -exec chmod 755 {} \;
find . -perm 775 -exec chmod 755 {} \;
find . -perm 511 -exec chmod 755 {} \;
find . -perm 711 -exec chmod 755 {} \;
find . -perm 555 -exec chmod 755 {} \;

# real packaging work
cd $dest
makepkg -l y -c n $dest.txz

# .md5
cd $buildir
md5sum $package.txz > $package.md5

# .dep
cd $buildir
echo -e "glibc,gnome-keyring,gnome-python-desktop,libwnck,numpy,python,pygtk,pycairo,pyxdg" > $package.dep

# erase
rm -rf $src
rm -rf $dest

# log ;)
) 2>&1 | tee "$softname-$softversion-build.log"
