Accepting request 679901 from KDE:Extra

- Update to 6.0.0
- Drop patches merged upstream:
  * Add-QtWebEngine-support.patch
  * fix-black-Welcome-page-by-clicking-on-a-link.patch
  * add-support-for-Exiv2-0.27.patch
  * be-compatible-with-backward-0.26.patch
  * adjust-find-cmake-script-to-exiv2-0.27-RC1.patch
  * first-patch-to-be-compatible-with-Exiv2-0.27.patch
  * f27ab9c1051bd0a0.patch
  * fix-compile.patch
- Drop docs subpackage, docs are no longer included
- Drop kipi-plugins subpackage, no longer included
- Drop patch for kipi-plugins that's no longer relevant:
  * 0002-Revert-replace-obsolete-qSort-function.patch
- Drop 0001-Revert-replace-obsolete-qSort-function.patch and build
  with gcc7 on Leap 42.3 instead
- Refresh Lower-minimum-exiv2-version.patch
- Remove kipi-plugins requirement, digikam doesn't use libkipi
  anymore
- Recommend enblend-enfuse and hugin (previously recommended by
  kipi-plugins), needed for certain functionality in digikam
- Update/cleanup build requirements
- Use fdupes without -s option
- Make lang package conditional
- Handle soversion via a macro, bump to 6 following upstream
- Run spec-cleaner (forwarded request 679892 from wolfi323)

OBS-URL: https://build.opensuse.org/request/show/679901
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/digikam?expand=0&rev=178
This commit is contained in:
Dominique Leuenberger 2019-03-26 14:38:37 +00:00 committed by Git OBS Bridge
commit 1d248cb6f5
15 changed files with 201 additions and 3016 deletions

View File

