public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Andreas Sturmlechner" <asturm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/digikam/, media-gfx/digikam/files/
Date: Sat, 18 Feb 2017 23:33:56 +0000 (UTC)	[thread overview]
Message-ID: <1487460790.3542c10ba95fb072f50711f53a0b60bbde63b540.asturm@gentoo> (raw)

commit:     3542c10ba95fb072f50711f53a0b60bbde63b540
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 18 22:44:27 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Feb 18 23:33:10 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3542c10b

media-gfx/digikam: Fix crash on fixing red eyes

Gentoo-bug: 609216
Thanks-to: Oliver Schwabedissen <Oliver <AT> Schwabedissen.name>

Package-Manager: portage-2.3.3

 media-gfx/digikam/digikam-5.3.0-r2.ebuild          | 174 +++++++++++++++++++++
 .../files/digikam-5.3.0-redeyes-crash.patch        |  43 +++++
 2 files changed, 217 insertions(+)

diff --git a/media-gfx/digikam/digikam-5.3.0-r2.ebuild b/media-gfx/digikam/digikam-5.3.0-r2.ebuild
new file mode 100644
index 0000000000..38187bee3b
--- /dev/null
+++ b/media-gfx/digikam/digikam-5.3.0-r2.ebuild
@@ -0,0 +1,174 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+if [[ ${KDE_BUILD_TYPE} != live ]]; then
+	KDE_HANDBOOK="true"
+	KDE_TEST="true"
+fi
+CMAKE_MAKEFILE_GENERATOR="emake"
+inherit kde5 toolchain-funcs
+
+DESCRIPTION="Digital photo management application"
+HOMEPAGE="https://www.digikam.org/"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86"
+IUSE="addressbook calendar gphoto2 jpeg2k +kipi +lensfun marble semantic-desktop mysql opengl openmp +panorama scanner video X"
+
+if [[ ${KDE_BUILD_TYPE} != live ]]; then
+	MY_PV=${PV/_/-}
+	MY_P=${PN}-${MY_PV}
+	SRC_BRANCH=stable
+	[[ ${PV} =~ beta[0-9]$ ]] && SRC_BRANCH=unstable
+	SRC_URI="mirror://kde/${SRC_BRANCH}/digikam/${MY_P}.tar.xz"
+	S="${WORKDIR}/${MY_P}/core"
+fi
+
+COMMON_DEPEND="
+	$(add_frameworks_dep kconfig)
+	$(add_frameworks_dep kconfigwidgets)
+	$(add_frameworks_dep kcoreaddons)
+	$(add_frameworks_dep kiconthemes)
+	$(add_frameworks_dep ki18n)
+	$(add_frameworks_dep kio)
+	$(add_frameworks_dep knotifications)
+	$(add_frameworks_dep knotifyconfig)
+	$(add_frameworks_dep kservice)
+	$(add_frameworks_dep kwidgetsaddons)
+	$(add_frameworks_dep kwindowsystem)
+	$(add_frameworks_dep kxmlgui)
+	$(add_frameworks_dep solid)
+	$(add_qt_dep qtdbus)
+	$(add_qt_dep qtgui '-gles2')
+	$(add_qt_dep qtprintsupport)
+	$(add_qt_dep qtsql 'mysql?')
+	$(add_qt_dep qtwebkit)
+	$(add_qt_dep qtwidgets)
+	$(add_qt_dep qtxml)
+	dev-libs/expat
+	media-gfx/exiv2:=
+	media-libs/lcms:2
+	media-libs/liblqr
+	>=media-libs/libpgf-6.12.27
+	media-libs/libpng:0=
+	media-libs/opencv:=[-qt4(-)]
+	|| ( <media-libs/opencv-3.0.0 >=media-libs/opencv-3.1.0 )
+	media-libs/tiff:0
+	virtual/jpeg:0
+	addressbook? (
+		$(add_kdeapps_dep akonadi-contacts)
+		$(add_kdeapps_dep kcontacts)
+	)
+	calendar? ( $(add_kdeapps_dep kcalcore) )
+	gphoto2? ( media-libs/libgphoto2:= )
+	jpeg2k? ( media-libs/jasper:= )
+	kipi? ( $(add_kdeapps_dep libkipi '' '16.03.80') )
+	lensfun? ( media-libs/lensfun )
+	marble? (
+		$(add_frameworks_dep kbookmarks)
+		$(add_kdeapps_dep marble)
+		$(add_qt_dep qtconcurrent)
+		$(add_qt_dep qtnetwork)
+	)
+	mysql? ( virtual/mysql )
+	opengl? (
+		$(add_qt_dep qtopengl)
+		virtual/opengl
+	)
+	panorama? ( $(add_frameworks_dep threadweaver) )
+	scanner? ( $(add_kdeapps_dep libksane) )
+	semantic-desktop? ( $(add_frameworks_dep kfilemetadata) )
+	video? ( $(add_qt_dep qtmultimedia 'widgets') )
+	X? (
+		$(add_qt_dep qtx11extras)
+		x11-libs/libX11
+	)
+"
+DEPEND="${COMMON_DEPEND}
+	$(add_qt_dep qtconcurrent)
+	dev-cpp/eigen:3
+	dev-libs/boost[threads]
+	sys-devel/gettext
+	panorama? (
+		sys-devel/bison
+		sys-devel/flex
+	)
+"
+RDEPEND="${COMMON_DEPEND}
+	media-plugins/kipi-plugins:5
+	panorama? ( media-gfx/hugin )
+	!media-gfx/digikam:4
+"
+
+RESTRICT=test
+# bug 366505
+
+PATCHES=(
+	"${FILESDIR}/${P}-db-lock.patch"
+	"${FILESDIR}/${P}-clang.patch"
+	"${FILESDIR}/${P}-kf-5.31.patch"
+	"${FILESDIR}/${P}-redeyes-crash.patch"
+)
+
+pkg_pretend() {
+	[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+	kde5_pkg_pretend
+}
+
+pkg_setup() {
+	[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+	kde5_pkg_setup
+}
+
+# FIXME: Unbundle libraw (libs/rawengine/libraw)
+src_prepare() {
+	if [[ ${KDE_BUILD_TYPE} != live ]]; then
+		# prepare the translations
+		mv "${WORKDIR}/${MY_P}/po" po || die
+		find po -name "*.po" -and -not -name "digikam.po" -delete || die
+		echo "set_property(GLOBAL PROPERTY ALLOW_DUPLICATE_CUSTOM_TARGETS 1)" >> CMakeLists.txt || die
+		echo "find_package(Gettext REQUIRED)" >> CMakeLists.txt || die
+		echo "add_subdirectory( po )" >> CMakeLists.txt || die
+
+		if use handbook; then
+			# subdirs need to be preserved b/c relative paths...
+			# doc-translated is, in fact, broken, and ignored
+			mv "${WORKDIR}/${MY_P}/doc/${PN}" doc-default || die
+			echo "find_package(KF5DocTools REQUIRED)" >> CMakeLists.txt || die
+			echo "add_subdirectory( doc-default )" >> CMakeLists.txt || die
+		fi
+	fi
+
+	if ! use marble; then
+		punt_bogus_dep Qt5 Network
+	fi
+
+	kde5_src_prepare
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DENABLE_APPSTYLES=ON
+		-DENABLE_AKONADICONTACTSUPPORT=$(usex addressbook)
+		-DENABLE_MYSQLSUPPORT=$(usex mysql)
+		-DENABLE_MEDIAPLAYER=$(usex video)
+		-DENABLE_OPENCV3=$(has_version ">=media-libs/opencv-3" && echo yes || echo no)
+		$(cmake-utils_use_find_package calendar KF5CalendarCore)
+		$(cmake-utils_use_find_package gphoto2 Gphoto2)
+		$(cmake-utils_use_find_package jpeg2k Jasper)
+		$(cmake-utils_use_find_package kipi KF5Kipi)
+		$(cmake-utils_use_find_package lensfun LensFun)
+		$(cmake-utils_use_find_package marble Marble)
+		$(cmake-utils_use_find_package opengl OpenGL)
+		$(cmake-utils_use_find_package openmp OpenMP)
+		$(cmake-utils_use_find_package panorama KF5ThreadWeaver)
+		$(cmake-utils_use_find_package scanner KF5Sane)
+		$(cmake-utils_use_find_package semantic-desktop KF5FileMetaData)
+		$(cmake-utils_use_find_package X X11)
+	)
+
+	kde5_src_configure
+}

diff --git a/media-gfx/digikam/files/digikam-5.3.0-redeyes-crash.patch b/media-gfx/digikam/files/digikam-5.3.0-redeyes-crash.patch
new file mode 100644
index 0000000000..055f9be3ac
--- /dev/null
+++ b/media-gfx/digikam/files/digikam-5.3.0-redeyes-crash.patch
@@ -0,0 +1,43 @@
+commit 1dad795deb0fbfcef5ad4932f7ade781d35ce17e
+Author: Maik Qualmann <metzpinguin@gmail.com>
+Date:   Wed Nov 23 19:37:46 2016 +0100
+
+    fix not found shapepredictor.dat file
+    BUGS: 372831
+    FIXED-IN: 5.4.0
+
+diff --git a/libs/dimg/filters/redeye/redeyecorrectionfilter.cpp b/libs/dimg/filters/redeye/redeyecorrectionfilter.cpp
+index 1cbaefc..a834208 100644
+--- a/libs/dimg/filters/redeye/redeyecorrectionfilter.cpp
++++ b/libs/dimg/filters/redeye/redeyecorrectionfilter.cpp
+@@ -99,14 +99,14 @@ RedEyeCorrectionFilter::~RedEyeCorrectionFilter()
+ 
+ void RedEyeCorrectionFilter::filterImage()
+ {
+-    if (d->sp == 0)
++    if (!d->sp)
+     {
+         // Loading the shape predictor model
+ 
+-        QList<QString> path = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation,
+-                                                        QString::fromLatin1("digikam/facesengine"),
+-                                                        QStandardPaths::LocateDirectory);
+-        QFile model(*path.begin() + QLatin1String("/ShapePredictor.dat"));
++        QString path = QStandardPaths::locate(QStandardPaths::GenericDataLocation,
++                                              QLatin1String("digikam/facesengine/shapepredictor.dat"));
++
++        QFile model(path);
+ 
+         if (model.open(QIODevice::ReadOnly))
+         {
+@@ -116,6 +116,10 @@ void RedEyeCorrectionFilter::filterImage()
+             dataStream >> *temp;
+             d->sp = temp;
+         }
++        else
++        {
++            return;
++        }
+     }
+ 
+     cv::Mat intermediateImage;


             reply	other threads:[~2017-02-18 23:34 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-18 23:33 Andreas Sturmlechner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-01-05 21:05 [gentoo-commits] repo/gentoo:master commit in: media-gfx/digikam/, media-gfx/digikam/files/ Andreas Sturmlechner
2024-03-26 12:59 Andreas Sturmlechner
2024-03-25 14:46 Andreas Sturmlechner
2023-12-26  8:59 Andreas Sturmlechner
2023-08-26 10:32 Andreas Sturmlechner
2023-08-03 15:34 Andreas Sturmlechner
2022-09-14 13:07 Andreas Sturmlechner
2022-05-09  0:13 Andreas Sturmlechner
2022-01-19  8:29 Andreas Sturmlechner
2021-12-18 17:42 Andreas Sturmlechner
2021-12-18 17:42 Andreas Sturmlechner
2020-05-26 14:53 Andreas Sturmlechner
2020-02-12 15:21 Andreas Sturmlechner
2019-12-03  5:04 Andreas Sturmlechner
2019-09-08 16:18 Andreas Sturmlechner
2019-09-07 11:58 Andreas Sturmlechner
2019-08-08 16:52 Andreas Sturmlechner
2017-08-06  8:07 Andreas Sturmlechner
2017-04-27 12:17 Michael Palimaka
2017-02-12 23:09 Andreas Sturmlechner
2016-12-11 10:12 Johannes Huber
2016-10-31 19:04 Johannes Huber
2016-08-17 20:47 Michael Palimaka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1487460790.3542c10ba95fb072f50711f53a0b60bbde63b540.asturm@gentoo \
    --to=asturm@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox