From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Benc Subject: Re: [PATCH] Add nvi Date: Tue, 02 Sep 2014 11:58:59 +0200 Message-ID: <540594E3.10008@gmail.com> References: <54047591.9080902@gmail.com> <8761h6sac7.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41819) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XOkt6-0007wK-BC for guix-devel@gnu.org; Tue, 02 Sep 2014 06:00:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XOksv-0006Oa-Ov for guix-devel@gnu.org; Tue, 02 Sep 2014 06:00:32 -0400 In-Reply-To: <8761h6sac7.fsf@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: =?UTF-8?B?THVkb3ZpYyBDb3VydMOocw==?= 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 .) 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 * 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 +;;; +;;; 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 . + +(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 --