summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Ulyanov <disinbox@gmail.com>2012-02-05 18:11:14 +0400
committerIgor Ulyanov <disinbox@gmail.com>2012-02-05 18:11:14 +0400
commitd39c0cf156e4a146763024226bb7b69b7f3b473d (patch)
tree17094972f042152fcc3e1c28d21eab49731a9209
parentglmark2 voidp compile fix patch added, 2011.12 version bump (diff)
downloaddisplacer-d39c0cf156e4a146763024226bb7b69b7f3b473d.tar.gz
displacer-d39c0cf156e4a146763024226bb7b69b7f3b473d.tar.bz2
displacer-d39c0cf156e4a146763024226bb7b69b7f3b473d.zip
digikam boost patch added
-rw-r--r--media-gfx/digikam/digikam-2.5.0-r1.ebuild147
-rw-r--r--media-gfx/digikam/files/digikam-2.5.0-d18ea6da.patch65
-rw-r--r--media-gfx/digikam/files/digikam-2.5.0-libkipi.patch75
3 files changed, 287 insertions, 0 deletions
diff --git a/media-gfx/digikam/digikam-2.5.0-r1.ebuild b/media-gfx/digikam/digikam-2.5.0-r1.ebuild
new file mode 100644
index 0000000..c9e41b0
--- /dev/null
+++ b/media-gfx/digikam/digikam-2.5.0-r1.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/digikam/digikam-2.5.0.ebuild,v 1.1 2012/01/03 16:30:11 dilfridge Exp $
+
+EAPI=4
+
+KDE_LINGUAS="af ar az be bg bn br bs ca cs csb cy da de el en_GB eo es et eu fa fi fo fr fy ga gl ha he hi hr hsb
+hu id is it ja ka kk km ko ku lb lo lt lv mi mk mn ms mt nb nds ne nl nn nso oc pa pl pt pt_BR ro ru
+rw se sk sl sq sr sr@Latn ss sv ta te tg th tr tt uk uz uz@cyrillic ven vi wa xh zh_CN zh_HK zh_TW zu"
+
+KDE_HANDBOOK="optional"
+CMAKE_MIN_VERSION="2.8"
+KDE_MINIMAL="4.7"
+
+inherit kde4-base
+
+MY_P="${PN}-${PV/_/-}"
+
+DESCRIPTION="Digital photo management application for KDE"
+HOMEPAGE="http://www.digikam.org/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2
+ handbook? ( FDL-1.2 )"
+KEYWORDS="~amd64 ~x86"
+SLOT="4"
+IUSE="addressbook debug doc gphoto2 mysql semantic-desktop themedesigner +thumbnails video"
+
+CDEPEND="
+ $(add_kdebase_dep kdelibs 'semantic-desktop=')
+ $(add_kdebase_dep libkdcraw)
+ $(add_kdebase_dep libkexiv2)
+ $(add_kdebase_dep libkipi)
+ $(add_kdebase_dep marble plasma)
+ $(add_kdebase_dep solid)
+ media-libs/jasper
+ media-libs/lcms:0
+ >=media-libs/lensfun-0.2.5
+ >=media-libs/libkface-${PV}
+ >=media-libs/libkgeomap-${PV}
+ media-libs/liblqr
+ >=media-libs/libpgf-6.11.28
+ media-libs/libpng
+ media-libs/tiff
+ virtual/jpeg
+ x11-libs/qt-gui[qt3support]
+ >=sci-libs/clapack-3.2.1-r6
+ || ( x11-libs/qt-sql[mysql] x11-libs/qt-sql[sqlite] )
+ addressbook? ( $(add_kdebase_dep kdepimlibs) )
+ gphoto2? ( media-libs/libgphoto2 )
+ mysql? ( virtual/mysql )
+"
+RDEPEND="${CDEPEND}
+ $(add_kdebase_dep kreadconfig)
+ media-plugins/kipi-plugins
+ video? (
+ || (
+ $(add_kdebase_dep mplayerthumbs)
+ $(add_kdebase_dep ffmpegthumbs)
+ )
+ )
+"
+DEPEND="${CDEPEND}
+ sys-devel/gettext
+ doc? ( app-doc/doxygen )
+"
+
+S="${WORKDIR}/${MY_P}/core"
+
+RESTRICT=test
+# bug 366505
+
+PATCHES=( "${FILESDIR}/${P}-libkipi.patch"
+ "${FILESDIR}"/digikam-2.5.0-d18ea6da.patch )
+
+src_prepare() {
+ # just to make absolutely sure
+ rm -rf "${WORKDIR}/${MY_P}/extra" || die
+
+ # prepare the handbook
+ mv "${WORKDIR}/${MY_P}/doc/${PN}" doc || die
+ echo "add_subdirectory( digikam )" > doc/CMakeLists.txt
+ echo "add_subdirectory( showfoto )" >> doc/CMakeLists.txt
+
+ # prepare the translations
+ mv "${WORKDIR}/${MY_P}/po" po || die
+ find po -name "*.po" -and -not -name "digikam.po" -exec rm {} +
+
+ echo "find_package(Msgfmt REQUIRED)" >> CMakeLists.txt || die
+ echo "find_package(Gettext REQUIRED)" >> CMakeLists.txt || die
+ echo "add_subdirectory( po )" >> CMakeLists.txt || die
+
+ kde4-base_src_prepare
+
+ if use handbook; then
+ echo "add_subdirectory( doc )" >> CMakeLists.txt
+ fi
+}
+
+src_configure() {
+ local backend
+
+ use semantic-desktop && backend="Nepomuk" || backend="None"
+ # LQR = only allows to choose between bundled/external
+ local mycmakeargs=(
+ -DFORCED_UNBUNDLE=ON
+ -DWITH_LQR=ON
+ -DWITH_LENSFUN=ON
+ -DGWENVIEW_SEMANTICINFO_BACKEND=${backend}
+ $(cmake-utils_use_with addressbook KdepimLibs)
+ -DWITH_MarbleWidget=ON
+ $(cmake-utils_use_enable gphoto2 GPHOTO2)
+ $(cmake-utils_use_with gphoto2)
+ $(cmake-utils_use_with semantic-desktop Soprano)
+ $(cmake-utils_use_enable themedesigner)
+ $(cmake-utils_use_enable thumbnails THUMBS_DB)
+ $(cmake-utils_use_enable mysql INTERNALMYSQL)
+ $(cmake-utils_use_enable debug DEBUG_MESSAGES)
+ )
+
+ kde4-base_src_configure
+}
+
+src_compile() {
+ local mytargets="all"
+ use doc && mytargets+=" doc"
+
+ kde4-base_src_compile ${mytargets}
+}
+
+src_install() {
+ kde4-base_src_install
+
+ if use doc; then
+ # install the api documentation
+ insinto /usr/share/doc/${PF}/html
+ doins -r ${CMAKE_BUILD_DIR}/api/html/*
+ fi
+}
+
+pkg_postinst() {
+ kde4-base_pkg_postinst
+
+ if use doc; then
+ elog "The digikam api documentation has been installed at /usr/share/doc/${PF}/html"
+ fi
+}
diff --git a/media-gfx/digikam/files/digikam-2.5.0-d18ea6da.patch b/media-gfx/digikam/files/digikam-2.5.0-d18ea6da.patch
new file mode 100644
index 0000000..e234bf1
--- /dev/null
+++ b/media-gfx/digikam/files/digikam-2.5.0-d18ea6da.patch
@@ -0,0 +1,65 @@
+diff -ur digikam-2.5.0.orig/core/libs/database/imagehistory/imagehistorygraph_boost.h digikam-2.5.0/core/libs/database/imagehistory/imagehistorygraph_boost.h
+--- core/libs/database/imagehistory/imagehistorygraph_boost.h 2012-01-03 08:32:26.000000000 +0800
++++ core/libs/database/imagehistory/imagehistorygraph_boost.h 2012-01-29 01:02:31.635993670 +0800
+@@ -1198,7 +1198,7 @@
+ {
+ boost::dag_shortest_paths(graph, v,
+ // we provide a constant weight of 1
+- weight_map(boost::ref_property_map<edge_t,int>(weight)).
++ weight_map(boost::ref_property_map<typename boost::graph_traits<GraphType>::edge_descriptor,int>(weight)).
+ // Store distance and predecessors in QMaps, wrapped to serve as property maps
+ distance_map(VertexIntMapAdaptor(distances)).
+ predecessor_map(VertexVertexMapAdaptor(predecessors))
+@@ -1218,7 +1218,7 @@
+ {
+ boost::dag_shortest_paths(graph, v,
+ // we provide a constant weight of 1
+- weight_map(boost::ref_property_map<edge_t,int>(weight)).
++ weight_map(boost::ref_property_map<typename boost::graph_traits<GraphType>::edge_descriptor,int>(weight)).
+ // Invert the default compare method: With greater, we get the longest path
+ distance_compare(std::greater<int>()).
+ // will be returned if a node is unreachable
+@@ -1384,14 +1384,15 @@
+ template <class GraphType, typename VertexLessThan>
+ class lessThanMapEdgeToTarget
+ {
++ typedef typename boost::graph_traits<GraphType>::edge_descriptor edge_descriptor;
+ public:
+ lessThanMapEdgeToTarget(const GraphType& g, VertexLessThan vertexLessThan)
+ : g(g), vertexLessThan(vertexLessThan) {}
+ const GraphType& g;
+ VertexLessThan vertexLessThan;
+- bool operator()(const Edge& a, const Edge& b)
++ bool operator()(const edge_descriptor& a, const edge_descriptor& b)
+ {
+- return vertexLessThan(boost::target(a.toEdge(), g), boost::target(b.toEdge(), g));
++ return vertexLessThan(boost::target(a, g), boost::target(b, g));
+ }
+ };
+
+@@ -1402,20 +1403,21 @@
+ {
+ typedef std::pair<Vertex, QList<Edge> > VertexInfo;
+
+- QList<Edge> outEdges;
++ typedef typename boost::graph_traits<IncidenceGraph>::edge_descriptor edge_descriptor;
++ QList<edge_descriptor> outEdges;
+ std::vector<VertexInfo> stack;
+
+ boost::put(color, u, boost::gray_color);
+ vis.discover_vertex(u, g);
+
+- outEdges = toEdgeList(boost::out_edges(u, g));
++ outEdges = toList<edge_descriptor>(boost::out_edges(u, g));
+ // Sort edges. The lessThan we have takes vertices, so we use a lessThan which
+ // maps the given edges to their targets, and calls our vertex lessThan.
+ qSort(outEdges.begin(), outEdges.end(), lessThanMapEdgeToTarget<IncidenceGraph, LessThan>(g, lessThan));
+
+- foreach(const Edge& e, outEdges)
++ foreach(const edge_descriptor& e, outEdges)
+ {
+- Vertex v = boost::target(e.toEdge(), g);
++ Vertex v = boost::target(e, g);
+ vis.examine_edge(e, g);
+ boost::default_color_type v_color = boost::get(color, v);
+ if (v_color == boost::white_color)
diff --git a/media-gfx/digikam/files/digikam-2.5.0-libkipi.patch b/media-gfx/digikam/files/digikam-2.5.0-libkipi.patch
new file mode 100644
index 0000000..fbbac97
--- /dev/null
+++ b/media-gfx/digikam/files/digikam-2.5.0-libkipi.patch
@@ -0,0 +1,75 @@
+From 25cc9c9876a5233bd630105d0110319892d4e18c Mon Sep 17 00:00:00 2001
+From: Gilles Caulier <caulier.gilles@gmail.com>
+Date: Tue, 3 Jan 2012 15:16:37 +0100
+Subject: [PATCH] enable checkall and clearall buttons only with libkipi version 1.4.0
+ BUGS: 290496
+
+---
+ utilities/setup/setupplugins.cpp | 13 +++++++++++--
+ utilities/setup/setupplugins.h | 4 ++--
+ 2 files changed, 13 insertions(+), 4 deletions(-)
+
+diff --git a/utilities/setup/setupplugins.cpp b/utilities/setup/setupplugins.cpp
+index 0f4030a..b8efb35 100644
+--- a/utilities/setup/setupplugins.cpp
++++ b/utilities/setup/setupplugins.cpp
+@@ -6,8 +6,8 @@
+ * Date : 2004-01-02
+ * Description : setup Kipi plugins tab.
+ *
+- * Copyright (C) 2004-2011 by Gilles Caulier <caulier dot gilles at gmail dot com>
+- * Copyright (C) 2011 by Andi Clemens <andi dot clemens at googlemail dot com>
++ * Copyright (C) 2004-2012 by Gilles Caulier <caulier dot gilles at gmail dot com>
++ * Copyright (C) 2011-2012 by Andi Clemens <andi dot clemens at googlemail dot com>
+ *
+ * This program is free software; you can redistribute it
+ * and/or modify it under the terms of the GNU General
+@@ -100,6 +100,11 @@ SetupPlugins::SetupPlugins(QWidget* parent)
+
+ panel->setLayout(mainLayout);
+
++#if KIPI_VERSION < 0x010400
++ d->checkAllBtn->setVisible(false);
++ d->clearBtn->setVisible(false);
++#endif
++
+ initPlugins();
+
+ // --------------------------------------------------------
+@@ -158,14 +163,18 @@ void SetupPlugins::applyPlugins()
+ void SetupPlugins::slotCheckAll()
+ {
+ QApplication::setOverrideCursor(Qt::WaitCursor);
++#if KIPI_VERSION >= 0x010400
+ d->kipiConfig->slotCheckAll();
++#endif
+ QApplication::restoreOverrideCursor();
+ }
+
+ void SetupPlugins::slotClear()
+ {
+ QApplication::setOverrideCursor(Qt::WaitCursor);
++#if KIPI_VERSION >= 0x010400
+ d->kipiConfig->slotClear();
++#endif
+ QApplication::restoreOverrideCursor();
+ }
+
+diff --git a/utilities/setup/setupplugins.h b/utilities/setup/setupplugins.h
+index 271a569..114e0fa 100644
+--- a/utilities/setup/setupplugins.h
++++ b/utilities/setup/setupplugins.h
+@@ -6,8 +6,8 @@
+ * Date : 2004-01-02
+ * Description : setup Kipi plugins tab.
+ *
+- * Copyright (C) 2004-2011 by Gilles Caulier <caulier dot gilles at gmail dot com>
+- * Copyright (C) 2011 by Andi Clemens <andi dot clemens at googlemail dot com>
++ * Copyright (C) 2004-2012 by Gilles Caulier <caulier dot gilles at gmail dot com>
++ * Copyright (C) 2011-2012 by Andi Clemens <andi dot clemens at googlemail dot com>
+ *
+ * This program is free software; you can redistribute it
+ * and/or modify it under the terms of the GNU General
+--
+1.7.3.4
+