unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] Add nvi
@ 2014-09-01 13:33 Marek Benc
  2014-09-02  8:19 ` Ludovic Courtès
  2014-09-02 10:09 ` Cyril Roelandt
  0 siblings, 2 replies; 10+ messages in thread
From: Marek Benc @ 2014-09-01 13:33 UTC (permalink / raw)
  To: Guix-devel

Disregard my previous email, I figured it out.

Here is my favorite text editor. This is my first package, so I'm sorry 
if I messed up somewhere.
The formatting is probably bad, but every package seemed to be formatted 
slightly differently, so I don't know.

--- a/gnu/packages/nvi.scm    2014-09-01 15:22:45.219850258 +0200
+++ b/gnu/packages/nvi.scm    2014-09-01 15:01:29.791808501 +0200
@@ -0,0 +1,70 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Marek Benc <merkur32@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
+          (string-append "http://harrier.slackbuilds.org/misc/nvi-" version
+                         ".tar.bz2"))
+        (sha256
+          (base32 "0nbbs1inyrqds0ywn3ln5slv54v5zraq7lszkg8nsavv4kivhh9l"))
+        (patches (list
+                   ;; Assume the preserve path is /var/tmp
+                   (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)))

--- a/gnu/packages/patches/nvi-assume-preserve-path.patch 2014-09-01 
15:22:45.219850258 +0200
+++ b/gnu/packages/patches/nvi-assume-preserve-path.patch 2014-09-01 
15:03:50.395813104 +0200
@@ -0,0 +1,28 @@
+--- 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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] Add nvi
  2014-09-01 13:33 [PATCH] Add nvi Marek Benc
