Subject: bug#26903: [PATCH] gnu: admin: add nnn.

From: "Ethan R. Jones" <[email-masked]>
Date: Sat, 13 May 2017 01:00:43 -0400

---
 gnu/packages/admin.scm | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index ff0431999..d16ef77df 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -2130,3 +2130,54 @@ logo, or any ASCII file of your choice.  The main purpose of Neofetch is to be
 used in screenshots to show other users what operating system or distribution
 you are running, what theme or icon set you are using, etc.")
     (license license:expat)))
+
+(define-public nnn
+  (package
+    (name "nnn")
+    (version "v1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/jarun/nnn/"
+                                  "archive/" version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1hww4385f81lyy30fx2rb4wchfi79dpgl7yylnfxvf27a4h2mkhm"))))
+    (build-system gnu-build-system)
+    (inputs `(("ncurses" ,ncurses)
+              ("readline" ,readline)))
+    (arguments
+     '(#:tests? #f ; no tests
+       #:phases
+       ;; We do not provide `ncurses.h' within an `ncursesw'
+       ;; sub-directory, so patch the source accordingly.  See
+       ;; <http://bugs.gnu.org/19018>.
+       ;; Thanks to gtypist maintainer.
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-curses-lib
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (substitute* "Makefile"
+                 (("-lncursesw")
+                  "-lncurses"))
+               (substitute* "nnn.c"
+                 (("ncursesw\\/curses.h")
+                  "ncurses.h")))
+             #t))
+         (delete 'configure))
+       #:make-flags
+       (list
+        (string-append "PREFIX="
+                       (assoc-ref %outputs "out"))
+        (string-append "-Wl,-rpath="
+                       %output "/lib")
+        "CC=gcc")))
+    (home-page "https://github.com/jarun/nnn")
+    (synopsis "Terminal file browser")
+    (description "nnn is a fork of noice, a blazing-fast lightweight
+terminal file browser with easy keyboard shortcuts for navigation,
+opening files and running tasks.  noice is developed considering
+terminal based systems.  There is no config file and mime associations
+are hard-coded.  However, the incredible user-friendliness and
+speed make it a perfect utility on modern distros.")
+    (license license:bsd-2)))
-- 
2.12.2