summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/image-viewers.scm57
1 files changed, 57 insertions, 0 deletions
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index 477f681573..b059f314db 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -417,6 +417,63 @@ base should be kept small and clean to make it easy for you to dig into
 it and customize it for your needs.")
     (license license:gpl2+)))
 
+(define-public nsxiv
+  (package
+    (name "nsxiv")
+    (version "27.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/nsxiv/nsxiv")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1na7f0hpc9g04nm7991gzaqr5gkj08n2azx833hgxcm2w1pnn1bk"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ;no check target
+       #:make-flags
+       (list (string-append "PREFIX=" %output)
+             (string-append "CC=" ,(cc-for-target)))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)            ;no configure script
+         (add-after 'unpack 'fix-paths
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; Xft.h #includes <ft2build.h> without ‘freetype2/’.  The
+             ;; Makefile works around this by hard-coding /usr/include &
+             ;; $PREFIX.
+             (let ((freetype (string-append (assoc-ref inputs "freetype")
+                                            "/include/freetype2")))
+               (substitute* "Makefile"
+                 (("-I/usr/include/freetype2 -I\\$\\(PREFIX\\)/include/freetype2")
+                  (string-append "-I" freetype))))))
+         (add-after 'install 'install-desktop-file
+           (lambda* (#:key outputs #:allow-other-keys)
+             (install-file "nsxiv.desktop"
+                           (string-append (assoc-ref outputs "out")
+                                          "/share/applications"))))
+         (add-after 'install 'install-icons
+           (lambda* (#:key make-flags #:allow-other-keys)
+             (apply invoke "make" "-C" "icon" "install" make-flags))))))
+    (inputs
+     `(("freetype" ,freetype)
+       ("giflib" ,giflib)
+       ("imlib2" ,imlib2)
+       ("libexif" ,libexif)
+       ("libx11" ,libx11)
+       ("libxft" ,libxft)))
+    (home-page "https://github.com/nsxiv/nsxiv")
+    (synopsis "Neo Simple X Image Viewer")
+    (description
+     "nsxiv is a fork of sxiv.  Its primary goal is to provide the most basic
+features required for fast image viewing.  It has vi key bindings and works
+nicely with tiling window managers.  Its code base should be kept small and
+clean to make it easy for you to dig into it and customize it for your
+needs.")
+    (license license:gpl2+)))
+
 (define-public viewnior
   (package
     (name "viewnior")