[PATCH] gnu: Add traditional vi (ex-vi)

  • Open
  • quality assurance status badge
Details
2 participants
  • Foo Chuan Wei
  • Maxime Devos
Owner
unassigned
Submitted by
Foo Chuan Wei
Severity
normal
F
F
Foo Chuan Wei wrote on 7 Oct 2021 07:46
(address . guix-patches@gnu.org)
PU1PR01MB2155260D25FB2A261FBF45F18DB19@PU1PR01MB2155.apcprd01.prod.exchangelabs.com
* 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

Toggle diff (101 lines)
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
M
M
Maxime Devos wrote on 7 Oct 2021 10:37
bff000cba30aa89a882cf7a60ceed4f35f5d7e6b.camel@telenet.be
Foo Chuan Wei schreef op do 07-10-2021 om 05:46 [+0000]:
Toggle quote (22 lines)
> * 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.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYV6xxBccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7jYpAQDaXu5+aiFQBQZ79Id6+JoYnZi/
ImByxwxrgRVGE8pdSQD/Udm4xbyaki9Fne/5/kaCyVvFrZ1YVpBsoKX5kv1jgwU=
=fjZk
-----END PGP SIGNATURE-----


F
F
Foo Chuan Wei wrote on 12 Oct 2021 22:50
[PATCH v2] gnu: Add ex-vi
(address . 51067@debbugs.gnu.org)
PU1PR01MB2155123F9D3DDD32BDA169ED8DB69@PU1PR01MB2155.apcprd01.prod.exchangelabs.com
* gnu/packages/text-editors.scm (ex-vi): New variable.
---
gnu/packages/text-editors.scm | 45 +++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)

Toggle diff (57 lines)
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
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 51067@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 51067
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch