unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
To: 62308@debbugs.gnu.org
Subject: [bug#62308] [PATCH v2] gnu: Add converseen.
Date: Tue, 21 Mar 2023 22:19:28 +0100	[thread overview]
Message-ID: <20230321211928.371786-1-mail@nicolasgoaziou.fr> (raw)
In-Reply-To: <20230320221723.332511-1-mail@nicolasgoaziou.fr>

* gnu/packages/image.scm (converseen): New variable.
* gnu/packages/patches/converseen-hide-non-free-pointers.patch:
* gnu/packages/patches/converseen-hide-updates-checks.patch: New files.
* gnu/local.mk: Register files above.
---
 gnu/local.mk                                  |   2 +
 gnu/packages/image.scm                        |  46 ++++
 .../converseen-hide-non-free-pointers.patch   | 198 ++++++++++++++++++
 .../converseen-hide-updates-checks.patch      | 110 ++++++++++
 4 files changed, 356 insertions(+)
 create mode 100644 gnu/packages/patches/converseen-hide-non-free-pointers.patch
 create mode 100644 gnu/packages/patches/converseen-hide-updates-checks.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 4a662efc3c..4b82dcd91b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1009,6 +1009,8 @@ 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/converseen-hide-non-free-pointers.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..e1eafae446 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -35,6 +35,7 @@
 ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
 ;;; Copyright © 2022 ( <paren@disroot.org>
 ;;; Copyright © 2022-2023 Bruno Victal <mirai@makinata.eu>
+;;; Copyright © 2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;;
 ;;; 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,50 @@ (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"
+                               ;; Remove links to sites relying on non-free
+                               ;; Javascript.
+                               "converseen-hide-non-free-pointers.patch"))))
+    (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.  Without this, only English is
+            ;; offered.
+            (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-non-free-pointers.patch b/gnu/packages/patches/converseen-hide-non-free-pointers.patch
new file mode 100644
index 0000000000..b4994733cd
--- /dev/null
+++ b/gnu/packages/patches/converseen-hide-non-free-pointers.patch
@@ -0,0 +1,198 @@
+Remove pointers to PayPal and Facebook.
+Upstream status: Guix-specific, not forwarded upstream.
+
+diff --git a/src/dialoginfo.cpp b/src/dialoginfo.cpp
+index 3302f55..b64f414 100755
+--- a/src/dialoginfo.cpp
++++ b/src/dialoginfo.cpp
+@@ -31,7 +31,6 @@ DialogInfo::DialogInfo(QWidget *parent) :
+     setupUi(this);
+ 
+     connect(pushClose, SIGNAL(clicked()), this, SLOT(close()));
+-    connect(pushFacebook, SIGNAL(clicked()), this, SLOT(openFacebookPage()));
+ 
+     QString appVersion;
+     QString magickVersion;
+@@ -63,8 +62,3 @@ void DialogInfo::openFacebookPage()
+     QDesktopServices::openUrl(QUrl("https://www.facebook.com/converseen", QUrl::TolerantMode));
+ }
+ 
+-void DialogInfo::on_pushDonatePayPal_clicked()
+-{
+-    QDesktopServices::openUrl(QUrl("https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=HQA6TBT5354FC", QUrl::TolerantMode));
+-}
+-
+diff --git a/src/dialoginfo.h b/src/dialoginfo.h
+index 4c13776..f1b7ea3 100755
+--- a/src/dialoginfo.h
++++ b/src/dialoginfo.h
+@@ -33,7 +33,6 @@ public:
+ 
+ private slots:
+     void openFacebookPage();
+-    void on_pushDonatePayPal_clicked();
+ };
+ 
+ #endif // DIALOGINFO_H
+diff --git a/src/mainwindowimpl.cpp b/src/mainwindowimpl.cpp
+index 83a365f..9a44492 100755
+--- a/src/mainwindowimpl.cpp
++++ b/src/mainwindowimpl.cpp
+@@ -162,7 +162,6 @@ void MainWindowImpl::createActions()
+     connect(actionConvert, SIGNAL(triggered()), this, SLOT(elabora()));
+ 
+     connect(actionInfo, SIGNAL(triggered()), this, SLOT(about()));
+-    connect(actionDonatePaypal, SIGNAL(triggered()), this, SLOT(openPaypalLink()));
+     connect(actionReportBug, SIGNAL(triggered()), this, SLOT(bugReport()));
+ }
+ 
+diff --git a/ui/dialoginfo.ui b/ui/dialoginfo.ui
+index b2c7788..20b9d9d 100755
+--- a/ui/dialoginfo.ui
++++ b/ui/dialoginfo.ui
+@@ -254,122 +254,6 @@ p, li { white-space: pre-wrap; }
+      </layout>
+     </widget>
+    </item>
+-   <item>
+-    <layout class="QVBoxLayout" name="verticalLayout">
+-     <item>
+-      <widget class="QLabel" name="label_18">
+-       <property name="text">
+-        <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;If you appreciate this work and would like to support the project, you are welcome to donate via PayPal&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+-       </property>
+-       <property name="wordWrap">
+-        <bool>true</bool>
+-       </property>
+-      </widget>
+-     </item>
+-     <item>
+-      <layout class="QHBoxLayout" name="horizontalLayout_4">
+-       <item>
+-        <widget class="QPushButton" name="pushDonatePayPal">
+-         <property name="text">
+-          <string/>
+-         </property>
+-         <property name="icon">
+-          <iconset resource="../resources.qrc">
+-           <normaloff>:/Images/res/btn_donateCC_LG.png</normaloff>:/Images/res/btn_donateCC_LG.png</iconset>
+-         </property>
+-         <property name="iconSize">
+-          <size>
+-           <width>150</width>
+-           <height>50</height>
+-          </size>
+-         </property>
+-         <property name="flat">
+-          <bool>true</bool>
+-         </property>
+-        </widget>
+-       </item>
+-      </layout>
+-     </item>
+-    </layout>
+-   </item>
+-   <item>
+-    <widget class="Line" name="line_2">
+-     <property name="orientation">
+-      <enum>Qt::Horizontal</enum>
+-     </property>
+-    </widget>
+-   </item>
+-   <item>
+-    <layout class="QHBoxLayout" name="horizontalLayout_5">
+-     <item>
+-      <spacer name="horizontalSpacer_2">
+-       <property name="orientation">
+-        <enum>Qt::Horizontal</enum>
+-       </property>
+-       <property name="sizeHint" stdset="0">
+-        <size>
+-         <width>40</width>
+-         <height>20</height>
+-        </size>
+-       </property>
+-      </spacer>
+-     </item>
+-     <item>
+-      <layout class="QHBoxLayout" name="horizontalLayout_3">
+-       <item>
+-        <widget class="QLabel" name="label_7">
+-         <property name="text">
+-          <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Follow Converseen:&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+-         </property>
+-        </widget>
+-       </item>
+-       <item>
+-        <widget class="QPushButton" name="pushFacebook">
+-         <property name="cursor">
+-          <cursorShape>PointingHandCursor</cursorShape>
+-         </property>
+-         <property name="text">
+-          <string/>
+-         </property>
+-         <property name="icon">
+-          <iconset resource="../resources.qrc">
+-           <normaloff>:/Images/res/facebook-icon.png</normaloff>:/Images/res/facebook-icon.png</iconset>
+-         </property>
+-         <property name="iconSize">
+-          <size>
+-           <width>32</width>
+-           <height>32</height>
+-          </size>
+-         </property>
+-         <property name="flat">
+-          <bool>true</bool>
+-         </property>
+-        </widget>
+-       </item>
+-      </layout>
+-     </item>
+-     <item>
+-      <spacer name="horizontalSpacer_3">
+-       <property name="orientation">
+-        <enum>Qt::Horizontal</enum>
+-       </property>
+-       <property name="sizeHint" stdset="0">
+-        <size>
+-         <width>40</width>
+-         <height>20</height>
+-        </size>
+-       </property>
+-      </spacer>
+-     </item>
+-    </layout>
+-   </item>
+-   <item>
+-    <widget class="Line" name="line">
+-     <property name="orientation">
+-      <enum>Qt::Horizontal</enum>
+-     </property>
+-    </widget>
+-   </item>
+    <item>
+     <widget class="QLabel" name="label_2">
+      <property name="text">
+diff --git a/ui/mainwindow.ui b/ui/mainwindow.ui
+index 28df8cc..0ee7f37 100755
+--- a/ui/mainwindow.ui
++++ b/ui/mainwindow.ui
+@@ -1334,18 +1334,6 @@ p, li { white-space: pre-wrap; }
+     <string>F1</string>
+    </property>
+   </action>
+-  <action name="actionDonatePaypal">
+-   <property name="icon">
+-    <iconset resource="../resources.qrc">
+-     <normaloff>:/Images/res/paypal_mini.png</normaloff>:/Images/res/paypal_mini.png</iconset>
+-   </property>
+-   <property name="text">
+-    <string>&amp;Donate via Paypal</string>
+-   </property>
+-   <property name="toolTip">
+-    <string>Donate via Paypal</string>
+-   </property>
+-  </action>
+   <action name="actionReportBug">
+    <property name="text">
+     <string>&amp;Report bug...</string>
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..044836b36f
--- /dev/null
+++ b/gnu/packages/patches/converseen-hide-updates-checks.patch
@@ -0,0 +1,110 @@
+Remove Check updates button and Auto check uptades option.
+Upstream status: Guix-specific, not forwarded upstream.
+
+diff --git a/src/dialogoptions.cpp b/src/dialogoptions.cpp
+index 704e75c..bb3f9b0 100755
+--- a/src/dialogoptions.cpp
++++ b/src/dialogoptions.cpp
+@@ -71,23 +71,10 @@ void DialogOptions::setOverwriteMode()
+         IniSettings::setOverwriteMode(true);
+ }
+ 
+-void DialogOptions::setAutoUpdates()
+-{
+-    bool enabled;
+-
+-    if (checkCheckUpdates->isChecked())
+-        enabled = true;
+-    else
+-        enabled = false;
+-
+-    IniSettings::setAutoChechUpdates(enabled);
+-}
+-
+ void DialogOptions::saveOptions()
+ {
+     setLanguage();
+     setOverwriteMode();
+-    setAutoUpdates();
+ 
+     IniSettings::settings->sync();
+     accept();
+@@ -102,12 +89,6 @@ void DialogOptions::loadSettings()
+     else
+         radioAskFirst->setChecked(true);
+ 
+-    bool autoUpdates = IniSettings::isAutoChechUpdates();
+-    if (autoUpdates)
+-        checkCheckUpdates->setCheckState(Qt::Checked);
+-    else
+-        checkCheckUpdates->setCheckState(Qt::Unchecked);
+-
+     Translator t;
+     
+     int idx = comboLangs->findText(t.currentLanguage(), Qt::MatchExactly);
+diff --git a/src/mainwindowimpl.cpp b/src/mainwindowimpl.cpp
+index 2b6d68d..83a365f 100755
+--- a/src/mainwindowimpl.cpp
++++ b/src/mainwindowimpl.cpp
+@@ -164,7 +164,6 @@ void MainWindowImpl::createActions()
+     connect(actionInfo, SIGNAL(triggered()), this, SLOT(about()));
+     connect(actionDonatePaypal, SIGNAL(triggered()), this, SLOT(openPaypalLink()));
+     connect(actionReportBug, SIGNAL(triggered()), this, SLOT(bugReport()));
+-    connect(actionCheckForUpdates, SIGNAL(triggered()), this, SLOT(checkForUpdates()));
+ }
+ 
+ void MainWindowImpl::setupMenu()
+diff --git a/ui/dialogoptions.ui b/ui/dialogoptions.ui
+index e59148d..6cb23f5 100755
+--- a/ui/dialogoptions.ui
++++ b/ui/dialogoptions.ui
+@@ -66,22 +66,6 @@
+      </layout>
+     </widget>
+    </item>
+-   <item>
+-    <widget class="QGroupBox" name="groupBox_3">
+-     <property name="title">
+-      <string>Updates</string>
+-     </property>
+-     <layout class="QVBoxLayout" name="verticalLayout_3">
+-      <item>
+-       <widget class="QCheckBox" name="checkCheckUpdates">
+-        <property name="text">
+-         <string>Checks for updates automatically</string>
+-        </property>
+-       </widget>
+-      </item>
+-     </layout>
+-    </widget>
+-   </item>
+    <item>
+     <layout class="QHBoxLayout" name="horizontalLayout_2">
+      <item>
+diff --git a/ui/mainwindow.ui b/ui/mainwindow.ui
+index a5f55f0..28df8cc 100755
+--- a/ui/mainwindow.ui
++++ b/ui/mainwindow.ui
+@@ -190,7 +190,6 @@
+     </property>
+     <addaction name="actionDonatePaypal"/>
+     <addaction name="separator"/>
+-    <addaction name="actionCheckForUpdates"/>
+     <addaction name="actionReportBug"/>
+     <addaction name="separator"/>
+    </widget>
+@@ -1365,14 +1364,6 @@ p, li { white-space: pre-wrap; }
+     <string>Import windows icon (*.ico *.icon)</string>
+    </property>
+   </action>
+-  <action name="actionCheckForUpdates">
+-   <property name="text">
+-    <string>&amp;Check for updates</string>
+-   </property>
+-   <property name="toolTip">
+-    <string>Check if a new version of Converseen is available</string>
+-   </property>
+-  </action>
+  </widget>
+  <customwidgets>
+   <customwidget>

base-commit: 3893758dac76fc30b23d4715e849e262306f268d
-- 
2.39.2





  parent reply	other threads:[~2023-03-21 21:20 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-20 22:17 [bug#62308] [PATCH] gnu: Add converseen Nicolas Goaziou
2023-03-21 19:09 ` Maxim Cournoyer
2023-03-21 21:14 ` Nicolas Goaziou
2023-03-21 21:20   ` Nicolas Goaziou
2023-03-21 21:19 ` Nicolas Goaziou [this message]
2023-04-17 21:30   ` Ludovic Courtès
2023-04-17 21:49     ` bug#62308: " Nicolas Goaziou

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230321211928.371786-1-mail@nicolasgoaziou.fr \
    --to=mail@nicolasgoaziou.fr \
    --cc=62308@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).