added extra/digikam

This commit is contained in:
Kevin Mihelich 2012-05-04 10:21:31 -04:00
parent 0e40ffe8af
commit 797560089e
7 changed files with 405 additions and 0 deletions

112
extra/digikam/PKGBUILD Normal file
View file

@ -0,0 +1,112 @@
# $Id: PKGBUILD 158119 2012-05-03 02:26:57Z foutrelis $
# Maintainer: Ronald van Haren <ronald@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - patch to fix qreal so it builds on ARM
plugrel=1
pkgbase=digikam
pkgname=('digikam' 'kipi-plugins' 'libkface' 'libkgeomap' 'libkvkontakte' 'libmediawiki')
pkgver=2.5.0
pkgrel=6
pkgdesc="Digital photo management application for KDE"
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.digikam.org/"
makedepends=('kdepimlibs' 'libkexiv2' 'libkdcraw' 'libkipi' 'libksane' 'liblqr'
'kdeedu-marble' 'opencv' 'boost' 'libgpod' 'qjson' 'hugin'
'cmake' 'automoc4' 'doxygen')
source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
"boost148.patch" "libkipi140.patch" "digikam-2.5.0-gcc-4.7.0.patch" "qreal-float.patch")
sha1sums=('6cadb838669d1bdcbd6abb677889f7d68d696383'
'93853084905b21309c46ce7d585021e76283d429'
'8a8f624fd0ca768a9dcd706405eb6e4944892d87'
'5058831a4f1209468d0249c03f0e243f176f995a'
'236a7e1436d2ca05205c6dffcfa881be2cc6e91b')
build() {
cd "${srcdir}"
pushd ${pkgname}-${pkgver}/core
patch -Np0 -i ${srcdir}/boost148.patch
patch -Np1 -i ${srcdir}/libkipi140.patch
cd ..
patch -Np1 -i ${srcdir}/qreal-float.patch
popd
patch -Np0 -i ${srcdir}/digikam-2.5.0-gcc-4.7.0.patch
mkdir build
cd build
# Use internal lensfun (FS#21816)
cmake ../${pkgname}-${pkgver} \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SKIP_RPATH=ON \
-DLENSFUN_LIBRARY="" \
-DLENSFUN_INCLUDE_DIR=""
make
}
package_digikam() {
pkgdesc="Digital photo management application for KDE"
depends=('kdebase-runtime' 'kdepimlibs' 'libgphoto2' 'opencv' 'liblqr'
'libkipi' 'libkexiv2' 'libkdcraw' 'libkface' 'libkgeomap')
optdepends=('kipi-plugins: for more extras and plugins')
install=digikam.install
cd "${srcdir}"/build/core
make DESTDIR="${pkgdir}" install
cd "${srcdir}"/build/doc
make DESTDIR="${pkgdir}" install
cd "${srcdir}"/build/po
make DESTDIR="${pkgdir}" install
}
package_libkface() {
pkgdesc="A Qt/C++ wrapper around LibFace library to perform face recognition and detection over pictures"
depends=('kdelibs' 'opencv')
cd "${srcdir}"/build/extra/libkface
make DESTDIR="${pkgdir}" install
}
package_libkgeomap() {
pkgdesc="A wrapper around world map components for browsing and arranging photos on a map"
depends=('kdelibs' 'kdeedu-marble' 'libkexiv2')
cd "${srcdir}"/build/extra/libkgeomap
make DESTDIR="${pkgdir}" install
}
package_libkvkontakte() {
pkgdesc="KDE C++ library for asynchronous interaction with vkontakte.rusocial network"
depends=('kdelibs' 'qjson')
cd "${srcdir}"/build/extra/libkvkontakte
make DESTDIR="${pkgdir}" install
}
package_libmediawiki() {
pkgdesc="A KDE C++ interface for MediaWiki based web service as wikipedia.org"
depends=('kdelibs')
cd "${srcdir}"/build/extra/libmediawiki
make DESTDIR="${pkgdir}" install
}
package_kipi-plugins() {
pkgdesc="A collection of plugins extending the KDE graphics and image applications as digiKam"
depends=('kdebase-runtime' 'kdepimlibs' 'libkdcraw' 'libkipi' 'libksane'
'opencv' 'qjson' 'libkvkontakte' 'libkexiv2')
optdepends=('libkgeomap'
'libmediawiki'
'libgpod'
'hugin')
install=kipi-plugins.install
cd "${srcdir}"/build/extra/kipi-plugins
make DESTDIR="${pkgdir}" install
}

