From a48021e628b7b5c07073d1c9d6d39b541dd425b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= Date: Sun, 8 Oct 2023 18:23:53 -0300 Subject: [PATCH 1/4] New package: KDSingleApplication-1.0.0 --- common/shlibs | 1 + srcpkgs/KDSingleApplication/template | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 srcpkgs/KDSingleApplication/template diff --git a/common/shlibs b/common/shlibs index 90018a5616f86..e898393c0935b 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3527,6 +3527,7 @@ libwoff2common.so.1.0.2 libwoff2common1.0.2-1.0.2_1 libwoff2enc.so.1.0.2 libwoff2enc1.0.2-1.0.2_1 libwoff2dec.so.1.0.2 libwoff2dec1.0.2-1.0.2_1 libcloudproviders.so.0 libcloudproviders-0.2.5_2 +libkdsingleapplication-qt6.so KDSingleApplication-1.0.0_1 libKF5KDEGames.so.7 libkdegames-18.08.3_1 libKF5KDEGamesPrivate.so.7 libkdegames-21.04.0_1 libidn2.so.0 libidn2-2.1.1_1 diff --git a/srcpkgs/KDSingleApplication/template b/srcpkgs/KDSingleApplication/template new file mode 100644 index 0000000000000..c89a8b12442f7 --- /dev/null +++ b/srcpkgs/KDSingleApplication/template @@ -0,0 +1,20 @@ +# Template file for 'KDSingleApplication' +pkgname=KDSingleApplication +version=1.0.0 +revision=1 +build_style=cmake +configure_args="-DKDSingleApplication_QT6=ON + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt6/mkspecs" +hostmakedepends="qt6-tools-devel" +makedepends="qt6-base-devel" +short_desc="KDAB's helper class for single-instance policy applications" +maintainer="Gonzalo Tornaría " +license="MIT" +homepage="https://github.com/KDAB/KDSingleApplication" +changelog="https://github.com/KDAB/KDSingleApplication/releases" +distfiles="https://github.com/KDAB/KDSingleApplication/releases/download/v${version}/kdsingleapplication-${version}.tar.gz" +checksum=c92355dc10f3ebd39363458458fb5bdd9662e080cf77d91f0437763c4d936520 + +post_install() { + vlicense LICENSE.txt +} From 92c51d7b0b2bb440cc5fb7dcc6584ce05f5d675a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= Date: Sun, 8 Oct 2023 18:25:14 -0300 Subject: [PATCH 2/4] New package: qtkeychain-qt6-0.14.1 --- common/shlibs | 1 + srcpkgs/qtkeychain-qt6-devel | 1 + srcpkgs/qtkeychain-qt6/files/README.voidlinux | 2 ++ .../patches/fix-cross-qt6.patch | 14 ++++++++ .../patches/use-kwallet-dbus-def.patch | 15 ++++++++ srcpkgs/qtkeychain-qt6/template | 36 +++++++++++++++++++ 6 files changed, 69 insertions(+) create mode 120000 srcpkgs/qtkeychain-qt6-devel create mode 100644 srcpkgs/qtkeychain-qt6/files/README.voidlinux create mode 100644 srcpkgs/qtkeychain-qt6/patches/fix-cross-qt6.patch create mode 100644 srcpkgs/qtkeychain-qt6/patches/use-kwallet-dbus-def.patch create mode 100644 srcpkgs/qtkeychain-qt6/template diff --git a/common/shlibs b/common/shlibs index e898393c0935b..1f7e829e482a0 100644 --- a/common/shlibs +++ b/common/shlibs @@ -2234,6 +2234,7 @@ libclamunrar_iface.so.9 clamav-0.103.1_2 libfreshclam.so.2 clamav-0.103.1_2 libqca-qt5.so.2 qca-qt5-2.1.3_1 libqt5keychain.so.1 qtkeychain-qt5-0.7.0_1 +libqt6keychain.so.1 qtkeychain-qt6-0.14.1_1 libphonon4qt5.so.4 phonon-qt5-4.8.3_1 libphonon4qt5experimental.so.4 phonon-qt5-4.8.3_1 libtelepathy-qt5.so.0 telepathy-qt5-0.9.5_1 diff --git a/srcpkgs/qtkeychain-qt6-devel b/srcpkgs/qtkeychain-qt6-devel new file mode 120000 index 0000000000000..189f5693ff61e --- /dev/null +++ b/srcpkgs/qtkeychain-qt6-devel @@ -0,0 +1 @@ +qtkeychain-qt6 \ No newline at end of file diff --git a/srcpkgs/qtkeychain-qt6/files/README.voidlinux b/srcpkgs/qtkeychain-qt6/files/README.voidlinux new file mode 100644 index 0000000000000..f3cdf6594ae99 --- /dev/null +++ b/srcpkgs/qtkeychain-qt6/files/README.voidlinux @@ -0,0 +1,2 @@ +To actually use qtkeychain-qt6 you need to either have kwallet or +gnome-keyring installed. diff --git a/srcpkgs/qtkeychain-qt6/patches/fix-cross-qt6.patch b/srcpkgs/qtkeychain-qt6/patches/fix-cross-qt6.patch new file mode 100644 index 0000000000000..8f24b3dd686c0 --- /dev/null +++ b/srcpkgs/qtkeychain-qt6/patches/fix-cross-qt6.patch @@ -0,0 +1,14 @@ +Cross build with Qt6 is broken without this, since host tools are not +found (tries to use binaries from target dir instead) + +--- a/CMakeLists.txt 2023-06-01 08:38:35.000000000 -0300 ++++ b/CMakeLists.txt 2023-11-02 22:41:50.717285646 -0300 +@@ -10,6 +10,8 @@ + + include(FindPkgConfig) + ++find_package(Qt6 COMPONENTS Core REQUIRED) ++ + ### + + set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${PROJECT_SOURCE_DIR}/cmake/Modules") diff --git a/srcpkgs/qtkeychain-qt6/patches/use-kwallet-dbus-def.patch b/srcpkgs/qtkeychain-qt6/patches/use-kwallet-dbus-def.patch new file mode 100644 index 0000000000000..44368a4d89190 --- /dev/null +++ b/srcpkgs/qtkeychain-qt6/patches/use-kwallet-dbus-def.patch @@ -0,0 +1,15 @@ +Use kwallet interface definition from the kwallet package, +instead of using the out-of-date provided in qtkeychain package +see https://github.com/frankosterfeld/qtkeychain/issues/172 + +--- a/CMakeLists.txt 2020-09-08 15:13:16.000000000 +0200 ++++ b/CMakeLists.txt 2020-11-13 13:50:56.648621533 +0100 +@@ -169,7 +169,7 @@ + + add_definitions(-DKEYCHAIN_DBUS=1) + list(APPEND qtkeychain_SOURCES keychain_unix.cpp gnomekeyring.cpp libsecret.cpp plaintextstore.cpp) +- qt_add_dbus_interface(qtkeychain_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/org.kde.KWallet.xml kwallet_interface KWalletInterface) ++ qt_add_dbus_interface(qtkeychain_SOURCES /usr/share/dbus-1/interfaces/kf5_org.kde.KWallet.xml kwallet_interface KWalletInterface) + list(APPEND qtkeychain_LIBRARIES ${QTDBUS_LIBRARIES} ) + endif() + diff --git a/srcpkgs/qtkeychain-qt6/template b/srcpkgs/qtkeychain-qt6/template new file mode 100644 index 0000000000000..211566cfe649b --- /dev/null +++ b/srcpkgs/qtkeychain-qt6/template @@ -0,0 +1,36 @@ +# Template file for 'qtkeychain-qt6' +pkgname=qtkeychain-qt6 +version=0.14.1 +revision=1 +build_style=cmake +configure_args="-DBUILD_WITH_QT6=ON + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt6/mkspecs" +hostmakedepends="qt6-tools-devel pkg-config kwallet" +makedepends="qt6-base-devel libsecret-devel" +short_desc="Platform-independent Qt6 API for storing passwords securely" +maintainer="yopito " +license="BSD-2-Clause" +homepage="https://github.com/frankosterfeld/qtkeychain" +distfiles="https://github.com/frankosterfeld/${pkgname%-*}/archive/${version}.tar.gz" +checksum=afb2d120722141aca85f8144c4ef017bd74977ed45b80e5d9e9614015dadd60c + +post_patch() { + # ensure it's not used (see dedicated patch) + rm org.kde.KWallet.xml +} + +post_install() { + vlicense COPYING + vdoc "${FILESDIR}/README.voidlinux" +} + +qtkeychain-qt6-devel_package() { + depends="${sourcepkg}>=${version}_${revision} libsecret-devel" + short_desc+=" - development files" + pkg_install() { + vmove usr/include + vmove usr/lib/cmake + vmove usr/lib/*.so + vmove usr/lib/qt6/mkspecs + } +} From d0f3b1ac196275da02a2d1a4f4f51c10ae628b2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= Date: Sun, 8 Oct 2023 18:26:37 -0300 Subject: [PATCH 3/4] libre-graph-api-cpp-qt-client: rebuild with qt6. --- srcpkgs/libre-graph-api-cpp-qt-client/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/libre-graph-api-cpp-qt-client/template b/srcpkgs/libre-graph-api-cpp-qt-client/template index 735e0190a68e4..7af38bf8cdc26 100644 --- a/srcpkgs/libre-graph-api-cpp-qt-client/template +++ b/srcpkgs/libre-graph-api-cpp-qt-client/template @@ -1,11 +1,11 @@ # Template file for 'libre-graph-api-cpp-qt-client' pkgname=libre-graph-api-cpp-qt-client version=1.0.4 -revision=1 +revision=2 build_wrksrc=client build_style=cmake -hostmakedepends="qt5-qmake qt5-host-tools" -makedepends="qt5-devel" +hostmakedepends="qt6-tools-devel" +makedepends="qt6-base-devel" short_desc="Libre Graph API for owncloudclient" maintainer="Gonzalo Tornaría " license="Apache-2.0" From c2feb849746455edb3577d7da1a3c812d2a5d567 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= Date: Sun, 8 Oct 2023 19:37:41 -0300 Subject: [PATCH 4/4] owncloudclient: update to 5.2.0. --- .../patches/skip-root-test.patch | 26 ++++------------- srcpkgs/owncloudclient/template | 29 +++++++++---------- 2 files changed, 18 insertions(+), 37 deletions(-) diff --git a/srcpkgs/owncloudclient/patches/skip-root-test.patch b/srcpkgs/owncloudclient/patches/skip-root-test.patch index 50aa32e2cd470..aa3270a0bf19f 100644 --- a/srcpkgs/owncloudclient/patches/skip-root-test.patch +++ b/srcpkgs/owncloudclient/patches/skip-root-test.patch @@ -1,35 +1,19 @@ Hardcode `getuid()` as `0` in tests, since inside xbps-src the filesystem is not restricted. -diff --git a/test/testdownload.cpp b/test/testdownload.cpp -index b37cb807da..4af30ae72e 100644 ---- a/test/testdownload.cpp -+++ b/test/testdownload.cpp -@@ -150,10 +150,10 @@ private slots: - void testMoveFailsInAConflict() { - #ifdef Q_OS_WIN - QSKIP("Not run on windows because permission on directory does not do what is expected"); - #else -- if (getuid() == 0) { -+ if (0 == 0) { - QSKIP("The permissions have no effect on the root user"); - } - #endif - // Test for https://github.com/owncloud/client/issues/7015 - // We want to test the case in which the renaming of the original to the conflict file succeeds, diff --git a/test/testfolderman.cpp b/test/testfolderman.cpp index 8fc2cc2627..47213ed6b9 100644 --- a/test/testfolderman.cpp +++ b/test/testfolderman.cpp -@@ -102,11 +102,11 @@ private slots: - QVERIFY(folderman->checkPathValidityForNewFolder(dirPath + "/link1/subfolder").isNull()); - QVERIFY(folderman->checkPathValidityForNewFolder(dirPath + "/link2/free/subfolder").isNull()); +@@ -109,11 +109,11 @@ private slots: + QVERIFY(folderman->checkPathValidityForNewFolder(dirPath + QStringLiteral("/link1/subfolder")).isNull()); + QVERIFY(folderman->checkPathValidityForNewFolder(dirPath + QStringLiteral("/link2/free/subfolder")).isNull()); - if (getuid() != 0) { + if (0 != 0) { // Should not have the rights - QVERIFY(!folderman->checkPathValidityForNewFolder("/").isNull()); - QVERIFY(!folderman->checkPathValidityForNewFolder("/usr/bin/somefolder").isNull()); + QVERIFY(!folderman->checkPathValidityForNewFolder(QStringLiteral("/")).isNull()); + QVERIFY(!folderman->checkPathValidityForNewFolder(QStringLiteral("/usr/bin/somefolder")).isNull()); } #endif diff --git a/srcpkgs/owncloudclient/template b/srcpkgs/owncloudclient/template index 8908d6119a1fa..3aa121e049c6d 100644 --- a/srcpkgs/owncloudclient/template +++ b/srcpkgs/owncloudclient/template @@ -1,33 +1,30 @@ # Template file for 'owncloudclient' pkgname=owncloudclient -version=4.2.0 +version=5.2.0 revision=1 build_style=cmake -configure_args="-Wno-dev -DWITH_AUTO_UPDATER=OFF" -hostmakedepends="pkg-config extra-cmake-modules qt5-host-tools qt5-tools-devel - kcoreaddons" -makedepends="qtkeychain-qt5-devel sqlite-devel qt5-declarative-devel kio-devel - qt5-tools-devel qt5-plugin-odbc qt5-plugin-tds qt5-plugin-pgsql qt5-plugin-mysql - qt5-plugin-sqlite libre-graph-api-cpp-qt-client libcloudproviders-devel" -depends="qt5-plugin-sqlite qt5-svg" +configure_args="-Wno-dev -DWITH_AUTO_UPDATER=OFF + -DKDE_INSTALL_QTPLUGINDIR=lib/qt6/plugins" +hostmakedepends="pkg-config extra-cmake-modules qt6-tools-devel" +makedepends="qt6-base-devel qtkeychain-qt6-devel libre-graph-api-cpp-qt-client + KDSingleApplication" +depends="qt6-plugin-sqlite qt6-svg" conf_files="/etc/ownCloud/sync-exclude.lst" short_desc="Connect to ownCloud servers" maintainer="Gonzalo Tornaría " license="GPL-2.0-or-later" homepage="https://www.owncloud.org" changelog="https://raw.githubusercontent.com/owncloud/client/master/CHANGELOG.md" -distfiles="https://github.com/owncloud/client/archive/v${version/.rc/-rc}.tar.gz" -checksum=e31402a922c63dd94975cb3d8b0a0952374891024daf8e08ce4442cfba0729b1 -subpackages="owncloudclient-kde5 owncloudclient-devel" +distfiles="https://github.com/owncloud/client/archive/v${version}.tar.gz" +checksum=4d08360282bbd1d810a566ab41d52afdb77a4dc7aad958946ef7808f60411ac6 owncloudclient-kde5_package() { + # kde5 integration has been moved to: + # https://github.com/owncloud/client-desktop-shell-integration-dolphin + build_style=meta short_desc+=" - KDE 5 integration" depends="${sourcepkg}>=${version}_${revision}" - pkg_install() { - vmove "usr/lib/*dolphin*" - vmove "usr/lib/qt5/plugins/*dolphin*" - vmove "usr/lib/qt5/plugins/kf5" - } + short_desc+=" (transitional dummy package)" } owncloudclient-devel_package() {