#!/bin/bash
#
# source: http://ftp.gnome.org/pub/gnome/sources/gvfs/1.10/gvfs-1.10.1.tar.xz
#
# maintainer: (package seek a maintainers)
#

#------------------ Set Some Variables

soft='gvfs'
softversion='1.10.1'
arch="i486"
cpu="i686"
packageversion="72.2"

buildir=$(pwd)
srcpkg="$buildir/$soft-$softversion.tar.xz"
src="$buildir/$soft-$softversion"
package="$soft-$softversion-$arch-$packageversion"
dest="$buildir/$package"

# ----------------- Extract sources and get ready to build

cd $buildir
rm -rf $src
tar -xvf $srcpkg
rm -f $dest.txz
rm -rf $dest

cd $src
chown -R root:root .
find . \
 \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
 -exec chmod 755 {} \; -o \
 \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
 -exec chmod 644 {} \;
export CFLAGS="-O2 -march=$arch -mtune=$cpu"
export CXXFLAGS="-O2 -march=$arch -mtune=$cpu"

./configure \
  --prefix=/usr \
  --sysconfdir=/etc \
  --localstatedir=/var \
  --disable-static

make -j6
make install DESTDIR=$dest

find $dest | xargs file | grep -e "executable" -e "shared object" | grep ELF \
  | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null

mv $dest/etc/profile.d/gvfs-bash-completion.sh $dest/etc/profile.d/gvfs-bash-completion.sh.new

# Documentation

mkdir -p $dest/usr/doc/$soft-$softversion
cp -a \
  AUTHORS ChangeLog COPYING INSTALL MAINTAINERS NEWS README README.commits TODO \
  $dest/usr/doc/$soft-$softversion

mkdir -p $dest/install
cat << "EODESC" > $dest/install/slack-desc
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.  Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in.  You must
# make exactly 11 lines for the formatting to be correct.  It's also
# customary to leave one space after the ':'.

    |-----handy-ruler--------------------------------------------------------|
gvfs: gvfs - is a userspace virtual filesystem
gvfs:
gvfs: gvfs is a userspace virtual filesystem where mount runs as a separate
gvfs: processes which you talk to via dbus. It also contains a gio module
gvfs: that seamlessly adds gvfs support to all applications using the gio
gvfs: API. It also supports exposing the gvfs mounts to non-gio applications
gvfs: using fuse.
gvfs:
gvfs:
gvfs:
gvfs:
EODESC

cat << "DOINST" > $dest/install/doinst.sh
#!/bin/sh
config() {
  NEW="$1"
  OLD="`dirname $NEW`/`basename $NEW .new`"
  # If there's no config file by that name, mv it over:
  if [ ! -r $OLD ]; then
    mv $NEW $OLD
  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
    rm $NEW
  fi
  # Otherwise, we leave the .new copy for the admin to consider...
}

config etc/profile.d/gvfs-bash-completion.sh.new

# update glib schemas
if [ -x usr/bin/glib-compile-schemas ]; then
  usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas 1> /dev/null 2> /dev/null
fi
DOINST


mkdir -p $dest/usr/src/$soft-$softversion
cp $buildir/build-$soft.sh $dest/usr/src/$soft-$softversion

# Packaging

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

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