nvi: 1.79 -> 1.81.6; unbreak; name -> pname
Most other distributions seem to use Debian as upstream, so let's do that too. There doesn't seem to be any extant homepage.
This commit is contained in:
parent
8f166b95c9
commit
35b4ca8dd5
1 changed files with 28 additions and 45 deletions
|
@ -1,56 +1,39 @@
|
|||
{ fetchurl, lib, stdenv, ncurses }:
|
||||
{ lib, stdenv, fetchurl, fetchpatch, ncurses, db }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "nvi-1.79";
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nvi";
|
||||
version = "1.81.6";
|
||||
|
||||
src = fetchurl {
|
||||
urls =
|
||||
[ "ftp://ftp.eenet.ee/pub/cpan/src/misc/nvi-1.79.tar.gz"
|
||||
"ftp://ftp.saintjoe.edu/pub/CPAN/src/misc/nvi-1.79.tar.gz"
|
||||
"ftp://ftp.free.fr/.mirrors1/ftp.netbsd.org/packages/distfiles/nvi-1.79.tar.gz"
|
||||
];
|
||||
sha256 = "0cvf56rbylz7ksny6g2256sjg8yrsxrmbpk82r64rhi53sm8fnvm";
|
||||
url = "https://deb.debian.org/debian/pool/main/n/nvi/nvi_${version}.orig.tar.gz";
|
||||
sha256 = "13cp9iz017bk6ryi05jn7drbv7a5dyr201zqd3r4r8srj644ihwb";
|
||||
};
|
||||
|
||||
buildInputs = [ ncurses ];
|
||||
patches = [
|
||||
# Fix runtime error with modern versions of db.
|
||||
(fetchpatch {
|
||||
url = "https://src.fedoraproject.org/rpms/nvi/raw/f33/f/nvi-03-db4.patch";
|
||||
sha256 = "1vpnly3dcldwl8gwl0jrh5yh0vhgbdhsh6xn7lnwhrawlvk6d55y";
|
||||
})
|
||||
|
||||
# nvi tries to write to a usual tmp directory (/var/tmp),
|
||||
# so we will force it to use /tmp.
|
||||
patchPhase = ''
|
||||
sed -i build/configure \
|
||||
-e s@vi_cv_path_preserve=no@vi_cv_path_preserve=/tmp/vi.recover@ \
|
||||
-e s@/var/tmp@@ \
|
||||
-e s@-lcurses@-lncurses@
|
||||
# Fix build with Glibc.
|
||||
(fetchpatch {
|
||||
url = "https://src.fedoraproject.org/rpms/nvi/raw/f33/f/nvi-20-glibc_has_grantpt.patch";
|
||||
sha256 = "1ypqj263wh53m5rgiag5c4gy1rksj2waginny1lcj34n72p2dsml";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [ ncurses db ];
|
||||
|
||||
preConfigure = ''
|
||||
cd build.unix
|
||||
'';
|
||||
configureScript = "../dist/configure";
|
||||
configureFlags = [ "vi_cv_path_preserve=/tmp" ];
|
||||
|
||||
configurePhase = ''
|
||||
mkdir mybuild
|
||||
cd mybuild
|
||||
../build/configure --prefix=$out --disable-curses
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/share/vi/catalog
|
||||
for a in dutch english french german ru_SU.KOI8-R spanish swedish; do
|
||||
cp ../catalog/$a $out/share/vi/catalog
|
||||
done
|
||||
cp nvi $out/bin/nvi
|
||||
ln -s $out/bin/nvi $out/bin/vi
|
||||
ln -s $out/bin/nvi $out/bin/ex
|
||||
ln -s $out/bin/nvi $out/bin/view
|
||||
|
||||
mkdir -p $out/share/man/man1
|
||||
cp ../docs/USD.doc/vi.man/vi.1 $out/share/man/man1/nvi.1
|
||||
ln -s $out/share/man/man1/nvi.1 $out/share/man/man1/vi
|
||||
ln -s $out/share/man/man1/nvi.1 $out/share/man/man1/ex
|
||||
ln -s $out/share/man/man1/nvi.1 $out/share/man/man1/view
|
||||
ln -s $out/bin/{,vi-}nvi # create a symlink so that all vi(m) users will find it
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "http://www.bostic.com/vi/";
|
||||
meta = with lib; {
|
||||
description = "The Berkeley Vi Editor";
|
||||
license = lib.licenses.free;
|
||||
broken = true; # since 2020-02-08
|
||||
license = licenses.free;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue