Update own projects

This commit is contained in:
Martchus 2024-01-02 15:29:40 +01:00
parent 9e725d8391
commit 8963bee361
20 changed files with 38 additions and 286 deletions

View File

@ -5,7 +5,7 @@
_reponame=cpp-utilities
pkgname=c++utilities
pkgver=5.24.4
pkgver=5.24.5
pkgrel=1
arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities'
@ -17,7 +17,7 @@ checkdepends=('cppunit')
provides=(libc++utilities.so)
url="https://github.com/Martchus/${_reponame}"
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('f27be37d67fd97d934d70d4a9a5dc3368313dae6be219f388f7214511eb61f3b')
sha256sums=('28cfbfe4e91eb37d9c0224f39def16b4aab41d09d7762a120c83382cf2fb3cbc')
build() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"

View File

@ -6,7 +6,7 @@
_name=c++utilities
_reponame=cpp-utilities
pkgname=$_name-doc
pkgver=5.24.4
pkgver=5.24.5
pkgrel=1
arch=('any')
pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities (API documentation)'
@ -14,7 +14,7 @@ license=('GPL')
makedepends=('cmake' 'ninja' 'doxygen' 'graphviz')
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('f27be37d67fd97d934d70d4a9a5dc3368313dae6be219f388f7214511eb61f3b')
sha256sums=('28cfbfe4e91eb37d9c0224f39def16b4aab41d09d7762a120c83382cf2fb3cbc')
build() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"

View File

@ -6,7 +6,7 @@
_reponame=cpp-utilities
pkgname=mingw-w64-c++utilities
_name=${pkgname#mingw-w64-}
pkgver=5.24.4
pkgver=5.24.5
pkgrel=1
arch=('any')
pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities (mingw-w64)'
@ -17,7 +17,7 @@ checkdepends=('mingw-w64-cppunit' 'mingw-w64-wine')
makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'ninja')
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('f27be37d67fd97d934d70d4a9a5dc3368313dae6be219f388f7214511eb61f3b')
sha256sums=('28cfbfe4e91eb37d9c0224f39def16b4aab41d09d7762a120c83382cf2fb3cbc')
options=(!buildflags staticlibs !strip !emptydirs)
_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32')

View File

