commit:     baeebddb71704ddae6c7e978ddb3385b864b2a1a
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Jan  5 20:44:09 2025 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jan  5 21:05:21 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=baeebddb

media-gfx/digikam: Fix upstream's cmake yet again

This time HAVE_KSANE not being set w/ KF6-based cmake module name.

Closes: https://bugs.gentoo.org/947312
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-gfx/digikam/digikam-8.5.0-r1.ebuild          | 134 +++++++++++++++++++++
 .../files/digikam-8.5.0-cmake-have_ksane.patch     |  28 +++++
 2 files changed, 162 insertions(+)

diff --git a/media-gfx/digikam/digikam-8.5.0-r1.ebuild 
b/media-gfx/digikam/digikam-8.5.0-r1.ebuild
new file mode 100644
index 000000000000..4c3b3f8ba5ce
--- /dev/null
+++ b/media-gfx/digikam/digikam-8.5.0-r1.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=6.3.0
+QTMIN=6.6.2
+inherit ecm kde.org toolchain-funcs
+
+DESCRIPTION="Digital photo management application"
+HOMEPAGE="https://www.digikam.org/";
+SRC_URI="mirror://kde/stable/${PN}/${PV}/digiKam-${PV/_/-}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
+IUSE="addressbook calendar geolocation gphoto2 heif +imagemagick jpegxl 
+lensfun mysql openmp +panorama scanner semantic-desktop spell video"
+
+# bug 366505
+RESTRICT="test"
+
+# slot op: Uses Qt::GuiPrivate for qtx11extras_p.h
+COMMON_DEPEND="
+       dev-libs/expat
+       
>=dev-qt/qtbase-${QTMIN}:6=[concurrent,dbus,-gles2-only,gui,mysql?,network,opengl,sql,widgets,X,xml]
+       >=dev-qt/qtnetworkauth-${QTMIN}:6
+       >=dev-qt/qtscxml-${QTMIN}:6
+       >=dev-qt/qtsvg-${QTMIN}:6
+       >=dev-qt/qtwebengine-${QTMIN}:6[widgets]
+       >=kde-frameworks/kconfig-${KFMIN}:6
+       >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+       >=kde-frameworks/kcoreaddons-${KFMIN}:6
+       >=kde-frameworks/ki18n-${KFMIN}:6
+       >=kde-frameworks/kiconthemes-${KFMIN}:6
+       >=kde-frameworks/kio-${KFMIN}:6
+       >=kde-frameworks/knotifications-${KFMIN}:6
+       >=kde-frameworks/knotifyconfig-${KFMIN}:6
+       >=kde-frameworks/kservice-${KFMIN}:6
+       >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+       >=kde-frameworks/kwindowsystem-${KFMIN}:6
+       >=kde-frameworks/kxmlgui-${KFMIN}:6
+       >=kde-frameworks/solid-${KFMIN}:6
+       >=media-gfx/exiv2-0.27.1:=[xmp]
+       media-libs/lcms:2
+       media-libs/libjpeg-turbo:=
+       media-libs/liblqr
+       media-libs/libpng:=
+       >=media-libs/opencv-3.3.0:=[contrib,contribdnn,features2d]
+       media-libs/tiff:=
+       virtual/opengl
+       x11-libs/libX11
+       addressbook? (
+               >=kde-apps/akonadi-contacts-24.05.2:6
+               >=kde-frameworks/kcontacts-${KFMIN}:6
+       )
+       calendar? ( >=kde-frameworks/kcalendarcore-${KFMIN}:6 )
+       gphoto2? ( media-libs/libgphoto2:= )
+       heif? (
+               media-libs/libheif:=
+               media-libs/x265:=
+       )
+       imagemagick? ( media-gfx/imagemagick:= )
+       jpegxl? ( media-libs/libjxl:= )
+       lensfun? ( media-libs/lensfun )
+       panorama? ( >=kde-frameworks/threadweaver-${KFMIN}:6 )
+       scanner? ( >=kde-apps/libksane-24.05.2:6 )
+       semantic-desktop? ( >=kde-frameworks/kfilemetadata-${KFMIN}:6 )
+       spell? ( >=kde-frameworks/sonnet-${KFMIN}:6 )
+       video? ( >=dev-qt/qtmultimedia-${QTMIN}:6 )
+"
+DEPEND="${COMMON_DEPEND}
+       dev-cpp/eigen:3
+       dev-libs/boost
+       addressbook? ( >=kde-apps/akonadi-24.05.2:6 )
+"
+RDEPEND="${COMMON_DEPEND}
+       !${CATEGORY}/${PN}:5
+       media-libs/exiftool
+       mysql? ( virtual/mysql[server(+)] )
+       panorama? ( media-gfx/hugin )
+"
+BDEPEND="
+       sys-devel/gettext
+       panorama? (
+               app-alternatives/lex
+               app-alternatives/yacc
+       )
+"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-8.4.0-cmake.patch"
+       "${FILESDIR}/${PN}-8.3.0-cmake-addressbook.patch"
+       "${FILESDIR}/${P}-cmake-have_ksane.patch" # bug 947312
+)
+
+pkg_pretend() {
+       [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+       ecm_pkg_pretend
+}
+
+pkg_setup() {
+       [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+       ecm_pkg_setup
+}
+
+# FIXME: Unbundle libraw (libs/rawengine/libraw)
+# TODO: adding IUSE X requires upstreaming WITH_X11 option for libX11,
+#      see core/cmake/rules/RulesX11.cmake; only used in 
core/libs/dimg/filters/icc
+src_configure() {
+       local mycmakeargs=(
+               -DBUILD_WITH_QT6=ON
+               -DBUILD_TESTING=OFF # bug 698192
+               -DENABLE_APPSTYLES=ON
+               -DCMAKE_DISABLE_FIND_PACKAGE_Jasper=ON
+               -DENABLE_SHOWFOTO=ON # built unconditionally so far, new option 
since 8.0
+               -DENABLE_AKONADICONTACTSUPPORT=$(usex addressbook)
+               $(cmake_use_find_package calendar KF6CalendarCore)
+               -DENABLE_GEOLOCATION=$(usex geolocation)
+               $(cmake_use_find_package gphoto2 Gphoto2)
+               $(cmake_use_find_package heif Libheif)
+               $(cmake_use_find_package imagemagick ImageMagick)
+               $(cmake_use_find_package jpegxl Libjxl)
+               $(cmake_use_find_package lensfun LensFun)
+               -DENABLE_MYSQLSUPPORT=$(usex mysql)
+               -DENABLE_INTERNALMYSQL=$(usex mysql)
+               $(cmake_use_find_package panorama KF6ThreadWeaver)
+               $(cmake_use_find_package scanner KSaneWidgets6)
+               -DENABLE_KFILEMETADATASUPPORT=$(usex semantic-desktop)
+               $(cmake_use_find_package spell KF6Sonnet)
+               -DENABLE_MEDIAPLAYER=$(usex video)
+       )
+
+       ecm_src_configure
+}

diff --git a/media-gfx/digikam/files/digikam-8.5.0-cmake-have_ksane.patch 
b/media-gfx/digikam/files/digikam-8.5.0-cmake-have_ksane.patch
new file mode 100644
index 000000000000..9099b2f37468
--- /dev/null
+++ b/media-gfx/digikam/files/digikam-8.5.0-cmake-have_ksane.patch
@@ -0,0 +1,28 @@
+diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt
+index 2cef54510c..95e33cfc2f 100644
+--- a/core/CMakeLists.txt
++++ b/core/CMakeLists.txt
+@@ -201,7 +201,11 @@ MACOS_DEBUG_POLICIES()
+ message(STATUS "--------------------------------------------------")
+ message(STATUS "")
+ 
++if(Qt6_FOUND)
++MACRO_BOOL_TO_01(KSaneWidgets6_FOUND                            HAVE_KSANE)
++else()
+ MACRO_BOOL_TO_01(KF${QT_VERSION_MAJOR}Sane_FOUND                HAVE_KSANE)
++endif()
+ MACRO_BOOL_TO_01(KF${QT_VERSION_MAJOR}FileMetaData_FOUND        
HAVE_KFILEMETADATA)
+ MACRO_BOOL_TO_01(KF${QT_VERSION_MAJOR}CalendarCore_FOUND        
HAVE_KCALENDAR)
+ MACRO_BOOL_TO_01(KF${QT_VERSION_MAJOR}Notifications_FOUND       
HAVE_KNOTIFICATIONS)
+@@ -294,7 +302,11 @@ PRINT_OPTIONAL_LIBRARY_STATUS("libkio"            
"https://invent.kde.org/framew
+ PRINT_OPTIONAL_LIBRARY_STATUS("libknotifications" 
"https://invent.kde.org/frameworks/knotifyconfig";                 "(version >= 
${KF${QT_VERSION_MAJOR}_MIN_VERSION})"       "digiKam will be compiled without 
KDE desktop notifications support."         
KF${QT_VERSION_MAJOR}Notifications_FOUND)
+ PRINT_OPTIONAL_LIBRARY_STATUS("libknotifyconfig"  
"https://invent.kde.org/frameworks/knotifications";                "(version >= 
${KF${QT_VERSION_MAJOR}_MIN_VERSION})"       "digiKam will be compiled without 
KDE desktop notify configuration support."  
KF${QT_VERSION_MAJOR}NotifyConfig_FOUND)
+ PRINT_OPTIONAL_LIBRARY_STATUS("libsonnet"         
"https://invent.kde.org/frameworks/sonnet";                        "(version >= 
${KF${QT_VERSION_MAJOR}_MIN_VERSION})"       "digiKam will be compiled without 
spell-checking support."                    KF${QT_VERSION_MAJOR}Sonnet_FOUND)
++if(Qt6_FOUND)
++PRINT_OPTIONAL_LIBRARY_STATUS("libksane"          
"https://invent.kde.org/graphics/libksane";                        "(version >= 
${KSANE_MIN_VERSION})"     "digiKam will be compiled without flat scanners 
support."                     KSaneWidgets6_FOUND)
++else()
+ PRINT_OPTIONAL_LIBRARY_STATUS("libksane"          
"https://invent.kde.org/graphics/libksane";                        "(version >= 
${KSANE_MIN_VERSION})"     "digiKam will be compiled without flat scanners 
support."                     KF${QT_VERSION_MAJOR}Sane_FOUND)
++endif()
+ PRINT_OPTIONAL_LIBRARY_STATUS("liblensfun"        
"https://github.com/lensfun/lensfun";                              "(version >= 
0.2.6)"                    "digiKam will be compiled without Lens Auto 
Correction tool support."         LensFun_FOUND)
+ PRINT_OPTIONAL_LIBRARY_STATUS("libglib2"          
"https://developer.gnome.org/glib/";                               "(version >= 
2.0.0)"                    "digiKam will be compiled without Contents Aware 
Resizer tool support."       GLIB2_FOUND)
+ 

Reply via email to