summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx')
-rw-r--r--media-gfx/digikam/digikam-8.5.0-r1.ebuild134
-rw-r--r--media-gfx/digikam/files/digikam-8.5.0-cmake-have_ksane.patch28
2 files changed, 162 insertions, 0 deletions
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)
+