@ -1,635 +0,0 @@
From 87d90549a5db7c309228697652a4608ee774be74 Mon Sep 17 00:00:00 2001
From: Wolfgang Bauer <wbauer@tmo.at>
Date: Sun, 14 Jan 2018 00:17:04 +0100
Subject: [PATCH] Revert "replace obsolete qSort() function"
This reverts commit 1fdff40d7efaf9ab9d8fe716970e02a18bdb73f7.
It breaks compilation with GCC 4.8.
---
app/utils/tooltipfiller.cpp | 2 +-
app/views/tableview/tableview_model.cpp | 6 ++--
libs/album/albummanager.cpp | 6 ++--
libs/database/collection/collectionscanner.cpp | 2 +-
.../imagehistory/imagehistorygraph_boost.h | 2 +-
.../imagehistory/imagehistorygraphmodel.cpp | 2 +-
libs/database/models/imagemodel.cpp | 2 +-
libs/database/tags/facetags.cpp | 2 +-
libs/dimg/imagehistory/dimagehistory.cpp | 2 +-
libs/dmetadata/dmetadatasettingscontainer.cpp | 2 +-
libs/dtrash/dtrashitemmodel.cpp | 32 +++++++++++-----------
libs/imageproperties/disjointmetadata.cpp | 2 +-
libs/tags/tagfolderview.cpp | 18 ++++++------
libs/tags/tagsmanager/tagmngrtreeview.cpp | 10 +++----
libs/widgets/fonts/dfontproperties.cpp | 4 +--
libs/widgets/iccprofiles/iccprofilescombobox.cpp | 2 +-
showfoto/thumbbar/showfotoimagemodel.cpp | 2 +-
tests/dimg/dimghistorygraphtest.cpp | 18 ++++++------
utilities/advancedrename/advancedrenamemanager.cpp | 6 ++--
.../editor/correlator/track_correlator_thread.cpp | 2 +-
.../editor/searches/searchresultmodel.cpp | 4 +--
.../geolocation/geoiface/tracks/trackreader.cpp | 2 +-
utilities/importui/models/importimagemodel.cpp | 2 +-
utilities/maintenance/imageinfojob.cpp | 2 +-
utilities/searchwindow/searchutilities.cpp | 6 ++--
25 files changed, 70 insertions(+), 70 deletions(-)
diff --git a/core/app/utils/tooltipfiller.cpp b/core/app/utils/tooltipfiller.cpp
index 0371cdfe73..e40cefd18f 100644
--- a/core/app/utils/tooltipfiller.cpp
+++ b/core/app/utils/tooltipfiller.cpp
@@ -677,7 +677,7 @@ QString ToolTipFiller::filterActionTipContents(const FilterAction& action)
const QHash<QString, QVariant>& params = action.parameters();
QList<QString> keys = params.keys();
- std::sort(keys.begin(), keys.end());
+ qSort(keys);
foreach(const QString& key, keys)
{
diff --git a/core/app/views/tableview/tableview_model.cpp b/core/app/views/tableview/tableview_model.cpp
index 6047462023..f168f577f1 100644
--- a/core/app/views/tableview/tableview_model.cpp
+++ b/core/app/views/tableview/tableview_model.cpp
@@ -1144,9 +1144,9 @@ QList<TableViewModel::Item*> TableViewModel::sortItems(const QList<TableViewMode
{
QList<Item*> sortedList = itemList;
- std::sort(sortedList.begin(),
- sortedList.end(),
- LessThan(this));
+ qSort(sortedList.begin(),
+ sortedList.end(),
+ LessThan(this));
return sortedList;
}
diff --git a/core/libs/album/albummanager.cpp b/core/libs/album/albummanager.cpp
index ea0726eab3..f41f3faeac 100644
--- a/core/libs/album/albummanager.cpp
+++ b/core/libs/album/albummanager.cpp
@@ -1290,7 +1290,7 @@ void AlbumManager::scanPAlbums()
QList<AlbumInfo> currentAlbums = CoreDbAccess().db()->scanAlbums();
// sort by relative path so that parents are created before children
- std::sort(currentAlbums.begin(), currentAlbums.end());
+ qSort(currentAlbums);
QList<AlbumInfo> newAlbums;
@@ -1342,7 +1342,7 @@ void AlbumManager::scanPAlbums()
}
// sort by relative path so that parents are created before children
- std::sort(newAlbums.begin(), newAlbums.end());
+ qSort(newAlbums);
// create all new albums
foreach(const AlbumInfo& info, newAlbums)
@@ -1924,7 +1924,7 @@ void AlbumManager::setCurrentAlbums(QList<Album*> albums)
/**
* Sort is needed to identify selection correctly, ex AlbumHistory
*/
- std::sort(albums.begin(), albums.end());
+ qSort(albums.begin(),albums.end());
d->currentAlbums.clear();
d->currentAlbums+=albums;
diff --git a/core/libs/database/collection/collectionscanner.cpp b/core/libs/database/collection/collectionscanner.cpp
index b3284c8d99..b98d2d799a 100644
--- a/core/libs/database/collection/collectionscanner.cpp
+++ b/core/libs/database/collection/collectionscanner.cpp
@@ -531,7 +531,7 @@ void CollectionScanner::finishCompleteScan(const QStringList& albumPaths)
// remove subalbums from list if parent album is already contained
QStringList sortedPaths = albumPaths;
- std::sort(sortedPaths.begin(), sortedPaths.end());
+ qSort(sortedPaths);
QStringList::iterator it, it2;
for (it = sortedPaths.begin(); it != sortedPaths.end(); )
diff --git a/core/libs/database/imagehistory/imagehistorygraph_boost.h b/core/libs/database/imagehistory/imagehistorygraph_boost.h
index 5c4c49ac5f..affdf48466 100644
--- a/core/libs/database/imagehistory/imagehistorygraph_boost.h
+++ b/core/libs/database/imagehistory/imagehistorygraph_boost.h
@@ -1454,7 +1454,7 @@ protected:
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.
- std::sort(outEdges.begin(), outEdges.end(), lessThanMapEdgeToTarget<IncidenceGraph, LessThan>(g, lessThan));
+ qSort(outEdges.begin(), outEdges.end(), lessThanMapEdgeToTarget<IncidenceGraph, LessThan>(g, lessThan));
foreach(const edge_descriptor& e, outEdges)
{
diff --git a/core/libs/database/imagehistory/imagehistorygraphmodel.cpp b/core/libs/database/imagehistory/imagehistorygraphmodel.cpp
index fbe53b0af9..930bc9eab4 100644
--- a/core/libs/database/imagehistory/imagehistorygraphmodel.cpp
+++ b/core/libs/database/imagehistory/imagehistorygraphmodel.cpp
@@ -521,7 +521,7 @@ void ImageHistoryGraphModel::Private::
{
parentItem->addItem(new CategoryItem(title));
- std::sort(vertices.begin(), vertices.end(), sortBy(oldestInfoFirst));
+ qSort(vertices.begin(), vertices.end(), sortBy(oldestInfoFirst));
bool isFirst = true;
VertexItem* item = 0;
diff --git a/core/libs/database/models/imagemodel.cpp b/core/libs/database/models/imagemodel.cpp
index cd4dde5520..db30e93a5b 100644
--- a/core/libs/database/models/imagemodel.cpp
+++ b/core/libs/database/models/imagemodel.cpp
@@ -1197,7 +1197,7 @@ QList<QPair<int, int> > ImageModelIncrementalUpdater::toContiguousPairs(const QL
}
QList<int> indices(unsorted);
- std::sort(indices.begin(), indices.end());
+ qSort(indices);
QPair<int, int> pair(indices.first(), indices.first());
diff --git a/core/libs/database/tags/facetags.cpp b/core/libs/database/tags/facetags.cpp
index dc1f965ce2..cdf08c6613 100644
--- a/core/libs/database/tags/facetags.cpp
+++ b/core/libs/database/tags/facetags.cpp
@@ -398,7 +398,7 @@ int FaceTags::personParentTag()
QList<int> mosttoplevelTags = tiers.values(tiers.begin().key());
// as a pretty weak criterion, take the largest id which usually corresponds to the latest tag creation.
- std::sort(mosttoplevelTags.begin(), mosttoplevelTags.end());
+ qSort(mosttoplevelTags);
return TagsCache::instance()->parentTag(mosttoplevelTags.last());
}
diff --git a/core/libs/dimg/imagehistory/dimagehistory.cpp b/core/libs/dimg/imagehistory/dimagehistory.cpp
index ee24dc206c..2eb2b2ea17 100644
--- a/core/libs/dimg/imagehistory/dimagehistory.cpp
+++ b/core/libs/dimg/imagehistory/dimagehistory.cpp
@@ -534,7 +534,7 @@ QString DImageHistory::toXml() const
if (!params.isEmpty())
{
QList<QString> keys = params.keys();
- std::sort(keys.begin(), keys.end());
+ qSort(keys);
foreach(const QString& key, keys)
{
diff --git a/core/libs/dmetadata/dmetadatasettingscontainer.cpp b/core/libs/dmetadata/dmetadatasettingscontainer.cpp
index 32def9519b..4789f7543a 100644
--- a/core/libs/dmetadata/dmetadatasettingscontainer.cpp
+++ b/core/libs/dmetadata/dmetadatasettingscontainer.cpp
@@ -440,7 +440,7 @@ void DMetadataSettingsContainer::readOneGroup(KConfigGroup& group, const QString
container.append(ns);
}
- std::sort(container.begin(), container.end(), Digikam::dmcompare);
+ qSort(container.begin(), container.end(), Digikam::dmcompare);
}
void DMetadataSettingsContainer::writeOneGroup(KConfigGroup& group, const QString& name, QList<NamespaceEntry>& container) const
diff --git a/core/libs/dtrash/dtrashitemmodel.cpp b/core/libs/dtrash/dtrashitemmodel.cpp
index b21ac32446..0abbe7d223 100644
--- a/core/libs/dtrash/dtrashitemmodel.cpp
+++ b/core/libs/dtrash/dtrashitemmodel.cpp
@@ -146,28 +146,28 @@ void DTrashItemModel::sort(int column, Qt::SortOrder order)
return;
}
- std::sort(d->data.begin(), d->data.end(),
- [column, order](const DTrashItemInfo& a, const DTrashItemInfo& b)
+ qSort(d->data.begin(), d->data.end(),
+ [column, order](const DTrashItemInfo& a, const DTrashItemInfo& b)
+ {
+ if (column == 2 && a.deletionTimestamp != b.deletionTimestamp)
{
- if (column == 2 && a.deletionTimestamp != b.deletionTimestamp)
+ if (order == Qt::DescendingOrder)
{
- if (order == Qt::DescendingOrder)
- {
- return a.deletionTimestamp > b.deletionTimestamp;
- }
- else
- {
- return a.deletionTimestamp < b.deletionTimestamp;
- }
+ return a.deletionTimestamp > b.deletionTimestamp;
}
-
- if (order == Qt::DescendingOrder)
+ else
{
- return a.collectionRelativePath > b.collectionRelativePath;
+ return a.deletionTimestamp < b.deletionTimestamp;
}
+ }
+
+ if (order == Qt::DescendingOrder)
+ {
+ return a.collectionRelativePath > b.collectionRelativePath;
+ }
- return a.collectionRelativePath < b.collectionRelativePath;
- });
+ return a.collectionRelativePath < b.collectionRelativePath;
+ });
const QModelIndex topLeft = index(0, 0, QModelIndex());
const QModelIndex bottomRight = index(rowCount(QModelIndex())-1,
diff --git a/core/libs/imageproperties/disjointmetadata.cpp b/core/libs/imageproperties/disjointmetadata.cpp
index 3f3cd56bbc..53d5cb2cf0 100644
--- a/core/libs/imageproperties/disjointmetadata.cpp
+++ b/core/libs/imageproperties/disjointmetadata.cpp
@@ -609,7 +609,7 @@ void DisjointMetadata::loadTags( QList<int> &loadedTagIds)
return;
}
- std::sort(loadedTagIds.begin(), loadedTagIds.end());
+ qSort(loadedTagIds.begin(),loadedTagIds.end());
// We search for metadata available tags, and
// it is not present in current list, set it to
// disjoint
diff --git a/core/libs/tags/tagfolderview.cpp b/core/libs/tags/tagfolderview.cpp
index d4e1c09dfc..a194af0a5a 100644
--- a/core/libs/tags/tagfolderview.cpp
+++ b/core/libs/tags/tagfolderview.cpp
@@ -136,7 +136,7 @@ void TagFolderView::addCustomContextMenuActions(ContextMenuHelper& cmh, Album* a
cmh.addSeparator();
if (d->showDeleteFaceTagsAction)
{
- cmh.addActionDeleteFaceTag(tagModificationHelper(), tag);
+ cmh.addActionDeleteFaceTag(tagModificationHelper(),tag);
cmh.addSeparator();
}
else
@@ -146,7 +146,7 @@ void TagFolderView::addCustomContextMenuActions(ContextMenuHelper& cmh, Album* a
// If the tag is no face tag, add the option to set it as face tag.
if (!FaceTags::isPerson(tag->id()))
{
- cmh.addActionTagToFaceTag(tagModificationHelper(), tag);
+ cmh.addActionTagToFaceTag(tagModificationHelper(),tag);
}
}
cmh.addActionEditTag(tagModificationHelper(), tag);
@@ -199,7 +199,7 @@ void TagFolderView::slotExpandNode()
{
expand(child);
greyNodes.enqueue(child);
- child = current.child(it++, 0);
+ child = current.child(it++,0);
}
}
}
@@ -234,7 +234,7 @@ void TagFolderView::slotCollapseNode()
{
collapse(child);
greyNodes.enqueue(child);
- child = current.child(it++, 0);
+ child = current.child(it++,0);
}
}
}
@@ -294,18 +294,18 @@ void TagFolderView::setContexMenuItems(ContextMenuHelper& cmh, QList< TAlbum* >
cmh.addSeparator();
if (d->showDeleteFaceTagsAction)
{
- cmh.addActionDeleteFaceTags(tagModificationHelper(), albums);
+ cmh.addActionDeleteFaceTags(tagModificationHelper(),albums);
}
else
{
- cmh.addActionDeleteTags(tagModificationHelper(), albums);
+ cmh.addActionDeleteTags(tagModificationHelper(),albums);
// If one of the selected tags is no face tag, add the action to mark them as face tags.
foreach (TAlbum * const tag, albums)
{
if (!FaceTags::isPerson(tag->id()))
{
cmh.addSeparator();
- cmh.addActionTagToFaceTag(tagModificationHelper(), tag);
+ cmh.addActionTagToFaceTag(tagModificationHelper(),tag);
break;
}
}
@@ -342,7 +342,7 @@ void TagFolderView::contextMenuEvent(QContextMenuEvent* event)
QModelIndexList selectedItems = selectionModel()->selectedIndexes();
- std::sort(selectedItems.begin(), selectedItems.end());
+ qSort(selectedItems.begin(),selectedItems.end());
QList<TAlbum*> items;
foreach(const QModelIndex& mIndex, selectedItems)
@@ -356,7 +356,7 @@ void TagFolderView::contextMenuEvent(QContextMenuEvent* event)
*/
if(items.isEmpty())
{
- QModelIndex root = this->model()->index(0, 0);
+ QModelIndex root = this->model()->index(0,0);
items.append(static_cast<TAlbum*>(albumForIndex(root)));
}
diff --git a/core/libs/tags/tagsmanager/tagmngrtreeview.cpp b/core/libs/tags/tagsmanager/tagmngrtreeview.cpp
index 6dec5c6eb7..fb2a6991ba 100644
--- a/core/libs/tags/tagsmanager/tagmngrtreeview.cpp
+++ b/core/libs/tags/tagsmanager/tagmngrtreeview.cpp
@@ -71,7 +71,7 @@ void TagMngrTreeView::contextMenuEvent(QContextMenuEvent* event)
{
QModelIndexList selectedItems = selectionModel()->selectedIndexes();
- std::sort(selectedItems.begin(), selectedItems.end());
+ qSort(selectedItems.begin(),selectedItems.end());
QList<TAlbum*> items;
foreach(const QModelIndex& mIndex, selectedItems)
@@ -85,7 +85,7 @@ void TagMngrTreeView::contextMenuEvent(QContextMenuEvent* event)
*/
if(items.isEmpty())
{
- QModelIndex root = this->model()->index(0, 0);
+ QModelIndex root = this->model()->index(0,0);
items.append(static_cast<TAlbum*>(albumForIndex(root)));
}
@@ -130,7 +130,7 @@ void TagMngrTreeView::setContexMenuItems(ContextMenuHelper& cmh, QList<TAlbum*>
if (!isRoot)
{
- cmh.addActionDeleteTags(tagModificationHelper(), albums);
+ cmh.addActionDeleteTags(tagModificationHelper(),albums);
}
else
{
@@ -194,7 +194,7 @@ void TagMngrTreeView::slotExpandSelected()
void TagMngrTreeView::slotExpandTree()
{
- QModelIndex root = this->model()->index(0, 0);
+ QModelIndex root = this->model()->index(0,0);
QItemSelectionModel* const model = this->selectionModel();
QModelIndexList selected = model->selectedIndexes();
@@ -227,7 +227,7 @@ void TagMngrTreeView::slotExpandTree()
expand(child);
}
- child = current.child(it++, 0);
+ child = current.child(it++,0);
}
}
else
diff --git a/core/libs/widgets/fonts/dfontproperties.cpp b/core/libs/widgets/fonts/dfontproperties.cpp
index c78f8e5cb2..7466b62477 100644
--- a/core/libs/widgets/fonts/dfontproperties.cpp
+++ b/core/libs/widgets/fonts/dfontproperties.cpp
@@ -1037,7 +1037,7 @@ qreal DFontProperties::Private::fillSizeList(const QList<qreal>& sizes_)
// Insert sizes into the listbox.
sizeListBox->clear();
- std::sort(sizes.begin(), sizes.end());
+ qSort(sizes);
Q_FOREACH (qreal size, sizes)
{
@@ -1400,7 +1400,7 @@ QStringList DFontProperties::Private::translateFontNameList(const QStringList& n
// Sort real fonts alphabetically.
- std::sort(trNames.begin(), trNames.end(), localeLessThan);
+ qSort(trNames.begin(), trNames.end(), localeLessThan);
// Prepend generic fonts, in the predefined order.
diff --git a/core/libs/widgets/iccprofiles/iccprofilescombobox.cpp b/core/libs/widgets/iccprofiles/iccprofilescombobox.cpp
index 779be49aec..3be93a04a8 100644
--- a/core/libs/widgets/iccprofiles/iccprofilescombobox.cpp
+++ b/core/libs/widgets/iccprofiles/iccprofilescombobox.cpp
@@ -97,7 +97,7 @@ static void formatProfiles(const QList<IccProfile>& givenProfiles, QList<IccProf
}
}
- std::sort(profiles.begin(), profiles.end(), iccProfileLessThan);
+ qSort(profiles.begin(), profiles.end(), iccProfileLessThan);
foreach(IccProfile profile, profiles) // krazy:exclude=foreach
{
diff --git a/core/showfoto/thumbbar/showfotoimagemodel.cpp b/core/showfoto/thumbbar/showfotoimagemodel.cpp
index 500c0ce6e5..08bc5175b3 100644
--- a/core/showfoto/thumbbar/showfotoimagemodel.cpp
+++ b/core/showfoto/thumbbar/showfotoimagemodel.cpp
@@ -542,7 +542,7 @@ QList<QPair<int, int> > ShowfotoImageModel::toContiguousPairs(const QList<int>&
}
QList<int> indices(unsorted);
- std::sort(indices.begin(), indices.end());
+ qSort(indices);
QPair<int, int> pair(indices.first(), indices.first());
diff --git a/core/tests/dimg/dimghistorygraphtest.cpp b/core/tests/dimg/dimghistorygraphtest.cpp
index e9204954cd..335d8192a5 100644
--- a/core/tests/dimg/dimghistorygraphtest.cpp
+++ b/core/tests/dimg/dimghistorygraphtest.cpp
@@ -183,7 +183,7 @@ void DImgHistoryGraphTest::testEditing()
controlCloud << IdPair(two.id(), orig.id());
controlCloud << IdPair(three.id(), orig.id());
controlCloud << IdPair(four.id(), orig.id());
- std::sort(controlCloud.begin(), controlCloud.end());
+ qSort(controlCloud);
ImageHistoryGraph graph1 = ImageHistoryGraph::fromInfo(three);
qDebug() << graph1;
@@ -198,7 +198,7 @@ void DImgHistoryGraphTest::testEditing()
QVERIFY(graph3.data().vertexCount() == 5);
QList<IdPair> cloud = graph3.relationCloud();
- std::sort(cloud.begin(), cloud.end());
+ qSort(cloud);
QVERIFY(cloud == controlCloud);
int needResolvingTag = TagsCache::instance()->getOrCreateInternalTag(InternalTagName::needResolvingHistory());
@@ -301,7 +301,7 @@ void DImgHistoryGraphTest::testGraph()
QList<qlonglong> controlLeaves;
controlLeaves << 8 << 19 << 20 << 21 << 10 << 3 << 11 << 22 << 24 << 14 << 15 << 16 << 17 << 18;
- std::sort(controlLeaves.begin(), controlLeaves.end());
+ qSort(controlLeaves);
QList<qlonglong> controlRoots;
controlRoots << 1;
@@ -429,11 +429,11 @@ void DImgHistoryGraphTest::testGraph()
}
QList<qlonglong> leaves = mapList(graph.data().leaves(), vertexToId);
- std::sort(leaves.begin(), leaves.end());
+ qSort(leaves);
QVERIFY(leaves == controlLeaves);
QList<qlonglong> roots = mapList(graph.data().roots(), vertexToId);
- std::sort(roots.begin(), roots.end());
+ qSort(roots);
QVERIFY(roots == controlRoots);
QList<qlonglong> longestPath1 = mapList(graph.data().longestPathTouching(idToVertex.value(18)), vertexToId);
@@ -444,13 +444,13 @@ void DImgHistoryGraphTest::testGraph()
// depth-first
QList<qlonglong> subgraphTwo = mapList(graph.data().verticesDominatedBy(idToVertex.value(2), idToVertex.value(1),
HistoryGraph::DepthFirstOrder), vertexToId);
- std::sort(subgraphTwo.begin(), subgraphTwo.end());
+ qSort(subgraphTwo);
QVERIFY(subgraphTwo == controlSubgraphTwo);
// breadth-first
QList<qlonglong> subgraphFour = mapList(graph.data().verticesDominatedBy(idToVertex.value(4), idToVertex.value(1)), vertexToId);
QVERIFY(subgraphFour.indexOf(22) > subgraphFour.indexOf(13));
- std::sort(subgraphFour.begin(), subgraphFour.end());
+ qSort(subgraphFour);
QVERIFY(subgraphFour == controlSubgraphFour);
// depth-first
@@ -461,10 +461,10 @@ void DImgHistoryGraphTest::testGraph()
QVERIFY(subgraphTwoSorted == controlSubgraphTwoSorted);
QList<qlonglong> rootsOfEighteen = mapList(graph.data().rootsOf(idToVertex.value(18)), vertexToId);
- std::sort(rootsOfEighteen.begin(), rootsOfEighteen.end());
+ qSort(rootsOfEighteen);
QVERIFY(rootsOfEighteen == controlRootsOfEighteen);
QList<qlonglong> leavesFromTwo = mapList(graph.data().leavesFrom(idToVertex.value(2)), vertexToId);
- std::sort(leavesFromTwo.begin(), leavesFromTwo.end());
+ qSort(leavesFromTwo);
QVERIFY(leavesFromTwo == controlLeavesFromTwo);
}
diff --git a/core/utilities/advancedrename/advancedrenamemanager.cpp b/core/utilities/advancedrename/advancedrenamemanager.cpp
index 1c0c207af7..9f83887f80 100644
--- a/core/utilities/advancedrename/advancedrenamemanager.cpp
+++ b/core/utilities/advancedrename/advancedrenamemanager.cpp
@@ -331,19 +331,19 @@ void AdvancedRenameManager::initializeFileList()
{
case SortName:
{
- std::sort(tmpFiles.begin(), tmpFiles.end(), SortByNameCaseInsensitive());
+ qSort(tmpFiles.begin(), tmpFiles.end(), SortByNameCaseInsensitive());
break;
}
case SortDate:
{
- std::sort(tmpFiles.begin(), tmpFiles.end(), SortByDate());
+ qSort(tmpFiles.begin(), tmpFiles.end(), SortByDate());
break;
}
case SortSize:
{
- std::sort(tmpFiles.begin(), tmpFiles.end(), SortBySize());
+ qSort(tmpFiles.begin(), tmpFiles.end(), SortBySize());
break;
}
diff --git a/core/utilities/geolocation/editor/correlator/track_correlator_thread.cpp b/core/utilities/geolocation/editor/correlator/track_correlator_thread.cpp
index 8dc7b7df66..a5b818b6ea 100644
--- a/core/utilities/geolocation/editor/correlator/track_correlator_thread.cpp
+++ b/core/utilities/geolocation/editor/correlator/track_correlator_thread.cpp
@@ -50,7 +50,7 @@ TrackCorrelatorThread::~TrackCorrelatorThread()
void TrackCorrelatorThread::run()
{
// sort the items to correlate by time:
- std::sort(itemsToCorrelate.begin(), itemsToCorrelate.end(), TrackCorrelationLessThan);
+ qSort(itemsToCorrelate.begin(), itemsToCorrelate.end(), TrackCorrelationLessThan);
// now perform the correlation
// we search all loaded gpx data files in parallel for the points with the best match
diff --git a/core/utilities/geolocation/editor/searches/searchresultmodel.cpp b/core/utilities/geolocation/editor/searches/searchresultmodel.cpp
index aea4dc0346..412488ea38 100644
--- a/core/utilities/geolocation/editor/searches/searchresultmodel.cpp
+++ b/core/utilities/geolocation/editor/searches/searchresultmodel.cpp
@@ -315,7 +315,7 @@ void SearchResultModel::removeRowsByIndexes(const QModelIndexList& rowsList)
return;
}
- std::sort(rowNumbers.begin(), rowNumbers.end());
+ qSort(rowNumbers.begin(), rowNumbers.end());
// now delete the rows, starting with the last row:
for (int i = rowNumbers.count()-1; i >= 0; i--)
@@ -340,7 +340,7 @@ void SearchResultModel::removeRowsBySelection(const QItemSelection& selectionLis
}
// we expect the ranges to be sorted here
- std::sort(rowRanges.begin(), rowRanges.end(), RowRangeLessThan);
+ qSort(rowRanges.begin(), rowRanges.end(), RowRangeLessThan);
// now delete the rows, starting with the last row:
for (int i = rowRanges.count()-1; i >= 0; i--)
diff --git a/core/utilities/geolocation/geoiface/tracks/trackreader.cpp b/core/utilities/geolocation/geoiface/tracks/trackreader.cpp
index 71fef9804e..cb58917c08 100644
--- a/core/utilities/geolocation/geoiface/tracks/trackreader.cpp
+++ b/core/utilities/geolocation/geoiface/tracks/trackreader.cpp
@@ -330,7 +330,7 @@ TrackReader::TrackReadResult TrackReader::loadTrackFile(const QUrl& url)
}
// the correlation algorithm relies on sorted data, therefore sort now
- std::sort(parsedData.track.points.begin(), parsedData.track.points.end(), TrackManager::TrackPoint::EarlierThan);
+ qSort(parsedData.track.points.begin(), parsedData.track.points.end(), TrackManager::TrackPoint::EarlierThan);
return parsedData;
}
diff --git a/core/utilities/importui/models/importimagemodel.cpp b/core/utilities/importui/models/importimagemodel.cpp
index 644f436a2a..ce351efa10 100644
--- a/core/utilities/importui/models/importimagemodel.cpp
+++ b/core/utilities/importui/models/importimagemodel.cpp
@@ -926,7 +926,7 @@ QList<QPair<int, int> > ImportImageModelIncrementalUpdater::toContiguousPairs(co
}
QList<int> indices(unsorted);
- std::sort(indices.begin(), indices.end());
+ qSort(indices);
QPair<int, int> pair(indices.first(), indices.first());
diff --git a/core/utilities/maintenance/imageinfojob.cpp b/core/utilities/maintenance/imageinfojob.cpp
index d3915ceebe..8277e14368 100644
--- a/core/utilities/maintenance/imageinfojob.cpp
+++ b/core/utilities/maintenance/imageinfojob.cpp
@@ -175,7 +175,7 @@ void ImageInfoJob::slotData(const QList<ImageListerRecord>& records)
}
// Sort the itemList based on name
- std::sort(itemsList.begin(), itemsList.end(), ImageInfoList::namefileLessThan);
+ qSort(itemsList.begin(), itemsList.end(), ImageInfoList::namefileLessThan);
emit signalItemsInfo(itemsList);
}
diff --git a/core/utilities/searchwindow/searchutilities.cpp b/core/utilities/searchwindow/searchutilities.cpp
index 3a7fe43410..622a0a73ad 100644
--- a/core/utilities/searchwindow/searchutilities.cpp
+++ b/core/utilities/searchwindow/searchutilities.cpp
@@ -296,7 +296,7 @@ void CustomStepsDoubleSpinBox::setSuggestedValues(const QList<double>& values)
this, SLOT(slotValueChanged(double)));
d->values = values;
- std::sort(d->values.begin(), d->values.end());
+ qSort(d->values);
}
void CustomStepsDoubleSpinBox::setSuggestedInitialValue(double initialValue)
@@ -469,7 +469,7 @@ void CustomStepsIntSpinBox::setSuggestedValues(const QList<int>& values)
this, SLOT(slotValueChanged(int)));
d->values = values;
- std::sort(d->values.begin(), d->values.end());
+ qSort(d->values);
}
void CustomStepsIntSpinBox::setSuggestedInitialValue(int initialValue)
@@ -491,7 +491,7 @@ void CustomStepsIntSpinBox::setInvertStepping(bool invert)
void CustomStepsIntSpinBox::enableFractionMagic(const QString& prefix)
{
d->fractionPrefix = prefix;
- std::sort(d->values.begin(), d->values.end(), qGreater<int>());
+ qSort(d->values.begin(), d->values.end(), qGreater<int>());
}
void CustomStepsIntSpinBox::reset()
--
2.13.6

