*BSD News Article 28834


Return to BSD News archive

Xref: sserve comp.unix.bsd:13669 comp.unix.solaris:13914
Path: sserve!newshost.anu.edu.au!munnari.oz.au!metro!news.cs.su.oz.au!harbinger.cc.monash.edu.au!aggedor.rmit.EDU.AU!goanna.cs.rmit.oz.au!yallara!lm
From: lm@yallara.cs.rmit.OZ.AU (Luke Mewburn)
Newsgroups: comp.unix.bsd,comp.unix.solaris
Subject: solaris 2.3 port for nvi...
Date: 23 Mar 1994 07:12:19 GMT
Organization: Technical Services Group, Dept. of Computer Science, RMIT
Lines: 337
Distribution: inet
Message-ID: <2moq4j$p2a@goanna.cs.rmit.oz.au>
Reply-To: lm@rmit.edu.au
NNTP-Posting-Host: yallara.cs.rmit.oz.au
NNTP-Posting-User: lm

Having grabbed nvi-1.03 (the BSD4.4 freely distributable new-vi) from
ftp.cs.berkeley.edu I proceeded to port it to solaris 2.3.

There is a 2.2 port shipped with the source, but unfortunately, it uses
the UCB shared libraries, which I refuse to compile with if I can avoid it.

After a bit of hacking around, (and whipping up an interface to uname()
called gethostname() :), I got it working. But, it suffered from the `slow
scrolling' problem that is mentioned in the docs. So, I included the version
of curses shipped with nvi, and added the termcap routines from BSD Net/2
(because they work with nvi/curses, unlike 2.3's -ltermlib), and it works
great.


I've sent the port off to Keith Bostic, but I'm posting it here as well
for others to use.

Luke.

PS: it should work on 2.2 as well - try this port rather than the one
shipped with nvi.


--- cut here --- file: solaris.2.3.tar.gz.uu
begin 600 solaris.2.3.tar.gz
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
8^YG]S'YF/[.?V<]_X\__ _NO.#  \   
 
end
--- cut here ---

-- 
Luke Mewburn			Programmer, Technical Services Group,
Email: <lm@rmit.edu.au>		Department of Computer Science, RMIT,
Phone: +61 3 660 3210		Melbourne, Victoria, Australia.