summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-gfx/digikam/ChangeLog10
-rw-r--r--media-gfx/digikam/digikam-0.9.5-r1.ebuild94
-rw-r--r--media-gfx/digikam/files/0.9.5-cam_download.patch68
3 files changed, 171 insertions, 1 deletions
diff --git a/media-gfx/digikam/ChangeLog b/media-gfx/digikam/ChangeLog
index e22217260f1b..b58d321dd947 100644
--- a/media-gfx/digikam/ChangeLog
+++ b/media-gfx/digikam/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for media-gfx/digikam
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/digikam/ChangeLog,v 1.134 2009/05/26 09:32:58 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/digikam/ChangeLog,v 1.135 2009/05/28 09:53:09 scarabeus Exp $
+
+*digikam-0.9.5-r1 (28 May 2009)
+
+ 28 May 2009; Tomáš Chvátal <scarabeus@gentoo.org>
+ +files/0.9.5-cam_download.patch, +digikam-0.9.5-r1.ebuild:
+ Add patch fixing downloading files from camera, when they had same
+ timestamp.
+ Thanks to Ralf Gerbig for reporting.
*digikam-0.9.5 (26 May 2009)
*digikam-0.9.4-r2 (26 May 2009)
diff --git a/media-gfx/digikam/digikam-0.9.5-r1.ebuild b/media-gfx/digikam/digikam-0.9.5-r1.ebuild
new file mode 100644
index 000000000000..37ba90a1f6a8
--- /dev/null
+++ b/media-gfx/digikam/digikam-0.9.5-r1.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/digikam/digikam-0.9.5-r1.ebuild,v 1.1 2009/05/28 09:53:09 scarabeus Exp $
+
+EAPI="1"
+
+ARTS_REQUIRED="never"
+
+inherit kde
+
+MY_P="${P/_/-}"
+S="${WORKDIR}/${MY_P}"
+P_DOC="${PN}-doc-${PV/_*/}"
+S_DOC="${WORKDIR}/${P_DOC}"
+
+DESCRIPTION="A digital photo management application for KDE."
+HOMEPAGE="http://www.digikam.org/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2
+ doc? ( mirror://sourceforge/${PN}/${P_DOC}.tar.bz2 )"
+SLOT="3.5"
+LICENSE="GPL-2"
+KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
+IUSE="nfs doc"
+
+DEPEND=">=dev-db/sqlite-3.5.9:3
+ >=media-libs/libgphoto2-2.2
+ >=media-libs/libkipi-0.1.5
+ >=media-libs/tiff-3.8.2
+ >=media-libs/lcms-1.14
+ >=media-libs/libpng-1.2
+ >=media-libs/jasper-1.7
+ >=media-libs/libkexiv2-0.1.9
+ >=media-libs/libkdcraw-0.1.9
+ media-libs/jasper
+ !media-plugins/digikamimageplugins"
+
+RDEPEND="${DEPEND}
+ !${CATEGORY}/${PN}:0
+ || ( ( kde-base/kgamma:3.5 kde-base/kamera:3.5 )
+ kde-base/kdegraphics:3.5 )"
+
+need-kde 3.5
+
+LANGS="ar bg br ca cs cy da de el en_GB es et fa fi fr gl he hu is it ja ka lt
+mk ms mt nb nds nl nn pa pl pt pt_BR ro ru rw sk sl sr sr@Latn sv ta th tr uk vi
+zh_CN zh_TW"
+
+LANGS_DOC_DIGIKAM="da de es et it nl pt ru sv"
+
+LANGS_DOC_SHOWFOTO="da de es et it nl sv"
+
+for lang in ${LANGS}; do
+ IUSE="${IUSE} linguas_${lang}"
+done
+
+src_unpack(){
+ kde_src_unpack
+
+ rm -f "${S}/configure" "${S_DOC}/configure"
+
+ local MAKE_PO=$(echo "${LINGUAS} ${LANGS}" | tr ' ' '\n' | sort | uniq -d | tr '\n' ' ')
+ elog "Preparing to build translations for: en ${MAKE_PO}"
+ sed -i -e "s:^SUBDIRS =.*:SUBDIRS = . ${MAKE_PO}:" "${S}/po/Makefile.am" || die "sed for locale failed"
+
+ if use doc; then
+ cd "${S_DOC}/doc"
+ MAKE_DOC=$(echo "${LINGUAS} ${LANGS_DOC_DIGIKAM}" | tr ' ' '\n' | sort | uniq -d | tr '\n' ' ')
+ elog "Preparing to build digiKam documentation for: en ${MAKE_DOC}"
+ for X in ${MAKE_DOC}; do
+ DIRS+="$(ls -d ${X}_digikam) "
+ done
+ MAKE_DOC=$(echo "${LINGUAS} ${LANGS_DOC_SHOWFOTO}" | tr ' ' '\n' | sort | uniq -d | tr '\n' ' ')
+ elog "Preparing to build ShowFoto documentation for: en ${MAKE_DOC}"
+ for X in ${MAKE_DOC}; do
+ DIRS+="$(ls -d ${X}_showfoto) "
+ done
+ DIRS="$(echo ${DIRS} | tr '\n' ' ')"
+ sed -i -e "s:^SUBDIRS =.*:SUBDIRS = digikam showfoto ${DIRS}:" "${S_DOC}/doc/Makefile.am" || die "sed for locale (docs) failed"
+ fi
+ epatch "${FILESDIR}/${PV}-cam_download.patch"
+}
+
+src_compile(){
+ local myconf="$(use_enable nfs nfs-hack) --without-included-sqlite3"
+ kde_src_compile
+
+ myconf=""
+ [[ -d "${S_DOC}" ]] && KDE_S="${S_DOC}" kde_src_compile
+}
+
+src_install(){
+ kde_src_install
+ [[ -d "${S_DOC}" ]] && KDE_S="${S_DOC}" kde_src_install
+}
diff --git a/media-gfx/digikam/files/0.9.5-cam_download.patch b/media-gfx/digikam/files/0.9.5-cam_download.patch
new file mode 100644
index 000000000000..1a9f9781d7b7
--- /dev/null
+++ b/media-gfx/digikam/files/0.9.5-cam_download.patch
@@ -0,0 +1,68 @@
+Index: branches/extragear/kde3/graphics/digikam/utilities/cameragui/cameraui.cpp
+===================================================================
+--- branches/extragear/kde3/graphics/digikam/utilities/cameragui/cameraui.cpp (revision 972634)
++++ branches/extragear/kde3/graphics/digikam/utilities/cameragui/cameraui.cpp (revision 972635)
+@@ -901,6 +901,8 @@
+ if (fileList.empty())
+ return;
+
++ kdDebug() << fileList.count() << endl;
++
+ // We sort the map by time stamp
+ // and we remove internal camera files which are not image/video/sounds.
+ QStringList fileNames, fileExts;
+@@ -917,38 +919,44 @@
+ fileExts.append("dps");
+
+ // We sort the map by time stamp.
+- QMap<QDateTime, GPItemInfo> map;
++ GPItemInfoList sfileList;
+ GPItemInfoList::const_iterator it;
+- QDateTime dt;
+-
++ GPItemInfoList::iterator it2;
++
+ for(it = fileList.begin() ; it != fileList.end() ; ++it)
+ {
+ info.setFile((*it).name);
+ if (!fileNames.contains(info.fileName().lower()) &&
+ !fileExts.contains(info.extension(false).lower()))
+ {
+- dt.setTime_t((*it).mtime);
+- map.insert(dt, *it, false);
++ kdDebug() << info.fileName() << " : " << (*it).mtime << endl;
++
++ for(it2 = sfileList.begin() ; it2 != sfileList.end() ; ++it2)
++ if ((*it2).mtime <= (*it).mtime) break;
++
++ sfileList.insert(it2, *it);
+ }
+ }
+
+- if (map.empty())
++ if (sfileList.empty())
+ return;
+
+- QMap<QDateTime, GPItemInfo>::iterator it2 = map.end();
++ kdDebug() << sfileList.count() << endl;
+
++ GPItemInfoList::const_iterator it3 = sfileList.begin();
++
+ do
+ {
+- --it2;
+- GPItemInfo item = *it2;
++ GPItemInfo item = *it3;
+
+ if (item.mtime > (time_t)d->lastAccess.toTime_t() && item.downloaded == GPItemInfo::DownloadUnknow)
+ item.downloaded = GPItemInfo::NewPicture;
+
+ d->view->addItem(item);
+ d->controller->getThumbnail(item.folder, item.name);
++ ++it3;
+ }
+- while(it2 != map.begin());
++ while(it3 != sfileList.end());
+
+ d->progress->setTotalSteps(d->progress->totalSteps() + fileList.count());
+ }