Subject: Re: bug#62308: [PATCH] gnu: Add converseen.

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 21 Mar 2023 15:09:01 -0400

Hi Nicolas,

Nicolas Goaziou <[email-masked]> writes:

> * gnu/packages/image.scm (converseen): New variable.
> * gnu/packages/patches/converseen-hide-updates-checks.patch: New file.
> * gnu/local.mk (converseen): Register file above.
> ---
>  gnu/local.mk                                  |   1 +
>  gnu/packages/image.scm                        |  42 ++++++
>  .../converseen-hide-updates-checks.patch      | 128 ++++++++++++++++++
>  3 files changed, 171 insertions(+)
>  create mode 100644 gnu/packages/patches/converseen-hide-updates-checks.patch
>
> diff --git a/gnu/local.mk b/gnu/local.mk
> index 4a662efc3c..91eeb389d1 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -1009,6 +1009,7 @@ dist_patch_DATA =						\
>    %D%/packages/patches/connman-CVE-2022-32293-pt1.patch	\
>    %D%/packages/patches/connman-CVE-2022-32293-pt2.patch	\
>    %D%/packages/patches/containerd-create-pid-file.patch	\
> +  %D%/packages/patches/converseen-hide-updates-checks.patch	\
>    %D%/packages/patches/cool-retro-term-wctype.patch		\
>    %D%/packages/patches/coreutils-gnulib-tests.patch		\
>    %D%/packages/patches/coq-fix-envvars.patch			\
> diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
> index 228a31c7d0..d21401bbbd 100644
> --- a/gnu/packages/image.scm
> +++ b/gnu/packages/image.scm
> @@ -35,6 +35,7 @@
>  ;;; Copyright © 2022 Jai Vetrivelan <[email-masked]>
>  ;;; Copyright © 2022 ( <[email-masked]>
>  ;;; Copyright © 2022-2023 Bruno Victal <[email-masked]>
> +;;; Copyright © 2023 Nicolas Goaziou <[email-masked]>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -76,6 +77,7 @@ (define-module (gnu packages image)
>    #:use-module (gnu packages gnome)
>    #:use-module (gnu packages graphics)
>    #:use-module (gnu packages gtk)
> +  #:use-module (gnu packages imagemagick)
>    #:use-module (gnu packages lua)
>    #:use-module (gnu packages man)
>    #:use-module (gnu packages maths)
> @@ -115,6 +117,46 @@ (define-module (gnu packages image)
>    #:use-module (guix deprecation)
>    #:use-module (srfi srfi-1))
>  
> +(define-public converseen
> +  (package
> +    (name "converseen")
> +    (version "0.9.11.1")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/Faster3ck/Converseen")
> +                    (commit (string-append "v" version))))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +                "0nxvac8df47gxg1klqlz0s3rxl0ykrikmciniwkb938bgilmaijm"))
> +              (patches
> +               (search-patches "converseen-hide-updates-checks.patch"))))

There's also a Help -> Donate to Paypal button.  With Paypal using
non-free JavaScript, it seems this would go against the FSDG guideline
of not inciting users to run non-free software.  Could it be hidden too?

> +    (build-system cmake-build-system)
> +    (arguments
> +     (list
> +      #:tests? #false                   ;no tests
> +      #:phases
> +      #~(modify-phases %standard-phases
> +          (add-after 'unpack 'set-translations-location
> +            ;; Fix translations location.
> +            (lambda _
> +              (substitute* "src/translator.cpp"
> +                (("QString\\(\"%1/share/converseen/loc\"\\).arg\\(rootPath\\)")
> +                 (string-append "QString(\""
> +                                #$output
> +                                "/share/converseen/loc\")"))))))))
> +    (native-inputs
> +     (list pkg-config qttools-5))
> +    (inputs
> +     (list imagemagick qtbase-5))
> +    (home-page "https://converseen.fasterland.net/")
> +    (synopsis "Batch image converter and resizer")
> +    (description
> +     "Converseen is an image batch conversion tool.  You can resize and
> +convert images in more than 100 different formats.")
> +    (license license:gpl3+)))
> +
>  (define-public iqa
>    (package
>      (name "iqa")
> diff --git a/gnu/packages/patches/converseen-hide-updates-checks.patch b/gnu/packages/patches/converseen-hide-updates-checks.patch
> new file mode 100644
> index 0000000000..d08a79c2f5
> --- /dev/null
> +++ b/gnu/packages/patches/converseen-hide-updates-checks.patch
> @@ -0,0 +1,128 @@
> +From 13dbaab0d3383b451f3efa225c3767c2eb376756 Mon Sep 17 00:00:00 2001
> +From: Nicolas Goaziou <[email-masked]>
> +Date: Mon, 20 Mar 2023 22:38:25 +0100
> +Subject: [PATCH] Remove updates checks from UI.
> +
> +* ui/dialogoptions.ui:
> +* ui/mainwindow.ui:
> +* src/dialogoptions.cpp (DialogOptions::setAutoUpdates, DialogOptions::saveOptions):
> +(DialogOptions::loadSettings):
> +* src/mainwindowimpl.cpp (MainWindowImpl::createActions): Remove
> +references to updates checks.
> +---
> + src/dialogoptions.cpp  | 19 -------------------
> + src/mainwindowimpl.cpp |  1 -
> + ui/dialogoptions.ui    | 16 ----------------
> + ui/mainwindow.ui       |  9 ---------
> + 4 files changed, 45 deletions(-)

Nitpick: I know some people prefer simple diffs as patch, without the
Git metadata.  The only place I preserve the metadata myself is when
using an upstream patch, in which case the commit and other metadata are
useful for traceability.

So my recommendation would be using a simple diff, and adding the
following at the top:

Summary line explaining what it does
Upstream status: Guix-specific, not forwarded upstream.

Would you mind sending a v2 with the above, when you get the chance?

-- 
Thanks,
Maxim