Subject: text-editor: mg
From: ng0 <[email-masked]>
To: [email-masked]
Date: Sat, 22 Jul 2017 11:36:13 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

This adds a package from one of my repositories, mg.
-- 
ng0
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://n0is.noblogs.org/my-keys
https://www.infotropique.org https://krosos.org
From d1cae87a9b13b5624deb16666a1da3333bd05681 Mon Sep 17 00:00:00 2001
From: ng0 <[email-masked]>
Date: Sat, 22 Jul 2017 11:31:37 +0000
Subject: [PATCH] gnu: Add mg.

* gnu/packages/text-editors.scm (mg): New variable.
---
 gnu/packages/text-editors.scm | 57 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 56 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 98df48119..9277dd1f5 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2016 Carlo Zancanaro <[email-masked]>
 ;;; Copyright © 2017 Eric Bavier <[email-masked]>
 ;;; Copyright © 2017 Feng Shu <[email-masked]>
-;;; Copyright © 2017 ng0 <[email-masked]>
+;;; Copyright © 2017 ng0 <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -34,6 +34,7 @@
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages libbsd)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pkg-config)
@@ -227,3 +228,57 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings.  e3 can be used on
 16, 32, and 64-bit CPUs.")
     (supported-systems '("x86_64-linux" "i686-linux"))
     (license license:gpl2+)))
+
+(define-public mg
+  (package
+    (name "mg")
+    (version "20170401")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://homepage.boetes.org/software/mg/"
+                           "mg-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1arasswgdadbb265rahq3867r9s54jva6k4m3p5n0f8mgjqhhdha"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; There is no testsuite
+       #:make-flags (list "CC=gcc")
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure) ; There is no configure script
+         (add-before 'build 'replace-usr
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "GNUmakefile"
+               (("/usr/bin/") "")
+               (("/usr/local")
+                (assoc-ref outputs "out")))
+             #t))
+         (add-before 'build 'correct-location-of-difftool
+           (lambda _
+             (substitute* "buffer.c"
+               (("/usr/bin/diff")
+                (which "diff")))
+             #t))
+         (add-before 'install 'install-tutorial
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; This isn't handled by install but is expect
+             ;; by the tutorial part of mg to be present.
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (string-append out "/share/doc/mg")))
+               (install-file "tutorial"
+                             (string-append doc "/tutorial"))
+               #t))))))
+    (inputs
+     `(("ncurses" ,ncurses)
+       ("libbsd" ,libbsd)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://homepage.boetes.org/software/mg/")
+    (synopsis "OpenBSD variant of the editor mg")
+    (description
+     "Mg is a public domain text editor intended to loosely resemble
+GNU Emacs, while still retaining fast speed and a small memory footprint.
+It is based on MicroEMACS.")
+    (license license:public-domain)))
-- 
2.13.3