@ -6,7 +6,7 @@
_reponame=cpp-utilities
pkgname=static-compat-c++utilities
_name=${pkgname#static-compat-}
pkgver=5.24.4
pkgver=5.24.5
pkgrel=1
arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities'
@ -17,7 +17,7 @@ makedepends=('ninja' 'static-compat-cmake')
checkdepends=('static-compat-cppunit')
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('f27be37d67fd97d934d70d4a9a5dc3368313dae6be219f388f7214511eb61f3b')
sha256sums=('28cfbfe4e91eb37d9c0224f39def16b4aab41d09d7762a120c83382cf2fb3cbc')
prepare() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"

View File

@ -1,8 +1,8 @@
#!/bin/bash
declare -A versions=(
[syncthingtray]=1.4.11
[c++utilities]=5.24.4
[qtutilities]=6.13.3
[syncthingtray]=1.4.12
[c++utilities]=5.24.5
[qtutilities]=6.13.4
[qtforkawesome]=0.1.0
[tagparser]=12.1.0
[tageditor]=3.9.0

View File

@ -5,7 +5,7 @@
_reponame=qtutilities
pkgname=qtutilities
pkgver=6.13.3
pkgver=6.13.4
pkgrel=1
arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
pkgdesc='Common Qt related C++ classes and routines used by my applications such as dialogs, widgets and models'
@ -16,7 +16,7 @@ optdepends=("$pkgname-doc: API documentation")
provides=(libqtutilities.so)
url="https://github.com/Martchus/${_reponame}"
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('bb94491b973df3a07e9bf49e092da42dcd846e24e44109809255e8cfdc4e16bd')
sha256sums=('547d9e122d399ed3a86ec0b5fe078e0b54ab3e9a3e613efdaac4f6bb63fb5007')
build() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"

View File

@ -6,7 +6,7 @@
_name=qtutilities
_reponame=$_name
pkgname=$_name-doc
pkgver=6.13.3
pkgver=6.13.4
pkgrel=1
arch=('any')
pkgdesc='Common Qt related C++ classes and routines used by my applications such as dialogs, widgets and models (API documentation)'
@ -14,7 +14,7 @@ license=('GPL')
makedepends=('cmake' 'ninja' 'doxygen' 'graphviz' 'c++utilities' 'qt5-tools')
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('bb94491b973df3a07e9bf49e092da42dcd846e24e44109809255e8cfdc4e16bd')
sha256sums=('547d9e122d399ed3a86ec0b5fe078e0b54ab3e9a3e613efdaac4f6bb63fb5007')
build() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"

View File

@ -7,7 +7,7 @@ _reponame=qtutilities
pkgname=mingw-w64-qtutilities-qt6
_name=${pkgname#mingw-w64-}
_name=${_name%-qt6}
pkgver=6.13.3
pkgver=6.13.4
pkgrel=1
arch=('any')
pkgdesc='Common Qt related C++ classes and routines used by my applications such as dialogs, widgets and models (mingw-w64)'
@ -18,7 +18,7 @@ checkdepends=('mingw-w64-wine')
makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'mingw-w64-qt6-tools' 'qt6-base' 'qt6-tools' 'qt6-declarative' 'clang' 'ninja')
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('bb94491b973df3a07e9bf49e092da42dcd846e24e44109809255e8cfdc4e16bd')
sha256sums=('547d9e122d399ed3a86ec0b5fe078e0b54ab3e9a3e613efdaac4f6bb63fb5007')
options=(!buildflags staticlibs !strip !emptydirs)
_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32')

View File

@ -6,7 +6,7 @@
_reponame=qtutilities
pkgname=mingw-w64-qtutilities
_name=${pkgname#mingw-w64-}
pkgver=6.13.3
pkgver=6.13.4
pkgrel=1
arch=('any')
pkgdesc='Common Qt related C++ classes and routines used by my applications such as dialogs, widgets and models (mingw-w64)'
@ -17,7 +17,7 @@ checkdepends=('mingw-w64-wine')
makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'mingw-w64-qt5-tools' 'ninja')
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('bb94491b973df3a07e9bf49e092da42dcd846e24e44109809255e8cfdc4e16bd')
sha256sums=('547d9e122d399ed3a86ec0b5fe078e0b54ab3e9a3e613efdaac4f6bb63fb5007')
options=(!buildflags staticlibs !strip !emptydirs)
_architectures=('i686-w64-mingw32' 'x86_64-w64-mingw32')

View File

@ -7,7 +7,7 @@ _reponame=qtutilities
_cfg=qt6
pkgname=qtutilities-$_cfg
_name=${pkgname%-$_cfg}
pkgver=6.13.3
pkgver=6.13.4
pkgrel=1
arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
pkgdesc='Common Qt related C++ classes and routines used by my applications such as dialogs, widgets and models (using Qt 6)'
@ -18,7 +18,7 @@ optdepends=("$_name-doc: API documentation")
provides=(libqtutilities-qt6.so)
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('bb94491b973df3a07e9bf49e092da42dcd846e24e44109809255e8cfdc4e16bd')
sha256sums=('547d9e122d399ed3a86ec0b5fe078e0b54ab3e9a3e613efdaac4f6bb63fb5007')
build() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"

View File

@ -6,7 +6,7 @@
_reponame=qtutilities
pkgname=static-compat-qtutilities
_name=${pkgname#static-compat-}
pkgver=6.13.3
pkgver=6.13.4
pkgrel=1
arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
pkgdesc='Common Qt related C++ classes and routines used by my applications such as dialogs, widgets and models'
@ -16,7 +16,7 @@ makedepends=('static-compat-cmake' 'ninja' 'static-compat-qt6-tools' 'clang')
optdepends=("$_name-doc: API documentation")
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('bb94491b973df3a07e9bf49e092da42dcd846e24e44109809255e8cfdc4e16bd')
sha256sums=('547d9e122d399ed3a86ec0b5fe078e0b54ab3e9a3e613efdaac4f6bb63fb5007')
build() {
check_buildoption ccache y && ccache_args='

View File

@ -1,140 +0,0 @@
From 549be45b55e401d2d22a07c87c85ccc9d1e4bbd8 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Fri, 22 Dec 2023 17:33:21 +0100
Subject: [PATCH] Mock setting the autostart path in the wizard test
This test would keep the autostart disabled but override an existing
autostart entry (see https://github.com/Martchus/syncthingtray/issues/221).
With this change it will no longer override an existing entry. Reading and
writing the autostart entry is now mocked and properly checked.
---
syncthingwidgets/settings/settingsdialog.cpp | 7 ++++++
syncthingwidgets/tests/wizard.cpp | 26 ++++++++++++++++++--
2 files changed, 31 insertions(+), 2 deletions(-)
diff --git a/syncthingwidgets/settings/settingsdialog.cpp b/syncthingwidgets/settings/settingsdialog.cpp
index bf3f778..c1ebdb0 100644
--- a/syncthingwidgets/settings/settingsdialog.cpp
+++ b/syncthingwidgets/settings/settingsdialog.cpp
@@ -818,6 +818,10 @@ QWidget *AutostartOptionPage::setupWidget()
*/
std::optional<QString> configuredAutostartPath()
{
+ if (qEnvironmentVariableIsSet(PROJECT_VARNAME_UPPER "_AUTOSTART_PATH_MOCK")) {
+ auto mockedPath = qEnvironmentVariable(PROJECT_VARNAME_UPPER "_AUTOSTART_PATH_MOCK");
+ return mockedPath.isEmpty() ? std::nullopt : std::make_optional(mockedPath);
+ }
#if defined(PLATFORM_LINUX) && !defined(Q_OS_ANDROID)
auto desktopFile = QFile(QStandardPaths::locate(QStandardPaths::ConfigLocation, QStringLiteral("autostart/" PROJECT_NAME ".desktop")));
// check whether the file can be opened and whether it is enabled but prevent reading large files
@@ -873,6 +877,9 @@ QString supposedAutostartPath()
*/
bool setAutostartPath(const QString &path)
{
+ if (qEnvironmentVariableIsSet(PROJECT_VARNAME_UPPER "_AUTOSTART_PATH_MOCK")) {
+ return qputenv(PROJECT_VARNAME_UPPER "_AUTOSTART_PATH_MOCK", path.toLocal8Bit());
+ }
#if defined(PLATFORM_LINUX) && !defined(Q_OS_ANDROID)
const auto configPath = QStandardPaths::writableLocation(QStandardPaths::ConfigLocation);
if (configPath.isEmpty()) {
diff --git a/syncthingwidgets/tests/wizard.cpp b/syncthingwidgets/tests/wizard.cpp
index 8fc00d7..8e6eb09 100644
--- a/syncthingwidgets/tests/wizard.cpp
+++ b/syncthingwidgets/tests/wizard.cpp
@@ -6,9 +6,12 @@
// use meta-data of syncthingtray application here
#include "resources/../../tray/resources/config.h"
+#include <qtutilities/misc/compat.h>
+
#include <QtTest/QtTest>
#include <QApplication>
+#include <QCheckBox>
#include <QCommandLinkButton>
#include <QDebug>
#include <QEventLoop>
@@ -148,6 +151,9 @@ void WizardTests::testShowingSettings()
*/
void WizardTests::testConfiguringLauncher()
{
+ // mock the autostart path; it is supposed to be preserved
+ QVERIFY(qputenv(PROJECT_VARNAME_UPPER "_AUTOSTART_PATH_MOCK", "fake-autostart-path"));
+
// pretend libsyncthing / systemd is already enabled
// note: Should be unset as we're selecting to use an external binary.
auto &settings = Settings::values();
@@ -188,6 +194,9 @@ void WizardTests::testConfiguringLauncher()
auto *const mainConfigPage = qobject_cast<MainConfigWizardPage *>(wizardDlg.currentPage());
QVERIFY(mainConfigPage != nullptr);
auto &setupDetection = wizardDlg.setupDetection();
+ const auto &configuredAutostartPath = setupDetection.autostartConfiguredPath;
+ QVERIFY(configuredAutostartPath.has_value());
+ QCOMPARE(configuredAutostartPath.value(), QStringLiteral("fake-autostart-path"));
QVERIFY(!setupDetection.hasConfig());
// -> print debug output in certain launcher error cases to get the full picture if any of the subsequent checks fail
if (setupDetection.launcherError.has_value()) {
@@ -223,6 +232,10 @@ void WizardTests::testConfiguringLauncher()
// keep autostart setting as-is
auto *const autostartPage = qobject_cast<AutostartWizardPage *>(wizardDlg.currentPage());
QVERIFY(autostartPage != nullptr);
+ auto *const keepExistingCheckBox = autostartPage->findChild<QCheckBox *>(QStringLiteral("keepExistingCheckBox"));
+ QVERIFY(keepExistingCheckBox != nullptr);
+ QVERIFY(keepExistingCheckBox->isVisible());
+ keepExistingCheckBox->setChecked(true);
wizardDlg.next();
// apply settings
@@ -233,7 +246,7 @@ void WizardTests::testConfiguringLauncher()
const auto summary = summaryTextBrowser->toPlainText();
QVERIFY(summary.contains(QStringLiteral("Start Syncthing via Syncthing Tray's launcher")));
QVERIFY(summary.contains(QStringLiteral("executable from PATH as separate process")));
- QVERIFY(summary.contains(QStringLiteral("Keep autostart")));
+ QVERIFY(summary.contains(QStringLiteral("Keep autostart disabled")) || summary.contains(QStringLiteral("Preserve existing autostart entry")));
wizardDlg.next();
// check results
@@ -343,6 +356,7 @@ void WizardTests::testConfiguringLauncher()
QVERIFY(!settings.connection.primary.syncthingUrl.isEmpty());
QVERIFY(!settings.connection.primary.apiKey.isEmpty());
QCOMPARE(settings.connection.secondary.size(), 0);
+ QCOMPARE(qEnvironmentVariable(PROJECT_VARNAME_UPPER "_AUTOSTART_PATH_MOCK"), QStringLiteral("fake-autostart-path"));
}
/*!
@@ -351,6 +365,9 @@ void WizardTests::testConfiguringLauncher()
*/
void WizardTests::testConfiguringCurrentlyRunningSyncthing()
{
+ // mock the autostart path; it is supposed to be changed
+ QVERIFY(qputenv(PROJECT_VARNAME_UPPER "_AUTOSTART_PATH_MOCK", "fake-autostart-path"));
+
// change port in config file
auto wizardDlg = Wizard();
auto &setupDetection = wizardDlg.setupDetection();
@@ -427,9 +444,13 @@ void WizardTests::testConfiguringCurrentlyRunningSyncthing()
QVERIFY(!cfgNoneRadioButton->isChecked());
wizardDlg.next();
- // keep autostart setting as-is
+ // override existing autostart setting
auto *const autostartPage = qobject_cast<AutostartWizardPage *>(wizardDlg.currentPage());
QVERIFY(autostartPage != nullptr);
+ auto *const keepExistingCheckBox = autostartPage->findChild<QCheckBox *>(QStringLiteral("keepExistingCheckBox"));
+ QVERIFY(keepExistingCheckBox != nullptr);
+ QVERIFY(keepExistingCheckBox->isVisible());
+ keepExistingCheckBox->setChecked(false);
wizardDlg.next();
configureSyncthingArgs(setupDetection);
@@ -483,6 +504,7 @@ void WizardTests::testConfiguringCurrentlyRunningSyncthing()
QVERIFY(!settings.connection.primary.apiKey.isEmpty());
QCOMPARE(settings.connection.secondary.size(), 1);
QCOMPARE(settings.connection.secondary[0].label, QStringLiteral("Backup of testconfig (created by wizard)"));
+ QCOMPARE(qEnvironmentVariable(PROJECT_VARNAME_UPPER "_AUTOSTART_PATH_MOCK"), setupDetection.autostartSupposedPath);
}
bool WizardTests::confirmMessageBox()
--
2.43.0

View File

@ -24,7 +24,7 @@ _enable_plasmoid=${SYNCTHING_TRAY_ENABLE_PLASMOID:-1}
_reponame=syncthingtray
pkgname=syncthingtray
pkgver=1.4.11
pkgver=1.4.12
pkgrel=1
arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
pkgdesc='Tray application for Syncthing'
@ -43,20 +43,13 @@ checkdepends=('cppunit' 'syncthing' 'iproute2')
[[ $_enable_kio_plugin ]] && makedepends+=('kio5')
[[ $_enable_plasmoid ]] && makedepends+=('plasma-framework5' 'extra-cmake-modules')
url="https://github.com/Martchus/${_reponame}"
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz"
0001-Mock-setting-the-autostart-path-in-the-wizard-test.patch)
sha256sums=('0c48da193eb29338590bb297052a1274284d9c596a5078541c4d7cdf6b6eba6f'
SKIP)
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('569d50ac1fd5799fda86d948b3e15934b14ac469d3055738415f359452e3290f')
ephemeral_port() {
comm -23 <(seq 49152 65535) <(ss -tan | awk '{print $4}' | cut -d':' -f2 | grep "[0-9]\{1,5\}" | sort | uniq) | shuf | head -n 1
}
prepare() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
patch -p1 -i ../0001-Mock-setting-the-autostart-path-in-the-wizard-test.patch
}
build() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"

View File

@ -16,8 +16,8 @@ _reponame=syncthingtray
pkgname=mingw-w64-syncthingtray-qt6
_name=${pkgname#mingw-w64-}
_name=${_name%-qt6}
pkgver=1.4.11
pkgrel=2
pkgver=1.4.12
pkgrel=1
arch=('any')
pkgdesc='Tray application for Syncthing (mingw-w64)'
license=('GPL')
@ -32,7 +32,7 @@ makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'mingw-w64-qt6-tools' 'qt6-tools'
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
[[ $_enable_libsyncthing == ON ]] && source+=("syncthing::git+https://github.com/Martchus/syncthing.git#branch=libsyncthing-latest")
sha256sums=('0c48da193eb29338590bb297052a1274284d9c596a5078541c4d7cdf6b6eba6f'
sha256sums=('569d50ac1fd5799fda86d948b3e15934b14ac469d3055738415f359452e3290f'
'SKIP')
options=(!buildflags staticlibs !strip !emptydirs)

View File

@ -15,8 +15,8 @@ _enable_libsyncthing=${MINGW_W64_SYNCTHING_TRAY_ENABLE_LIBSYNCTHING:-ON}
_reponame=syncthingtray
pkgname=mingw-w64-syncthingtray
_name=${pkgname#mingw-w64-}
pkgver=1.4.11
pkgrel=2
pkgver=1.4.12
pkgrel=1
arch=('any')
pkgdesc='Tray application for Syncthing (mingw-w64)'
license=('GPL')
@ -31,7 +31,7 @@ makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'mingw-w64-qt5-tools' 'ffmpeg' 'n
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
[[ $_enable_libsyncthing == ON ]] && source+=("syncthing::git+https://github.com/Martchus/syncthing.git#branch=libsyncthing-latest")
sha256sums=('0c48da193eb29338590bb297052a1274284d9c596a5078541c4d7cdf6b6eba6f'
sha256sums=('569d50ac1fd5799fda86d948b3e15934b14ac469d3055738415f359452e3290f'
'SKIP')
options=(!buildflags staticlibs !strip !emptydirs)

View File

@ -1,33 +0,0 @@
From 51e266fbacff04708b7a8ff401ea78fe74a6d87d Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Thu, 21 Dec 2023 18:24:50 +0100
Subject: [PATCH 1/2] Fix compilation with Qt 6.7.0beta1
Fix the wrong placement of the `-->`; not sure why this was not detected as
invalid XML before.
---
syncthingconnector/org.freedesktop.systemd1.Unit.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/syncthingconnector/org.freedesktop.systemd1.Unit.xml b/syncthingconnector/org.freedesktop.systemd1.Unit.xml
index 035118e..a070755 100644
--- a/syncthingconnector/org.freedesktop.systemd1.Unit.xml
+++ b/syncthingconnector/org.freedesktop.systemd1.Unit.xml
@@ -206,12 +206,12 @@
<!--<property name="Conditions" type="a(sbbsi)" access="read">
<annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false" />
</property>
- <property name="Asserts" type="a(sbbsi)" access="read">-->
+ <property name="Asserts" type="a(sbbsi)" access="read">
<annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false" />
</property>
<property name="LoadError" type="(ss)" access="read">
<annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const" />
- </property>
+ </property>-->
<property name="Transient" type="b" access="read">
<annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const" />
</property>
--
2.43.0

View File

@ -1 +0,0 @@
../default/0001-Mock-setting-the-autostart-path-in-the-wizard-test.patch

View File

@ -1,60 +0,0 @@
From e2c1f4ebe4a1f520cdbe24844d2fef750b85b8ec Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Thu, 21 Dec 2023 18:50:30 +0100
Subject: [PATCH 2/2] Fix rendering issues with Syncthing icon with Qt
6.7.0beta1
It looks like Qt Svg supports masking as of 6.7 which revealed a bug in the
code for making Syncthing icons. The mask for the emblem area was also
accidentally applied in case no emblem is shown. This change adds the mask
only when an emblem is shown.
---
syncthingmodel/syncthingicons.cpp | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/syncthingmodel/syncthingicons.cpp b/syncthingmodel/syncthingicons.cpp
index 3f27cde..b2aab59 100644
--- a/syncthingmodel/syncthingicons.cpp
+++ b/syncthingmodel/syncthingicons.cpp
@@ -93,9 +93,20 @@ QByteArray makeSyncthingIcon(const StatusIconColorSet &colors, StatusEmblem stat
"</g>"
),
};
+ static const auto emblemAreaMaskAttribute = QStringLiteral(" mask=\"url(#bitemask)\"");
+ static const auto emblemAreaMask = QStringLiteral(
+ "<mask id=\"bitemask\" maskUnits=\"userSpaceOnUse\">"
+ "<g>"
+ "<rect id=\"mask-bg\" x=\"0\" y=\"0\" width=\"16\" height=\"16\" style=\"fill:#ffffff\"/>"
+ "<circle id=\"mask-subtract\" cx=\"11.5\" cy=\"11.5\" r=\"5.5\" style=\"fill:#000000\"/>"
+ "</g>"
+ "</mask>"
+ );
static const auto normalStrokeWidth = QStringLiteral("0.81771719"), thickStrokeWidth = QStringLiteral("1.22");
static const auto normalCircleRadius = QStringLiteral("1.22"), largeCircleRadius = QStringLiteral("1.5");
const auto &emblemData = emblems[static_cast<int>(statusEmblem)];
+ const auto &emblemAreaMaskAttributeData = statusEmblem != StatusEmblem::None ? emblemAreaMaskAttribute : emblems[0];
+ const auto &emblemAreaMaskData = statusEmblem != StatusEmblem::None ? emblemAreaMask : emblems[0];
const auto &strokeWidthF = strokeWidth == StatusIconStrokeWidth::Normal ? normalStrokeWidth : thickStrokeWidth;
const auto &circleRadius = strokeWidth == StatusIconStrokeWidth::Normal ? normalCircleRadius : largeCircleRadius;
return (QStringLiteral(
@@ -105,15 +116,9 @@ QByteArray makeSyncthingIcon(const StatusIconColorSet &colors, StatusEmblem stat
"<linearGradient id=\"grad\" gradientUnits=\"userSpaceOnUse\" x1=\"8\" y1=\"0\" x2=\"8\" y2=\"16\">"
"<stop offset=\"0\" style=\"stop-color:") % gradientStartColor % QStringLiteral("\"/>"
"<stop offset=\"1\" style=\"stop-color:") % gradientEndColor % QStringLiteral("\"/>"
- "</linearGradient>"
- "<mask id=\"bitemask\" maskUnits=\"userSpaceOnUse\">"
- "<g>"
- "<rect id=\"mask-bg\" x=\"0\" y=\"0\" width=\"16\" height=\"16\" style=\"fill:#ffffff\"/>"
- "<circle id=\"mask-subtract\" cx=\"11.5\" cy=\"11.5\" r=\"5.5\" style=\"fill:#000000\"/>"
- "</g>"
- "</mask>"
+ "</linearGradient>") % emblemAreaMaskData % QStringLiteral(
"</defs>"
- "<g id=\"syncthing-logo\" mask=\"url(#bitemask)\">"
+ "<g id=\"syncthing-logo\"") % emblemAreaMaskAttributeData % QStringLiteral(">"
"<circle id=\"outer\" cx=\"8\" cy=\"8\" r=\"8\" style=\"fill:url(#grad)\"/>"
"<circle id=\"inner\" cx=\"8\" cy=\"7.9727402\" r=\"5.9557071\" style=\"fill:none;stroke:") % strokeColor % QStringLiteral(";stroke-width:") % strokeWidthF % QStringLiteral("\"/>"
"<line id=\"arm-l\" x1=\"9.1993189\" y1=\"8.776825\" x2=\"2.262351\" y2=\"9.4173737\" style=\"stroke:") % strokeColor % QStringLiteral(";stroke-width:") % strokeWidthF % QStringLiteral("\"/>"
--
2.43.0

View File

@ -26,8 +26,8 @@ _reponame=syncthingtray
_cfg=qt6
pkgname=syncthingtray-$_cfg
_name=${pkgname%-$_cfg}
pkgver=1.4.11
pkgrel=2
pkgver=1.4.12
pkgrel=1
arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
pkgdesc='Tray application for Syncthing (using Qt 6)'
license=('GPL')
@ -45,12 +45,8 @@ checkdepends=('cppunit' 'syncthing' 'iproute2')
[[ $_enable_kio_plugin ]] && makedepends+=('kio')
[[ $_enable_plasmoid ]] && makedepends+=('libplasma' 'extra-cmake-modules')
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz"
0001-Fix-compilation-with-Qt-6.7.0beta1.patch
0002-Fix-rendering-issues-with-Syncthing-icon-with-Qt-6.7.patch
0001-Mock-setting-the-autostart-path-in-the-wizard-test.patch)
sha256sums=('0c48da193eb29338590bb297052a1274284d9c596a5078541c4d7cdf6b6eba6f'
SKIP SKIP)
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
sha256sums=('569d50ac1fd5799fda86d948b3e15934b14ac469d3055738415f359452e3290f')
ephemeral_port() {
comm -23 <(seq 49152 65535) <(ss -tan | awk '{print $4}' | cut -d':' -f2 | grep "[0-9]\{1,5\}" | sort | uniq) | shuf | head -n 1
@ -58,9 +54,6 @@ ephemeral_port() {
prepare() {
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
patch -p1 -i ../0001-Fix-compilation-with-Qt-6.7.0beta1.patch
patch -p1 -i ../0002-Fix-rendering-issues-with-Syncthing-icon-with-Qt-6.7.patch
patch -p1 -i ../0001-Mock-setting-the-autostart-path-in-the-wizard-test.patch
}
build() {

View File

@ -28,7 +28,7 @@ _enable_libsyncthing=${SYNCTHING_TRAY_ENABLE_LIBSYNCTHING:-ON}
_reponame=syncthingtray
pkgname=static-compat-syncthingtray
_name=${pkgname#static-compat-}
pkgver=1.4.11
pkgver=1.4.12
pkgrel=1
arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
pkgdesc='Tray application for Syncthing'
@ -49,7 +49,7 @@ checkdepends=('static-compat-cppunit' 'syncthing' 'iproute2')
url="https://github.com/Martchus/${_reponame}"
source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
[[ $_enable_libsyncthing == ON ]] && source+=("syncthing::git+https://github.com/Martchus/syncthing.git#branch=libsyncthing-latest")
sha256sums=('0c48da193eb29338590bb297052a1274284d9c596a5078541c4d7cdf6b6eba6f'
sha256sums=('569d50ac1fd5799fda86d948b3e15934b14ac469d3055738415f359452e3290f'
'SKIP')
[[ $_enable_libsyncthing == ON ]] && _disable_libsyncthing=OFF || _disable_libsyncthing=ON