@ 2014-09-02  8:19 ` Ludovic Courtès
  2014-09-02  9:58   ` Marek Benc
  2014-09-02 10:09 ` Cyril Roelandt
  1 sibling, 1 reply; 10+ messages in thread
From: Ludovic Courtès @ 2014-09-02  8:19 UTC (permalink / raw)
  To: Marek Benc; +Cc: Guix-devel

Hi!

Marek Benc <merkur32@gmail.com> skribis:

> Disregard my previous email, I figured it out.

OK, perfect.  :-)

> Here is my favorite text editor. This is my first package, so I'm
> sorry if I messed up somewhere.
> The formatting is probably bad, but every package seemed to be
> formatted slightly differently, so I don't know.

Formatting looks good.  I’m just reporting a few minor issues below.

Could you send an updated patch in the format produced by ‘git
format-patch’, and with a ChangeLog-style commit log?  See “Submitting
Patches” in the ‘HACKING’ file for details.

> +        (uri
> +          (string-append "http://harrier.slackbuilds.org/misc/nvi-" version
> +                         ".tar.bz2"))

Shouldn’t it be
https://sites.google.com/a/bostic.com/keithbostic/files/... ?  (This is
the URL given on the home page.)

> +    (arguments
> +      `(#:out-of-source? '(#t)))

Just:

  `(#:out-of-source? #t)

> +    (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>.)

> --- a/gnu/packages/patches/nvi-assume-preserve-path.patch 2014-09-01
> 15:22:45.219850258 +0200
> +++ b/gnu/packages/patches/nvi-assume-preserve-path.patch 2014-09-01
> 15:03:50.395813104 +0200
> @@ -0,0 +1,28 @@
> +--- a/dist/configure    2014-09-01 14:46:01.075778095 +0200
> ++++ b/dist/configure    2014-09-01 14:52:08.411790122 +0200

Please add a sentence or two at the beginning of the file saying what it
does and why.  (You can remove the comment above ‘search-patch’ in
nvi.scm.)

Thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] Add nvi
  2014-09-02  8:19 ` Ludovic Courtès
@ 2014-09-02  9:58   ` Marek Benc
  2014-09-02 12:29     ` Ludovic Courtès
  0 siblings, 1 reply; 10+ messages in thread
From: Marek Benc @ 2014-09-02  9:58 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Guix-devel



On 09/02/2014 10:19 AM, Ludovic Courtès wrote:
> Hi!
Hello,
> Could you send an updated patch in the format produced by ‘git 
> format-patch’, and with a ChangeLog-style commit log? See “Submitting 
> Patches” in the ‘HACKING’ file for details. 
Will do.
>> +        (uri
>> +          (string-append "http://harrier.slackbuilds.org/misc/nvi-" version
>> +                         ".tar.bz2"))
> 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.

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:

/*-
  * $Id: LICENSE,v 8.17 2000/08/18 14:58:41 bostic Exp $ (Sleepycat) 
$Date: 2000/
08/18 14:58:41 $
  */

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.
  */



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

2014-09-02  Marek Benc  <merkur32@gmail.com>
* gnu/packages/nvi.scm: Add the nvi editor.
* gnu/packages/patches/nvi-assume-preserve-path.patch: Assume nvi can 
store backups in /var/tmp.
---
  gnu/packages/nvi.scm                               |   68 
++++++++++++++++++++
  .../patches/nvi-assume-preserve-path.patch         |   30 +++++++++
  2 files changed, 98 insertions(+)
  create mode 100644 gnu/packages/nvi.scm
  create mode 100644 gnu/packages/patches/nvi-assume-preserve-path.patch

diff --git a/gnu/packages/nvi.scm b/gnu/packages/nvi.scm
new file mode 100644
index 0000000..7553006
--- /dev/null
+++ b/gnu/packages/nvi.scm
@@ -0,0 +1,68 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Marek Benc <merkur32@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
+          (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 "")
+    (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
--

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] Add nvi
  2014-09-01 13:33 [PATCH] Add nvi Marek Benc
  2014-09-02  8:19 ` Ludovic Courtès
@ 2014-09-02 10:09 ` Cyril Roelandt
  2014-09-02 10:18   ` Taylan Ulrich Bayirli/Kammer
  2014-09-02 12:18   ` Ludovic Courtès
  1 sibling, 2 replies; 10+ messages in thread
From: Cyril Roelandt @ 2014-09-02 10:09 UTC (permalink / raw)
  To: guix-devel

On 09/01/2014 03:33 PM, Marek Benc wrote:
> Disregard my previous email, I figured it out.
> 
> Here is my favorite text editor. This is my first package, so I'm sorry 
> if I messed up somewhere.
> The formatting is probably bad, but every package seemed to be formatted 
> slightly differently, so I don't know.
> 
> --- a/gnu/packages/nvi.scm    2014-09-01 15:22:45.219850258 +0200

Maybe we should have all vi-like editors in one file. We currently have
vim in gnu/packages/vim.scm, maybe we should have both nvi and vim in
gnu/packages/vi.scm, WDYT ?


Cyril.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] Add nvi
  2014-09-02 10:09 ` Cyril Roelandt
@ 2014-09-02 10:18   ` Taylan Ulrich Bayirli/Kammer
  2014-09-02 12:21     ` Ludovic Courtès
  2014-09-02 12:18   ` Ludovic Courtès
  1 sibling, 1 reply; 10+ messages in thread
From: Taylan Ulrich Bayirli/Kammer @ 2014-09-02 10:18 UTC (permalink / raw)
  To: Cyril Roelandt; +Cc: guix-devel

Cyril Roelandt <tipecaml@gmail.com> writes:

> Maybe we should have all vi-like editors in one file. We currently have
> vim in gnu/packages/vim.scm, maybe we should have both nvi and vim in
> gnu/packages/vi.scm, WDYT ?

I think at least Vim is, on the meanwhile, a very different beast from
any random vi implementation.  (Don't know about nvi or others.)

Do we have any guidelines regarding what packages go in what files, or
is it determined on an "intuitive" basis?

Taylan

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] Add nvi
  2014-09-02 10:09 ` Cyril Roelandt
  2014-09-02 10:18   ` Taylan Ulrich Bayirli/Kammer
@ 2014-09-02 12:18   ` Ludovic Courtès
  1 sibling, 0 replies; 10+ messages in thread
From: Ludovic Courtès @ 2014-09-02 12:18 UTC (permalink / raw)
  To: Cyril Roelandt; +Cc: guix-devel

Cyril Roelandt <tipecaml@gmail.com> skribis:

> On 09/01/2014 03:33 PM, Marek Benc wrote:
>> Disregard my previous email, I figured it out.
>> 
>> Here is my favorite text editor. This is my first package, so I'm sorry 
>> if I messed up somewhere.
>> The formatting is probably bad, but every package seemed to be formatted 
>> slightly differently, so I don't know.
>> 
>> --- a/gnu/packages/nvi.scm    2014-09-01 15:22:45.219850258 +0200
>
> Maybe we should have all vi-like editors in one file. We currently have
> vim in gnu/packages/vim.scm, maybe we should have both nvi and vim in
> gnu/packages/vi.scm, WDYT ?

Yes, definitely.  We can do this either before or after adding nvi.

Ludo’.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] Add nvi
  2014-09-02 10:18   ` Taylan Ulrich Bayirli/Kammer