View File

@ -1,105 +0,0 @@
From d19d149b55c3f25c3c7f1c69c0b777acf0c83024 Mon Sep 17 00:00:00 2001
From: Wolfgang Bauer <wbauer@tmo.at>
Date: Sun, 14 Jan 2018 01:47:45 +0100
Subject: [PATCH] Revert "replace obsolete qSort() function"
This reverts commit 734b9d685f458e5f4dadc61216fbf12f9dc59ca6.
It breaks compilation with GCC 4.8.
---
facebook/fbtalker.cpp | 3 ++-
flashexport/simpleviewer.cpp | 2 +-
googleservices/gdtalker.cpp | 2 +-
googleservices/gptalker.cpp | 2 +-
piwigo/piwigotalker.cpp | 2 +-
smug/smugtalker.cpp | 2 +-
6 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/extra/kipi-plugins/facebook/fbtalker.cpp b/extra/kipi-plugins/facebook/fbtalker.cpp
index 24d8b9723..71d704ee0 100644
--- a/extra/kipi-plugins/facebook/fbtalker.cpp
+++ b/extra/kipi-plugins/facebook/fbtalker.cpp
@@ -43,6 +43,7 @@
#include <QPlainTextEdit>
#include <QList>
#include <QDesktopServices>
+#include <QDebug>
#include <QApplication>
#include <QPushButton>
#include <QDialog>
@@ -863,7 +864,7 @@ void FbTalker::parseResponseListAlbums(const QByteArray& data)
errMsg = obj[QString::fromLatin1("message")].toString();
}
- std::sort(albumsList.begin(), albumsList.end());
+ qSort(albumsList.begin(), albumsList.end());
emit signalBusy(false);
emit signalListAlbumsDone(errCode, errorToText(errCode, errMsg),
diff --git a/extra/kipi-plugins/flashexport/simpleviewer.cpp b/extra/kipi-plugins/flashexport/simpleviewer.cpp
index 618f1b30a..b60f7fdda 100644
--- a/extra/kipi-plugins/flashexport/simpleviewer.cpp
+++ b/extra/kipi-plugins/flashexport/simpleviewer.cpp
@@ -530,7 +530,7 @@ void SimpleViewer::processQUrlList(QList<QUrl>& images, QDomDocument& xmlDoc,
QUrl imagesDir = QUrl::fromLocalFile(d->tempDir->path());
imagesDir.setPath(imagesDir.path() + QLatin1String("/images/"));
- std::sort(images.begin(), images.end(), cmpUrl);
+ qSort(images.begin(), images.end(), cmpUrl);
for (QList<QUrl>::ConstIterator it = images.constBegin();
!d->canceled && (it != images.constEnd()) ; ++it)
diff --git a/extra/kipi-plugins/googleservices/gdtalker.cpp b/extra/kipi-plugins/googleservices/gdtalker.cpp
index b7ba5295f..d719089f1 100644
--- a/extra/kipi-plugins/googleservices/gdtalker.cpp
+++ b/extra/kipi-plugins/googleservices/gdtalker.cpp
@@ -355,7 +355,7 @@ void GDTalker::parseResponseListFolders(const QByteArray& data)
albumList.append(fps);
}
- std::sort(albumList.begin(), albumList.end(), gdriveLessThan);
+ qSort(albumList.begin(), albumList.end(), gdriveLessThan);
emit signalBusy(false);
emit signalListAlbumsDone(1,QString(),albumList);
}
diff --git a/extra/kipi-plugins/googleservices/gptalker.cpp b/extra/kipi-plugins/googleservices/gptalker.cpp
index fe839a7d2..264acfa79 100644
--- a/extra/kipi-plugins/googleservices/gptalker.cpp
+++ b/extra/kipi-plugins/googleservices/gptalker.cpp
@@ -745,7 +745,7 @@ void GPTalker::parseResponseListAlbums(const QByteArray& data)
node = node.nextSibling();
}
- std::sort(albumList.begin(), albumList.end(), gphotoLessThan);
+ qSort(albumList.begin(), albumList.end(), gphotoLessThan);
emit signalListAlbumsDone(1, QString::fromLatin1(""), albumList);
}
diff --git a/extra/kipi-plugins/piwigo/piwigotalker.cpp b/extra/kipi-plugins/piwigo/piwigotalker.cpp
index 3fbfbec66..81c8368e0 100644
--- a/extra/kipi-plugins/piwigo/piwigotalker.cpp
+++ b/extra/kipi-plugins/piwigo/piwigotalker.cpp
@@ -569,7 +569,7 @@ void PiwigoTalker::parseResponseListAlbums(const QByteArray& data)
}
// We need parent albums to come first for rest of the code to work
- std::sort(albumList.begin(), albumList.end());
+ qSort(albumList);
emit signalAlbums(albumList);
}
diff --git a/extra/kipi-plugins/smug/smugtalker.cpp b/extra/kipi-plugins/smug/smugtalker.cpp
index 873a1f061..9349be00f 100644
--- a/extra/kipi-plugins/smug/smugtalker.cpp
+++ b/extra/kipi-plugins/smug/smugtalker.cpp
@@ -846,7 +846,7 @@ void SmugTalker::parseResponseListAlbums(const QByteArray& data)
if (errCode == 15) // 15: empty list
errCode = 0;
- std::sort(albumsList.begin(), albumsList.end(), SmugAlbum::lessThan);
+ qSort(albumsList.begin(), albumsList.end(), SmugAlbum::lessThan);
emit signalBusy(false);
emit signalListAlbumsDone(errCode, errorToText(errCode, errMsg), albumsList);
--
2.13.6

