commit:     618f27a796065b2f0e48d85d1cd2c3affddffc76
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 25 14:00:44 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Mar 25 14:45:50 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=618f27a7

media-gfx/digikam: add 8.3.0

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-gfx/digikam/Manifest                        |   1 +
 media-gfx/digikam/digikam-8.3.0.ebuild            | 148 +++++++++++++++++
 media-gfx/digikam/files/digikam-8.3.0-cmake.patch | 192 ++++++++++++++++++++++
 3 files changed, 341 insertions(+)

diff --git a/media-gfx/digikam/Manifest b/media-gfx/digikam/Manifest
index c25e1b879012..5511dff9e23a 100644
--- a/media-gfx/digikam/Manifest
+++ b/media-gfx/digikam/Manifest
@@ -1 +1,2 @@
 DIST digiKam-8.2.0.tar.xz 48172600 BLAKE2B 
436f8dcd905ff993cfde3e358e27ac23cb4ad49d24a6328cda209a742874e9fcbc12da507095e2f75a167b653bb1d9e579438bf517e2911f2cb32705230023f1
 SHA512 
a34c5bde0e579b5f6de1fe90977e01bc385e5c28155d24db09e3cdfe7958c979d2e27cbce402d6c5b70f952fc0ead88318dfa025bb67e540c4d763cb139db7bb
+DIST digiKam-8.3.0-1.tar.xz 55664168 BLAKE2B 
46b0f26bb781d370c1046fd6de6afb0a0878175f9722a2fc9ed23aad89eb0671f8b219bb7c169ccd22d440ce493d958304a5a527a733862fe4e2c5cd07da8a21
 SHA512 
c2fdcecafa68641f08b31286d1b9c44828164a0a0bea607fb64a71c73ff53417cdfefa110245adab164fae8ea0980ea86cd69d693dcd43a96bb188197dc78fcd

