Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package clipgrab for openSUSE:Factory 
checked in at 2026-08-02 23:14:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/clipgrab (Old)
 and      /work/SRC/openSUSE:Factory/.clipgrab.new.16738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "clipgrab"

Sun Aug  2 23:14:40 2026 rev:13 rq:1369073 version:3.9.14

Changes:
--------
--- /work/SRC/openSUSE:Factory/clipgrab/clipgrab.changes        2025-12-15 
12:03:23.339923392 +0100
+++ /work/SRC/openSUSE:Factory/.clipgrab.new.16738/clipgrab.changes     
2026-08-02 23:14:59.405440650 +0200
@@ -1,0 +2,7 @@
+Sun Aug  2 05:36:24 UTC 2026 - Carsten Ziepke <[email protected]>
+
+- Add clipgrab-qt6.patch from Void Linux, enable building with qt6
+- Update BuildRequires, use qt6 instead qt5, boo#1273171
+- Drop use of update-desktop-files
+
+-------------------------------------------------------------------

New:
----
  clipgrab-qt6.patch

----------(New B)----------
  New:
- Add clipgrab-qt6.patch from Void Linux, enable building with qt6
- Update BuildRequires, use qt6 instead qt5, boo#1273171
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ clipgrab.spec ++++++
--- /var/tmp/diff_new_pack.8wHY86/_old  2026-08-02 23:14:59.873456737 +0200
+++ /var/tmp/diff_new_pack.8wHY86/_new  2026-08-02 23:14:59.877456874 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package clipgrab
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 # Copyright (c) 2008-2013 [email protected]
 #
 # All modifications and additions to the file contributed by third parties
@@ -26,13 +26,16 @@
 URL:            https://clipgrab.org
 Source0:        https://download.clipgrab.org/%{name}-%{version}.tar.gz
 Source1:        %{name}.desktop
+# PATCH-FIX-UPSTREAM clipgrab-qt6.patch - enable building with qt6 taken from 
void linux 
https://github.com/void-linux/void-packages/blob/master/srcpkgs/clipgrab/patches/qt6.patch
+Patch0:         clipgrab-qt6.patch
 BuildRequires:  ImageMagick-extra
-BuildRequires:  hicolor-icon-theme >= 0.15
+BuildRequires:  hicolor-icon-theme
 BuildRequires:  pkgconfig
-BuildRequires:  update-desktop-files
-BuildRequires:  pkgconfig(Qt5Network) >= 5.9
-BuildRequires:  pkgconfig(Qt5WebEngine) >= 5.9
-BuildRequires:  pkgconfig(Qt5Xml) >= 5.9
+BuildRequires:  pkgconfig(Qt6Network)
+BuildRequires:  pkgconfig(Qt6WebEngineCore)
+BuildRequires:  pkgconfig(Qt6Xml)
+BuildRequires:  qt6-webenginewidgets-devel
+BuildRequires:  qt6-widgets-devel
 Requires:       ffmpeg
 
 %description
@@ -40,7 +43,8 @@
 DailyMotion, MyVideo and many other platforms.
 
 %prep
-%setup -q
+%autosetup -p1
+
 chmod 0644 COPYING
 
 %build
@@ -50,7 +54,7 @@
     convert -strip -resize ${s}x${s} icon512.jp2 ${s}.png
 done
 
-%qmake5 %{name}.pro
+%qmake6 %{name}.pro
 %make_build
 
 %install
@@ -59,7 +63,6 @@
 for s in 16 32 128 256 512; do
     install -D -m0644 "${s}.png" 
"%{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/%{name}.png"
 done
-%suse_update_desktop_file -r %{name} Video Editor
 
 %files
 %license COPYING

++++++ clipgrab-qt6.patch ++++++
--- a/clipgrab.cpp
+++ b/clipgrab.cpp
@@ -211,7 +211,7 @@ ClipGrab::ClipGrab()
     //*
     //* Add Mozilla Root CA certificats to avoid errors from missing system 
certificates
     //*
-    QSslSocket::addDefaultCaCertificates(":/crt/mozilla-root-cas.txt");
+    // QSslSocket::addDefaultCaCertificates(":/crt/mozilla-root-cas.txt");
 
 
     //*
