#!/bin/bash

# Packager : Jean-Philippe Guillemin <jp.guillemin@free.fr>
# sources location : http://www.ca-us.xfce.org/archive/ 


NAME='tumbler'
#VERSION=''
tarball=$(ls ${NAME}*tar*);VERSION=${tarball%.*};VERSION=${VERSION%.*}; VERSION=${VERSION##*-}
BUILD=6jp

ARCH=${ARCH:-x86_64}
case "$ARCH" in
  i486)      SLKCFLAGS="-O2 -march=i486 -mtune=i686"
             SLKLDFLAGS=""
             LIBDIRSUFFIX=""
             ;;
  x86_64)    SLKCFLAGS="-O2 -fPIC"
             SLKLDFLAGS="-L/usr/lib64"
             LIBDIRSUFFIX="64"
             ;;
esac

export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"
export LDFLAGS="$SLKLDFLAGS"

CWD=$(pwd)

PKG="/tmp/$NAME-$VERSION-$ARCH-$BUILD"
rm -rf $PKG
rm -f $PKG.txz
mkdir -p $PKG

TMP="$CWD/tmp"

cd $CWD

sources="$NAME"


for source in $sources ; do
  echo -n "Checking $source : "
  cd $CWD
  tarball="$(ls ${source}*tar* 2>/dev/null)"
  if [ "$tarball" == "" ] ; then
    echo "not found :("
    exit 1
  else
    echo "found $tarball :)"
  fi
done

for source in $sources ; do

  cd $CWD
  tarball="$(ls ${source}*tar* )"

  rm -rf $TMP
  mkdir -p $TMP
  
  if [ "$(echo $tarball | grep ".tar.bz2" )" ]; then
      tar jxvf $tarball -C $TMP
  elif [ "$(echo $tarball | grep ".tar.gz" )" ]; then
      tar zxvf $tarball -C $TMP
  fi
  
  SRC=$(ls -d $TMP/*/)

  
    cd $SRC
    chown -R root.root .
    find . -perm 777 -exec chmod 755 {} \;
    find . -perm 775 -exec chmod 755 {} \;
    find . -perm 666 -exec chmod 644 {} \;
    find . -perm 664 -exec chmod 644 {} \;
	# patch -p1 < $CWD/set-gststate-on-error.diff

# EXTRACONFIG="--enable-maintainer-mode"
    ./configure --prefix=/usr \
      --libdir=/usr/lib${LIBDIRSUFFIX} \
      --mandir=/usr/man \
      --docdir=/usr/doc/$(basename $SRC) \
      --sysconfdir=/etc \
      --enable-static=no \
      --enable-gio \
      --enable-final \
      --enable-debug=no \
      --enable-gtk3 \
      --disable-gtk-doc \
      --disable-gstreamer-thumbnailer \
      $EXTRACONFIG

    make -j6 || exit 1
    # make install
    
    make install DESTDIR=$PKG

    mkdir -p $PKG/usr/doc/$(basename $SRC)
    cp -f AUTHORS INSTALL README TODO NEWS ChangeLog $PKG/usr/doc/$(basename $SRC)   

    # Striptease
    ( cd $PKG
      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
	  find . -name *.la | xargs rm -f 
	  for mandir in $(find ./usr/share/man -name man* -type d) ; do
		mkdir -p ./usr/man/$(basename $mandir)
        mv $mandir/*.? ./usr/man/$(basename $mandir)
      done	  
	  rm -rf ./usr/share/man
	  for mandir in $(find . -name man -type d) ; do
        if [ -d $mandir ]; then
          ( cd $mandir
            find . -type f -name "*.?" -exec gzip -9 {} \;
          )
        fi
      done
    )
done


cd $CWD

# redundant , if any
rm -rf $PKG/usr/share/doc


# slack-desc
mkdir -p $PKG/install
cat > $PKG/install/slack-desc << END
$NAME: $NAME is part of the XFCE Desktop
$NAME:
$NAME: XFce is a fast and lightweight desktop environment that is both
$NAME: sex-appealing and easy to use.
$NAME: 
$NAME: For more information, see:  http://www.xfce.org
$NAME:
$NAME:
$NAME:
$NAME:
$NAME:
END

mkdir -p $PKG/usr/src/$NAME-$VERSION
cat $CWD/$NAME.SlackBuild > $PKG/usr/src/$NAME-$VERSION/$NAME.SlackBuild

cd $PKG
makepkg -l y -c n $PKG.txz

# Cleanup
cd $CWD
rm -rf $PKG
rm -rf $TMP