File diff suppressed because it is too large Load Diff

View File

@ -13,15 +13,15 @@ diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt
index 041865ffcc..4518ea1815 100644
--- a/core/CMakeLists.txt
+++ b/core/CMakeLists.txt
@@ -58,7 +58,7 @@ set(QT_MIN_VERSION "5.6.0")
set(KIPI_MIN_VERSION "5.0.0")
set(KSANE_MIN_VERSION "5.0.0")
set(LENSFUN_MIN_VERSION "0.2.6.0")
-set(EXIV2_MIN_VERSION "0.26")
+set(EXIV2_MIN_VERSION "0.25")
set(AKONADI_MIN_VERSION "4.89.0") # Akonadi Contact dependency
set(CALENDAR_MIN_VERSION "4.81.0") # Calendar Core dependency
set(QTAV_MIN_VERSION "1.12.0")
@@ -56,7 +56,7 @@ set(QT_MIN_VERSION "5.6.0")
set(KF5_MIN_VERSION "5.1.0")
set(QT_MIN_VERSION "5.6.0")
set(LENSFUN_MIN_VERSION "0.2.6.0")
-set(EXIV2_MIN_VERSION "0.26")
+set(EXIV2_MIN_VERSION "0.25")
set(OPENCV_MIN_VERSION "3.1.0")
set(QTAV_MIN_VERSION "1.12.0")
set(KSANE_MIN_VERSION "5.0.0") # For digital scanner support.
--
2.16.4

View File

