GNU bug report logs - #51067
[PATCH] gnu: Add traditional vi (ex-vi)

Previous Next

Package: guix-patches;

Reported by: Foo Chuan Wei <chuanwei.foo <at> hotmail.com>

Date: Thu, 7 Oct 2021 06:09:02 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 51067 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#51067; Package guix-patches. (Thu, 07 Oct 2021 06:09:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Foo Chuan Wei <chuanwei.foo <at> hotmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 07 Oct 2021 06:09:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Foo Chuan Wei <chuanwei.foo <at> hotmail.com>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: Add traditional vi (ex-vi)
Date: Thu, 7 Oct 2021 05:46:33 +0000
* gnu/packages/text-editors.scm (ex-vi): New public variable.
---
 gnu/packages/patches/ex-vi-makefile.patch | 53 +++++++++++++++++++++++
 gnu/packages/text-editors.scm             | 30 +++++++++++++
 2 files changed, 83 insertions(+)
 create mode 100644 gnu/packages/patches/ex-vi-makefile.patch

diff --git a/gnu/packages/patches/ex-vi-makefile.patch b/gnu/packages/patches/ex-vi-makefile.patch
new file mode 100644
index 0000000000..d835eb981d
--- /dev/null
+++ b/gnu/packages/patches/ex-vi-makefile.patch
@@ -0,0 +1,53 @@
+diff -ur ex-050325-orig/Makefile ex-050325/Makefile
+--- ex-050325-orig/Makefile
++++ ex-050325/Makefile
+@@ -75,11 +75,13 @@
+ #	@(#)Makefile	1.50 (gritter) 2/20/05
+ #
+ 
++CC = gcc
++
+ #
+ # Destinations for installation. $(PRESERVEDIR) is used for recovery files.
+ # It will get mode 1777.
+ #
+-PREFIX		= /usr/local
++PREFIX		= ${out}
+ BINDIR		= $(PREFIX)/bin
+ LIBEXECDIR	= $(PREFIX)/libexec
+ MANDIR		= $(PREFIX)/share/man
+@@ -94,7 +96,7 @@
+ #
+ # A BSD-like install program. GNU install will fit well here, too.
+ #
+-INSTALL		= /usr/ucb/install
++INSTALL		= install
+ 
+ #
+ # Compiler and linker flags.
+@@ -205,13 +207,13 @@
+ #
+ # You may also get terminfo access by using the ncurses library.
+ #
+-#TERMLIB	= ncurses
++TERMLIB	= ncurses
+ #
+ # The preferred choice for ex on Linux distributions, other systems that
+ # provide a good termcap file, or when setting the TERMCAP environment
+ # variable is deemed sufficient, is the included 2.11BSD termcap library.
+ #
+-TERMLIB	= termlib
++#TERMLIB	= termlib
+ 
+ #
+ # Since ex uses sbrk() internally, a conflict with the libc's version of
+@@ -330,8 +332,7 @@
+ 	ln -s ex $(DESTDIR)$(BINDIR)/vedit
+ 	ln -s ex $(DESTDIR)$(BINDIR)/vi
+ 	ln -s ex $(DESTDIR)$(BINDIR)/view
+-	test -d $(DESTDIR)$(PRESERVEDIR) || mkdir -p $(DESTDIR)$(PRESERVEDIR)
+-	chmod 1777 $(DESTDIR)$(PRESERVEDIR)
++
+ 
+ ex.o: config.h ex_argv.h ex.h ex_proto.h ex_temp.h ex_tty.h ex_tune.h
+ ex.o: ex_vars.h libterm/libterm.h
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 29b159f1a7..df4d4b045a 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -1195,3 +1195,33 @@ uncluttered user interface.  It supports a multitude of translation formats
 provided by the Translate Toolkit, including XLIFF and PO.")
     (home-page "https://virtaal.translatehouse.org/")
     (license license:gpl2+)))
