author | Antonio Rojas
<arojas@archlinux.org> 2024-03-15 10:57:12 UTC |
committer | Antonio Rojas
<arojas@archlinux.org> 2024-03-15 10:57:12 UTC |
parent | 5315b63ff4a57e0dce24c6672bfcad21688d3154 |
.SRCINFO | +35 | -7 |
PKGBUILD | +52 | -14 |
use-kwallet.patch | +55 | -0 |
diff --git a/.SRCINFO b/.SRCINFO index 7ac5728..10d9f2a 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,26 +1,54 @@ pkgbase = libksane pkgdesc = An image scanning library pkgver = 24.02.0 - pkgrel = 1 + pkgrel = 2 url = https://www.kde.org/ arch = x86_64 license = GPL-2.0-or-later license = LGPL-2.0-or-later makedepends = extra-cmake-modules + makedepends = ki18n5 + makedepends = ksanecore5 + makedepends = ktextwidgets5 + makedepends = kwallet5 + makedepends = kwidgetsaddons5 + makedepends = qt5-base + makedepends = ki18n + makedepends = ksanecore + makedepends = ktextwidgets + makedepends = kwallet + makedepends = kwidgetsaddons + makedepends = qt6-base depends = gcc-libs depends = glibc - depends = ki18n5 - depends = ksanecore5 - depends = ktextwidgets5 - depends = kwallet5 - depends = kwidgetsaddons5 - depends = qt5-base source = https://download.kde.org/stable/release-service/24.02.0/src/libksane-24.02.0.tar.xz source = https://download.kde.org/stable/release-service/24.02.0/src/libksane-24.02.0.tar.xz.sig + source = use-kwallet.patch validpgpkeys = CA262C6C83DE4D2FB28A332A3A6A4DB839EAA6D7 validpgpkeys = F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87 validpgpkeys = D81C0CB38EB725EF6691C385BB463350D6EF31EF sha256sums = 8e8f59a5ac280ff7512c7712b4675f778fca3b80296fbbbdf8d8cf650b171ab5 sha256sums = SKIP + sha256sums = f89a3cecbdb4682871654bcf264415a7ddbb10b14bbc69fbfe0e76015aecbca5 pkgname = libksane + depends = gcc-libs + depends = glibc + depends = ki18n + depends = ksanecore + depends = ktextwidgets + depends = kwallet + depends = kwidgetsaddons + depends = qt6-base + +pkgname = libksane5 + depends = gcc-libs + depends = glibc + depends = ki18n5 + depends = ksanecore5 + depends = ktextwidgets5 + depends = kwallet5 + depends = kwidgetsaddons5 + depends = libksane + depends = qt5-base + conflicts = libksane<24.02.0-2 diff --git a/PKGBUILD b/PKGBUILD index 3e9a87d..6acf99d 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -2,35 +2,73 @@ # Maintainer: Antonio Rojas <arojas@archlinux.org> # Contributor: Andrea Scarpino <andrea@archlinux.org> -pkgname=libksane +pkgbase=libksane +pkgname=(libksane + libksane5) pkgver=24.02.0 -pkgrel=1 +pkgrel=2 pkgdesc='An image scanning library' url='https://www.kde.org/' arch=(x86_64) license=(GPL-2.0-or-later LGPL-2.0-or-later) depends=(gcc-libs - glibc - ki18n5 - ksanecore5 - ktextwidgets5 - kwallet5 - kwidgetsaddons5 - qt5-base) -makedepends=(extra-cmake-modules) -source=(https://download.kde.org/stable/release-service/$pkgver/src/$pkgname-$pkgver.tar.xz{,.sig}) + glibc) +makedepends=(extra-cmake-modules + ki18n5 + ksanecore5 + ktextwidgets5 + kwallet5 + kwidgetsaddons5 + qt5-base + ki18n + ksanecore + ktextwidgets + kwallet + kwidgetsaddons + qt6-base) +source=(https://download.kde.org/stable/release-service/$pkgver/src/$pkgname-$pkgver.tar.xz{,.sig} + use-kwallet.patch) sha256sums=('8e8f59a5ac280ff7512c7712b4675f778fca3b80296fbbbdf8d8cf650b171ab5' - 'SKIP') + 'SKIP' + 'f89a3cecbdb4682871654bcf264415a7ddbb10b14bbc69fbfe0e76015aecbca5') validpgpkeys=(CA262C6C83DE4D2FB28A332A3A6A4DB839EAA6D7 # Albert Astals Cid <aacid@kde.org> F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87 # Christoph Feck <cfeck@kde.org> D81C0CB38EB725EF6691C385BB463350D6EF31EF) # Heiko Becker <heiko.becker@kde.org> +prepare() { + patch -d $pkgbase-$pkgver -p1 < use-kwallet.patch # Use KWallet when building with Qt6 +} + build() { cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DQT_MAJOR_VERSION=6 + cmake --build build + + cmake -B build5 -S $pkgname-$pkgver \ -DBUILD_TESTING=OFF - cmake --build build + cmake --build build5 } -package() { +package_libksane() { + depends+=(ki18n + ksanecore + ktextwidgets + kwallet + kwidgetsaddons + qt6-base) DESTDIR="$pkgdir" cmake --install build } + +package_libksane5() { + depends+=(ki18n5 + ksanecore5 + ktextwidgets5 + kwallet5 + kwidgetsaddons5 + libksane + qt5-base) + conflicts=('libksane<24.02.0-2') + DESTDIR="$pkgdir" cmake --install build5 + rm -r "$pkgdir"/usr/share # provided by libksane +} diff --git a/use-kwallet.patch b/use-kwallet.patch new file mode 100644 index 0000000..f44616d --- /dev/null +++ b/use-kwallet.patch @@ -0,0 +1,55 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 5d3cf81..ab07811 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -9,8 +9,8 @@ set_target_properties(KSaneWidgets PROPERTIES + + target_compile_definitions(KSaneWidgets PRIVATE -DTRANSLATION_DOMAIN=\"libksane\") + +-if (KF5Wallet_FOUND) +- target_compile_definitions(KSaneWidgets PRIVATE -DHAVE_KF5WALLET) ++if (KF${KF_MAJOR_VERSION}Wallet_FOUND) ++ target_compile_definitions(KSaneWidgets PRIVATE -DHAVE_KWALLET) + target_link_libraries(KSaneWidgets PRIVATE KF${KF_MAJOR_VERSION}::Wallet) + endif() + +diff --git a/src/ksanewidget.cpp b/src/ksanewidget.cpp +index 12aa19d..df41900 100644 +--- a/src/ksanewidget.cpp ++++ b/src/ksanewidget.cpp +@@ -23,7 +23,7 @@ + #include <QShortcut> + + #include <KPasswordDialog> +-#ifdef HAVE_KF5WALLET ++#ifdef HAVE_KWALLET + #include <KWallet> + #endif + +@@ -240,7 +240,7 @@ QString KSaneWidget::selectDevice(QWidget *parent) + bool KSaneWidget::openDevice(const QString &deviceName) + { + KPasswordDialog *dlg; +-#ifdef HAVE_KF5WALLET ++#ifdef HAVE_KWALLET + KWallet::Wallet *saneWallet; + #endif + QString myFolderName = QStringLiteral("ksane"); +@@ -255,7 +255,7 @@ bool KSaneWidget::openDevice(const QString &deviceName) + + // prepare wallet for authentication and create password dialog + if (status == KSaneCore::Interface::OpeningDenied) { +-#ifdef HAVE_KF5WALLET ++#ifdef HAVE_KWALLET + saneWallet = KWallet::Wallet::openWallet(KWallet::Wallet::LocalWallet(), winId()); + + if (saneWallet) { +@@ -292,7 +292,7 @@ bool KSaneWidget::openDevice(const QString &deviceName) + // add/update the device user-name and password for authentication + status = d->m_ksaneCoreInterface->openRestrictedDevice(deviceName, dlg->username(), dlg->password()); + +-#ifdef HAVE_KF5WALLET ++#ifdef HAVE_KWALLET + // store password in wallet on successful authentication + if (dlg->keepPassword() && status != KSaneCore::Interface::OpeningDenied) { + QMap<QString, QString> entry;