#!/bin/sh # Set initial variables: CWD=`pwd` if [ "$TMP" = "" ]; then TMP=/tmp fi VIMVER=6.3 CTAGSVER=5.5.2 # This is the directory in the VIM source archive to cd into. DIRVER=63 ARCH=${ARCH:-i486} BUILD=1 PKG=$TMP/package-xvim rm -rf $PKG mkdir -p $PKG # Determine VIM patchlevel: PATCHLEVEL=`ls $CWD/patches/* | tail -1 | cut -f 3 -d . 2> /dev/null` if [ "$PATCHLEVEL" = "" ]; then PATCHLEVEL=0 fi # ctags was once a part of vim, # but now we have to bundle it in cd $TMP rm -rf ctags-$CTAGSVER tar xzvf $CWD/ctags-$CTAGSVER.tar.gz cd ctags-$CTAGSVER chown -R root.root . CFLAGS=-O2 \ ./configure \ --prefix=/usr \ $ARCH-slackware-linux make mkdir -p $PKG/usr/bin cat ctags > $PKG/usr/bin/ctags chmod 755 $PKG/usr/bin/ctags mkdir -p $PKG/usr/man/man1 cat ctags.1 | gzip -9c > $PKG/usr/man/man1/ctags.1.gz mkdir -p $PKG/usr/doc/ctags-$CTAGSVER cp -a \ COPYING EXTENDING.html FAQ INSTALL INSTALL.oth NEWS README \ $PKG/usr/doc/ctags-$CTAGSVER chmod 644 $PKG/usr/doc/ctags-$CTAGSVER/* echo "+=========================+" echo "| vim-$VIMVER (X/GTK version) |" echo "+=========================+" cd $TMP rm -rf vim$DIRVER tar xjvf $CWD/vim-$VIMVER.tar.bz2 tar xjvf $CWD/vim-$VIMVER-lang.tar.bz2 # build the X version of vim with Gtk toolkit cd $TMP/vim$DIRVER chown -R root.root . # Ignore any error if patches do not exist... for file in $CWD/patches/* ; do ( zcat $file | patch -p0 --verbose --batch ) done CFLAGS=-O2 \ ./configure \ --prefix=/usr \ --with-x \ --enable-gui=gtk2 \ --with-features=big \ $ARCH-slackware-linux make make install DESTDIR=$PKG rm -rf $PKG/usr/man/man1/{etags,ex,rview,rvim,view}.1 ( cd $PKG/usr/man/man1 ; ln -sf vim.1.gz ex.1.gz ) ( cd $PKG/usr/man/man1 ; ln -sf vim.1.gz rview.1.gz ) ( cd $PKG/usr/man/man1 ; ln -sf vim.1.gz rvim.1.gz ) ( cd $PKG/usr/man/man1 ; ln -sf vim.1.gz view.1.gz ) gzip -9 $PKG/usr/man/man1/*.1 ( cd $PKG/usr/bin ; rm -rf ex ) ( cd $PKG/usr/bin ; ln -sf vim ex ) ( cd $PKG/usr/bin ; rm -rf rview ) ( cd $PKG/usr/bin ; ln -sf vim rview ) ( cd $PKG/usr/bin ; rm -rf rvim ) ( cd $PKG/usr/bin ; ln -sf vim rvim ) ( cd $PKG/usr/bin ; rm -rf view ) ( cd $PKG/usr/bin ; ln -sf vim view ) ( cd $PKG/usr/bin ; rm -rf eview ) ( cd $PKG/usr/bin ; ln -sf vim eview ) ( cd $PKG/usr/bin ; rm -rf evim ) ( cd $PKG/usr/bin ; ln -sf vim evim ) # Clean up those manpage links: ( cd $PKG/usr/man/man1 ; rm -rf ex.1.gz ) ( cd $PKG/usr/man/man1 ; ln -sf vim.1.gz ex.1.gz ) ( cd $PKG/usr/man/man1 ; rm -rf eview.1.gz ) ( cd $PKG/usr/man/man1 ; ln -sf evim.1.gz eview.1.gz ) ( cd $PKG/usr/man/man1 ; rm -rf gview.1.gz ) ( cd $PKG/usr/man/man1 ; ln -sf vim.1.gz gview.1.gz ) ( cd $PKG/usr/man/man1 ; rm -rf gvim.1.gz ) ( cd $PKG/usr/man/man1 ; ln -sf vim.1.gz gvim.1.gz ) ( cd $PKG/usr/man/man1 ; rm -rf gvimdiff.1.gz ) ( cd $PKG/usr/man/man1 ; ln -sf vimdiff.1.gz gvimdiff.1.gz ) ( cd $PKG/usr/man/man1 ; rm -rf rview.1.gz ) ( cd $PKG/usr/man/man1 ; ln -sf vim.1.gz rview.1.gz ) ( cd $PKG/usr/man/man1 ; rm -rf rvim.1.gz ) ( cd $PKG/usr/man/man1 ; ln -sf vim.1.gz rvim.1.gz ) ( cd $PKG/usr/man/man1 ; rm -rf view.1.gz ) ( cd $PKG/usr/man/man1 ; ln -sf vim.1.gz view.1.gz ) ( cd $PKG/usr/man/man1 ; rm -rf rgview.1.gz ) ( cd $PKG/usr/man/man1 ; ln -sf vim.1.gz rgview.1.gz ) ( cd $PKG/usr/man/man1 ; rm -rf rgvim.1.gz ) ( cd $PKG/usr/man/man1 ; ln -sf vim.1.gz rgvim.1.gz ) # Nuke any bunk links: rm -f $PKG/usr/man/man1/*.1 # Endclean :) mkdir -p $PKG/usr/doc/vim-$VIMVER cp -a README.txt $PKG/usr/doc/vim-$VIMVER find $PKG/usr/doc/vim-$VIMVER -type f | xargs chmod 644 ( cd $PKG/usr/doc/vim-$VIMVER ; rm -rf doc ) ( cd $PKG/usr/doc/vim-$VIMVER ; ln -sf /usr/share/vim/vim$DIRVER doc ) mkdir -p $PKG/install cat $CWD/slack-desc.xvim > $PKG/install/slack-desc zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh chown -R root.bin $PKG/usr/bin ( 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 ) cd $PKG makepkg -l y -c n $TMP/xvim-$VIMVER.$PATCHLEVEL-$ARCH-$BUILD.tgz