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 +