From d1cae87a9b13b5624deb16666a1da3333bd05681 Mon Sep 17 00:00:00 2001 From: ng0 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 ;;; Copyright © 2017 Eric Bavier ;;; Copyright © 2017 Feng Shu -;;; Copyright © 2017 ng0 +;;; Copyright © 2017 ng0 ;;; ;;; 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