summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <andreas.sturmlechner@gmail.com>2016-08-15 17:01:32 +0200
committerMichael Palimaka <kensington@gentoo.org>2016-08-18 06:47:44 +1000
commitaa844686c8792e80a1b1be97571da30626a1f803 (patch)
treee5ea32fa5ad628d3d457798774b3ad171a19f0e2 /media-gfx/digikam/files
parentkde-apps/konsole: USE=X requires kdelibs4support[X] (diff)
downloadgentoo-aa844686c8792e80a1b1be97571da30626a1f803.tar.gz
gentoo-aa844686c8792e80a1b1be97571da30626a1f803.tar.bz2
gentoo-aa844686c8792e80a1b1be97571da30626a1f803.zip
media-gfx/digikam: Add USE=jpeg2k,opengl,openmp,panorama; fix configure
Choose some default USE flags Patches to fix runtime crashes Sort dependencies Package-Manager: portage-2.2.28
Diffstat (limited to 'media-gfx/digikam/files')
-rw-r--r--media-gfx/digikam/files/digikam-5.1.0-albums-crashfix.patch35
-rw-r--r--media-gfx/digikam/files/digikam-5.1.0-i386-gcc61.patch41
-rw-r--r--media-gfx/digikam/files/digikam-5.1.0-memalloc-crash.patch95
3 files changed, 171 insertions, 0 deletions
diff --git a/media-gfx/digikam/files/digikam-5.1.0-albums-crashfix.patch b/media-gfx/digikam/files/digikam-5.1.0-albums-crashfix.patch
new file mode 100644
index 000000000000..e22e8dfb0e82
--- /dev/null
+++ b/media-gfx/digikam/files/digikam-5.1.0-albums-crashfix.patch
@@ -0,0 +1,35 @@
+From: Gilles Caulier <caulier.gilles@gmail.com>
+Date: Thu, 11 Aug 2016 11:41:08 +0000
+Subject: Fix CR #1368976
+X-Git-Url: http://quickgit.kde.org/?p=digikam.git&a=commitdiff&h=7c628bac74afe24dbc4ca66b1bd5d513e46f6377
+---
+Fix CR #1368976
+BUGS: 366630
+FIXED-IN: 5.2.0
+---
+
+
+--- a/libs/album/albumtreeview.cpp
++++ b/libs/album/albumtreeview.cpp
+@@ -1089,6 +1089,11 @@
+
+ Album* const album = albumFilterModel()->albumForIndex(indexAt(event->pos()));
+
++ if (!album)
++ {
++ return;
++ }
++
+ if (album->isTrashAlbum())
+ {
+ // For the moment, disabling context menu for trash.
+@@ -1102,7 +1107,7 @@
+ }
+
+ // switch to the selected album if need
+- if (d->selectOnContextMenu && album)
++ if (d->selectOnContextMenu)
+ {
+ setCurrentAlbums(QList<Album*>() << album);
+ }
+
diff --git a/media-gfx/digikam/files/digikam-5.1.0-i386-gcc61.patch b/media-gfx/digikam/files/digikam-5.1.0-i386-gcc61.patch
new file mode 100644
index 000000000000..710c147ea06a
--- /dev/null
+++ b/media-gfx/digikam/files/digikam-5.1.0-i386-gcc61.patch
@@ -0,0 +1,41 @@
+From: Gilles Caulier <caulier.gilles@gmail.com>
+Date: Tue, 09 Aug 2016 18:41:17 +0000
+Subject: apply patch #100514 to fix broken compilation under 32 bits platform with GCC 6.1
+X-Git-Url: http://quickgit.kde.org/?p=digikam.git&a=commitdiff&h=067a88d8c84a5149469961d54b1d5c93df6a3167
+---
+apply patch #100514 to fix broken compilation under 32 bits platform with GCC 6.1
+BUGS: 366542
+FIXED-IN: 5.2.0
+---
+
+
+--- a/libs/rawengine/libraw/libraw/libraw_types.h
++++ b/libs/rawengine/libraw/libraw/libraw_types.h
+@@ -612,10 +612,10 @@
+ #elif defined(__INTEL__)
+ #define LibRawBigEndian 0
+
+-#elif defined(_M_IX86)
++#elif defined(_M_IX86) || defined(__i386__)
+ #define LibRawBigEndian 0
+
+-#elif defined(_M_X64) || defined(__amd64__)
++#elif defined(_M_X64) || defined(__amd64__) || defined(__x86_64__)
+ #define LibRawBigEndian 0
+
+ #elif defined(__LITTLE_ENDIAN__)
+@@ -625,6 +625,13 @@
+ #define LibRawBigEndian 1
+ #elif defined(_ARM_)
+ #define LibRawBigEndian 0
++
++#elif __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
++#define LibRawBigEndian 0
++
++#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
++#define LibRawBigEndian 1
++
+ #else
+ #ifndef qXCodeRez
+ #error Unable to figure out byte order.
+
diff --git a/media-gfx/digikam/files/digikam-5.1.0-memalloc-crash.patch b/media-gfx/digikam/files/digikam-5.1.0-memalloc-crash.patch
new file mode 100644
index 000000000000..1a68f27909bd
--- /dev/null
+++ b/media-gfx/digikam/files/digikam-5.1.0-memalloc-crash.patch
@@ -0,0 +1,95 @@
+From: Maik Qualmann <metzpinguin@gmail.com>
+Date: Thu, 11 Aug 2016 19:43:46 +0000
+Subject: fix check of maximum addressable memory on 64bits
+X-Git-Url: http://quickgit.kde.org/?p=digikam.git&a=commitdiff&h=90f31456779f4aeb9ac06a385f398827fd35c985
+---
+fix check of maximum addressable memory on 64bits
+CCBUGS: 366621
+---
+
+
+--- a/libs/dimg/loaders/dimgloader.cpp
++++ b/libs/dimg/loaders/dimgloader.cpp
+@@ -163,7 +163,7 @@
+
+ qint64 DImgLoader::checkAllocation(qint64 fullSize)
+ {
+- if (fullSize > std::numeric_limits<int>::max())
++ if (fullSize > std::numeric_limits<size_t>::max())
+ {
+ qCWarning(DIGIKAM_DIMG_LOG) << "Cannot allocate buffer of size" << fullSize;
+ return 0;
+
+From: Maik Qualmann <metzpinguin@gmail.com>
+Date: Fri, 12 Aug 2016 19:29:50 +0000
+Subject: fix crash by big memory allocation for DImg on 64bit
+X-Git-Url: http://quickgit.kde.org/?p=digikam.git&a=commitdiff&h=65fa04ca097d4ff695690886a9f2be459b4279a9
+---
+fix crash by big memory allocation for DImg on 64bit
+CCBUGS: 366621
+---
+
+
+--- a/libs/dimg/dimg.cpp
++++ b/libs/dimg/dimg.cpp
+@@ -211,7 +211,7 @@
+
+ if (old->data)
+ {
+- int size = allocateData();
++ size_t size = allocateData();
+ memcpy(m_priv->data, old->data, size);
+ }
+ }
+@@ -234,7 +234,7 @@
+ }
+ else if (copyData)
+ {
+- int size = allocateData();
++ size_t size = allocateData();
+
+ if (data)
+ {
+@@ -303,7 +303,7 @@
+ setImageData(src->null, src->width, src->height, src->sixteenBit, src->alpha);
+ }
+
+-int DImg::allocateData()
++size_t DImg::allocateData()
+ {
+ size_t size = m_priv->width * m_priv->height * (m_priv->sixteenBit ? 8 : 4);
+ m_priv->data = DImgLoader::new_failureTolerant(size);
+@@ -2231,7 +2231,7 @@
+
+ void DImg::resize(int w, int h)
+ {
+- if (w <= 0 || h <= 0)
++ if (isNull() || w <= 0 || h <= 0)
+ {
+ return;
+ }
+
+--- a/libs/dimg/dimg.h
++++ b/libs/dimg/dimg.h
+@@ -655,7 +655,7 @@
+ void copyImageData(const Private* const src);
+ void setImageData(bool null, uint width, uint height, bool sixteenBit, bool alpha);
+ void setImageDimension(uint width, uint height);
+- int allocateData();
++ size_t allocateData();
+
+ static void bitBlt(const uchar* const src, uchar* const dest,
+ int sx, int sy, int w, int h, int dx, int dy,
+
+--- a/libs/dimg/loaders/dimgloader.cpp
++++ b/libs/dimg/loaders/dimgloader.cpp
+@@ -163,7 +163,7 @@
+
+ qint64 DImgLoader::checkAllocation(qint64 fullSize)
+ {
+- if (fullSize > std::numeric_limits<size_t>::max())
++ if ((quint64)fullSize > std::numeric_limits<size_t>::max())
+ {
+ qCWarning(DIGIKAM_DIMG_LOG) << "Cannot allocate buffer of size" << fullSize;
+ return 0;
+