gnu: linux-libre 4.19: Update to 4.19.187.
[jackhill/guix/guix.git] / gnu / packages / image-viewers.scm
index 05e0926..b7c1ebc 100644 (file)
@@ -2,12 +2,12 @@
 ;;; Copyright © 2013, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
 ;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2017 Nikita <nikita@n0.is>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2017 nee <nee-git@hidamari.blue>
-;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2019, 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
@@ -15,6 +15,9 @@
 ;;; Copyright © 2020 Peng Mei Yu <pengmeiyu@riseup.net>
 ;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in>
 ;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2021 Rovanion Luckey <rovanion.luckey@gmail.com>
+;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
+;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -58,6 +61,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages graphics)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages image-processing)
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages perl)
@@ -74,7 +78,7 @@
 (define-public feh
   (package
     (name "feh")
-    (version "3.5")
+    (version "3.6.3")
     (home-page "https://feh.finalrewind.org/")
     (source (origin
               (method url-fetch)
@@ -82,7 +86,7 @@
                                   name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "07jklibpi4ig9pbdrwhllsfffxn2h8xf4ma36qii00w4hb69v3rq"))))
+                "1d13x8hmvpdc5f5rj4l29ha7iz7wvqxjlvh6il04wq8igzrj0x23"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases (modify-phases %standard-phases (delete 'configure))
@@ -294,7 +298,7 @@ your images.  Among its features are:
 (define-public catimg
   (package
     (name "catimg")
-    (version "2.6.0")
+    (version "2.7.0")
     (source
      (origin
        (method git-fetch)
@@ -303,7 +307,7 @@ your images.  Among its features are:
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0g9ywbgy162wiam9hc3yqpq5q4gyxa8fj4jskr3fdz8z8jjaabzz"))))
+        (base32 "0a2dswbv4xddb2l2d55hc43lzvjwrjs5z9am7v6i0p0mi2fmc89s"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f                      ; no tests
@@ -495,7 +499,7 @@ For PDF support, install the @emph{mupdf} package.")
 (define-public qview
   (package
     (name "qview")
-    (version "3.0")
+    (version "4.0")
     (source
      (origin
        (method git-fetch)
@@ -504,29 +508,22 @@ For PDF support, install the @emph{mupdf} package.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "15a91bs3wcqhgf76wzigbn10hayg628j84pq4j2vaxar94ak0vk7"))))
+        (base32 "15n9cq7w3ckinnx38hvncxrbkv4qm4k51sal41q4y0pkvhmafhnr"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
          (replace 'configure
-           (lambda _
-             (invoke "qmake")))
-         ;; Installation process hard-codes "/usr/bin", possibly
-         ;; prefixed.
-         (add-after 'configure 'fix-install-directory
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
-               (substitute* "Makefile"
-                 (("\\$\\(INSTALL_ROOT\\)/usr") out))
-               #t)))
-         ;; Don't phone home or show "Checking for updates..." in the
-         ;; About menu.
+               (invoke "qmake" (string-append "PREFIX=" out)))))
+         ;; Don't phone home or show "Checking for updates..." in the About
+         ;; menu.
          (add-before 'build 'disable-auto-update
            (lambda _
              (substitute* "src/qvaboutdialog.cpp"
-               (("ui->updateLabel->setText\\(updateText\\);") "")
-               (("requestUpdates\\(\\);") ""))
+               (("qvApp->checkUpdates\\(\\);") "")
+               (("updateText\\(\\);") ""))
              #t)))))
     (inputs
      `(("qtbase" ,qtbase)
@@ -689,3 +686,103 @@ brightness/contrast/gamma correction, pan with keyboard and mouse, flip,
 rotate left/right, jump/forward/backward images, filename filter and use it
 to set X desktop background.")
     (license license:gpl2)))
+
+(define-public nomacs
+  (package
+    (name "nomacs")
+    (version "3.16.224")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/nomacs/nomacs")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "05d4hqg0gl3g9s2xf1hr7mc7g4cqarcap4nzxxa51fsphw2b8x16"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:build-type "Release" ; fails to build with debug info
+       #:configure-flags (list "-DENABLE_TRANSLATIONS=true"
+                               "-DUSE_SYSTEM_QUAZIP=true"
+                               "-DENABLE_OPENCV=true")
+       #:tests? #f ; no rule for target 'test'
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'copy-plugins
+           (lambda* (#:key inputs #:allow-other-keys)
+             (copy-recursively (assoc-ref inputs "plugins")
+                               "ImageLounge/plugins")))
+         (add-after 'copy-plugins 'cd-to-source-dir
+           (lambda _ (chdir "ImageLounge") #t)))))
+    (inputs
+     `(("plugins"
+        ,(origin
+           (method git-fetch)
+           (uri (git-reference
+                 (url "https://github.com/nomacs/nomacs-plugins")
+                 (commit "3.16")))
+           (sha256
+            (base32
+             "1cpdwhfvaxm970nwdc1hc13848a85pqqi176m9xpa3krla9qskml"))))
+       ("exiv2" ,exiv2)
+       ("libraw" ,libraw)
+       ("libtiff" ,libtiff)
+       ("opencv" ,opencv)
+       ("python" ,python-wrapper)
+       ("quazip" ,quazip)
+       ("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("qtlinguist" ,qttools)))
+    (synopsis "Image viewer supporting all common formats")
+    (description "Nomacs is a simple to use image lounge featuring
+semi-transparent widgets that display additional information such as metadata,
+thumbnails and histograms.  It is able to browse images compressed archives
+and add notes to images.
+
+Nomacs includes image manipulation methods for adjusting brightness, contrast,
+saturation, hue, gamma, and exposure.  It has a pseudo color function which
+allows creating false color images.  A unique feature of Nomacs is the
+synchronization of multiple instances.")
+    (home-page "https://nomacs.org/")
+    (license license:gpl3+)))
+
+(define-public xzgv
+  (package
+    (name "xzgv")
+    (version "0.9.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://sourceforge/xzgv/"
+                           version "/xzgv-" version ".tar.gz"))
+       (sha256
+        (base32 "17l1xr9v07ggwga3vn0z1i4lnwjrr20rr8z1kjbw71aaijxl18i5"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'override-target-directory
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "config.mk"
+               (("/usr/local") (assoc-ref outputs "out")))))
+         (delete 'configure)            ; no configure script
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin")))
+               (install-file "src/xzgv" bin))))) ; just install the executable
+       #:tests? #f))                             ; no rule for target 'test'
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("gtk+" ,gtk+-2)
+       ("libexif" ,libexif)))
+    (home-page "https://sourceforge.net/projects/xzgv/")
+    (synopsis "Picture viewer for X with a thumbnail-based selector")
+    (description
+     "xzgv is a fast image viewer that provides extensive keyboard support.")
+    (license license:gpl2+)))