@ -1,133 +0,0 @@
From cb808f574248a0c96894338fdcf03b12fbbc080d Mon Sep 17 00:00:00 2001
From: Gilles Caulier <caulier.gilles@gmail.com>
Date: Sun, 7 Oct 2018 10:17:30 +0200
Subject: add support of Exiv2 0.27
---
core/cmake/modules/FindExiv2.cmake | 75 +++++++++++++++++++++++++++-----------
1 file changed, 53 insertions(+), 22 deletions(-)
diff --git a/core/cmake/modules/FindExiv2.cmake b/core/cmake/modules/FindExiv2.cmake
index 1e971a3..02d2943 100644
--- a/core/cmake/modules/FindExiv2.cmake
+++ b/core/cmake/modules/FindExiv2.cmake
@@ -1,7 +1,7 @@
# - Try to find the Exiv2 library
#
# EXIV2_MIN_VERSION - You can set this variable to the minimum version you need
-# before doing FIND_PACKAGE(Exiv2). The default is 0.15.
+# before doing FIND_PACKAGE(Exiv2). The default is 0.26.
#
# Once done this will define
#
@@ -11,34 +11,41 @@
# EXIV2_DEFINITIONS - Compiler switches required for using libexiv2
#
# The minimum required version of Exiv2 can be specified using the
-# standard syntax, e.g. find_package(Exiv2 0.17)
+# standard syntax, e.g. find_package(Exiv2 0.26)
#
# For compatibility, also the variable EXIV2_MIN_VERSION can be set to the minimum version
-# you need before doing FIND_PACKAGE(Exiv2). The default is 0.15.
+# you need before doing FIND_PACKAGE(Exiv2). The default is 0.26.
#
# Copyright (c) 2010, Alexander Neundorf, <neundorf at kde dot org>
-# Copyright (c) 2008-2017, Gilles Caulier, <caulier dot gilles at gmail dot com>
+# Copyright (c) 2008-2018, Gilles Caulier, <caulier dot gilles at gmail dot com>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
# Support EXIV2_MIN_VERSION for compatibility:
+
if(NOT Exiv2_FIND_VERSION)
- set(Exiv2_FIND_VERSION "${EXIV2_MIN_VERSION}")
-endif(NOT Exiv2_FIND_VERSION)
-# the minimum version of exiv2 we require
+ set(Exiv2_FIND_VERSION "${EXIV2_MIN_VERSION}")
+
+endif()
+
+# The minimum version of exiv2 we require
if(NOT Exiv2_FIND_VERSION)
- set(Exiv2_FIND_VERSION "0.15")
-endif(NOT Exiv2_FIND_VERSION)
-if (NOT WIN32)
+ set(Exiv2_FIND_VERSION "0.26")
+
+endif()
+
+if(NOT WIN32)
+
# use pkg-config to get the directories and then use these values
# in the FIND_PATH() and FIND_LIBRARY() calls
find_package(PkgConfig)
pkg_check_modules(PC_EXIV2 QUIET exiv2)
set(EXIV2_DEFINITIONS ${PC_EXIV2_CFLAGS_OTHER})
-endif (NOT WIN32)
+
+endif()
find_path(EXIV2_INCLUDE_DIR NAMES exiv2/exif.hpp
HINTS
@@ -52,20 +59,44 @@ find_library(EXIV2_LIBRARY NAMES exiv2 libexiv2
${PC_EXIV2_LIBRARY_DIRS}
)
-# Get the version number from exiv2/version.hpp and store it in the cache:
-if(EXIV2_INCLUDE_DIR AND NOT EXIV2_VERSION)
- file(READ ${EXIV2_INCLUDE_DIR}/exiv2/version.hpp EXIV2_VERSION_CONTENT)
- string(REGEX MATCH "#define EXIV2_MAJOR_VERSION +\\( *([0-9]+) *\\)" _dummy "${EXIV2_VERSION_CONTENT}")
- set(EXIV2_VERSION_MAJOR "${CMAKE_MATCH_1}")
+if (EXIV2_INCLUDE_DIR AND NOT EXIV2_VERSION)
+
+ # For Exiv2 <= 0.26, get the version number from exiv2/version.hpp and store it in the cache:
+
+ file(READ ${EXIV2_INCLUDE_DIR}/exiv2/version.hpp EXIV2_VERSION_CONTENT)
+ string(REGEX MATCH "#define EXIV2_MAJOR_VERSION +\\( *([0-9]+) *\\)" _dummy "${EXIV2_VERSION_CONTENT}")
+ set(EXIV2_VERSION_MAJOR "${CMAKE_MATCH_1}")
+
+ string(REGEX MATCH "#define EXIV2_MINOR_VERSION +\\( *([0-9]+) *\\)" _dummy "${EXIV2_VERSION_CONTENT}")
+ set(EXIV2_VERSION_MINOR "${CMAKE_MATCH_1}")
+
+ string(REGEX MATCH "#define EXIV2_PATCH_VERSION +\\( *([0-9]+) *\\)" _dummy "${EXIV2_VERSION_CONTENT}")
+ set(EXIV2_VERSION_PATCH "${CMAKE_MATCH_1}")
+
+ if(EXIV2_VERSION_MAJOR AND EXIV2_VERSION_MINOR AND EXIV2_VERSION_PATCH)
+
+ set(EXIV2_VERSION "${EXIV2_VERSION_MAJOR}.${EXIV2_VERSION_MINOR}.${EXIV2_VERSION_PATCH}"
+ CACHE STRING "Version number of Exiv2" FORCE)
+ else()
+
+ # For Exiv2 >= 0.27, get the version number from exiv2/exv_conf.h and store it in the cache:
+
+ file(READ ${EXIV2_INCLUDE_DIR}/exiv2/exv_conf.h EXIV2_VERSION_CONTENT)
+ string(REGEX MATCH "#define EXIV2_MAJOR_VERSION +\\( *([0-9]+) *\\)" _dummy "${EXIV2_VERSION_CONTENT}")
+ set(EXIV2_VERSION_MAJOR "${CMAKE_MATCH_1}")
+
+ string(REGEX MATCH "#define EXIV2_MINOR_VERSION +\\( *([0-9]+) *\\)" _dummy "${EXIV2_VERSION_CONTENT}")
+ set(EXIV2_VERSION_MINOR "${CMAKE_MATCH_1}")
+
+ string(REGEX MATCH "#define EXIV2_PATCH_VERSION +\\( *([0-9]+) *\\)" _dummy "${EXIV2_VERSION_CONTENT}")
+ set(EXIV2_VERSION_PATCH "${CMAKE_MATCH_1}")
- string(REGEX MATCH "#define EXIV2_MINOR_VERSION +\\( *([0-9]+) *\\)" _dummy "${EXIV2_VERSION_CONTENT}")
- set(EXIV2_VERSION_MINOR "${CMAKE_MATCH_1}")
+ set(EXIV2_VERSION "${EXIV2_VERSION_MAJOR}.${EXIV2_VERSION_MINOR}.${EXIV2_VERSION_PATCH}"
+ CACHE STRING "Version number of Exiv2" FORCE)
- string(REGEX MATCH "#define EXIV2_PATCH_VERSION +\\( *([0-9]+) *\\)" _dummy "${EXIV2_VERSION_CONTENT}")
- set(EXIV2_VERSION_PATCH "${CMAKE_MATCH_1}")
+ endif()
- set(EXIV2_VERSION "${EXIV2_VERSION_MAJOR}.${EXIV2_VERSION_MINOR}.${EXIV2_VERSION_PATCH}" CACHE STRING "Version number of Exiv2" FORCE)
-endif(EXIV2_INCLUDE_DIR AND NOT EXIV2_VERSION)
+endif()
set(EXIV2_LIBRARIES "${EXIV2_LIBRARY}")
--
cgit v1.1

View File

@ -1,48 +0,0 @@
From 87e5ee6503f084b4bd9c8e1b1311a76655c2685e Mon Sep 17 00:00:00 2001
From: Gilles Caulier <caulier.gilles@gmail.com>
Date: Sat, 27 Oct 2018 09:58:38 +0200
Subject: exiv2 0.27 RC1 generate now libexiv2lib.so at install stage. Adjust
the find cmake script accordingly. Print all values found while parsing host
system to detect the library
---
core/cmake/modules/FindExiv2.cmake | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/core/cmake/modules/FindExiv2.cmake b/core/cmake/modules/FindExiv2.cmake
index 2fcee5b..c677832 100644
--- a/core/cmake/modules/FindExiv2.cmake
+++ b/core/cmake/modules/FindExiv2.cmake
@@ -5,7 +5,8 @@
#
# Once done this will define
#
-# Exiv2_FOUND - system has libexiv2
+# EXIV2_FOUND - system has libexiv2
+# EXIV2_VERSION - the version of libexiv2
# EXIV2_INCLUDE_DIR - the libexiv2 include directory
# EXIV2_LIBRARIES - Link these to use libexiv2
# EXIV2_DEFINITIONS - Compiler switches required for using libexiv2
@@ -53,7 +54,7 @@ find_path(EXIV2_INCLUDE_DIR NAMES exiv2/exif.hpp
${PC_EXIV2_INCLUDE_DIRS}
)
-find_library(EXIV2_LIBRARY NAMES exiv2 libexiv2
+find_library(EXIV2_LIBRARY NAMES exiv2 libexiv2 exiv2lib
HINTS
${PC_EXIV2_LIBDIR}
${PC_EXIV2_LIBRARY_DIRS}
@@ -106,4 +107,10 @@ include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Exiv2 REQUIRED_VARS EXIV2_LIBRARY EXIV2_INCLUDE_DIR
VERSION_VAR EXIV2_VERSION)
+MESSAGE(STATUS "EXIV2_FOUND = ${EXIV2_FOUND}")
+MESSAGE(STATUS "EXIV2_VERSION = ${EXIV2_VERSION}")
+MESSAGE(STATUS "EXIV2_INCLUDE_DIR = ${EXIV2_INCLUDE_DIR}")
+MESSAGE(STATUS "EXIV2_LIBRARY = ${EXIV2_LIBRARY}")
+MESSAGE(STATUS "EXIV2_DEFINITIONS = ${EXIV2_DEFINITIONS}")
+
mark_as_advanced(EXIV2_INCLUDE_DIR EXIV2_LIBRARY)
--
cgit v1.1

View File

@ -1,29 +0,0 @@
From 16e452c62a81f1b70844c97f18137a004ab08b65 Mon Sep 17 00:00:00 2001
From: Gilles Caulier <caulier.gilles@gmail.com>
Date: Sun, 7 Oct 2018 11:32:44 +0200
Subject: be compatible with backward 0.26
---
core/cmake/modules/FindExiv2.cmake | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
(limited to 'core/cmake/modules/FindExiv2.cmake')
diff --git a/core/cmake/modules/FindExiv2.cmake b/core/cmake/modules/FindExiv2.cmake
index 02d2943..2fcee5b 100644
--- a/core/cmake/modules/FindExiv2.cmake
+++ b/core/cmake/modules/FindExiv2.cmake
@@ -73,7 +73,9 @@ if (EXIV2_INCLUDE_DIR AND NOT EXIV2_VERSION)
string(REGEX MATCH "#define EXIV2_PATCH_VERSION +\\( *([0-9]+) *\\)" _dummy "${EXIV2_VERSION_CONTENT}")
set(EXIV2_VERSION_PATCH "${CMAKE_MATCH_1}")
- if(EXIV2_VERSION_MAJOR AND EXIV2_VERSION_MINOR AND EXIV2_VERSION_PATCH)
+ if(NOT "${EXIV2_VERSION_MAJOR}" STREQUAL "" AND
+ NOT "${EXIV2_VERSION_MINOR}" STREQUAL "" AND
+ NOT "${EXIV2_VERSION_PATCH}" STREQUAL "")
set(EXIV2_VERSION "${EXIV2_VERSION_MAJOR}.${EXIV2_VERSION_MINOR}.${EXIV2_VERSION_PATCH}"
CACHE STRING "Version number of Exiv2" FORCE)
--
cgit v1.1

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:660d32eedcfd6fe1a75170a651fab068ae62f7f092ae710771a2f32a1c550d1b
size 132931184

3
digikam-6.0.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6e4f0ee52772ea2baef38fc9b96f18ca10f165f0c5bda71d8161a4eded26fb47
size 331386500

View File

@ -1,3 +1,104 @@
-------------------------------------------------------------------
Fri Feb 22 15:56:21 UTC 2019 - wbauer@tmo.at
- Update to 6.0.0
* https://www.digikam.org/news/2019-02-10-6.0.0_release_announcement/
- New features (from NEWS):
ImageEditor : Add Web services Import and Export tools.
Showfoto : Add Web services Import and Export tools.
LightTable : Add Web services Import and Export tools.
Database : Similarity database has been moved to a dedicated file
to not bloat core database with computed finger-prints.
This will speed-up query in core database in case of
Similarity feature is used.
Database : New video metadata parser based on ffmpeg to populate
database.
Search : Add video support to find files based on properties
registered on database.
General : Add new Exiv2 0.27 support.
General : Add new Lensfun 0.4 support.
General : Use DrMinGW has crash handler under Windows.
General : Port all export/import tool to OAuth2 authentification.
General : New tool to adjust quickly time and date information
from items. Tool will be available in AlbumView,
ImageEditor, LightTable, and Showfoto.
General : New function to group images by timelapse / burst
General : New tool to export to Pinterest social network.
General : New tool to export to OneDrive webservice.
General : New tool to export to Box webservice.
General : New tool to export to Ipfs webservice.
General : All bundles use last Lenfun 0.3.95 to process
automatic lens correction.
General : Add QWebEngine support.
General : Fix all Krazy static analyzer reports.
General : Update internal Libraw to last 0.19.2.
New camera supported:
* Apple: Phone 8, iPhone 8 plus, iPhone X
* BlackMagic: URSA Mini 4k, URSA Mini 4.6k, URSA Mini Pro 4.6k
* Canon: PowerShot A410, A540, D10, ELPH 130 IS, ELPH 160 IS,
SD750, SX100 IS,SX130 IS, SX160 IS, SX510 HS,
SX10 IS, IXUS 900Ti, PowerShot G1 X Mark III,
G9 X Mark II, EOS 6D Mark II, EOS 77D, EOS 200D,
EOS 800D, EOS M6, EOS M100
* Casio: EX-ZR4100/5100
* DJI: Phantom4 Pro/Pro+, Zenmuse X5, Zenmuse X5R
* FujiFilm: S6500fd, GFX 50S, X100f, X-A3, X-A5, X-A10, X-A20,
X-E3, X-H1, X-T20
* Hasselblad: H6D-100c, A6D-100c
* Huawei: P9 (EVA-L09/AL00), Honor6a, Honor9, Mate10 (BLA-L29)
* Leica: CL, M10, TL2
* LG: V20 (F800K), VS995
* Nikon: D850, D5600, D7500, Coolpix B700
* Olympus: E-PL9, E-M10 Mark III, TG-5
* OnePlus: A3303, A5000
* Panasonic: DMC-FZ45, DMC-FZ72, DC-FZ80/82, DC-G9 (std. res mode only),
DC-GF10/GF90, DC-GH5, DC-GX9, DC-GX800/850/GF9,
DMC-LX1, DC-ZS70 (DC-TZ90/91/92, DC-T93),
DC-TZ100/101/ZS100, DC-TZ200/ZS200
* PARROT: Bebop 2, Bebop Drone
* Pentax: KP
* PhaseOne: IQ3 100MP Trichromatic
* Samsung: Galaxy Nexus, Galaxy S3, S6 (SM-G920F), S7, S7 Edge,
S8 (SM-G950U)
* Sony: A7R III, A9, DSC-RX0, DSC-RX10IV
* Yi: M1
* YUNEEC: CGO3, CGO3P
* Xiaoyi: YIAC3 (YI 4k)
Collection : Add tool button to update an existing collection to the new
drive or path.
Tags : Add possibility to merge tags by drag & drop.
IconView : Add capability to re-organize the contents manually.
IconView : Add capability to separate the contents by month.
HTML Gallery : New Vanilla theme to emulate export to HTML from Adobe LightRoom.
HTML Gallery : New Blue Frame theme.
HTML Gallery : New Kiosk-Mode theme.
- 630 bugs fixed
- Drop patches merged upstream:
* Add-QtWebEngine-support.patch
* fix-black-Welcome-page-by-clicking-on-a-link.patch
* add-support-for-Exiv2-0.27.patch
* be-compatible-with-backward-0.26.patch
* adjust-find-cmake-script-to-exiv2-0.27-RC1.patch
* first-patch-to-be-compatible-with-Exiv2-0.27.patch
* f27ab9c1051bd0a0.patch
* fix-compile.patch
- Drop docs subpackage, docs are no longer included
- Drop kipi-plugins subpackage, no longer included
- Drop patch for kipi-plugins that's no longer relevant:
* 0002-Revert-replace-obsolete-qSort-function.patch
- Drop 0001-Revert-replace-obsolete-qSort-function.patch and build
with gcc7 on Leap 42.3 instead
- Refresh Lower-minimum-exiv2-version.patch
- Remove kipi-plugins requirement, digikam doesn't use libkipi
anymore
- Recommend enblend-enfuse and hugin (previously recommended by
kipi-plugins), needed for certain functionality in digikam
- Update/cleanup build requirements
- Use fdupes without -s option
- Make lang package conditional
- Handle soversion via a macro, bump to 6 following upstream
- Run spec-cleaner
-------------------------------------------------------------------
Wed Jan 2 12:21:09 UTC 2019 - wbauer@tmo.at

View File

@ -1,7 +1,7 @@
#
# spec file for package digikam
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -16,40 +16,20 @@
#
%define soversion 6
%bcond_without lang
Name: digikam
Version: 5.9.0
Version: 6.0.0
Release: 0
Summary: A KDE Photo Manager
License: GPL-2.0-or-later
Group: Productivity/Graphics/Viewers
Url: http://www.digikam.org/
Source0: http://download.kde.org/stable/%{name}/%{name}-%{version}.tar.xz
URL: http://www.digikam.org/
Source0: http://download.kde.org/stable/%{name}/%{version}/%{name}-%{version}.tar.xz
# PATCH-FIX-OPENSUSE 0001-Disable-detection-of-OpenGL-for-GLES-platforms.patch -- The OpenGL slideshow depends on Desktop GL, see kde#383715
Patch0: 0001-Disable-detection-of-OpenGL-for-GLES-platforms.patch
# PATCH-FIX-OPENSUSE
Patch1: 0001-Revert-replace-obsolete-qSort-function.patch
# PATCH-FIX-OPENSUSE
Patch2: 0002-Revert-replace-obsolete-qSort-function.patch
# PATCH-FIX-OPENSUSE
Patch3: Lower-minimum-exiv2-version.patch
# PATCH-FEATURE-UPSTREAM
Patch4: Add-QtWebEngine-support.patch
# PATCH-FIX-UPSTREAM
Patch5: fix-black-Welcome-page-by-clicking-on-a-link.patch
# PATCH-FIX-UPSTREAM -- fix build with exiv2-0.27
Patch6: add-support-for-Exiv2-0.27.patch
Patch7: be-compatible-with-backward-0.26.patch
Patch8: adjust-find-cmake-script-to-exiv2-0.27-RC1.patch
Patch9: first-patch-to-be-compatible-with-Exiv2-0.27.patch
Patch10: f27ab9c1051bd0a0.patch
Patch11: fix-compile.patch
#This pulls in QWebEngine, which is not available on ppc64
%ifarch %ix86 x86_64 %arm aarch64 mips mips64
BuildRequires: akonadi-contact-devel
BuildRequires: pkgconfig(Qt5WebEngineWidgets)
%else
BuildRequires: pkgconfig(Qt5WebKitWidgets)
%endif
Patch1: Lower-minimum-exiv2-version.patch
BuildRequires: QtAV-devel >= 1.12
BuildRequires: bison
BuildRequires: boost-devel
@ -57,8 +37,7 @@ BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: flex
BuildRequires: graphviz-devel
BuildRequires: gtk2-devel
BuildRequires: karchive-devel
BuildRequires: hicolor-icon-theme
BuildRequires: kconfig-devel
BuildRequires: kcoreaddons-devel
BuildRequires: kdoctools-devel
@ -76,44 +55,44 @@ BuildRequires: lensfun-devel
BuildRequires: libeigen3-devel
BuildRequires: libexiv2-devel >= 0.25
BuildRequires: libexpat-devel
BuildRequires: libgcrypt-devel
BuildRequires: libgpod-devel
BuildRequires: libjasper-devel
BuildRequires: libkipi-devel >= 16.04.0
BuildRequires: libksane-devel >= 15.12.0
BuildRequires: liblcms2-devel
BuildRequires: liblqr-devel
BuildRequires: libmediawiki-devel
BuildRequires: libmysqlclient-devel
BuildRequires: libmysqld-devel
BuildRequires: libpgf-devel
BuildRequires: libpng-devel
BuildRequires: libtiff-devel
BuildRequires: libusb-devel
BuildRequires: libxml2-devel
BuildRequires: libxslt-devel
BuildRequires: marble-devel
BuildRequires: mysql
BuildRequires: opencv-devel
BuildRequires: pkgconfig
BuildRequires: solid-devel
BuildRequires: threadweaver-devel >= 5.1.0
BuildRequires: update-desktop-files
BuildRequires: cmake(KF5CalendarCore)
BuildRequires: pkgconfig(Qt5Concurrent)
BuildRequires: pkgconfig(Qt5Core) >= 5.6.0
BuildRequires: pkgconfig(Qt5DBus)
BuildRequires: pkgconfig(Qt5Network)
BuildRequires: pkgconfig(Qt5OpenGL)
BuildRequires: pkgconfig(Qt5PrintSupport)
BuildRequires: pkgconfig(Qt5Sql)
BuildRequires: pkgconfig(Qt5Svg)
BuildRequires: pkgconfig(Qt5Test)
BuildRequires: pkgconfig(Qt5X11Extras)
BuildRequires: pkgconfig(Qt5Xml)
BuildRequires: pkgconfig(Qt5XmlPatterns)
BuildRequires: cmake(Qt5Concurrent)
BuildRequires: cmake(Qt5Core) >= 5.6.0
BuildRequires: cmake(Qt5DBus)
BuildRequires: cmake(Qt5Gui)
BuildRequires: cmake(Qt5Network)
BuildRequires: cmake(Qt5OpenGL)
BuildRequires: cmake(Qt5PrintSupport)
BuildRequires: cmake(Qt5Sql)
BuildRequires: cmake(Qt5Test)
BuildRequires: cmake(Qt5Widgets)
BuildRequires: cmake(Qt5X11Extras)
BuildRequires: cmake(Qt5Xml)
BuildRequires: cmake(Qt5XmlPatterns)
BuildRequires: pkgconfig(libavcodec)
BuildRequires: pkgconfig(libavfilter)
BuildRequires: pkgconfig(libavformat)
BuildRequires: pkgconfig(libavutil)
BuildRequires: pkgconfig(libgphoto2) >= 2.4.0
Requires: kipi-plugins >= %{version}
BuildRequires: pkgconfig(libswscale)
Requires: libQt5Sql5-sqlite
Recommends: %{name}-doc
Recommends: %{name}-lang
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Recommends: enblend-enfuse
Recommends: hugin
Recommends: marble
Recommends: showfoto
# Got merged into libimageeditor in 5.2.0
@ -128,6 +107,20 @@ Obsoletes: %{name}-plugin-fxfilters < %{version}
Provides: %{name}-plugin-transform = %{version}
Obsoletes: %{name}-plugin-transform < %{version}
Obsoletes: digikam-libs < %{version}
# Docs no longer included in 6.0.0
Provides: %{name}-doc = %{version}
Obsoletes: %{name}-doc < %{version}
#This pulls in QWebEngine, which is not available on ppc64
%ifarch %{ix86} x86_64 %{arm} aarch64 mips mips64
BuildRequires: akonadi-contact-devel
BuildRequires: pkgconfig(Qt5WebEngineWidgets)
%else
BuildRequires: pkgconfig(Qt5WebKitWidgets)
%endif
%if 0%{?suse_version} < 1320
# It does not build with the default compiler (GCC 4.8) on Leap 42.x
BuildRequires: gcc7-c++
%endif
%description
digiKam is a simple digital photo management application for KDE, which
@ -137,88 +130,47 @@ by directory layout, or by custom collections. An easy-to-use interface
that enables you to connect to your camera and preview, download, or
delete your images, is provided.
%package doc
Summary: Documentation of Digikam
License: GFDL-1.2-only
Group: Documentation/HTML
BuildArch: noarch
%description doc
This package contains the documentation for digikam
%package -n kipi-plugins
Summary: KDE Plug-Ins for Image Manipulation
License: GPL-2.0-or-later
Group: Productivity/Graphics/Other
Recommends: ImageMagick
Recommends: enblend-enfuse
Recommends: hugin
Recommends: kipi-plugins-lang = %{version}
Obsoletes: kipi-plugins-acquireimage < %{version}
Obsoletes: kipi-plugins-geolocation < %{version}
Obsoletes: kipi-plugins5 < %{version}
Provides: kipi-plugins5 = %{version}
Obsoletes: kipi-plugin-icons < %{version}
Provides: kipi-plugin-icons = %{version}
%description -n kipi-plugins
A set of plug-ins for the KDE KIPI interface, used by some KDE imaging
applications.
%package -n showfoto
Summary: DigiKam: Showfoto
License: GPL-2.0-or-later
Group: Productivity/Graphics/Viewers
Supplements: %{name}
%description -n showfoto
Additional program to browse and view photos
%package -n libdigikamcore5
%package -n libdigikamcore%{soversion}
Summary: The main digikam libraries
License: GPL-2.0-or-later
Group: Development/Libraries/KDE
%description -n libdigikamcore5
%description -n libdigikamcore%{soversion}
The main digikam libraries that are being shared between showfoto and digikam
%lang_package
%lang_package -n kipi-plugins
%prep
%setup -q -n %{name}-%{version}
%ifarch %arm aarch64
%setup -q
%ifarch %{arm} aarch64
# Disable OpenGL slideshow on embedded platforms
%patch0 -p1
%endif
%if 0%{?suse_version} < 1320
%patch1 -p1
%patch2 -p1
%patch3 -p1
%endif
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
# Remove build time references so build-compare can do its work
FAKE_BUILDDATE=$(LC_ALL=C date -u -r %{_sourcedir}/%{name}.changes '+%%b %%e %%Y')
FAKE_BUILDTIME=$(LC_ALL=C date -u -r %{_sourcedir}/%{name}.changes '+%%H:%%M')
sed -i "s/__DATE__/\"$FAKE_BUILDDATE\"/" core/app/utils/digikam_version.h.cmake.in
sed -i "s/__DATE__/\"$FAKE_BUILDDATE\"/g" extra/kipi-plugins/common/libkipiplugins/tools/kpversion.h.cmake.in
sed -i "s/__DATE__/\"$FAKE_BUILDDATE\"/g" core/libs/dimg/filters/greycstoration/cimg/CImg.h
sed -i "s/__TIME__/\"$FAKE_BUILDTIME\"/g" core/libs/dimg/filters/greycstoration/cimg/CImg.h
# Workaround for kde#369517 - vkontakte installs translations even if not built
rm -f po/*/kipiplugin_vkontakte.po
%build
%ifarch %ix86 x86_64 %arm aarch64 mips mips64
%if 0%{?suse_version} < 1320
# gcc 4.8.5 is too old
export CC=gcc-7
export CXX=g++-7
%endif
%ifarch %{ix86} x86_64 %{arm} aarch64 mips mips64
%cmake_kf5 -d build -- -DENABLE_APPSTYLES=ON -DENABLE_MEDIAPLAYER=ON -DENABLE_QWEBENGINE=ON
%else
%cmake_kf5 -d build -- -DENABLE_APPSTYLES=ON -DENABLE_MEDIAPLAYER=ON
@ -232,80 +184,58 @@ rm -f po/*/kipiplugin_vkontakte.po
rm -f %{buildroot}%{_kf5_libdir}/libdigikamcore.so
rm -f %{buildroot}%{_kf5_libdir}/libdigikamdatabase.so
rm -f %{buildroot}%{_kf5_libdir}/libdigikamgui.so
rm -f %{buildroot}%{_kf5_libdir}/libKF5kipiplugins.so
%if 0%{?suse_version}
%suse_update_desktop_file -r org.kde.digikam Qt KDE Graphics Photography
%suse_update_desktop_file -r org.kde.showfoto Qt KDE Graphics Photography
%endif
%if %{with lang}
%find_lang %{name} --without-kde
%find_lang kipiplugins kipiplugin.lang --without-kde
%endif
for i in dropbox googleservices sendimages facebook flashexport flickr imageshack imgur kmlexport piwigo printimages rajce remotestorage sendimages smug yandexfotki
do
%find_lang kipiplugin_$i kipiplugin.lang
done
%fdupes %{buildroot}
%fdupes -s %{buildroot}
%post -n libdigikamcore5 -p /sbin/ldconfig
%postun -n libdigikamcore5 -p /sbin/ldconfig
%post -n kipi-plugins -p /sbin/ldconfig
%postun -n kipi-plugins -p /sbin/ldconfig
%post -n libdigikamcore%{soversion} -p /sbin/ldconfig
%postun -n libdigikamcore%{soversion} -p /sbin/ldconfig
%files
%{_bindir}/digikam
%{_bindir}/digitaglinktree
%{_bindir}/cleanup_digikamdb
%{_kf5_bindir}/digikam
%{_kf5_bindir}/digitaglinktree
%{_kf5_bindir}/cleanup_digikamdb
%{_kf5_applicationsdir}/org.kde.digikam.desktop
%_kf5_iconsdir/hicolor/*/apps/digikam.*
%_kf5_iconsdir/hicolor/*/apps/expoblending.*
%_kf5_iconsdir/hicolor/*/actions/
%_datadir/digikam/
%dir %_datadir/solid
%dir %_datadir/solid/actions
%_datadir/solid/actions/digikam-opencamera.desktop
%_datadir/kxmlgui5/digikam/
%_datadir/knotifications5/digikam.notifyrc
%{_kf5_iconsdir}/hicolor/*/actions/
%{_kf5_iconsdir}/hicolor/*/apps/digikam.*
%{_kf5_iconsdir}/hicolor/*/apps/dk-*
%{_kf5_iconsdir}/hicolor/*/apps/expoblending.*
%{_kf5_iconsdir}/hicolor/*/apps/panorama.*
%doc %{_kf5_mandir}/man1/cleanup_digikamdb.1%{ext_man}
%doc %{_kf5_mandir}/man1/digitaglinktree.1%{ext_man}
%{_kf5_sharedir}/digikam/
%dir %{_kf5_sharedir}/solid
%dir %{_kf5_sharedir}/solid/actions
%{_kf5_sharedir}/solid/actions/digikam-opencamera.desktop
%{_kf5_kxmlguidir}/digikam/
%{_kf5_notifydir}/digikam.notifyrc
%{_kf5_appstreamdir}/org.kde.digikam.appdata.xml
%_kf5_iconsdir/hicolor/*/apps/panorama.*
%files -n showfoto
%{_bindir}/showfoto
%{_kf5_bindir}/showfoto
%{_kf5_applicationsdir}/org.kde.showfoto.desktop
%_kf5_iconsdir/hicolor/*/apps/showfoto.*
%_datadir/showfoto/
%_datadir/kxmlgui5/showfoto/
%{_kf5_iconsdir}/hicolor/*/apps/showfoto.*
%{_kf5_sharedir}/showfoto/
%{_kf5_kxmlguidir}/showfoto/
%{_kf5_appstreamdir}/org.kde.showfoto.appdata.xml
%files -n libdigikamcore5
%files -n libdigikamcore%{soversion}
%license COPYING*
%doc core/{AUTHORS,ChangeLog,NEWS,README.md}
%{_libdir}/libdigikam*.so*
%files doc
%license doc/COPYING.DOC
%doc %{_mandir}/man1/cleanup_digikamdb.1%{ext_man}
%doc %{_mandir}/man1/digitaglinktree.1%{ext_man}
%doc %{_kf5_htmldir}/*/
%doc AUTHORS ChangeLog NEWS README.md
%{_kf5_libdir}/libdigikamcore.so.%{soversion}.*
%{_kf5_libdir}/libdigikamdatabase.so.%{soversion}.*
%{_kf5_libdir}/libdigikamgui.so.%{soversion}.*
%if %{with lang}
%files lang -f %{name}.lang
%files -n kipi-plugins
%license COPYING*
%doc extra/kipi-plugins/{AUTHORS,ChangeLog,NEWS,README,TODO}
%_libdir/libKF5kipiplugins.so*
%{_kf5_plugindir}/kipiplugin_*.so
%{_kf5_applicationsdir}/kipiplugins.desktop
%{_kf5_iconsdir}/hicolor/*/apps/kipi-*.*
%{_datadir}/kipiplugin_*/
%{_kf5_servicesdir}/kipiplugin_*.desktop
%{_kf5_kxmlguidir}/kipi/
%files -n kipi-plugins-lang -f kipiplugin.lang
%endif
%changelog

View File

@ -1,63 +0,0 @@
From 516128e999abbd57913b076dec019f899c07da3d Mon Sep 17 00:00:00 2001
From: Gilles Caulier <caulier.gilles@gmail.com>
Date: Sun, 7 Oct 2018 18:39:10 +0200
Subject: there is a mess in exiv2 headers 0.27.0, between version.hpp and
exv_con.h We cannot use the macro defined in version.hpp to include this
file...
---
core/libs/dmetadata/metaengine_exif.cpp | 4 ++++
core/libs/dmetadata/metaengine_p.h | 18 ++++++------------
2 files changed, 10 insertions(+), 12 deletions(-)
diff --git a/core/libs/dmetadata/metaengine_exif.cpp b/core/libs/dmetadata/metaengine_exif.cpp
index 079fa96..73af582 100644
--- a/core/libs/dmetadata/metaengine_exif.cpp
+++ b/core/libs/dmetadata/metaengine_exif.cpp
@@ -995,7 +995,11 @@ bool MetaEngine::setTiffThumbnail(const QImage& thumbImage) const
if (pos == d->exifMetadata().end() || pos->count() != 1 || pos->toLong() != 0)
{
+#if EXIV2_TEST_VERSION(0,27,0)
+ throw Exiv2::Error(Exiv2::kerErrorMessage, "Exif.Image.NewSubfileType missing or not set as main image");
+#else
throw Exiv2::Error(1, "Exif.Image.NewSubfileType missing or not set as main image");
+#endif
}
// Remove sub-IFD tags
diff --git a/core/libs/dmetadata/metaengine_p.h b/core/libs/dmetadata/metaengine_p.h
index 9e234f2..157b63f 100644
--- a/core/libs/dmetadata/metaengine_p.h
+++ b/core/libs/dmetadata/metaengine_p.h
@@ -72,21 +72,19 @@
#include <exiv2/exif.hpp>
#include <exiv2/xmpsidecar.hpp>
+#if (((EXIV2_MAJOR_VERSION) << 16) | ((EXIV2_MINOR_VERSION) << 8) | (EXIV2_PATCH_VERSION)) >= (((0) << 16) | ((27) << 8) | (0))
+# include <exiv2/version.hpp>
+#endif
+
// Check if Exiv2 support XMP
#ifdef EXV_HAVE_XMP_TOOLKIT
# define _XMP_SUPPORT_ 1
#endif
-// Make sure an EXIV2_TEST_VERSION macro exists:
-
-#ifdef EXIV2_VERSION
-# ifndef EXIV2_TEST_VERSION
-# define EXIV2_TEST_VERSION(major,minor,patch) \
+#ifndef EXIV2_TEST_VERSION
+# define EXIV2_TEST_VERSION(major,minor,patch) \
( EXIV2_VERSION >= EXIV2_MAKE_VERSION(major,minor,patch) )
-# endif
-#else
-# define EXIV2_TEST_VERSION(major,minor,patch) (false)
#endif
// With exiv2 > 0.20.0, all makernote header files have been removed to increase binary compatibility.
--
cgit v1.1

View File

@ -1,44 +0,0 @@
From 7c8c0e44adcaadb342e85c66df79d53bd561ebc7 Mon Sep 17 00:00:00 2001
From: Gilles Caulier <caulier.gilles@gmail.com>
Date: Sun, 7 Oct 2018 11:33:06 +0200
Subject: first patch to be compatible with Exiv2 0.27
---
core/libs/dmetadata/metaengine.cpp | 7 ++++---
core/libs/dmetadata/metaengine_p.h | 1 +
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/core/libs/dmetadata/metaengine.cpp b/core/libs/dmetadata/metaengine.cpp
index eb1a1a0..833c807 100644
--- a/core/libs/dmetadata/metaengine.cpp
+++ b/core/libs/dmetadata/metaengine.cpp
@@ -152,10 +152,11 @@ bool MetaEngine::supportMetadataWritting(const QString& typeMime)
QString MetaEngine::Exiv2Version()
{
- // Since 0.14.0 release, we can extract run-time version of Exiv2.
- // else we return make version.
-
+#if EXIV2_TEST_VERSION(0,27,0)
+ return QLatin1String(Exiv2::versionString().c_str());
+#else
return QString::fromLatin1(Exiv2::version());
+#endif
}
QString MetaEngine::sidecarFilePathForFile(const QString& path)
diff --git a/core/libs/dmetadata/metaengine_p.h b/core/libs/dmetadata/metaengine_p.h
index 79f35e9..bf75e4a 100644
--- a/core/libs/dmetadata/metaengine_p.h
+++ b/core/libs/dmetadata/metaengine_p.h
@@ -60,6 +60,7 @@
#endif
#include <exiv2/exv_conf.h>
+#include <exiv2/version.hpp>
#include <exiv2/error.hpp>
#include <exiv2/image.hpp>
#include <exiv2/jpgimage.hpp>
--
cgit v1.1

View File

@ -1,25 +0,0 @@
From 60721615dd9af2b81dacce06adaa7e31d56eee32 Mon Sep 17 00:00:00 2001
From: Maik Qualmann <metzpinguin@gmail.com>
Date: Sat, 1 Dec 2018 16:34:41 +0100
Subject: fix black Welcome page by clicking on a link REVIEW: D17276
---
core/app/views/welcomepageview_qwebengine.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/app/views/welcomepageview_qwebengine.cpp b/core/app/views/welcomepageview_qwebengine.cpp
index 2dfe2c6..d4ee8c5 100644
--- a/core/app/views/welcomepageview_qwebengine.cpp
+++ b/core/app/views/welcomepageview_qwebengine.cpp
@@ -115,7 +115,7 @@ WelcomePageView::~WelcomePageView()
void WelcomePageView::slotUrlOpen(const QUrl& url)
{
- WebBrowserDlg* const browser = new WebBrowserDlg(url, this);
+ WebBrowserDlg* const browser = new WebBrowserDlg(url, qApp->activeWindow());
browser->show();
}
--
cgit v0.11.2

View File

@ -1,37 +0,0 @@
From 8a12ffc60e2f2a59a60355824ba51370b0a20acd Mon Sep 17 00:00:00 2001
From: Maik Qualmann <metzpinguin@gmail.com>
Date: Sun, 7 Oct 2018 15:39:32 +0200
Subject: fix compile
---
core/libs/dmetadata/metaengine_p.h | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
(limited to 'core/libs/dmetadata/metaengine_p.h')
diff --git a/core/libs/dmetadata/metaengine_p.h b/core/libs/dmetadata/metaengine_p.h
index bf75e4a..9e234f2 100644
--- a/core/libs/dmetadata/metaengine_p.h
+++ b/core/libs/dmetadata/metaengine_p.h
@@ -61,7 +61,6 @@
#endif
#include <exiv2/exv_conf.h>
-#include <exiv2/version.hpp>
#include <exiv2/error.hpp>
#include <exiv2/image.hpp>
#include <exiv2/jpgimage.hpp>
@@ -98,6 +97,10 @@
# pragma GCC visibility pop
#endif
+#if EXIV2_TEST_VERSION(0,27,0)
+ #include <exiv2/version.hpp>
+#endif
+
// End of Exiv2 headers ------------------------------------------------------
namespace Digikam
--
cgit v1.1