Hi Leo and thank you for explaining. And hi again guix-devel.

I've now rewritten the file according to your comments except that its
still its own file/module, something I'll fix later.

Now I'm stuck trying to figure out a build error after going from the
tarball release through url-fetch to the non-recursive git-clone download.
CMake finds the package OpenCV when it runs, removing OpenCV from the
package inputs results in an error from CMake (as expected). But the build
fails during the build phase with the following error:

> make[2]: *** No rule to make target 'opencv_core-NOTFOUND', needed by
'libnomacsCore.so.3.16.0'.  Stop.

I've not found any relevant mentions of opencv_core in the source code. I
tried adding monkeying about with the CMakeLists a little to no avail. Also
looked at what Debian does to their package but found nothing that I
thought to be relevant:
https://sources.debian.org/src/nomacs/3.12.0+dfsg-3/debian/

I've attached the new package source.
(define-module (gnu packages nomacs)
  #:use-module (guix packages)
  #:use-module (guix git-download)
  #:use-module (guix build-system cmake)
  #:use-module (guix licenses)
  #:use-module (gnu packages python)
  #:use-module (gnu packages qt)
  #:use-module (gnu packages image)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages image)
  #:use-module (gnu packages image-processing)
  #:use-module (gnu packages photo)
  #:use-module (gnu packages compression))

(define-public nomacs
  (package
    (name "nomacs")
    (version "3.16.224")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url "https://github.com/rovanion/nomacs";)
                    (commit version)))
              (sha256 "05d4hqg0gl3g9s2xf1hr7mc7g4cqarcap4nzxxa51fsphw2b8x16")))
    (build-system cmake-build-system)
    (native-inputs `(("pkg-config" ,pkg-config)))
    (arguments
     `(#:configure-flags (list "-DENABLE_TRANSLATIONS=true"
                               "-DUSE_SYSTEM_QUAZIP=true"
                               "-DENABLE_OPENCV=true")
       #: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)))
       #:tests? #f))
    (inputs `(("plugins"    ,(origin (method git-fetch)
                                     (uri (git-reference
                                           (url "https://github.com/nomacs/nomacs-plugins";)
                                           (commit "3.16")))
                                     (sha256 "1cpdwhfvaxm970nwdc1hc13848a85pqqi176m9xpa3krla9qskml")))
              ("exiv2"      ,exiv2)
              ("libraw"     ,libraw)
              ("libtiff"    ,libtiff)
              ("opencv"     ,opencv)
              ("python"     ,python-wrapper)
              ("quazip"     ,quazip)
              ("qtbase"     ,qtbase)
              ("qtsvg"      ,qtsvg)
              ("qtlinguist" ,qttools)))
    (synopsis "Image viewer for all common formats including RAW and PSD.")
    (description "Nomacs is a free, open source image viewer, which supports multiple platforms. You can use it for viewing all common image formats including RAW and psd images.

Nomacs features semi-transparent widgets that display additional information such as thumbnails, metadata or histogram. It is able to browse images in zip or MS Office files which can be extracted to a directory. Metadata stored with the image can be displayed and you can add notes to images. A thumbnail preview of the current folder is included as well as a file explorer panel which allows switching between folders. Within a directory you can apply a file filter, so that only images are displayed whose filenames have a certain string or match a regular expression. Activating the cache allows for instantly switching between images.

Nomacs includes image manipulation methods for adjusting brightness, contrast, saturation, hue, gamma, exposure. It has a pseudo color function which allows creating false color images. A unique feature of Nomacs is the synchronization of multiple instances. With this feature you can easily compare images by zooming and/or panning at the exactly same position or even by overlaying them with different opacity.
Nomacs is licensed under the GNU General Public License v3 and available for Windows, Linux, FreeBSD, Mac, and OS/2.")
    (home-page "https://nomacs.org/";)
    (license gpl3+)))

nomacs

Reply via email to