diff mbox series

[bug#51067] gnu: Add traditional vi (ex-vi)

Message ID PU1PR01MB2155260D25FB2A261FBF45F18DB19@PU1PR01MB2155.apcprd01.prod.exchangelabs.com
State New
Headers show
Series [bug#51067] gnu: Add traditional vi (ex-vi) | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Foo Chuan Wei Oct. 7, 2021, 5:46 a.m. UTC
* 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


base-commit: ddec49858a27cf68fd39b2ff61514cca87329a5e

Comments

Maxime Devos Oct. 7, 2021, 8:37 a.m. UTC | #1
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.
diff mbox series

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