diff options
Diffstat (limited to 'development/ex-vi/ex-vi.SlackBuild')
-rw-r--r-- | development/ex-vi/ex-vi.SlackBuild | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/development/ex-vi/ex-vi.SlackBuild b/development/ex-vi/ex-vi.SlackBuild index 9d7d5324fe..48963c40b4 100644 --- a/development/ex-vi/ex-vi.SlackBuild +++ b/development/ex-vi/ex-vi.SlackBuild @@ -6,9 +6,30 @@ # Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. +# 20150331 bkw: build 2 +# Increase TUBE* constants in config.h to allow for larger terminals. + +# vi has hardcoded terminal size limits of 160 columns and 100 lines. +# These days it's not unusual to have a 1920x1080 framenbuffer with 8x16 +# console font, for 240x67 characters. Increase limits here. Doing so uses +# TUBESIZE bytes of memory at startup, and another TUBESIZE bytes every +# time you switch from ex mode to visual mode, so let's not get too crazy +# with the cheez whiz. The real problem is TUBECOLS (the width): if the +# terminal exceeds this, you get 'Terminal too wide' and are stuck in ex +# mode. Exceeding TUBELINES just means vi ignores the extra lines at the +# bottom of the terminal. + +# Default to 320x200, which would be enough for a 8x16 console font on a +# WQXGA 2560x1600 display, or a 2/3-width full-height X terminal on 4K +# UHDTV (3840x2160). If I don't make this configurable, someone will +# need it to be. So: +TUBECOLS=${TUBECOLS:-320} +TUBELINES=${TUBELINES:-200} + +# We now return you to your regularly scheduled programming: PRGNAM=ex-vi VERSION=${VERSION:-050325} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -55,10 +76,16 @@ find -L . \ \( -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 +# 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 +# Apologies for the fugly sed code here. It works, though. +sed -i -e "/^#define/s,\\(TUBESIZE *\\).*$,\\1 $(( TUBECOLS * TUBELINES ))," \ + -e "/^#define/s,\\(TUBECOLS *\\).*$,\\1 $TUBECOLS," \ + -e "/^#define/s,\\(TUBELINES *\\).*$,\\1 $TUBELINES," \ + config.h + # 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 \ |