diff --git a/media-gfx/digikam/digikam-8.3.0.ebuild 
b/media-gfx/digikam/digikam-8.3.0.ebuild
new file mode 100644
index 000000000000..cc2ba25def3e
--- /dev/null
+++ b/media-gfx/digikam/digikam-8.3.0.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=5.115.0
+QTMIN=5.15.12
+inherit ecm kde.org toolchain-funcs
+
+if [[ ${KDE_BUILD_TYPE} != live ]]; then
+       TARNAME="digiKam-${PV/_/-}-1"
+       if [[ ${PV} =~ beta[0-9]$ ]]; then
+               SRC_URI="mirror://kde/unstable/${PN}/${TARNAME}.tar.xz"
+       else
+               SRC_URI="mirror://kde/stable/${PN}/${PV}/${TARNAME}.tar.xz"
+       fi
+       KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Digital photo management application"
+HOMEPAGE="https://www.digikam.org/";
+
+LICENSE="GPL-2"
+SLOT="5"
+IUSE="addressbook calendar gphoto2 heif +imagemagick +lensfun marble mysql 
opengl openmp +panorama scanner semantic-desktop spell"
+
+# bug 366505
+RESTRICT="test"
+
+COMMON_DEPEND="
+       dev-libs/expat
+       >=dev-qt/qtconcurrent-${QTMIN}:5
+       >=dev-qt/qtdbus-${QTMIN}:5
+       >=dev-qt/qtgui-${QTMIN}:5[-gles2-only]
+       >=dev-qt/qtnetwork-${QTMIN}:5
+       >=dev-qt/qtnetworkauth-${QTMIN}:5
+       >=dev-qt/qtprintsupport-${QTMIN}:5
+       >=dev-qt/qtsql-${QTMIN}:5[mysql?]
+       >=dev-qt/qtwebengine-${QTMIN}:5[widgets]
+       >=dev-qt/qtwidgets-${QTMIN}:5
+       >=dev-qt/qtx11extras-${QTMIN}:5
+       >=dev-qt/qtxml-${QTMIN}:5
+       >=dev-qt/qtxmlpatterns-${QTMIN}:5
+       >=kde-frameworks/kconfig-${KFMIN}:5
+       >=kde-frameworks/kconfigwidgets-${KFMIN}:5
+       >=kde-frameworks/kcoreaddons-${KFMIN}:5
+       >=kde-frameworks/ki18n-${KFMIN}:5
+       >=kde-frameworks/kiconthemes-${KFMIN}:5
+       >=kde-frameworks/kio-${KFMIN}:5
+       >=kde-frameworks/knotifications-${KFMIN}:5
+       >=kde-frameworks/knotifyconfig-${KFMIN}:5
+       >=kde-frameworks/kservice-${KFMIN}:5
+       >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+       >=kde-frameworks/kwindowsystem-${KFMIN}:5
+       >=kde-frameworks/kxmlgui-${KFMIN}:5
+       >=kde-frameworks/solid-${KFMIN}:5
+       >=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:=
+       x11-libs/libX11
+       addressbook? (
+               >=kde-apps/akonadi-contacts-23.08.3:5
+               >=kde-frameworks/kcontacts-${KFMIN}:5
+       )
+       calendar? ( >=kde-frameworks/kcalendarcore-${KFMIN}:5 )
+       gphoto2? ( media-libs/libgphoto2:= )
+       heif? (
+               media-libs/libheif:=
+               media-libs/x265:=
+       )
+       imagemagick? ( media-gfx/imagemagick:= )
+       lensfun? ( media-libs/lensfun )
+       marble? (
+               >=dev-qt/qtconcurrent-${QTMIN}:5
+               >=kde-apps/marble-23.08.3:5
+               >=kde-frameworks/kbookmarks-${KFMIN}:5
+       )
+       opengl? (
+               >=dev-qt/qtopengl-${QTMIN}:5
+               virtual/opengl
+       )
+       panorama? ( >=kde-frameworks/threadweaver-${KFMIN}:5 )
+       scanner? ( >=kde-apps/libksane-23.08.3:5 )
+       semantic-desktop? ( >=kde-frameworks/kfilemetadata-${KFMIN}:5 )
+       spell? ( >=kde-frameworks/sonnet-${KFMIN}:5 )
+"
+DEPEND="${COMMON_DEPEND}
+       dev-cpp/eigen:3
+       dev-libs/boost
+       addressbook? ( >=kde-apps/akonadi-23.08.3:5 )
+"
+RDEPEND="${COMMON_DEPEND}
+       media-libs/exiftool
+       mysql? ( virtual/mysql[server(+)] )
+       panorama? ( media-gfx/hugin )
+"
+BDEPEND="
+       sys-devel/gettext
+       panorama? (
+               app-alternatives/lex
+               app-alternatives/yacc
+       )
+"
+
+PATCHES=( "${FILESDIR}/${P}-cmake.patch" )
+
+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)
+src_configure() {
+       local mycmakeargs=(
+               -DBUILD_WITH_QT6=OFF # KF6 not stable upstream yet
+               -DBUILD_TESTING=OFF # bug 698192
+               -DENABLE_APPSTYLES=ON
+               -DCMAKE_DISABLE_FIND_PACKAGE_Jasper=ON
+               -DENABLE_MEDIAPLAYER=OFF # bug 758641; bundled as of 8.0, 
KDE-bug 448681
+               -DENABLE_SHOWFOTO=ON # built unconditionally so far, new option 
since 8.0
+               -DENABLE_QWEBENGINE=ON
+               -DENABLE_AKONADICONTACTSUPPORT=$(usex addressbook)
+               $(cmake_use_find_package calendar KF5CalendarCore)
+               $(cmake_use_find_package gphoto2 Gphoto2)
+               $(cmake_use_find_package heif Libheif)
+               $(cmake_use_find_package imagemagick ImageMagick)
+               $(cmake_use_find_package lensfun LensFun)
+               $(cmake_use_find_package marble Marble)
+               -DENABLE_MYSQLSUPPORT=$(usex mysql)
+               -DENABLE_INTERNALMYSQL=$(usex mysql)
+               $(cmake_use_find_package opengl OpenGL)
+               $(cmake_use_find_package panorama KF5ThreadWeaver)
+               $(cmake_use_find_package scanner KF5Sane)
+               $(cmake_use_find_package spell KF5Sonnet)
+               -DENABLE_KFILEMETADATASUPPORT=$(usex semantic-desktop)
+       )
+
+       ecm_src_configure
+}

