On 09/02/2014 02:29 PM, Ludovic Courtès wrote:
Marek Benc <merku...@gmail.com> skribis:

On 09/02/2014 10:19 AM, Ludovic Courtès wrote:
[...]

Shouldn’t it be
https://sites.google.com/a/bostic.com/keithbostic/files/... ?  (This is
the URL given on the home page.)
Actually, no. The actual home page, according to Debain, is
http://www.kotnet.org/~skimo/nvi/ ; However, that site is dead. I've
looked at what other distributions report and they say
https://sites.google.com/a/bostic.com/keithbostic/vi is currently the
home of nvi. Unfortunately, they don't provide the latest version of
the editor (there's even a bug in the build system of that version),
so I had to look somewhere else to get the newest one, which I found
at Slackbuilds and some other places, like the Debian source
repository.
In that case please leave the sites.google.com home page, with a comment
above the source URL stating that sites.google.com is stale etc.

I think I'll remove the website from the definition, as it'll cause
confusion (It confused even me).
+    (license bsd-3)))
This is actually bsd-4 (see its ‘LICENSE’ file: it has the four clauses,
as shown at <http://directory.fsf.org/wiki/License:BSD_4Clause>.)
Really? I see there only 3 clauses, here's a listing of the LICENSE file:
I was looking at nvi-1.79/LICENSE and nvi-1.79/regex/COPYRIGHT, which
both contain the 4-clause text.  It’s surprising that the newer version
no longer has the fourth clause.

Which version do Trisquel or Debian ship?  What does their ‘copyright’
file says?

Debian Stable ships with 1.81.6, with some additional patches (which I might eventually add in, we'llsee). The license there is BSD-3 as well, I'll enclose the copyright file as an attachment.

Okay, now that that's out of the way, here's the updated patch:

2014-09-02  Marek Benc  <merku...@gmail.com>
For the subject line, use “gnu: Add nvi.”

* gnu/packages/nvi.scm: Add the nvi editor.
* gnu/packages/patches/nvi-assume-preserve-path.patch: Assume nvi can
store backups in /var/tmp.
In both cases, “New file.” is enough (try ‘git log’ to see examples.)

The files also need to be added to gnu-system.am.

Ah, there it is. I was actually searching for this file, thinking it would be Makefile.am in some subdirectory, but I couldn't find it.


Could you send the patch (with the added comments) as an attachment,
because the mail client apparently mangled it?

Okay, It's as an attachment. Here's the changelog entries:

2014-09-02 Marek Benc <merku...@gmail.com>
* gnu/packages/nvi.scm: New file.
* gnu/packages/patches/nvi-assume-preserve-path.patch: New file.
* gnu-system.am: Added the preceding 2 files.


Thanks,
Ludo’.

Format-Specification: http://wiki.debian.org/Proposals/CopyrightFormat
Upstream-Name: nvi
Upstream-Maintainer: Sven Verdoolaege <skimo...@kotnet.org>
Upstream-Source: http://www.kotnet.org/~skimo/nvi/devel/

Files: *
Copyright: Copyright (c) 1991, 1992, 1993, 1994, The Regents of the University 
of California.  All rights reserved.
  Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 
Keith Bostic.  All rights reserved.
  Copyright (c) 1993, Alan Richardson.  All rights reserved.
  Copyright (c) 1994, 1996, Rob Mayoff.  All rights reserved.
  Copyright (c) 1995, George V. Neville-Neil.  All rights reserved.
  Copyright (c) 1996, Rob Zimmermann.  All rights reserved.
  Copyright (c) 1996, 1999, 2000, Sven Verdoolaege.  All rights reserved.
  Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 
2007, Free Software Foundation, Inc.
License: BSD-3
  The following are the copyrights and redistribution conditions that apply
  to this copy of the Vi software.
  
  /*
   * Copyright (c) 1991, 1992, 1993, 1994
   *      The Regents of the University of California.  All rights reserved.
   *  Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
   *    Keith Bostic.  All rights reserved.
   *  Copyright (c) 1999, 2000
   *    Sven Verdoolaege.  All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in the
   *    documentation and/or other materials provided with the distribution.
   * 3. Neither the name of the University nor the names of its contributors
   *    may be used to endorse or promote products derived from this software
   *    without specific prior written permission.
   *
   * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   */
  
  (The files in the clib/ subdirectory bear a BSD-4 license header, yet the
  only copyright holder of those files is the University of California,
  Berkeley, which removed the ad-clause in 1997 retroactively (i.e. it
  relicensed all BSD-4 code under its copyright to BSD-3). Thus those files
  are effectively distributed under the BSD-3 license as well.)

Files: regex/*
Copyright: Copyright (c) 1992, 1993, 1994, Henry Spencer.  All rights reserved.
  Copyright (c) 1994, The Regents of the University of California.  All rights 
reserved.
License: other, BSD-3
  Original license terms by Henry Spencer:

  This software is not subject to any license of the American Telephone
  and Telegraph Company or of the Regents of the University of California.

  Permission is granted to anyone to use this software for any purpose on
  any computer system, and to alter it and redistribute it, subject
  to the following restrictions:

  1. The author is not responsible for the consequences of use of this
     software, no matter how awful, even if they arise from flaws in it.

  2. The origin of this software must not be misrepresented, either by
     explicit claim or by omission.  Since few users ever read sources,
     credits must appear in the documentation.

  3. Altered versions must be plainly marked as such, and must not be
     misrepresented as being the original software.  Since few users
     ever read sources, credits must appear in the documentation.

  4. This notice may not be removed or altered.

  Subsequent modifications made by UCB are covered by BSD-3:

  =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  /*-
   * Copyright (c) 1994
   *    The Regents of the University of California.  All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in the
   *    documentation and/or other materials provided with the distribution.
   * 3. All advertising materials mentioning features or use of this software
   *    must display the following acknowledgement:
   *    This product includes software developed by the University of
   *    California, Berkeley and its contributors.
   * 4. Neither the name of the University nor the names of its contributors
   *    may be used to endorse or promote products derived from this software
   *    without specific prior written permission.
   *
   * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   *
   *    @(#)COPYRIGHT   8.1 (Berkeley) 3/16/94
   */

Files: debian/*
Copyright: Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 
2005, 2006, Steve Greenland.
  Copyright (c) 2008, 2009, Jan Christoph Nordholz.
License: GAP
  Copying and distribution of this file, with or without modification,
  are permitted in any medium without royalty provided the copyright
  notice and this notice are preserved.
>From ffe65745b5cfe8a5a03cd56f3fa7069f2c4b83b3 Mon Sep 17 00:00:00 2001
From: Marek Benc <merku...@gmail.com>
Date: Tue, 2 Sep 2014 15:18:20 +0200
Subject: [PATCH] gnu: Add nvi.

---
 gnu-system.am                                      |    2 +
 gnu/packages/nvi.scm                               |   68 ++++++++++++++++++++
 .../patches/nvi-assume-preserve-path.patch         |   30 +++++++++
 3 files changed, 100 insertions(+)
 create mode 100644 gnu/packages/nvi.scm
 create mode 100644 gnu/packages/patches/nvi-assume-preserve-path.patch

diff --git a/gnu-system.am b/gnu-system.am
index e439f51..a3f04ec 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -180,6 +180,7 @@ GNU_SYSTEM_MODULES =				\
   gnu/packages/nettle.scm			\
   gnu/packages/node.scm				\
   gnu/packages/noweb.scm			\
+  gnu/packages/nvi.scm                          \
   gnu/packages/ocaml.scm			\
   gnu/packages/ocrad.scm			\
   gnu/packages/onc-rpc.scm			\
@@ -351,6 +352,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/mit-krb5-init-fix.patch			\
   gnu/packages/patches/mpc123-initialize-ao.patch		\
   gnu/packages/patches/module-init-tools-moduledir.patch	\
+  gnu/packages/patches/nvi-assume-preserve-path.patch           \
   gnu/packages/patches/orpheus-cast-errors-and-includes.patch	\
   gnu/packages/patches/patchelf-page-size.patch			\
   gnu/packages/patches/patchutils-xfail-gendiff-tests.patch	\
diff --git a/gnu/packages/nvi.scm b/gnu/packages/nvi.scm
new file mode 100644
index 0000000..c756737
--- /dev/null
+++ b/gnu/packages/nvi.scm
@@ -0,0 +1,68 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Marek Benc <merku...@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages nvi)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages bdb)
+  #:use-module (gnu packages ncurses)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix licenses))
+
+(define-public nvi
+  (package
+    (name "nvi")
+    (version "1.81.6")
+    (source
+      (origin
+        (method url-fetch)
+        (uri          ;; sites.google.coma/bostic.com/keithbostic/vi is stale.
+          (string-append "http://harrier.slackbuilds.org/misc/nvi-"; version
+                         ".tar.bz2"))
+        (sha256
+          (base32 "0nbbs1inyrqds0ywn3ln5slv54v5zraq7lszkg8nsavv4kivhh9l"))
+        (patches (list (search-patch "nvi-assume-preserve-path.patch")))
+        (snippet
+          ;; Create a wrapper for the configure script, make it executable.
+          '(let ((conf-wrap (open-output-file "configure")))
+             (display "#!/bin/sh" conf-wrap)          
+             (newline conf-wrap)
+             (display
+               "../nvi-1.81.6/dist/configure --srcdir=../nvi-1.81.6/dist $@"
+               conf-wrap)      
+             (newline conf-wrap)
+             (close-output-port conf-wrap)
+             (chmod "configure" #o0755)))))
+
+    (build-system gnu-build-system)
+    (arguments
+      `(#:out-of-source? #t))
+    (inputs
+      `(("bdb" ,bdb)
+        ("ncurses" ,ncurses)))
+    (synopsis "The Berkeley Vi Editor")
+    (description
+      "Vi is the original screen based text editor for Unix systems.  It is
+considered the standard text editor, and is available on almost all Unix
+systems.  Nvi is intended as a \"bug-for-bug compatible\" clone of the original
+BSD vi editor.  As such, it doesn't have a lot of snazzy features as do some
+of the other vi clones such as elvis and vim.  However, if all you want is vi,
+this is the one to get.")
+    (home-page "https://sites.google.com/a/bostic.com/keithbostic/vi";)
+    (license bsd-3)))
diff --git a/gnu/packages/patches/nvi-assume-preserve-path.patch b/gnu/packages/patches/nvi-assume-preserve-path.patch
new file mode 100644
index 0000000..3a406ec
--- /dev/null
+++ b/gnu/packages/patches/nvi-assume-preserve-path.patch
@@ -0,0 +1,30 @@
+Make configure assume nvi can store backups in /var/tmp
+
+--- a/dist/configure	2014-09-01 14:46:01.075778095 +0200
++++ b/dist/configure	2014-09-01 14:52:08.411790122 +0200
+@@ -21319,23 +21319,8 @@
+ if test "${vi_cv_path_preserve+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+-  	dirlist="/var/preserve /var/tmp /usr/tmp"
+-	vi_cv_path_preserve=no
+-	for i in $dirlist; do
+-		if test -d $i/vi.recover; then
+-			vi_cv_path_preserve=$i/vi.recover
+-			break;
+-		fi
+-	done
+-	if test "$vi_cv_path_preserve" = no; then
+-		for i in $dirlist; do
+-			if test -d $i -a -w $i; then
+-				vi_cv_path_preserve=$i/vi.recover
+-				break;
+-			fi
+-		done
+-
+-	fi
++#	Assume /var/tmp
++	vi_cv_path_preserve=/var/tmp/vi.recover
+ fi
+ 
+ if test "$vi_cv_path_preserve" = no; then
-- 
1.7.10.4

Reply via email to