@@ -342,7 +342,7 @@ void ClipGrab::parseUpdateInfo(QNetworkR
 
         if (!this->availableUpdates.isEmpty())
         {
-            qSort(this->availableUpdates.begin(), 
this->availableUpdates.end());
+            std::sort(this->availableUpdates.begin(), 
this->availableUpdates.end());
 
             //Create changelog document
             QDomDocument updateNotesDocument("html");
@@ -482,7 +482,7 @@ void ClipGrab::startUpdateDownload()
 {
     QString updateUrl = this->availableUpdates.last().url;
     QString updateFilePattern = updateUrl.split("/").last();
-    
updateFilePattern.insert(updateFilePattern.lastIndexOf(QRegExp("\\.dmg|\\.exe|\\.tar")),
 "-XXXXXX");
+    
updateFilePattern.insert(updateFilePattern.lastIndexOf(QRegularExpression("\\.dmg|\\.exe|\\.tar")),
 "-XXXXXX");
     this->updateFile = new QTemporaryFile(QDir::tempPath() + "/" + 
updateFilePattern);
     this->updateFile->open();
     qDebug() << "Downloading update to " << this->updateFile->fileName();
@@ -543,7 +543,7 @@ void ClipGrab::updateDownloadFinished()
     //Close and rename to avoid problems with file locks
     updateFile->setAutoRemove(false);
     updateFile->close();
-    
updateFile->rename(updateFile->fileName().insert(updateFile->fileName().lastIndexOf(QRegExp("\\.dmg|\\.exe|\\.tar")),
 "-update"));
+    
updateFile->rename(updateFile->fileName().insert(updateFile->fileName().lastIndexOf(QRegularExpression("\\.dmg|\\.exe|\\.tar")),
 "-update"));
 
     if 
(!QDesktopServices::openUrl(QUrl::fromLocalFile(updateFile->fileName())))
     {
@@ -602,7 +602,7 @@ void ClipGrab::startYoutubeDlDownload()
     QString youtubeDlUrl = settings.value("youtubeDlUrl", 
"https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp";).toString();
     QNetworkRequest request;
     request.setUrl(QUrl(youtubeDlUrl));
-    request.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
+    request.setAttribute(QNetworkRequest::RedirectPolicyAttribute, 
QNetworkRequest::NoLessSafeRedirectPolicy);
     QNetworkAccessManager* youtubeDlNAM = new QNetworkAccessManager();
     QNetworkReply* reply = youtubeDlNAM->get(request);
 
@@ -618,7 +618,7 @@ void ClipGrab::startYoutubeDlDownload()
     connect(reply, &QNetworkReply::sslErrors, [=](QList<QSslError> errors) {
         for (int i = 0; i < errors.length(); i++) {
             QString errorString = errors.at(i).errorString();
-            QString certInfo = errors.at(i).certificate().issuerDisplayName() 
+ " " + errors.at(i).certificate().subjectDisplayName() + " " +  
errors.at(i).certificate().serialNumber() + " " + errors.at(i).error();
+            QString certInfo = errors.at(i).certificate().issuerDisplayName() 
+ " " + errors.at(i).certificate().subjectDisplayName() + " " +  
errors.at(i).certificate().serialNumber() + " " + errors.at(i).errorString();
             errorHandler(tr("SSL error: %1 
\n%2").arg(errorString).arg(certInfo));
         }
     });
--- a/clipgrab.h
+++ b/clipgrab.h
@@ -81,20 +81,20 @@ struct updateInfo
 
     static int compare(const updateInfo &a, const updateInfo&b)
     {
-        QRegExp regexp("^(\\d+)\\.(\\d+)\\.(\\d+)(-.*)?$");
-        if (regexp.indexIn(a.version) > -1 && regexp.indexIn((b.version)) > -1)
+        QRegularExpression regexp("^(\\d+)\\.(\\d+)\\.(\\d+)(-.*)?$");
+        QRegularExpressionMatch ma = regexp.match(a.version);
+        QRegularExpressionMatch mb = regexp.match(b.version);
+        if (ma.hasMatch() && mb.hasMatch())
         {
-            regexp.indexIn(a.version);
-            int majorA = regexp.cap(1).toInt();
-            int minorA = regexp.cap(2).toInt();
-            int patchA = regexp.cap(3).toInt();
-            QString restA = regexp.cap(4);
+            int majorA = ma.captured(1).toInt();
+            int minorA = ma.captured(2).toInt();
+            int patchA = ma.captured(3).toInt();
+            QString restA = ma.captured(4);
 
-            regexp.indexIn(b.version);
-            int majorB = regexp.cap(1).toInt();
-            int minorB = regexp.cap(2).toInt();
-            int patchB = regexp.cap(3).toInt();
-            QString restB = regexp.cap(4);
+            int majorB = ma.captured(1).toInt();
+            int minorB = ma.captured(2).toInt();
+            int patchB = ma.captured(3).toInt();
+            QString restB = ma.captured(4);
 
             if (majorA > majorB) return 1;
             if (majorA < majorB) return -1;
--- a/converter_ffmpeg.cpp
+++ b/converter_ffmpeg.cpp
@@ -56,25 +56,24 @@ void ffmpegThread::run()
         QString videoInfo = ffmpeg->readAllStandardError();
         ffmpeg->close();
 
-        QRegExp expression;
-        expression = QRegExp("Audio: (.*)\\n");
-        expression.setMinimal(true);
-        if (expression.indexIn(videoInfo) !=-1)
+        QRegularExpression re("Audio: (.*?)\\n");
+        QRegularExpressionMatch match = re.match(videoInfo);
+        if (match.hasMatch())
         {
-            audioCodec = expression.cap(1);
+            audioCodec = match.captured(1);
         }
-        expression = QRegExp("Video: (.*)\\n");
-        expression.setMinimal(true);
-        if (expression.indexIn(videoInfo) !=-1)
+        re.setPattern("Video: (.*?)\\n");
+        match = re.match(videoInfo);
+        if (match.hasMatch())
         {
-            videoCodec = expression.cap(1);
+            videoCodec = match.captured(1);
         }
 
-        expression = QRegExp("Video:.*([0-9]+) kb/s");
-        expression.setMinimal(true);
-        if (expression.indexIn(videoInfo) !=-1)
+        re.setPattern("Video:.*?([0-9]+) kb/s");
+        match = re.match(videoInfo);
+        if (match.hasMatch())
         {
-            videoBitrate = expression.cap(1);
+            videoBitrate = match.captured(1);
         }
 
         qDebug() << "Source video: " << videoCodec << videoBitrate << 
audioCodec;
--- a/main.cpp
+++ b/main.cpp
@@ -53,7 +53,12 @@ int main(int argc, char *argv[])
     QSettings settings;
     if (settings.allKeys().isEmpty()) {
         static const QChar key[] = {
-            0x0050, 0x0068, 0x0069, 0x006c, 0x0069, 0x0070, 0x0070, 0x0020, 
0x0053, 0x0063, 0x0068, 0x006d, 0x0069, 0x0065, 0x0064, 0x0065, 0x0072};
+            QChar(0x0050), QChar(0x0068), QChar(0x0069), QChar(0x006c),
+            QChar(0x0069), QChar(0x0070), QChar(0x0070), QChar(0x0020),
+            QChar(0x0053), QChar(0x0063), QChar(0x0068), QChar(0x006d),
+            QChar(0x0069), QChar(0x0065), QChar(0x0064), QChar(0x0065),
+            QChar(0x0072)
+        };
         QSettings legacySettings(QString::fromRawData(key, sizeof(key) / 
sizeof(QChar)), "ClipGrab");
         QStringList legacyKeys = legacySettings.allKeys();
         QStringList ignoredKeys = {"youtubePlayerUrl", "youtubePlayerJS", 
"youtubePlayerSignatureMethodName"};
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -289,7 +289,8 @@ void MainWindow::targetFileSelected(vide
 
     if (cg->settings.value("saveLastPath", true).toBool() == true) {
         QString targetDir = target;
-        targetDir.remove(targetDir.split("/", 
QString::SkipEmptyParts).last()).replace(QRegExp("/+$"), "/");
+        targetDir.remove(targetDir.split("/", Qt::SkipEmptyParts).last())
+                 .replace(QRegularExpression("/+$"), "/");
         ui.settingsSavedPath->setText(targetDir);
     }
 
--- a/mainwindow.h
+++ b/mainwindow.h
@@ -67,7 +67,7 @@ public:
     {
         this->setAudioMuted(true);
         SearchWebEngineUrlRequestInterceptor* interceptor = new 
SearchWebEngineUrlRequestInterceptor();
-        this->profile()->setRequestInterceptor(interceptor);
+        this->profile()->setUrlRequestInterceptor(interceptor);
         connect(interceptor, SIGNAL(intercepted(QUrl)), this, 
SLOT(handleInterceptedUrl(QUrl)));
     }
 
@@ -78,7 +78,8 @@ public:
 
         if (type == QWebEnginePage::NavigationTypeTyped)
         {
-            if 
(QRegExp("https://(www|m)\\.youtube.com/watch").indexIn(url.toString()) > -1)
+            QRegularExpression re("https://(www|m)\\.youtube.com/watch");
+            if (re.match(url.toString()).hasMatch())
             {
                 emit linkClicked(url);
                 return false;
@@ -87,7 +88,8 @@ public:
         }
         if (type == QWebEnginePage::NavigationTypeLinkClicked)
         {
-            if 
(QRegExp("https://(www|m)\\.youtube.com").indexIn(url.toString()) > -1)
+            QRegularExpression re("https://(www|m)\\.youtube.com");
+            if (re.match(url.toString()).hasMatch())
             {
                 emit linkClicked(url);
             }
@@ -113,7 +115,7 @@ class MainWindow : public QMainWindow
     Q_OBJECT
 
 public:
-    MainWindow(ClipGrab* cg, QWidget *parent = 0, Qt::WindowFlags flags = 0);
+    MainWindow(ClipGrab* cg, QWidget *parent = 0, Qt::WindowFlags flags = 
Qt::Widget);
     ~MainWindow();
     void init();
 

Reply via email to