diff --git a/media-gfx/digikam/files/digikam-8.3.0-cmake.patch 
b/media-gfx/digikam/files/digikam-8.3.0-cmake.patch
new file mode 100644
index 000000000000..03438e3f2245
--- /dev/null
+++ b/media-gfx/digikam/files/digikam-8.3.0-cmake.patch
@@ -0,0 +1,192 @@
+From c6ae81abf56851c818285d555e192c660635247b Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <andreas.sturmlech...@gmail.com>
+Date: Sun, 17 Feb 2019 23:51:03 +0100
+Subject: [PATCH] Un-break optional Qt/KF detection
+
+And if we enable an option, make the necessary libraries REQUIRED.
+---
+ core/cmake/rules/RulesKDEFramework.cmake | 43 +++--------------
+ core/cmake/rules/RulesQtFramework.cmake  | 61 +++++-------------------
+ core/cmake/rules/RulesX11.cmake          |  7 +--
+ 3 files changed, 20 insertions(+), 91 deletions(-)
+
+diff --git a/core/cmake/rules/RulesKDEFramework.cmake 
b/core/cmake/rules/RulesKDEFramework.cmake
+index e34e5f4a8d..3cde25928f 100644
+--- a/core/cmake/rules/RulesKDEFramework.cmake
++++ b/core/cmake/rules/RulesKDEFramework.cmake
+@@ -26,26 +26,15 @@ find_package(KF${QT_VERSION_MAJOR} 
${KF${QT_VERSION_MAJOR}_MIN_VERSION} QUIET
+ )
+ 
+ if(ENABLE_KFILEMETADATASUPPORT)
+-
+-    find_package(KF${QT_VERSION_MAJOR} ${KF${QT_VERSION_MAJOR}_MIN_VERSION} 
QUIET
+-                                        OPTIONAL_COMPONENTS
+-                                        FileMetaData            # For Plasma 
desktop file indexer support.
+-    )
+-
++    # For Plasma desktop file indexer support.
++    find_package(KF${QT_VERSION_MAJOR}FileMetaData 
${KF${QT_VERSION_MAJOR}_MIN_VERSION} REQUIRED)
+ endif()
+ 
+ 
+ if(ENABLE_AKONADICONTACTSUPPORT)
+-
+-    find_package(KF${QT_VERSION_MAJOR} ${AKONADI_MIN_VERSION} QUIET
+-                                            OPTIONAL_COMPONENTS
+-                                            Akonadi
+-                                            AkonadiContact      # For KDE 
Mail Contacts support.
+-                                            Contacts            # API for 
contacts/address book data.
+-    )
+-    find_package(KPim${QT_VERSION_MAJOR}Akonadi ${AKONADI_MIN_VERSION} QUIET)
+-    find_package(KPim${QT_VERSION_MAJOR}AkonadiContact ${AKONADI_MIN_VERSION} 
QUIET)
+-
++    find_package(KF${QT_VERSION_MAJOR}Contacts 
${KF${QT_VERSION_MAJOR}_MIN_VERSION} REQUIRED) # API for contacts/address book 
data.
++    find_package(KPim${QT_VERSION_MAJOR}Akonadi ${AKONADI_MIN_VERSION} 
REQUIRED)
++    find_package(KPim${QT_VERSION_MAJOR}AkonadiContact ${AKONADI_MIN_VERSION} 
REQUIRED) # For KDE Mail Contacts support.
+ endif()
+ 
+ if(Qt6_FOUND)
+@@ -54,17 +43,11 @@ if(Qt6_FOUND)
+ 
+ else()
+ 
+-    find_package(KF${QT_VERSION_MAJOR} ${KSANE_MIN_VERSION} QUIET
+-                                       OPTIONAL_COMPONENTS
+-                                       Sane                      # For 
digital scanner support.
+-    )
++    find_package(KF${QT_VERSION_MAJOR}Sane ${KSANE_MIN_VERSION} QUIET) # For 
digital scanner support.
+ 
+ endif()
+ 
+-find_package(KF${QT_VERSION_MAJOR} ${CALENDAR_MIN_VERSION} QUIET
+-                                         OPTIONAL_COMPONENTS
+-                                         CalendarCore           # For 
Calendar tool.
+-)
++find_package(KF${QT_VERSION_MAJOR}CalendarCore ${CALENDAR_MIN_VERSION} QUIET) 
# For Calendar tool.
+ 
+ if ("${KF${QT_VERSION_MAJOR}CalendarCore_VERSION}" VERSION_GREATER 5.6.40)
+ 
+@@ -72,18 +55,6 @@ if ("${KF${QT_VERSION_MAJOR}CalendarCore_VERSION}" 
VERSION_GREATER 5.6.40)
+ 
+ endif()
+ 
+-if(ENABLE_AKONADICONTACTSUPPORT AND (NOT 
KPim${QT_VERSION_MAJOR}AkonadiContact_FOUND OR NOT 
KPim${QT_VERSION_MAJOR}Contacts_FOUND))
+-
+-    set(ENABLE_AKONADICONTACTSUPPORT OFF)
+-
+-endif()
+-
+-if(ENABLE_KFILEMETADATASUPPORT AND NOT 
KF${QT_VERSION_MAJOR}FileMetaData_FOUND)
+-
+-    set(ENABLE_KFILEMETADATASUPPORT OFF)
+-
+-endif()
+-
+ # Check if KIO have been compiled with KIOWidgets. digiKam only needs this 
one.
+ 
+ if(ENABLE_KIO)
+diff --git a/core/cmake/rules/RulesQtFramework.cmake 
b/core/cmake/rules/RulesQtFramework.cmake
+index 6f233ccfbc..7e29a09a40 100644
+--- a/core/cmake/rules/RulesQtFramework.cmake
++++ b/core/cmake/rules/RulesQtFramework.cmake
+@@ -19,49 +19,20 @@ find_package(Qt${QT_VERSION_MAJOR} REQUIRED
+ )
+ 
+ if(ENABLE_QWEBENGINE)
+-
+-    find_package(Qt${QT_VERSION_MAJOR} REQUIRED
+-                                       NO_MODULE
+-                                       COMPONENTS
+-                                       WebEngineWidgets
+-    )
+-
++    find_package(Qt${QT_VERSION_MAJOR}WebEngineWidgets REQUIRED NO_MODULE)
+ else()
+-
+-    find_package(Qt${QT_VERSION_MAJOR} REQUIRED
+-                                       NO_MODULE
+-                                       COMPONENTS
+-                                       WebKitWidgets
+-    )
+-
++    find_package(Qt${QT_VERSION_MAJOR}WebKitWidgets REQUIRED NO_MODULE)
+ endif()
+ 
+-find_package(Qt${QT_VERSION_MAJOR}
+-             OPTIONAL_COMPONENTS
+-             DBus
+-             OpenGL
+-)
++find_package(Qt${QT_VERSION_MAJOR}DBus)
++find_package(Qt${QT_VERSION_MAJOR}OpenGL)
+ 
+ if(Qt6_FOUND)
+-
+-    find_package(Qt${QT_VERSION_MAJOR} REQUIRED
+-                 NO_MODULE COMPONENTS
+-                 StateMachine
+-                 SvgWidgets
+-    )
+-
+-    find_package(Qt${QT_VERSION_MAJOR}
+-                 OPTIONAL_COMPONENTS
+-                 OpenGLWidgets
+-    )
+-
++    find_package(Qt${QT_VERSION_MAJOR}StateMachine REQUIRED NO_MODULE)
++    find_package(Qt${QT_VERSION_MAJOR}SvgWidgets REQUIRED NO_MODULE)
++    find_package(Qt${QT_VERSION_MAJOR}OpenGLWidgets)
+ else()
+-
+-    find_package(Qt${QT_VERSION_MAJOR}
+-                 OPTIONAL_COMPONENTS
+-                 XmlPatterns                # For Rajce plugin
+-    )
+-
++    find_package(Qt${QT_VERSION_MAJOR}XmlPatterns) # For Rajce plugin
+ endif()
+ 
+ if(ENABLE_DBUS)
+@@ -77,17 +48,9 @@ endif()
+ # Qt Dependencies For unit tests and CLI test tools
+ 
+ if(BUILD_TESTING)
++    find_package(Qt${QT_VERSION_MAJOR}Test REQUIRED NO_MODULE)
+ 
+-    find_package(Qt${QT_VERSION_MAJOR} REQUIRED
+-                                       NO_MODULE
+-                                       COMPONENTS
+-                                       Test
+-    )
+-
+-    find_package(Qt${QT_VERSION_MAJOR}
+-                 QUIET
+-                 OPTIONAL_COMPONENTS
+-                 Qml WebView  # Optional, for 'sialis' O2 library test tool.
+-    )
+-
++    # Optional, for 'sialis' O2 library test tool.
++    find_package(Qt${QT_VERSION_MAJOR}Qml QUIET NO_MODULE)
++    find_package(Qt${QT_VERSION_MAJOR}WebView QUIET NO_MODULE)
+ endif()
+diff --git a/core/cmake/rules/RulesX11.cmake b/core/cmake/rules/RulesX11.cmake
+index d7830f3923..4401a57c87 100644
+--- a/core/cmake/rules/RulesX11.cmake
++++ b/core/cmake/rules/RulesX11.cmake
+@@ -11,12 +11,7 @@ find_package(X11)
+ if(X11_FOUND)
+ 
+     if(NOT Qt6_FOUND)
+-
+-        find_package(Qt5 ${QT_MIN_VERSION} NO_MODULE
+-                                           COMPONENTS
+-                                           X11Extras
+-        )
+-
++        find_package(Qt5X11Extras ${QT_MIN_VERSION} NO_MODULE)
+     endif()
+ 
+     set(HAVE_X11 TRUE)
+-- 
+2.44.0
+

Reply via email to