development/ex-vi: Added (traditional vi).

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
B. Watson 2014-06-21 08:41:55 +07:00 committed by Willy Sudiarto Raharjo
parent 0642c4778d
commit 28eaaa1258
8 changed files with 187 additions and 0 deletions

14
development/ex-vi/README Normal file
View file

@ -0,0 +1,14 @@
ex-vi (traditional vi)
Bill Joy's original vi for UNIX.
This port of vi has generally preserved the original style, terminal
control, and feature set. It adds support for international character
sets, including multibyte encodings such as UTF-8, and some minor
enhancements that were not present in BSD vi 3.7, but had been included
in later vi versions for System V or in POSIX.2.
The "Introduction to Display Editing with Vi" mentioned in the man page
can be found at: http://ex-vi.sourceforge.net/viin/paper.html
See README_Slackware.txt for Slack-specific details about this build.

View file

@ -0,0 +1,11 @@
To avoid conflicting with Slackware's elvis and vim packages, this build
installs binaries to /opt/ex-vi/bin and man pages to /opt/ex-vi/man,
along with a script in /etc/profile.d to prepend these paths to PATH and
MANPATH. If you *really* want, you can replace the /usr/bin/vi symlink
(that normally points to elvis or vim), but it shouldn't be necessary.
After installing, either log out & back in, or "source
/etc/profile.d/ex-vi.sh". To temporarily disable the scripts, remove
their execute bits. Users can always set PATH and MANPATH in their own
dotfiles, of course.

View file

@ -0,0 +1,26 @@
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...
}
preserve_perms() {
NEW="$1"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
if [ -e $OLD ]; then
cp -a $OLD ${NEW}.incoming
cat $NEW > ${NEW}.incoming
mv ${NEW}.incoming $NEW
fi
config $NEW
}
preserve_perms etc/profile.d/ex-vi.sh.new
preserve_perms etc/profile.d/ex-vi.csh.new

View file

@ -0,0 +1,90 @@
#!/bin/sh
# Slackware build script for ex-vi
# Written by B. Watson (yalhcru@gmail.com)
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
PRGNAM=ex-vi
VERSION=${VERSION:-050325}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
TARNAME=ex
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $TARNAME-$VERSION
tar xvf $CWD/$TARNAME-$VERSION.tar.bz2
cd $TARNAME-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# don't install the binary with the sticky bit set. It doesn't do anything
# on Linux, and might set off alarm bells.
sed -i 's,-m 1755,-m 755,' Makefile
# To avoid conflicts with Slackware's elvis and/or vim, we install to /opt and
# include a login script to set PATH and MANPATH.
make all install \
CC="gcc $SLKCFLAGS" \
MANDIR=/opt/$PRGNAM/man \
PREFIX=/opt/$PRGNAM \
INSTALL=install \
DESTDIR=$PKG
# binary already stripped, yay
find $PKG/opt/$PRGNAM/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/opt/$PRGNAM/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/etc/profile.d
install -m0755 -oroot -groot $CWD/$PRGNAM.sh.new $PKG/etc/profile.d
install -m0755 -oroot -groot $CWD/$PRGNAM.csh.new $PKG/etc/profile.d
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a Changes LICENSE README TODO $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/README_Slackware.txt > $PKG/usr/doc/$PRGNAM-$VERSION/README_Slackware.txt
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View file

@ -0,0 +1,7 @@
#!/bin/csh
# Login script for SlackBuilds.org ex-vi, csh-flavoured edition.
# The /opt stuff is prepended, so it takes precedence over /usr.
set path = ( /opt/ex-vi/bin $path )
setenv MANPATH /opt/ex-vi/man:$MANPATH

View file

@ -0,0 +1,10 @@
PRGNAM="ex-vi"
VERSION="050325"
HOMEPAGE="http://ex-vi.sourceforge.net/"
DOWNLOAD="http://downloads.sourceforge.net/project/ex-vi/ex-vi/050325/ex-050325.tar.bz2"
MD5SUM="e668595254233e4d96811083a3e4e2f3"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="B. Watson"
EMAIL="yalhcru@gmail.com"

View file

@ -0,0 +1,10 @@
#!/bin/sh
# Login script for SlackBuilds.org ex-vi, Bourne-flavoured edition.
# The /opt stuff is prepended, so it takes precedence over /usr.
PATH=/opt/ex-vi/bin:$PATH
MANPATH=/opt/ex-vi/man:$MANPATH
export PATH
export MANPATH

View file

@ -0,0 +1,19 @@
# 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 ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
ex-vi: ex-vi (traditional vi)
ex-vi:
ex-vi: Bill Joy's original vi for UNIX.
ex-vi:
ex-vi: This port of vi has generally preserved the original style, terminal
ex-vi: control, and feature set. It adds support for international character
ex-vi: sets, including multibyte encodings such as UTF-8, and some minor
ex-vi: enhancements that were not present in BSD vi 3.7, but had been
ex-vi: included in later vi versions for System V or in POSIX.2.
ex-vi:
ex-vi: