IGNOREPATH=/etc:/home:/var:/dev:/boot:/root:/tmp:/usr/local:/bin:/sbin:/mnt:/usr/src
STRIPLIB=y
STRIPBIN=y

VERSION=6.2
CTAGSVER=5.5.2
PROGNAME="Vi IMproved $VERSION"
DESC="\
xvim (X/GTK+ enabled version of vim)                                   \n\
                                                                       \n\
Vim is an almost compatible version of the UNIX editor vi.  Many new   \n\
features have been added:  multi level undo, command line history,     \n\
filename completion, block operations, and more."

BUILD=1
MAINTAINER="Mark Post <mark.post@eds.com>"
SOURCE=ftp://ftp.vim.org
PKGNAME=xvim-$VERSION-s390-$BUILD
TAG=OPT

compile() {
   # ctags was once a part of vim,
   # but now we have to bundle it in
   cd $TMP
   tar -zxvf $CWD/ctags-$CTAGSVER.tar.gz
   cd ctags-$CTAGSVER/
   chown -R root.root .
   CFLAGS=-O2 ./configure --prefix=/usr \
                          --build=s390-slackware-linux \
                          --host=s390-slackware-linux \
                          --target=s390-slackware-linux
   make
 
   #
   # build vim
   #
   cd $TMP 
   tar -yxvf $CWD/vim-$VERSION.tar.bz2
   tar -yxvf $CWD/vim-$VERSION-lang.tar.bz2
   cd vim62/

   # apply patches
   for file in $CWD/patches/* ; do
      zcat $file | patch -p0 --verbose --batch
   done

   CFLAGS=-O2 ./configure --prefix=/usr \
                          --with-x \
                          --enable-gui=gtk \
                          --with-features=big \
                          s390-slackware-linux
   make
}

install() {
   #
   # install ctags
   #
   cd $TMP/ctags-$CTAGSVER/
   make install prefix=/package-xvim/usr

   mkdir -p /package-xvim/usr/doc/ctags-$CTAGSVER
   cp -a COPYING EXTENDING.html FAQ INSTALL INSTALL.oth NEWS README \
      /package-xvim/usr/doc/ctags-$CTAGSVER

   rm /package-xvim/usr/bin/etags

   #
   # install vim
   #
   cd $TMP/vim62
   make install prefix=/package-xvim/usr

   rm /package-xvim/usr/bin/vimdiff

   ( cd /package-xvim/usr/bin
     rm -rf eview    ; ln -sf vim eview
     rm -rf evim     ; ln -sf vim evim
     rm -rf ex       ; ln -sf vim ex
     rm -rf gview    ; ln -sf vim gview
     rm -rf gvim     ; ln -sf vim gvim 
     rm -rf gvimdiff ; ln -sf vim gvimdiff
     rm -rf rgview   ; ln -sf vim rgview
     rm -rf rgvim    ; ln -sf vim rgvim
     rm -rf vimdiff  ; ln -sf vim vimdiff
   )

   mkdir -p /package-xvim/usr/doc/vim-$VERSION
   cp README.txt /package-xvim/usr/doc/vim-$VERSION
   ( cd /package-xvim/usr/doc/vim-$VERSION ; ln -sf /usr/share/vim/vim62 doc )

   rm /package-xvim/usr/man/man1/{etags,ex,rview,rvim,view}.1
   ( cd /package-xvim/usr/man/man1
     find . -type l -exec rm {} \;
     rm -f *.gz
     gzip -9 *.1
   )

   ( cd /package-xvim/usr/man/man1
     rm -rf ex.1.gz    ; ln -sf vim.1.gz ex.1.gz
     rm -rf rview.1.gz ; ln -sf vim.1.gz rview.1.gz
     rm -rf rvim.1.gz  ; ln -sf vim.1.gz rvim.1.gz
     rm -rf view.1.gz  ; ln -sf vim.1.gz view.1.gz
     rm -rf eview.1.gz    ; ln -sf evim.1.gz eview.1.gz
     rm -rf gview.1.gz    ; ln -sf vim.1.gz gview.1.gz
     rm -rf gvim.1.gz     ; ln -sf vim.1.gz gvim.1.gz
     rm -rf gvimdiff.1.gz ; ln -sf vimdiff.1.gz gvimdiff.1.gz
     rm -rf rgview.1.gz   ; ln -sf vim.1.gz rgview.1.gz
     rm -rf rgvim.1.gz    ; ln -sf vim.1.gz rgvim.1.gz
   )
}

attributes() {
   chown -R root.bin $PKG/package-xvim/usr/bin
}

special() {
   cd $PKG
   mv package-xvim/* ./
   rmdir package-xvim

   cd $CTL
   cat $CWD/slack-desc.xvim > slack-desc
   sed -e 's%package-xvim/%%' doinst.sh > doinst.sh.new
   cat doinst.sh.new > doinst.sh
   rm doinst.sh.new

   cat >> doinst.sh << EOF
#!/bin/sh
# If there's no vi link, take over:
if [ ! -r usr/bin/vi ]; then
  ( cd usr/bin ; ln -sf vim vi )
fi
EOF
}

