unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [RFC] Package of Nomacs
@ 2020-12-29 23:06 Rovanion Luckey
  0 siblings, 0 replies; 9+ messages in thread
From: Rovanion Luckey @ 2020-12-29 23:06 UTC (permalink / raw)
  To: guix-devel


[-- Attachment #1.1: Type: text/plain, Size: 543 bytes --]

Hi,
I ended up working on a package for the image viewer Nomacs over Jul and
would like some feedback on what I've managed so far. One thing that's
missing is the plugins that are developed in a separate git repository [0]
and not included in the source tarballs of the main repository [1]. Ideas
on how to make them available in the `plugins` directory during build time
are welcome.

I have attached the package definition to this email.

[0]: https://github.com/nomacs/nomacs-plugins/releases
[1]: https://github.com/nomacs/nomacs/releases

[-- Attachment #1.2: Type: text/html, Size: 780 bytes --]

[-- Attachment #2: guix-package.scm --]
[-- Type: text/x-scheme, Size: 2941 bytes --]

(define-module (nomacs)
  #:use-module (guix packages)
  #:use-module (guix 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 url-fetch)
              (uri (string-append "https://codeload.github.com/nomacs/nomacs/tar.gz/" version))
              (sha256 "0z113mfxxdy3wafh0g1xxxwsc5qg0n42r4345c6rxvr6h02fkixv")))
    (build-system cmake-build-system)
    (arguments
     `(#:configure-flags (list "-DENABLE_TRANSLATIONS=true"
                               "-DUSE_SYSTEM_QUAZIP=true"
                               (string-append "../nomacs-" ,version "/ImageLounge"))
       #:tests? #f))
    (native-inputs `(("pkg-config" ,pkg-config)))
    (inputs `(("python"     ,python-wrapper)
              ("qtbase"     ,qtbase)
              ("qtlinguist" ,qttools)
              ("qtsvg"      ,qtsvg)
              ("exiv2"      ,exiv2)
              ("libtiff"    ,libtiff)
              ("opencv"     ,opencv)
              ("libraw"     ,libraw)
              ("quazip"     ,quazip)))
    (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

^ permalink raw reply	[flat|nested] 9+ messages in thread
* [RFC] Package of Nomacs
@ 2020-12-30 18:32 Leo Prikler
  2020-12-31 15:37 ` Rovanion Luckey
  0 siblings, 1 reply; 9+ messages in thread
From: Leo Prikler @ 2020-12-30 18:32 UTC (permalink / raw)
  To: rovanion.luckey; +Cc: guix-devel

Hi rovanion,

> (define-module (nomacs)
The nomacs package should probably go to gnu/packages/image-
viewers.scm.

>     (source (origin
>               (method url-fetch)
>               (uri (string-append "
> https://codeload.github.com/nomacs/nomacs/tar.gz/" version))
>               (sha256
> "0z113mfxxdy3wafh0g1xxxwsc5qg0n42r4345c6rxvr6h02fkixv")))
Use git-fetch instead and don't recurse into submodules.  You will
likely encounter some errors, because it doesn't seem as though nomacs
expects you to have its inputs properly packages.  *sigh*

>      `(#:configure-flags (list "-DENABLE_TRANSLATIONS=true"
>                                "-DUSE_SYSTEM_QUAZIP=true"
>                                (string-append "../nomacs-" ,version
> "/ImageLounge"))
Instead of adding the path to the source directory, try `(cd
"ImageLounge")` in a phase after 'unpack.

>     (inputs `(("python"     ,python-wrapper)
>               ("qtbase"     ,qtbase)
>               ("qtlinguist" ,qttools)
>               ("qtsvg"      ,qtsvg)
>               ("exiv2"      ,exiv2)
>               ("libtiff"    ,libtiff)
>               ("opencv"     ,opencv)
>               ("libraw"     ,libraw)
>               ("quazip"     ,quazip)))
Try to sort them alphabetically, also don't put too much effort into
making the tails align.

> (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.")
fill-column is at 78.  Also try to shorten this text and use double
spaces ("  ") between sentences.

> (license gpl3)
It is actually gpl3+ according to license/README.md.

> One thing that's missing is the plugins that are developed in a
> separate git repository [0] and not included in the source tarballs
> of the main repository [1]. Ideas on how to make them available in
> the `plugins` directory during build time are welcome.
A trick that's often used in Guix is
(inputs
 `(("extra-source-package"
    ,(origin ...)))
   [other inputs])
You can then (copy-recursively (assoc-ref inputs "extra-source-
package") destination) in a phase between 'unpack and 'configure.

Regards,
Leo



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-01-07 16:58 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-29 23:06 [RFC] Package of Nomacs Rovanion Luckey
  -- strict thread matches above, loose matches on Subject: below --
2020-12-30 18:32 Leo Prikler
2020-12-31 15:37 ` Rovanion Luckey
2020-12-31 16:12   ` Leo Prikler
2021-01-01 22:02     ` Rovanion Luckey
2021-01-02 14:43       ` Rovanion Luckey
2021-01-02 15:42         ` Leo Prikler
2021-01-03  1:01           ` Rovanion Luckey
2021-01-07 16:58     ` zimoun

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).