+
+(define-public ex-vi
+  (package
+    (name "ex-vi")
+    (version "050325")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/ex-vi/ex-vi/"
+                                  version "/ex-" version ".tar.bz2"))
+              (sha256
+                (base32
+                  "0294cfxp91gyi0v3v4qdxcwlxp1nm986ir8r7d374ig9cz7yfjys"))
+              (patches (search-patches "ex-vi-makefile.patch"))))
+    (build-system gnu-build-system)
+    (inputs `(("ncurses" ,ncurses)))
+    (arguments '(#:phases (modify-phases %standard-phases
+                                         (delete 'configure))
+                 #:tests? #f))
+    (synopsis "The traditional vi")
+    (description
+      "The traditional vi editor, ported to modern Unix systems.
+
+This implementation is derived from ex/vi 3.7 of 6/7/85 and the BSD
+termcap library, originally from the 2.11BSD distribution. All of them
+were changed to compile and run on newer POSIX compatible Unix systems.
+Support for international character sets was added, including support
+for multibyte locales (based on UTF-8 or East Asian encodings), and some
+changes were made to get closer to the POSIX.2 guidelines for ex and vi.")
+    (home-page "http://ex-vi.sourceforge.net")
+    (license license:bsd-4)))

base-commit: ddec49858a27cf68fd39b2ff61514cca87329a5e
-- 
2.25.1





Information forwarded to guix-patches <at> gnu.org:
bug#51067; Package guix-patches. (Thu, 07 Oct 2021 08:38:01 GMT) Full text and rfc822 format available.

Message #8 received at 51067 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Foo Chuan Wei <chuanwei.foo <at> hotmail.com>, 51067 <at> debbugs.gnu.org
Subject: Re: [bug#51067] [PATCH] gnu: Add traditional vi (ex-vi)
Date: Thu, 07 Oct 2021 10:37:24 +0200
[Message part 1 (text/plain, inline)]
Foo Chuan Wei schreef op do 07-10-2021 om 05:46 [+0000]:
> * gnu/packages/text-editors.scm (ex-vi): New public variable.
> ---
>  gnu/packages/patches/ex-vi-makefile.patch | 53 +++++++++++++++++++++++
>  gnu/packages/text-editors.scm             | 30 +++++++++++++
>  2 files changed, 83 insertions(+)
>  create mode 100644 gnu/packages/patches/ex-vi-makefile.patch
> 
> diff --git a/gnu/packages/patches/ex-vi-makefile.patch b/gnu/packages/patches/ex-vi-makefile.patch
> new file mode 100644
> index 0000000000..d835eb981d
> --- /dev/null
> +++ b/gnu/packages/patches/ex-vi-makefile.patch
> @@ -0,0 +1,53 @@
> +diff -ur ex-050325-orig/Makefile ex-050325/Makefile
> +--- ex-050325-orig/Makefile
> ++++ ex-050325/Makefile
> +@@ -75,11 +75,13 @@
> + #	@(#)Makefile	1.50 (gritter) 2/20/05
> + #
> + 
> ++CC = gcc

That won't work when cross-compiling.  When cross-compiling, it
should be set to something like ARCHITECTURE-linux-gnu-gcc instead.
I'd suggest setting ,(string-append "CC=" (cc-for-target)) in #:make-flags
instead.

To test cross-compilation, you can try
‘make && ./pre-inst-env guix build ex-vi --target=aarch64-linux-gnu’.

Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#51067; Package guix-patches. (Tue, 12 Oct 2021 20:51:02 GMT) Full text and rfc822 format available.

Message #11 received at 51067 <at> debbugs.gnu.org (full text, mbox):

From: Foo Chuan Wei <chuanwei.foo <at> hotmail.com>
To: 51067 <at> debbugs.gnu.org
Subject: [PATCH v2] gnu: Add ex-vi
Date: Tue, 12 Oct 2021 20:50:12 +0000
* gnu/packages/text-editors.scm (ex-vi): New variable.
---
 gnu/packages/text-editors.scm | 45 +++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index d73f32c64e..58152bfccb 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -1195,3 +1195,48 @@ uncluttered user interface.  It supports a multitude of translation formats
 provided by the Translate Toolkit, including XLIFF and PO.")
     (home-page "https://virtaal.translatehouse.org/")
     (license license:gpl2+)))
+
+(define-public ex-vi
+  (package
+    (name "ex-vi")
+    (version "050325")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/ex-vi/ex-vi/"
+                                  version "/ex-" version ".tar.bz2"))
+              (sha256
+                (base32
+                  "0294cfxp91gyi0v3v4qdxcwlxp1nm986ir8r7d374ig9cz7yfjys"))))
+    (build-system gnu-build-system)
+    (inputs `(("ncurses" ,ncurses)))
+    (arguments `(#:make-flags
+                 (list (string-append "CC=" ,(cc-for-target))
+                       (string-append "PREFIX=" %output)
+                       "INSTALL = install"
+                       "TERMLIB = ncurses")
+                 #:phases
+                 (modify-phases %standard-phases
+                   (delete 'configure)
+                   (add-after 'unpack 'fix-build
+                     (lambda _
+                       ;; No need to create /var/preserve/
+                       (substitute* "Makefile"
+                         (("test -d \\$\\(DESTDIR\\)\\$\\(PRESERVEDIR\\) \
+\\|\\| mkdir -p \\$\\(DESTDIR\\)\\$\\(PRESERVEDIR\\)")
+                          "")
+                         (("chmod 1777 \\$\\(DESTDIR\\)\\$\\(PRESERVEDIR\\)")
+                          ""))
+                       #t)))
+                 #:tests? #f))
+    (home-page "http://ex-vi.sourceforge.net")
+    (synopsis "The Traditional Vi")
+    (description
+      "The traditional vi editor, ported to modern Unix systems.
+
+This implementation is derived from ex/vi 3.7 of 6/7/85 and the BSD termcap
+library, originally from the 2.11BSD distribution. All of them were changed to
+compile and run on newer POSIX compatible Unix systems. Support for
+international character sets was added, including support for multibyte locales
+(based on UTF-8 or East Asian encodings), and some changes were made to get
+closer to the POSIX.2 guidelines for ex and vi.")
+    (license license:bsd-4)))

base-commit: 702bc2b89939165a3dc61096c21bb8b670a94713
-- 
2.25.1





This bug report was last modified 2 years and 168 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.