git » libksane.git » commit 606b3e0

upgpkg: 24.02.0-2: Build with Qt6

author Antonio Rojas
2024-03-15 10:57:12 UTC
committer Antonio Rojas
2024-03-15 10:57:12 UTC
parent 5315b63ff4a57e0dce24c6672bfcad21688d3154

upgpkg: 24.02.0-2: Build with Qt6

.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;