View file

@ -0,0 +1,65 @@
diff -u libs/database/imagehistory/imagehistorygraph_boost.h ../../digikam-2.5.0/core/libs/database/imagehistory/imagehistorygraph_boost.h
--- libs/database/imagehistory/imagehistorygraph_boost.h 2012-01-05 08:32:19.837388059 -0500
+++ ../../digikam-2.5.0/core/libs/database/imagehistory/imagehistorygraph_boost.h 2012-01-05 09:17:27.798341897 -0500
@@ -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)

View file

@ -0,0 +1,63 @@
--- digikam-2.5.0/core/digikam/album/albummanager.h 2012-01-03 02:32:41.000000000 +0200
+++ digikam-2.5.0/core/digikam/album/albummanager.h 2012-01-05 03:18:16.291639995 +0200
@@ -831,7 +831,7 @@
{
foreach(T* t, list)
{
- append(AlbumPointer<T>(t));
+ this->append(AlbumPointer<T>(t));
}
return *this;
}
--- digikam-2.5.0/core/libs/database/imagehistory/imagehistorygraph_boost.h 2012-01-03 02:32:26.000000000 +0200
+++ digikam-2.5.0/core/libs/database/imagehistory/imagehistorygraph_boost.h 2012-01-05 03:01:56.965609602 +0200
@@ -1362,7 +1362,7 @@
template <typename VertexType, typename GraphType>
void discover_vertex(VertexType u, const GraphType&) const
{
- record(u);
+ this->record(u);
}
};
@@ -1373,7 +1373,7 @@
template <typename VertexType, typename GraphType>
void discover_vertex(VertexType u, const GraphType&) const
{
- record(u);
+ this->record(u);
}
};
--- digikam-2.5.0/core/utilities/cameragui/devices/gpcamera.cpp 2012-01-03 02:32:04.000000000 +0200
+++ digikam-2.5.0/core/utilities/cameragui/devices/gpcamera.cpp 2012-01-05 01:22:34.009352997 +0200
@@ -30,6 +30,7 @@
extern "C"
{
#include <utime.h>
+#include <unistd.h>
}
// C++ includes
--- digikam-2.5.0/extra/kipi-plugins/htmlexport/wizard.cpp 2012-01-03 02:31:42.000000000 +0200
+++ digikam-2.5.0/extra/kipi-plugins/htmlexport/wizard.cpp 2012-01-05 02:35:01.061054821 +0200
@@ -78,7 +78,7 @@
public:
WizardPage(KAssistantDialog* dialog, const QString& title)
: QWidget(dialog) {
- setupUi(this);
+ this->setupUi(this);
layout()->setMargin(0);
mPage = dialog->addPage(this, title);
}
--- digikam-2.5.0/extra/kipi-plugins/printimages/wizard/wizard.cpp 2012-01-03 02:31:34.000000000 +0200
+++ digikam-2.5.0/extra/kipi-plugins/printimages/wizard/wizard.cpp 2012-01-05 02:17:15.249914790 +0200
@@ -88,7 +88,7 @@
WizardPage ( KAssistantDialog* dialog, const QString& title )
: QWidget ( dialog )
{
- setupUi ( this );
+ this->setupUi ( this );
layout()->setMargin ( 0 );
mPage = dialog->addPage ( this, title );
}

View file

@ -0,0 +1,12 @@
post_install() {
xdg-icon-resource forceupdate --theme hicolor &> /dev/null
update-desktop-database -q
}
post_upgrade() {
post_install
}
post_remove() {
post_install
}

View file

@ -0,0 +1,12 @@
post_install() {
xdg-icon-resource forceupdate --theme hicolor &> /dev/null
update-desktop-database -q
}
post_upgrade() {
post_install
}
post_remove() {
post_install
}

View file

@ -0,0 +1,63 @@
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

View file