@ 2014-09-02 12:21     ` Ludovic Courtès
  0 siblings, 0 replies; 10+ messages in thread
From: Ludovic Courtès @ 2014-09-02 12:21 UTC (permalink / raw)
  To: Taylan Ulrich Bayirli/Kammer; +Cc: guix-devel

Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com> skribis:

> Do we have any guidelines regarding what packages go in what files, or
> is it determined on an "intuitive" basis?

The latter.  :-)

That’s not ideal, but from my experience with Nixpkgs, it’s hard to find
a formal categorization scheme that would be really helpful.

Ludo’.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] Add nvi
  2014-09-02  9:58   ` Marek Benc
@ 2014-09-02 12:29     ` Ludovic Courtès
  2014-09-02 13:25       ` Marek Benc
  0 siblings, 1 reply; 10+ messages in thread
From: Ludovic Courtès @ 2014-09-02 12:29 UTC (permalink / raw)
  To: Marek Benc; +Cc: Guix-devel

Marek Benc <merkur32@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?

> Okay, now that that's out of the way, here's the updated patch:
>
> 2014-09-02  Marek Benc  <merkur32@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.

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

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] Add nvi
  2014-09-02 12:29     ` Ludovic Courtès
@ 2014-09-02 13:25       ` Marek Benc
  2014-09-02 19:36         ` Ludovic Courtès
  0 siblings, 1 reply; 10+ messages in thread
From: Marek Benc @ 2014-09-02 13:25 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Guix-devel

[-- Attachment #1: Type: text/plain, Size: 2817 bytes --]


On 09/02/2014 02:29 PM, Ludovic Courtès wrote:
> Marek Benc <merkur32@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  <merkur32@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 <merkur32@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’.


[-- Attachment #2: copyright --]
[-- Type: text/plain, Size: 6848 bytes --]

Format-Specification: http://wiki.debian.org/Proposals/CopyrightFormat
Upstream-Name: nvi
Upstream-Maintainer: Sven Verdoolaege <skimo-vi@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.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: nvi.patch --]
[-- Type: text/x-diff; name="nvi.patch", Size: 5433 bytes --]

From ffe65745b5cfe8a5a03cd56f3fa7069f2c4b83b3 Mon Sep 17 00:00:00 2001
From: Marek Benc <merkur32@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 <merkur32@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


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] Add nvi
  2014-09-02 13:25       ` Marek Benc
@ 2014-09-02 19:36         ` Ludovic Courtès
  0 siblings, 0 replies; 10+ messages in thread
From: Ludovic Courtès @ 2014-09-02 19:36 UTC (permalink / raw)
  To: Marek Benc; +Cc: Guix-devel

Marek Benc <merkur32@gmail.com> skribis:

> On 09/02/2014 02:29 PM, Ludovic Courtès wrote:

[...]

>> 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 <merkur32@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.

Actually, if you make the 3 lines above part of the commit log, ‘git
format-patch’ will preserve them, and so the patch will be directly
applicable with ‘git am’–which is better.  :-)

Anyway I’ve now pushed the patch, thanks!

[...]

>   (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.)

This seems to be the explanation: at some point UC Berkeley changed the
license to BSD-3, which it can do as the sole copyright holder.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-09-02 19:36 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-01 13:33 [PATCH] Add nvi Marek Benc
2014-09-02  8:19 ` Ludovic Courtès
2014-09-02  9:58   ` Marek Benc
2014-09-02 12:29     ` Ludovic Courtès
2014-09-02 13:25       ` Marek Benc
2014-09-02 19:36         ` Ludovic Courtès
2014-09-02 10:09 ` Cyril Roelandt
2014-09-02 10:18   ` Taylan Ulrich Bayirli/Kammer
2014-09-02 12:21     ` Ludovic Courtès
2014-09-02 12:18   ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).