diff --git a/extra/digikam/PKGBUILD b/extra/digikam/PKGBUILD
deleted file mode 100644
index 5c3c0bfce..000000000
--- a/extra/digikam/PKGBUILD
+++ /dev/null
@@ -1,112 +0,0 @@
-# $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
-}
diff --git a/extra/digikam/boost148.patch b/extra/digikam/boost148.patch
deleted file mode 100644
index 6d3ff585b..000000000
--- a/extra/digikam/boost148.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-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)
diff --git a/extra/digikam/digikam-2.5.0-gcc-4.7.0.patch b/extra/digikam/digikam-2.5.0-gcc-4.7.0.patch
deleted file mode 100644
index 535387b92..000000000
--- a/extra/digikam/digikam-2.5.0-gcc-4.7.0.patch
+++ /dev/null
@@ -1,63 +0,0 @@
---- 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 );
-     }
diff --git a/extra/digikam/digikam.install b/extra/digikam/digikam.install
deleted file mode 100644
index 81ce5c4b0..000000000
--- a/extra/digikam/digikam.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
-	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
-    update-desktop-database -q
-}
-
-post_upgrade() {
-	post_install
-}
-
-post_remove() {
-	post_install
-}
diff --git a/extra/digikam/kipi-plugins.install b/extra/digikam/kipi-plugins.install
deleted file mode 100644
index 81ce5c4b0..000000000
--- a/extra/digikam/kipi-plugins.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
-	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
-    update-desktop-database -q
-}
-
-post_upgrade() {
-	post_install
-}
-
-post_remove() {
-	post_install
-}
diff --git a/extra/digikam/libkipi140.patch b/extra/digikam/libkipi140.patch
deleted file mode 100644
index a221b5847..000000000
--- a/extra/digikam/libkipi140.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-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
-
-  
diff --git a/extra/digikam/qreal-float.patch b/extra/digikam/qreal-float.patch
deleted file mode 100644
index 6b77e4ef3..000000000
--- a/extra/digikam/qreal-float.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-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();
-         }