@ -0,0 +1,78 @@
Index: digikam-2.5.0/extra/kipi-plugins/photolayoutseditor/widgets/canvas/CropWidgetItem.cpp
===================================================================
--- digikam-2.5.0.orig/extra/kipi-plugins/photolayoutseditor/widgets/canvas/CropWidgetItem.cpp 2012-01-03 00:31:44.000000000 +0000
+++ digikam-2.5.0/extra/kipi-plugins/photolayoutseditor/widgets/canvas/CropWidgetItem.cpp 2012-03-15 16:02:31.000000000 +0000
@@ -340,8 +340,8 @@
QPointF dif = event->scenePos() - event->lastScenePos();
temp.translate(dif);
- temp.translate( qMin(maxRect.right()-temp.right(),0.0), qMin(maxRect.bottom()-temp.bottom(),0.0) );
- temp.translate( qMax(maxRect.left()-temp.left(),0.0), qMax(maxRect.top()-temp.top(),0.0) );
+ temp.translate( qMin(maxRect.right()-temp.right(),qreal(0.0)), qMin(maxRect.bottom()-temp.bottom(),qreal(0.0)) );
+ temp.translate( qMax(maxRect.left()-temp.left(),qreal(0.0)), qMax(maxRect.top()-temp.top(),qreal(0.0)) );
}
// Size change
else
Index: digikam-2.5.0/core/libs/widgets/graphicsview/regionframeitem.cpp
===================================================================
--- digikam-2.5.0.orig/core/libs/widgets/graphicsview/regionframeitem.cpp 2012-01-03 00:32:18.000000000 +0000
+++ digikam-2.5.0/core/libs/widgets/graphicsview/regionframeitem.cpp 2012-03-15 16:02:31.000000000 +0000
@@ -639,8 +639,8 @@
{
const QSizeF maxSize = parentDImgItem()->boundingRect().size();
const QPointF point = mapToParent(event->pos());
- qreal posX = qBound(0., point.x(), maxSize.width());
- qreal posY = qBound(0., point.y(), maxSize.height());
+ qreal posX = qBound(qreal(0.0), point.x(), maxSize.width());
+ qreal posY = qBound(qreal(0.0), point.y(), maxSize.height());
QRectF r = rect();
// Adjust edge
Index: digikam-2.5.0/core/libs/database/searchxml.cpp
===================================================================
--- digikam-2.5.0.orig/core/libs/database/searchxml.cpp 2012-01-03 00:32:25.000000000 +0000
+++ digikam-2.5.0/core/libs/database/searchxml.cpp 2012-03-15 16:02:31.000000000 +0000
@@ -645,7 +645,7 @@
}
}
-void SearchXmlWriter::writeValue(const QList<double>& valueList, int precision)
+void SearchXmlWriter::writeValue(const QList<qreal>& valueList, int precision)
{
QString listitem("listitem");
foreach(double i, valueList)
Index: digikam-2.5.0/core/libs/database/searchxml.h
===================================================================
--- digikam-2.5.0.orig/core/libs/database/searchxml.h 2012-01-03 00:32:26.000000000 +0000
+++ digikam-2.5.0/core/libs/database/searchxml.h 2012-03-15 16:02:31.000000000 +0000
@@ -231,7 +231,7 @@
void writeValue(const QDateTime& dateTime);
void writeValue(const QList<int>& valueList);
void writeValue(const QList<qlonglong>& valueList);
- void writeValue(const QList<double>& valueList, int precision = 8);
+ void writeValue(const QList<qreal>& valueList, int precision = 8);
void writeValue(const QStringList& valueList);
void writeValue(const QList<QDateTime>& valueList);
Index: digikam-2.5.0/core/utilities/searchwindow/searchfields.cpp
===================================================================
--- digikam-2.5.0.orig/core/utilities/searchwindow/searchfields.cpp 2012-01-03 00:32:02.000000000 +0000
+++ digikam-2.5.0/core/utilities/searchwindow/searchfields.cpp 2012-03-15 19:49:39.000000000 +0000
@@ -1209,7 +1209,7 @@
if (m_reciprocal)
{
- writer.writeValue(QList<double>() << m_secondBox->fractionMagicValue() << m_firstBox->fractionMagicValue());
+ writer.writeValue(QList<qreal>() << m_secondBox->fractionMagicValue() << m_firstBox->fractionMagicValue());
}
else
{
@@ -1505,7 +1505,7 @@
if (m_firstBox->value() != m_secondBox->value())
{
writer.writeField(m_name, SearchXml::Interval);
- writer.writeValue(QList<double>()
+ writer.writeValue(QList<qreal>()
<< (m_firstBox->value() * m_factor) << (m_secondBox->value() * m_factor));
writer.finishField();
}