#!/bin/sh

VERSION=7.3
RELEASE=2
_sysver=$(uname -r)
SYSVER=${_sysver%%\(*}
PREFIX=/usr
ROOTDIR=$(pwd)

package_vim () {
    TAR="tar --lzma -cvf"

    # Create binary, license and documentation tarballs
    cd $ROOTDIR/dist$PREFIX

    $TAR $ROOTDIR/vim-$VERSION-$RELEASE-msys-$SYSVER-bin.tar.lzma \
        --exclude share/vim/vim${VERSION/./}/keymap \
        --exclude share/vim/vim${VERSION/./}/lang \
        --exclude share/vim/vim${VERSION/./}/doc \
        bin \
        share/vim/vimrc \
        share/vim/vim${VERSION/./}
    $TAR $ROOTDIR/vim-$VERSION-$RELEASE-msys-$SYSVER-doc.tar.lzma \
        share/man/man1 \
        share/vim/vim${VERSION/./}/doc \
        share/doc/vim/$VERSION/msys-vim.README
    $TAR $ROOTDIR/vim-$VERSION-$RELEASE-msys-$SYSVER-lang.tar.lzma \
        --exclude share/man/man1 \
        share/man \
        share/vim/vim${VERSION/./}/keymap \
        share/vim/vim${VERSION/./}/lang
    $TAR $ROOTDIR/vim-$VERSION-$RELEASE-msys-$SYSVER-lic.tar.lzma \
        share/doc/vim/$VERSION/LICENSE \
        share/doc/vim/$VERSION/OpenPublicationLicense.html

    # Create source tarball
    cd $ROOTDIR
    $TAR vim-$VERSION-$RELEASE-msys-$SYSVER-src.tar.lzma \
        --exclude vim/.hg \
        --exclude vim/.hgignore \
        --exclude vim/.hgtags \
        vim \
        build-msys-vim \
        OpenPublicationLicense.html
}

rename_hardlinks () {
    cd $ROOTDIR/dist$PREFIX/bin

    # Add .exe extension to hardlinked files
    for f in ex rview rvim view vimdiff
    do
        mv $f $f.exe
    done
}

configure_vim () {
    cd $ROOTDIR/vim
    ./configure --prefix=$PREFIX \
        --with-compiledby=ir0nh34d@users.sourceforge.net \
        --datarootdir=$PREFIX/share \
        --docdir=$PREFIX/share/doc/vim/$VERSION \
        --sbindir=$PREFIX/sbin \
        --libexecdir=$PREFIX/sbin \
        --sysconfdir=/etc \
        --localstatedir=/var \
        --disable-gui \
        --with-tlib=termcap \
        --with-features=huge
}

make_vim () {
    cd $ROOTDIR/vim
    make
}

install_vim () {
    cd $ROOTDIR/vim
    mkdir -p $ROOTDIR/dist
    make DESTDIR=`cd $ROOTDIR/dist;pwd` install
    cp $ROOTDIR/vimrc $ROOTDIR/dist$PREFIX/share/vim
}

install_docs () {
    mkdir -p $ROOTDIR/dist$PREFIX/share/doc/vim/$VERSION
    /usr/bin/install -m 0644 $ROOTDIR/vim/runtime/doc/uganda.txt \
        $ROOTDIR/dist$PREFIX/share/doc/vim/$VERSION/LICENSE
    /usr/bin/install -m 0644 $ROOTDIR/OpenPublicationLicense.html \
        $ROOTDIR/dist$PREFIX/share/doc/vim/$VERSION
    /usr/bin/install -m 0644 $ROOTDIR/msys-vim.README \
        $ROOTDIR/dist$PREFIX/share/doc/vim/$VERSION
}

test_vim () {
    cd $ROOTDIR/vim
    make test
}

clean_vim () {
    cd $ROOTDIR/vim
    make distclean
}

finish () {
    rm -rf $ROOTDIR/dist
}

configure_vim
make_vim
install_vim
install_docs
test_vim
rename_hardlinks
clean_vim
package_vim
finish
