From 25f157ad22d0d72f892b77e7b53831d0c1c10962 Mon Sep 17 00:00:00 2001 From: Raul Metsma Date: Fri, 17 Jun 2022 23:14:04 +0300 Subject: [PATCH] Use Qt6 on Ubuntu 22.04 IB-7420 Signed-off-by: Raul Metsma --- .github/workflows/build.yml | 11 ++++++++++- client/Application.cpp | 5 +++-- client/Diagnostics_unix.cpp | 10 ++++++---- debian/control | 6 ++++-- 4 files changed, 23 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6bb46204..1a9ea717 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,6 +24,7 @@ jobs: repo: open-eid/libdigidocpp - name: Install dependencies run: | + brew install ninja HASH=($(shasum prepare_osx_build_environment.sh)) curl -O -L -s https://installer.id.ee/media/github/opensc_0.22.0.pkg curl -O -L -s https://installer.id.ee/media/github/${HASH}.zip @@ -33,7 +34,7 @@ jobs: - name: Build run: | QT_DIR=$(ls -d /Library/Developer/Qt-*-OpenSSL | tail -n 1) - cmake \ + cmake "-GNinja" \ -DCMAKE_PREFIX_PATH=${QT_DIR} \ -DOPENSSL_ROOT_DIR=/Library/Developer/OpenSSL \ -DLDAP_ROOT=/Library/Developer/OpenLDAP \ @@ -61,7 +62,11 @@ jobs: with: submodules: recursive - name: Install dependencies + if: matrix.container != 'ubuntu:22.04' run: apt update -qq && apt install --no-install-recommends -y lsb-release fakeroot build-essential devscripts cdbs pkg-config cmake libldap2-dev gettext libpcsclite-dev libssl-dev libqt5svg5-dev qttools5-dev-tools qttools5-dev lintian + - name: Install dependencies + if: matrix.container == 'ubuntu:22.04' + run: apt update -qq && apt install --no-install-recommends -y lsb-release fakeroot build-essential devscripts cdbs pkg-config cmake libldap2-dev gettext libpcsclite-dev libssl-dev libgl-dev libqt6svg6-dev qt6-tools-dev qt6-tools-dev-tools qt6-l10n-tools libqt6core5compat6-dev lintian - name: Download artifact uses: dawidd6/action-download-artifact@v2 with: @@ -105,7 +110,11 @@ jobs: with: submodules: recursive - name: Install Deps + if: matrix.container == 'fedora:35' run: dnf install -y gcc-c++ cmake rpm-build gettext openssl-devel openldap-devel pcsc-lite-devel qt5-qtsvg-devel qt5-linguist + - name: Install Deps + if: matrix.container != 'fedora:35' + run: dnf install -y gcc-c++ cmake rpm-build gettext openssl-devel openldap-devel pcsc-lite-devel qt6-qtsvg-devel qt6-qttools-devel qt6-qt5compat-devel - name: Download artifact uses: dawidd6/action-download-artifact@v2 with: diff --git a/client/Application.cpp b/client/Application.cpp index 2ec7bae1..c2bbee09 100644 --- a/client/Application.cpp +++ b/client/Application.cpp @@ -51,6 +51,7 @@ class MacMenuBar {}; #include #include #include +#include #include #include #include @@ -722,7 +723,7 @@ void Application::mailTo( const QUrl &url ) QByteArray thunderbird; QProcess p; QStringList env = QProcess::systemEnvironment(); - if( env.indexOf( QRegExp("KDE_FULL_SESSION.*") ) != -1 ) + if(env.indexOf(QRegularExpression(QStringLiteral("KDE_FULL_SESSION.*"))) != -1) { p.start("kreadconfig", { "--file", "emaildefaults", @@ -733,7 +734,7 @@ void Application::mailTo( const QUrl &url ) if( data.contains("thunderbird") ) thunderbird = data; } - else if( env.indexOf( QRegExp("GNOME_DESKTOP_SESSION_ID.*") ) != -1 ) + else if(env.indexOf(QRegularExpression(QStringLiteral("GNOME_DESKTOP_SESSION_ID.*"))) != -1) { if(QSettings(QDir::homePath() + "/.local/share/applications/mimeapps.list", QSettings::IniFormat) .value("Default Applications/x-scheme-handler/mailto").toString().contains("thunderbird")) diff --git a/client/Diagnostics_unix.cpp b/client/Diagnostics_unix.cpp index da6f8161..fee099c3 100644 --- a/client/Diagnostics_unix.cpp +++ b/client/Diagnostics_unix.cpp @@ -22,6 +22,7 @@ #include "Common.h" #include +#include #include #include #include @@ -102,10 +103,11 @@ void Diagnostics::run() QFile f( "/proc/cpuinfo" ); if( f.open( QFile::ReadOnly ) ) { - QRegExp rx( "model name.*\\: (.*)\n" ); - rx.setMinimal( true ); - if( rx.indexIn( QString::fromLocal8Bit( f.readAll() ) ) != -1 ) - s << rx.cap( 1 ); + QRegularExpression rx(QStringLiteral("model name.*\\: (.*)\n")); + rx.setPatternOptions(QRegularExpression::InvertedGreedinessOption); + QRegularExpressionMatch match = rx.match(QString::fromLocal8Bit(f.readAll())); + if(match.hasMatch()) + s << match.captured(1); } s << "
"; #endif diff --git a/debian/control b/debian/control index 46588010..1526511c 100644 --- a/debian/control +++ b/debian/control @@ -10,8 +10,9 @@ Build-Depends: libldap2-dev, libpcsclite-dev, libssl-dev, - qttools5-dev, - libqt5svg5-dev + qt6-tools-dev | qttools5-dev, + qt6-l10n-tools | qttools5-dev-tools, + libqt6svg6-dev | libqt5svg5-dev Standards-Version: 3.9.8 Homepage: https://github.com/open-eid/DigiDoc4-Client @@ -20,6 +21,7 @@ Architecture: any Depends: opensc-pkcs11, python3-nautilus|python-nautilus, + qt6-qpa-plugins | libqt5gui5, ${shlibs:Depends}, ${misc:Depends} Replaces: