#!/bin/sh
# Heavily based on the Slackware 13.0 SlackBuild
# http://rsachetto.googlepages.com
# Packager Andrea Sciucca Gohanz ( gohanz at infinito.it)
# http://www.slacky.it
#
# Required dcraw
#
# Exit on most errors
set -e


CWD=`pwd`
TMP=${TMP:-/tmp/txz}
NAME=sir
PKG=$TMP/package/$NAME
VERSION=2.1
ARCH=${ARCH:-i486}
BUILD=1as
#SOURCE=http://rsachetto.googlepages.com/$NAME'_'$VERSION.tar.gz

#if [ ! -e $NAME'_'$VERSION.tar.gz ]; then
#wget -c $SOURCE
#fi


if [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"; SLKLDFLAGS=""; LIBDIRSUFFIX=""; CHOST=i486
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"; SLKLDFLAGS=""; LIBDIRSUFFIX=""; CHOST=i486
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"; SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
fi





if [ ! -d $TMP ]; then
 mkdir -p $TMP
fi
if [ ! -d $PKG ]; then
 mkdir -p $PKG
fi


cd $TMP
tar xvzf $CWD/$NAME'_'$VERSION.tar.gz

echo -e "\E[0;32m+----------------------+\E[0;0m"
echo -e "\E[0;32m| Start SlackBuild SIR |\E[0;0m"
echo -e "\E[0;32m+----------------------+\E[0;0m"

cd trunk

find . -perm 666 -exec chmod 644 {} \;
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 {} \;

chown -R root:root .

mkdir -p $PKG/usr/bin
cat << EOF > $PKG/usr/bin/sir
#!/bin/bash
cd /usr/share/sir
exec /usr/share/sir/sir
EOF

chmod 755 $PKG/usr/bin/*

mkdir -p $PKG/usr/share/sir

# Configure:
qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile sir.pro


# Build and install:
LDFLAGS="$SLKLDFLAGS" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
make


install -m 755  sir $PKG/usr/share/sir

cp -a -r {images,translations} $PKG/usr/share/sir

mkdir -p $PKG/usr/share/applications
cat << EOF > $PKG/usr/share/applications/$NAME.desktop
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=SIR
Name[it]=SIR
GenericName=Simple Image Resizer
GenericName[it]=Convertitore di formati grafici
Comment=A simple application for resizing image
Comment[it]=Programma per la conversione di formati grafici
Icon=sir
Exec=sir
Terminal=false
StartupNotify=true
MimeType=image/jpeg;image/png;image/bmp;image/ppm;image/xbm;image/jpg;image/xpm;
Categories=Qt;Application;Graphics
EOF

mkdir -p $PKG/usr/share/kde4/services/ServiceMenus 
cat << EOF > $PKG/usr/share/kde4/services/ServiceMenus/sir_service.desktop
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Type=Service
ServiceTypes=KonqPopupMenu/Plugin,image/*
Actions=openWithSir
Name=openWithSir
Icon=sir
X-KDE-Priority=TopLevel

[Desktop Action openWithSir]
Name=Open with SIR
Name[pl]=Zmień rozmiar obrazka z SIR
Name[it]=Apri con SIR
Exec=sir %U
Icon=sir
EOF

# Installing icons directory
cd images
for res in 32 64 128 ;do
  dir=${PKG}/usr/share/icons/hicolor/${res}x${res}/apps
  mkdir -p ${dir}
  install -m0644 sir-${res}x${res}.png \
                 ${dir}/${NAME}.png || exit 1 
done
cd ..

mkdir -p $PKG/usr/doc/$NAME-$VERSION/SlackBuild
cp -a INSTALL TODO $PKG/usr/doc/$NAME-$VERSION


mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/slack-desc > $PKG/usr/doc/$NAME-$VERSION/SlackBuild/slack-desc
cat $CWD/$NAME.SlackBuild > $PKG/usr/doc/$NAME-$VERSION/SlackBuild/$NAME.SlackBuild



	echo "if [ -x /usr/bin/update-mime-database ]; then
  /usr/bin/update-mime-database /usr/share/mime &> /dev/null
fi" >> $PKG/install/doinst.sh
	echo "" >> $PKG/install/doinst.sh
	echo "if [ -x /usr/bin/update-desktop-database ]; then
  /usr/bin/update-desktop-database &> /dev/null
fi" >> $PKG/install/doinst.sh
	echo "" >> $PKG/install/doinst.sh
	echo "if [ -x /usr/bin/gtk-update-icon-cache ]; then
  /usr/bin/gtk-update-icon-cache  -f -q /usr/share/icons/hicolor &> /dev/null
fi" >> $PKG/install/doinst.sh
	echo "" >> $PKG/install/doinst.sh



strip --strip-unneeded $PKG/usr/share/sir/sir

cd $PKG
ADD=$(ls /var/log/packages/ | sed -ne 's/\(dcraw\)-\([^-]\+-[^-]\+-[^-]\+\)/\1 >= \2/p') \
requiredbuilder -y -v -s $CWD $PKG
makepkg -l y -c n $CWD/$NAME-$VERSION-$ARCH-$BUILD.txz

if [ "$1" = "--cleanup" ]; then
 rm -rf $TMP
fi
