summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorEthan R. Jones <doubleplusgood23@gmail.com>2017-05-13 01:00:43 -0400
committerMarius Bakke <mbakke@fastmail.com>2017-05-13 17:55:34 +0200
commita76ca052d6e772164586bb1b4b2b8c69af783666 (patch)
tree5a47dd302720ad04e95b4f93dea038f9eea3ba57 /gnu/packages
parent92d9cfef6bb2bb2000434636d80eaea6b7eb36e0 (diff)
downloadguix-a76ca052d6e772164586bb1b4b2b8c69af783666.tar.gz
gnu: Add nnn.
* gnu/packages/admin.scm (nnn): New variable.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/admin.scm50
1 files changed, 50 insertions, 0 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index ff0431999d..ef7bff10f3 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -2130,3 +2130,53 @@ 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 "1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/jarun/nnn/"
+                                  "archive/v" 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 "@command{nnn} is a fork of @command{noice}, a blazing-fast
+lightweight terminal file browser with easy keyboard shortcuts for
+navigation, opening files and running tasks.  There is no config file and
+mime associations are hard-coded.  The incredible user-friendliness and speed
+make it a perfect utility on modern distros.")
+    (license license:bsd-2)))