The package rpms/luminance-hdr.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/luminance-hdr.git/commit/?id=1ecd89c....
Change: +%ifarch %{qt5_qtwebengine_arches}
Thanks.
Full change: ============
commit 05f683d596e4821ead9d69dfbcd1e24c05a38431 Author: Benjamin A. Beasley code@musicinmybrain.net Date: Sun Nov 14 09:40:08 2021 -0500
Restore the help browser
The help browser was patched out due to GPLv2/GPLv3+ license incompatibilities. The GPLv2 license of the problematic sources came from the Qt4 examples, which were later relicensed to BSD.
By copying in newer, BSD-licensed sources from Scribus (with trivial modifications), the license incompatibility is resolved and LuminanceHDR can be built with the help browser again.
See:
https://github.com/LuminanceHDR/LuminanceHDR/issues/247 https://github.com/LuminanceHDR/LuminanceHDR/pull/250
diff --git a/0001-Update-help-tree-files-from-Scribus-SVN-24770.patch b/0001-Update-help-tree-files-from-Scribus-SVN-24770.patch new file mode 100644 index 0000000..ed484f4 --- /dev/null +++ b/0001-Update-help-tree-files-from-Scribus-SVN-24770.patch @@ -0,0 +1,1400 @@ +From 4601b862cd4c446d757930ce9d65f982e4531df7 Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" code@musicinmybrain.net +Date: Sun, 14 Nov 2021 07:46:33 -0500 +Subject: [PATCH 1/3] Update help tree files from Scribus SVN#24770 + +These files are based on a newer version of the Qt4 examples, so their +license changes from GPLv2 (only) to BSD, fixing the license +incompatibility with GPLv3+ code in LuminanceHDR (#247). +--- + src/HelpBrowser/schelptreemodel.cpp | 383 ++++++++++++++------------- + src/HelpBrowser/schelptreemodel.h | 80 +++--- + src/HelpBrowser/treeitem.cpp | 179 ++++++++----- + src/HelpBrowser/treeitem.h | 125 +++++---- + src/HelpBrowser/treemodel.cpp | 392 ++++++++++++++++------------ + src/HelpBrowser/treemodel.h | 142 +++++----- + 6 files changed, 733 insertions(+), 568 deletions(-) + +diff --git a/src/HelpBrowser/schelptreemodel.cpp b/src/HelpBrowser/schelptreemodel.cpp +index 1596a17c..0aebb3b3 100644 +--- a/src/HelpBrowser/schelptreemodel.cpp ++++ b/src/HelpBrowser/schelptreemodel.cpp +@@ -1,31 +1,46 @@ +-/** +-** This file is a part of Luminance HDR package. +-** ---------------------------------------------------------------------- +-** Copyright (C) 2009-2016 Davide Anastasia, Franco Comida, Daniel Kaneider +-** +-**************************************************************************** ++ ++/**************************************************************************** + ** +-** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved. ++** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ++** All rights reserved. ++** Contact: Nokia Corporation (qt-info@nokia.com) + ** +-** This file is part of the example classes of the Qt Toolkit. ++** This file is part of the examples of the Qt Toolkit. + ** +-** This file may be used under the terms of the GNU General Public +-** License version 2.0 as published by the Free Software Foundation +-** and appearing in the file LICENSE.GPL included in the packaging of +-** this file. Please review the following information to ensure GNU +-** General Public Licensing requirements will be met: +-** http://www.trolltech.com/products/qt/opensource.html ++** $QT_BEGIN_LICENSE:BSD$ ++** You may use this file under the terms of the BSD license as follows: + ** +-** If you are unsure which license is appropriate for your use, please +-** review the following information: +-** http://www.trolltech.com/products/qt/licensing.html or contact the +-** sales department at sales@trolltech.com. ++** "Redistribution and use in source and binary forms, with or without ++** modification, are permitted provided that the following conditions are ++** met: ++** * Redistributions of source code must retain the above copyright ++** notice, this list of conditions and the following disclaimer. ++** * Redistributions in binary form must reproduce the above copyright ++** notice, this list of conditions and the following disclaimer in ++** the documentation and/or other materials provided with the ++** distribution. ++** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor ++** the names of its contributors may be used to endorse or promote ++** products derived from this software without specific prior written ++** permission. + ** +-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ++** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ++** $QT_END_LICENSE$ + ** + ****************************************************************************/ + ++//File initially based on treemodel.h from Qt 4.x, hardly anything like it now ++ + /* + treemodel.cpp + +@@ -33,180 +48,178 @@ + models. + */ + ++#include <QtGui> + #include <QDomDocument> + #include <QFile> +-#include <QtWidgets> + + #include "schelptreemodel.h" + +-ScHelpTreeModel::ScHelpTreeModel(const QString &dataFile, +- const QString &col1name, +- const QString &col2name, +- QMap<QString, QString> *indexToBuild, +- QObject *parent) +- : TreeModel(parent) { +- QList<QVariant> rootData; +- rootData << col1name << col2name; +- rootItem = new TreeItem(rootData); +- if (!dataFile.isEmpty()) setupModelData(dataFile, rootItem, indexToBuild); ++ScHelpTreeModel::ScHelpTreeModel(const QString &dataFile, const QString &col1name, const QString &col2name, QMap<QString, QString>* indexToBuild, QObject *parent) ++ : TreeModel(parent) ++{ ++ QList<QVariant> rootData; ++ rootData << col1name << col2name; ++ m_rootItem = new TreeItem(rootData); ++ if (!dataFile.isEmpty()) ++ setupModelData(dataFile, m_rootItem, indexToBuild); + } + +-void ScHelpTreeModel::setupModelData(const QString &dataFile, TreeItem *parent, +- QMap<QString, QString> *indexToBuild) { +- QFile file(dataFile); +- if (!file.open(QIODevice::ReadOnly)) return; +- QDomDocument doc(QStringLiteral("menuentries")); +- if (!doc.setContent(&file)) { +- file.close(); +- return; +- } +- file.close(); +- +- QList<TreeItem *> parents; +- QList<int> indentations; +- parents << parent; +- indentations << 0; +- QDomElement docElem = doc.documentElement(); +- QDomNode n = docElem.firstChild(); +- // bool haveTutorials=false; +- QList<QVariant> columnData; +- int position = 0; +- while (!n.isNull()) { +- QDomElement e = +- n.toElement(); // try to convert the node to an element. +- if (!e.isNull()) { +- if (e.hasAttribute(QStringLiteral("text")) && +- e.hasAttribute(QStringLiteral("file"))) { +- QDomAttr textAttr = e.attributeNode(QStringLiteral("text")); +- QDomAttr fileAttr = e.attributeNode(QStringLiteral("file")); +- columnData.clear(); +- columnData << textAttr.value() << fileAttr.value(); +- if (position > indentations.last()) { +- // The last child of the current parent is now the new +- // parent +- // unless the current parent has no children. +- +- if (parents.last()->childCount() > 0) { +- parents << parents.last()->child( +- parents.last()->childCount() - 1); +- indentations << position; +- } +- } else { +- while (position < indentations.last() && +- parents.count() > 0) { +- parents.pop_back(); +- indentations.pop_back(); +- } +- } +- // Append a new item to the current parent's list of children. +- parents.last()->appendChild( +- new TreeItem(columnData, parents.last())); +- if (indexToBuild) +- indexToBuild->insert(textAttr.value(), fileAttr.value()); +- } +- +- QDomNodeList nl = n.childNodes(); +- if (nl.count() > 0) position = 1; +- for (int i = 0; i <= nl.count(); i++) { +- QDomNode child = nl.item(i); +- if (child.isElement()) { +- QDomElement ec = child.toElement(); +- if (!ec.isNull()) { +- if (ec.hasAttribute(QStringLiteral("text")) && +- ec.hasAttribute(QStringLiteral("file"))) { +- QDomAttr textAttr = +- ec.attributeNode(QStringLiteral("text")); +- QDomAttr fileAttr = +- ec.attributeNode(QStringLiteral("file")); +- columnData.clear(); +- columnData << textAttr.value() << fileAttr.value(); +- if (position > indentations.last()) { +- // The last child of the current parent is now +- // the new parent +- // unless the current parent has no children. ++void ScHelpTreeModel::setupModelData(const QString &dataFile, TreeItem *parent, QMap<QString, QString>* indexToBuild) ++{ ++ QFile file( dataFile ); ++ if ( !file.open( QIODevice::ReadOnly ) ) ++ return; ++ QDomDocument doc( "menuentries" ); ++ if ( !doc.setContent( &file ) ) ++ { ++ file.close(); ++ return; ++ } ++ file.close(); + +- if (parents.last()->childCount() > 0) { +- parents << parents.last()->child( +- parents.last()->childCount() - 1); +- indentations << position; +- } +- } else { +- while (position < indentations.last() && +- parents.count() > 0) { +- parents.pop_back(); +- indentations.pop_back(); +- } +- } +- // Append a new item to the current parent's list of +- // children. +- parents.last()->appendChild( +- new TreeItem(columnData, parents.last())); +- if (indexToBuild) +- indexToBuild->insert(textAttr.value(), +- fileAttr.value()); +- } +- // 3rd level +- QDomNodeList nl2 = child.childNodes(); +- if (nl2.count() > 0) position = 2; +- for (int i2 = 0; i2 <= nl2.count(); i2++) { +- QDomNode childchild = nl2.item(i2); +- if (childchild.isElement()) { +- QDomElement ecc = childchild.toElement(); +- if (!ecc.isNull()) { +- QDomAttr textAttr = ecc.attributeNode( +- QStringLiteral("text")); +- QDomAttr fileAttr = ecc.attributeNode( +- QStringLiteral("file")); +- columnData.clear(); +- columnData << textAttr.value() +- << fileAttr.value(); +- if (position > indentations.last()) { +- // The last child of the current parent +- // is now the new +- // parent +- // unless the current parent has no +- // children. ++ QList<TreeItem*> parents; ++ QList<int> indentations; ++ parents << parent; ++ indentations << 0; ++ QDomElement docElem = doc.documentElement(); ++ QDomNode n = docElem.firstChild(); ++// bool haveTutorials=false; ++ QList<QVariant> columnData; ++ int position=0; ++ while (!n.isNull()) ++ { ++ QDomElement e = n.toElement(); // try to convert the node to an element. ++ if (!e.isNull()) ++ { ++ if (e.hasAttribute( "text" ) && e.hasAttribute( "file" )) ++ { ++ QDomAttr textAttr = e.attributeNode( "text" ); ++ QDomAttr fileAttr = e.attributeNode( "file" ); ++ columnData.clear(); ++ columnData << textAttr.value() << fileAttr.value(); ++ if (position > indentations.last()) ++ { ++ // The last child of the current parent is now the new parent ++ // unless the current parent has no children. ++ ++ if (parents.last()->childCount() > 0) ++ { ++ parents << parents.last()->child(parents.last()->childCount()-1); ++ indentations << position; ++ } ++ } ++ else ++ { ++ while (position < indentations.last() && parents.count() > 0) { ++ parents.pop_back(); ++ indentations.pop_back(); ++ } ++ } ++ // Append a new item to the current parent's list of children. ++ parents.last()->appendChild(new TreeItem(columnData, parents.last())); ++ if (indexToBuild) ++ indexToBuild->insert(textAttr.value(), fileAttr.value()); ++ } + +- if (parents.last()->childCount() > 0) { +- parents << parents.last()->child( +- parents.last()->childCount() - +- 1); +- indentations << position; +- } +- } else { +- while (position < indentations.last() && +- parents.count() > 0) { +- parents.pop_back(); +- indentations.pop_back(); +- } +- } +- // Append a new item to the current parent's +- // list of children. +- parents.last()->appendChild(new TreeItem( +- columnData, parents.last())); +- if (indexToBuild) +- indexToBuild->insert(textAttr.value(), +- fileAttr.value()); +- } +- } +- } +- position = 1; +- } +- } +- } +- position = 0; +- } +- n = n.nextSibling(); +- } ++ QDomNodeList nl=n.childNodes(); ++ if (nl.count()>0) ++ position=1; ++ for (int i=0 ; i<= nl.count() ; i++) ++ { ++ QDomNode child=nl.item(i); ++ if (child.isElement()) ++ { ++ QDomElement ec = child.toElement(); ++ if (!ec.isNull()) ++ { ++ if (ec.hasAttribute( "text" ) && ec.hasAttribute( "file" )) ++ { ++ QDomAttr textAttr = ec.attributeNode( "text" ); ++ QDomAttr fileAttr = ec.attributeNode( "file" ); ++ columnData.clear(); ++ columnData << textAttr.value() << fileAttr.value(); ++ if (position > indentations.last()) ++ { ++ // The last child of the current parent is now the new parent ++ // unless the current parent has no children. ++ ++ if (parents.last()->childCount() > 0) ++ { ++ parents << parents.last()->child(parents.last()->childCount()-1); ++ indentations << position; ++ } ++ } ++ else ++ { ++ while (position < indentations.last() && parents.count() > 0) { ++ parents.pop_back(); ++ indentations.pop_back(); ++ } ++ } ++ // Append a new item to the current parent's list of children. ++ parents.last()->appendChild(new TreeItem(columnData, parents.last())); ++ if (indexToBuild) ++ indexToBuild->insert(textAttr.value(), fileAttr.value()); ++ } ++ //3rd level ++ QDomNodeList nl2=child.childNodes(); ++ if (nl2.count() > 0) ++ position = 2; ++ for (int i2 = 0 ; i2 <= nl2.count(); i2++) ++ { ++ QDomNode childchild = nl2.item(i2); ++ if (childchild.isElement()) ++ { ++ QDomElement ecc = childchild.toElement(); ++ if (!ecc.isNull()) ++ { ++ QDomAttr textAttr = ecc.attributeNode( "text" ); ++ QDomAttr fileAttr = ecc.attributeNode( "file" ); ++ columnData.clear(); ++ columnData << textAttr.value() << fileAttr.value(); ++ if (position > indentations.last()) ++ { ++ // The last child of the current parent is now the new parent ++ // unless the current parent has no children. ++ ++ if (parents.last()->childCount() > 0) ++ { ++ parents << parents.last()->child(parents.last()->childCount()-1); ++ indentations << position; ++ } ++ } ++ else ++ { ++ while (position < indentations.last() && parents.count() > 0) { ++ parents.pop_back(); ++ indentations.pop_back(); ++ } ++ } ++ // Append a new item to the current parent's list of children. ++ parents.last()->appendChild(new TreeItem(columnData, parents.last())); ++ if (indexToBuild) ++ indexToBuild->insert(textAttr.value(), fileAttr.value()); ++ } ++ } ++ } ++ position=1; ++ } ++ } ++ } ++ position=0; ++ } ++ n = n.nextSibling(); ++ } + } + +-void ScHelpTreeModel::addRow(const QString &s1, const QString &s2, int /*i*/) { +- QList<TreeItem *> parents; +- QList<int> indentations; +- parents << rootItem; +- if (parents.last()->childCount() > 0) +- parents << parents.last()->child(parents.last()->childCount() - 1); +- QList<QVariant> columnData; +- columnData << s1 << s2; // << i; +- parents.last()->appendChild(new TreeItem(columnData, parents.last())); ++void ScHelpTreeModel::addRow(const QString& s1, const QString& s2, int i) ++{ ++ QList<TreeItem*> parents; ++// QList<int> indentations; ++ parents << m_rootItem; ++ if (parents.last()->childCount() > 0) ++ parents << parents.last()->child(parents.last()->childCount()-1); ++ QList<QVariant> columnData; ++ columnData << s1 << s2;// << i; ++ parents.last()->appendChild(new TreeItem(columnData, parents.last())); + } +diff --git a/src/HelpBrowser/schelptreemodel.h b/src/HelpBrowser/schelptreemodel.h +index 0ed9c7b6..d023191a 100644 +--- a/src/HelpBrowser/schelptreemodel.h ++++ b/src/HelpBrowser/schelptreemodel.h +@@ -1,55 +1,69 @@ +-/** +-** This file is a part of Luminance HDR package. +-** ---------------------------------------------------------------------- +-** Copyright (C) 2009-2016 Davide Anastasia, Franco Comida, Daniel Kaneider +-** +-***************************************************************************** ++ ++/**************************************************************************** + ** +-** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved. ++** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ++** All rights reserved. ++** Contact: Nokia Corporation (qt-info@nokia.com) + ** +-** This file is part of the example classes of the Qt Toolkit. ++** This file is part of the examples of the Qt Toolkit. + ** +-** This file may be used under the terms of the GNU General Public +-** License version 2.0 as published by the Free Software Foundation +-** and appearing in the file LICENSE.GPL included in the packaging of +-** this file. Please review the following information to ensure GNU +-** General Public Licensing requirements will be met: +-** http://www.trolltech.com/products/qt/opensource.html ++** $QT_BEGIN_LICENSE:BSD$ ++** You may use this file under the terms of the BSD license as follows: + ** +-** If you are unsure which license is appropriate for your use, please +-** review the following information: +-** http://www.trolltech.com/products/qt/licensing.html or contact the +-** sales department at sales@trolltech.com. ++** "Redistribution and use in source and binary forms, with or without ++** modification, are permitted provided that the following conditions are ++** met: ++** * Redistributions of source code must retain the above copyright ++** notice, this list of conditions and the following disclaimer. ++** * Redistributions in binary form must reproduce the above copyright ++** notice, this list of conditions and the following disclaimer in ++** the documentation and/or other materials provided with the ++** distribution. ++** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor ++** the names of its contributors may be used to endorse or promote ++** products derived from this software without specific prior written ++** permission. + ** +-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ++** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ++** $QT_END_LICENSE$ + ** + ****************************************************************************/ + ++//File initially based on treemodel.h from Qt 4.x ++ + #ifndef SCHELP_TREEMODEL_H + #define SCHELP_TREEMODEL_H + + #include <QAbstractItemModel> +-#include <QDomDocument> + #include <QModelIndex> + #include <QVariant> + +-#include "treemodel.h" ++#include "./tt/simpletreemodel/treemodel.h" ++ ++ ++class ScHelpTreeModel : public TreeModel ++{ ++ Q_OBJECT + +-class ScHelpTreeModel : public TreeModel { +- // Q_OBJECT ++public: ++ ScHelpTreeModel(const QString &dataFile, const QString &col1name, const QString &col2name, QMap<QString, QString>* indexToBuild, QObject* parent = nullptr); ++ ~ScHelpTreeModel() {}; + +- public: +- ScHelpTreeModel(const QString &dataFile, const QString &col1name, +- const QString &col2name, +- QMap<QString, QString> *indexToBuild, QObject *parent = 0); +- ~ScHelpTreeModel(){}; ++ void addRow(const QString&, const QString&, int i); + +- void addRow(const QString &, const QString &, int i); ++private: ++ void setupModelData(const QString &dataFile, TreeItem *parent, QMap<QString, QString>* indexToBuild); + +- private: +- void setupModelData(const QString &dataFile, TreeItem *parent, +- QMap<QString, QString> *indexToBuild); + }; + + #endif +diff --git a/src/HelpBrowser/treeitem.cpp b/src/HelpBrowser/treeitem.cpp +index cfda0c67..936ca18b 100644 +--- a/src/HelpBrowser/treeitem.cpp ++++ b/src/HelpBrowser/treeitem.cpp +@@ -1,63 +1,116 @@ +-/** +-** This file is a part of Luminance HDR package. +-** ---------------------------------------------------------------------- +-** Copyright (C) 2009-2016 Davide Anastasia, Franco Comida, Daniel Kaneider +-** +-***************************************************************************** +-** +-** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved. +-** +-** This file is part of the example classes of the Qt Toolkit. +-** +-** This file may be used under the terms of the GNU General Public +-** License version 2.0 as published by the Free Software Foundation +-** and appearing in the file LICENSE.GPL included in the packaging of +-** this file. Please review the following information to ensure GNU +-** General Public Licensing requirements will be met: +-** http://www.trolltech.com/products/qt/opensource.html +-** +-** If you are unsure which license is appropriate for your use, please +-** review the following information: +-** http://www.trolltech.com/products/qt/licensing.html or contact the +-** sales department at sales@trolltech.com. +-** +-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +-** +-****************************************************************************/ +- +-/* +- treeitem.cpp +- +- A container for items of data supplied by the simple tree model. +-*/ +- +-#include <QStringList> +- +-#include "treeitem.h" +- +-TreeItem::TreeItem(const QList<QVariant> &data, TreeItem *parent) { +- parentItem = parent; +- itemData = data; +-} +- +-TreeItem::~TreeItem() { qDeleteAll(childItems); } +- +-void TreeItem::appendChild(TreeItem *item) { childItems.append(item); } +- +-TreeItem *TreeItem::child(int row) { return childItems.value(row); } +- +-int TreeItem::childCount() const { return childItems.count(); } +- +-int TreeItem::columnCount() const { return itemData.count(); } +- +-QVariant TreeItem::data(int column) const { return itemData.value(column); } +- +-TreeItem *TreeItem::parent() { return parentItem; } +- +-int TreeItem::row() const { +- if (parentItem) +- return parentItem->childItems.indexOf(const_cast<TreeItem *>(this)); +- +- return 0; +-} ++/**************************************************************************** ++** ++** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ++** All rights reserved. ++** Contact: Nokia Corporation (qt-info@nokia.com) ++** ++** This file is part of the examples of the Qt Toolkit. ++** ++** $QT_BEGIN_LICENSE:BSD$ ++** You may use this file under the terms of the BSD license as follows: ++** ++** "Redistribution and use in source and binary forms, with or without ++** modification, are permitted provided that the following conditions are ++** met: ++** * Redistributions of source code must retain the above copyright ++** notice, this list of conditions and the following disclaimer. ++** * Redistributions in binary form must reproduce the above copyright ++** notice, this list of conditions and the following disclaimer in ++** the documentation and/or other materials provided with the ++** distribution. ++** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor ++** the names of its contributors may be used to endorse or promote ++** products derived from this software without specific prior written ++** permission. ++** ++** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ++** $QT_END_LICENSE$ ++** ++****************************************************************************/ ++ ++/* ++ treeitem.cpp ++ ++ A container for items of data supplied by the simple tree model. ++*/ ++ ++#include <QStringList> ++ ++#include "treeitem.h" ++ ++//! [0] ++TreeItem::TreeItem(const QList<QVariant> &data, TreeItem *parent) ++{ ++ m_parentItem = parent; ++ m_itemData = data; ++} ++//! [0] ++ ++//! [1] ++TreeItem::~TreeItem() ++{ ++ qDeleteAll(m_childItems); ++} ++//! [1] ++ ++//! [2] ++void TreeItem::appendChild(TreeItem *item) ++{ ++ m_childItems.append(item); ++} ++//! [2] ++ ++//! [3] ++TreeItem *TreeItem::child(int row) ++{ ++ return m_childItems.value(row); ++} ++//! [3] ++ ++//! [4] ++int TreeItem::childCount() const ++{ ++ return m_childItems.count(); ++} ++//! [4] ++ ++//! [5] ++int TreeItem::columnCount() const ++{ ++ return m_itemData.count(); ++} ++//! [5] ++ ++//! [6] ++QVariant TreeItem::data(int column) const ++{ ++ return m_itemData.value(column); ++} ++//! [6] ++ ++//! [7] ++TreeItem *TreeItem::parent() ++{ ++ return m_parentItem; ++} ++//! [7] ++ ++//! [8] ++int TreeItem::row() const ++{ ++ if (m_parentItem) ++ return m_parentItem->m_childItems.indexOf(const_cast<TreeItem*>(this)); ++ ++ return 0; ++} ++//! [8] +diff --git a/src/HelpBrowser/treeitem.h b/src/HelpBrowser/treeitem.h +index 3c61bc50..9e60e09a 100644 +--- a/src/HelpBrowser/treeitem.h ++++ b/src/HelpBrowser/treeitem.h +@@ -1,55 +1,70 @@ +-/** +-** This file is a part of Luminance HDR package. +-** ---------------------------------------------------------------------- +-** Copyright (C) 2009-2016 Davide Anastasia, Franco Comida, Daniel Kaneider +-** +-***************************************************************************** +-** +-** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved. +-** +-** This file is part of the example classes of the Qt Toolkit. +-** +-** This file may be used under the terms of the GNU General Public +-** License version 2.0 as published by the Free Software Foundation +-** and appearing in the file LICENSE.GPL included in the packaging of +-** this file. Please review the following information to ensure GNU +-** General Public Licensing requirements will be met: +-** http://www.trolltech.com/products/qt/opensource.html +-** +-** If you are unsure which license is appropriate for your use, please +-** review the following information: +-** http://www.trolltech.com/products/qt/licensing.html or contact the +-** sales department at sales@trolltech.com. +-** +-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +-** +-****************************************************************************/ +- +-#ifndef TREEITEM_H +-#define TREEITEM_H +- +-#include <QList> +-#include <QVariant> +- +-class TreeItem { +- public: +- TreeItem(const QList<QVariant> &data, TreeItem *parent = 0); +- ~TreeItem(); +- +- void appendChild(TreeItem *child); +- +- TreeItem *child(int row); +- int childCount() const; +- int columnCount() const; +- QVariant data(int column) const; +- int row() const; +- TreeItem *parent(); +- +- private: +- QList<TreeItem *> childItems; +- QList<QVariant> itemData; +- TreeItem *parentItem; +-}; +- +-#endif ++/**************************************************************************** ++** ++** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ++** All rights reserved. ++** Contact: Nokia Corporation (qt-info@nokia.com) ++** ++** This file is part of the examples of the Qt Toolkit. ++** ++** $QT_BEGIN_LICENSE:BSD$ ++** You may use this file under the terms of the BSD license as follows: ++** ++** "Redistribution and use in source and binary forms, with or without ++** modification, are permitted provided that the following conditions are ++** met: ++** * Redistributions of source code must retain the above copyright ++** notice, this list of conditions and the following disclaimer. ++** * Redistributions in binary form must reproduce the above copyright ++** notice, this list of conditions and the following disclaimer in ++** the documentation and/or other materials provided with the ++** distribution. ++** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor ++** the names of its contributors may be used to endorse or promote ++** products derived from this software without specific prior written ++** permission. ++** ++** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ++** $QT_END_LICENSE$ ++** ++****************************************************************************/ ++ ++#ifndef TREEITEM_H ++#define TREEITEM_H ++ ++#include <QList> ++#include <QVariant> ++ ++//! [0] ++class TreeItem ++{ ++public: ++ TreeItem(const QList<QVariant> &data, TreeItem* parent = nullptr); ++ ~TreeItem(); ++ ++ void appendChild(TreeItem *item); ++ ++ TreeItem *child(int row); ++ int childCount() const; ++ int columnCount() const; ++ QVariant data(int column) const; ++ int row() const; ++ TreeItem *parent(); ++ ++private: ++ QList<TreeItem*> m_childItems; ++ QList<QVariant> m_itemData; ++ TreeItem *m_parentItem; ++}; ++//! [0] ++ ++#endif +diff --git a/src/HelpBrowser/treemodel.cpp b/src/HelpBrowser/treemodel.cpp +index 45d2a32f..5006ad5e 100644 +--- a/src/HelpBrowser/treemodel.cpp ++++ b/src/HelpBrowser/treemodel.cpp +@@ -1,169 +1,223 @@ +-/** +-** This file is a part of Luminance HDR package. +-** ---------------------------------------------------------------------- +-** Copyright (C) 2009-2016 Davide Anastasia, Franco Comida, Daniel Kaneider +-** +-***************************************************************************** +-** +-** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved. +-** +-** This file is part of the example classes of the Qt Toolkit. +-** +-** This file may be used under the terms of the GNU General Public +-** License version 2.0 as published by the Free Software Foundation +-** and appearing in the file LICENSE.GPL included in the packaging of +-** this file. Please review the following information to ensure GNU +-** General Public Licensing requirements will be met: +-** http://www.trolltech.com/products/qt/opensource.html +-** +-** If you are unsure which license is appropriate for your use, please +-** review the following information: +-** http://www.trolltech.com/products/qt/licensing.html or contact the +-** sales department at sales@trolltech.com. +-** +-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +-** +-****************************************************************************/ +- +-/* +- treemodel.cpp +- +- Provides a simple tree model to show how to create and use hierarchical +- models. +-*/ +- +-#include <QtWidgets> +- +-#include "treeitem.h" +-#include "treemodel.h" +- +-TreeModel::TreeModel(const QString &data, QObject *parent) +- : QAbstractItemModel(parent) { +- QList<QVariant> rootData; +- rootData << "Title" +- << "Summary"; +- rootItem = new TreeItem(rootData); +- setupModelData(data.split(QStringLiteral("\n")), rootItem); +-} +- +-TreeModel::~TreeModel() { delete rootItem; } +- +-int TreeModel::columnCount(const QModelIndex &parent) const { +- if (parent.isValid()) +- return static_cast<TreeItem *>(parent.internalPointer())->columnCount(); +- else +- return rootItem->columnCount(); +-} +- +-QVariant TreeModel::data(const QModelIndex &index, int role) const { +- if (!index.isValid()) return QVariant(); +- +- if (role != Qt::DisplayRole) return QVariant(); +- +- TreeItem *item = static_cast<TreeItem *>(index.internalPointer()); +- +- return item->data(index.column()); +-} +- +-Qt::ItemFlags TreeModel::flags(const QModelIndex &index) const { +- if (!index.isValid()) return Qt::ItemIsEnabled; +- +- return Qt::ItemIsEnabled | Qt::ItemIsSelectable; +-} +- +-QVariant TreeModel::headerData(int section, Qt::Orientation orientation, +- int role) const { +- if (orientation == Qt::Horizontal && role == Qt::DisplayRole) +- return rootItem->data(section); +- +- return QVariant(); +-} +- +-QModelIndex TreeModel::index(int row, int column, +- const QModelIndex &parent) const { +- TreeItem *parentItem; +- +- if (!parent.isValid()) +- parentItem = rootItem; +- else +- parentItem = static_cast<TreeItem *>(parent.internalPointer()); +- +- TreeItem *childItem = parentItem->child(row); +- if (childItem) +- return createIndex(row, column, childItem); +- else +- return QModelIndex(); +-} +- +-QModelIndex TreeModel::parent(const QModelIndex &index) const { +- if (!index.isValid()) return QModelIndex(); +- +- TreeItem *childItem = static_cast<TreeItem *>(index.internalPointer()); +- TreeItem *parentItem = childItem->parent(); +- +- if (parentItem == rootItem) return QModelIndex(); +- +- return createIndex(parentItem->row(), 0, parentItem); +-} +- +-int TreeModel::rowCount(const QModelIndex &parent) const { +- TreeItem *parentItem; +- +- if (!parent.isValid()) +- parentItem = rootItem; +- else +- parentItem = static_cast<TreeItem *>(parent.internalPointer()); +- +- return parentItem->childCount(); +-} +- +-void TreeModel::setupModelData(const QStringList &lines, TreeItem *parent) { +- QList<TreeItem *> parents; +- QList<int> indentations; +- parents << parent; +- indentations << 0; +- +- int number = 0; +- +- while (number < lines.count()) { +- int position = 0; +- while (position < lines[number].length()) { +- if (lines[number].mid(position, 1) != QLatin1String(" ")) break; +- position++; +- } +- +- QString lineData = lines[number].mid(position).trimmed(); +- +- if (!lineData.isEmpty()) { +- // Read the column data from the rest of the line. +- QStringList columnStrings = +- lineData.split(QStringLiteral("\t"), QString::SkipEmptyParts); +- QList<QVariant> columnData; +- for (int column = 0; column < columnStrings.count(); ++column) +- columnData << columnStrings[column]; +- +- if (position > indentations.last()) { +- // The last child of the current parent is now the new parent +- // unless the current parent has no children. +- +- if (parents.last()->childCount() > 0) { +- parents << parents.last()->child( +- parents.last()->childCount() - 1); +- indentations << position; +- } +- } else { +- while (position < indentations.last() && parents.count() > 0) { +- parents.pop_back(); +- indentations.pop_back(); +- } +- } +- +- // Append a new item to the current parent's list of children. +- parents.last()->appendChild( +- new TreeItem(columnData, parents.last())); +- } +- +- number++; +- } +-} ++/**************************************************************************** ++** ++** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ++** All rights reserved. ++** Contact: Nokia Corporation (qt-info@nokia.com) ++** ++** This file is part of the examples of the Qt Toolkit. ++** ++** $QT_BEGIN_LICENSE:BSD$ ++** You may use this file under the terms of the BSD license as follows: ++** ++** "Redistribution and use in source and binary forms, with or without ++** modification, are permitted provided that the following conditions are ++** met: ++** * Redistributions of source code must retain the above copyright ++** notice, this list of conditions and the following disclaimer. ++** * Redistributions in binary form must reproduce the above copyright ++** notice, this list of conditions and the following disclaimer in ++** the documentation and/or other materials provided with the ++** distribution. ++** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor ++** the names of its contributors may be used to endorse or promote ++** products derived from this software without specific prior written ++** permission. ++** ++** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ++** $QT_END_LICENSE$ ++** ++****************************************************************************/ ++ ++/* ++ treemodel.cpp ++ ++ Provides a simple tree model to show how to create and use hierarchical ++ models. ++*/ ++ ++#include <QtGui> ++ ++#include "treeitem.h" ++#include "treemodel.h" ++ ++TreeModel::TreeModel(QObject *parent ) ++{ ++ m_rootItem = nullptr; ++} ++ ++//! [0] ++TreeModel::TreeModel(const QString &data, QObject *parent) ++ : QAbstractItemModel(parent) ++{ ++ QList<QVariant> rootData; ++ rootData << "Title" << "Summary"; ++ m_rootItem = new TreeItem(rootData); ++ setupModelData(data.split(QString("\n")), m_rootItem); ++} ++//! [0] ++ ++//! [1] ++TreeModel::~TreeModel() ++{ ++ delete m_rootItem; ++} ++//! [1] ++ ++//! [2] ++int TreeModel::columnCount(const QModelIndex &parent) const ++{ ++ if (parent.isValid()) ++ return static_cast<TreeItem*>(parent.internalPointer())->columnCount(); ++ else ++ return m_rootItem->columnCount(); ++} ++//! [2] ++ ++//! [3] ++QVariant TreeModel::data(const QModelIndex &index, int role) const ++{ ++ if (!index.isValid()) ++ return QVariant(); ++ ++ if (role != Qt::DisplayRole) ++ return QVariant(); ++ ++ TreeItem *item = static_cast<TreeItem*>(index.internalPointer()); ++ ++ return item->data(index.column()); ++} ++//! [3] ++ ++//! [4] ++Qt::ItemFlags TreeModel::flags(const QModelIndex &index) const ++{ ++ if (!index.isValid()) ++ return Qt::ItemFlags(); ++ ++ return Qt::ItemIsEnabled | Qt::ItemIsSelectable; ++} ++//! [4] ++ ++//! [5] ++QVariant TreeModel::headerData(int section, Qt::Orientation orientation, ++ int role) const ++{ ++ if (orientation == Qt::Horizontal && role == Qt::DisplayRole) ++ return m_rootItem->data(section); ++ ++ return QVariant(); ++} ++//! [5] ++ ++//! [6] ++QModelIndex TreeModel::index(int row, int column, const QModelIndex &parent) ++ const ++{ ++ if (!hasIndex(row, column, parent)) ++ return QModelIndex(); ++ ++ TreeItem *parentItem; ++ ++ if (!parent.isValid()) ++ parentItem = m_rootItem; ++ else ++ parentItem = static_cast<TreeItem*>(parent.internalPointer()); ++ ++ TreeItem *childItem = parentItem->child(row); ++ if (childItem) ++ return createIndex(row, column, childItem); ++ else ++ return QModelIndex(); ++} ++//! [6] ++ ++//! [7] ++QModelIndex TreeModel::parent(const QModelIndex &index) const ++{ ++ if (!index.isValid()) ++ return QModelIndex(); ++ ++ TreeItem *childItem = static_cast<TreeItem*>(index.internalPointer()); ++ TreeItem *parentItem = childItem->parent(); ++ ++ if (parentItem == m_rootItem) ++ return QModelIndex(); ++ ++ return createIndex(parentItem->row(), 0, parentItem); ++} ++//! [7] ++ ++//! [8] ++int TreeModel::rowCount(const QModelIndex &parent) const ++{ ++ TreeItem *parentItem; ++ if (parent.column() > 0) ++ return 0; ++ ++ if (!parent.isValid()) ++ parentItem = m_rootItem; ++ else ++ parentItem = static_cast<TreeItem*>(parent.internalPointer()); ++ ++ return parentItem->childCount(); ++} ++//! [8] ++ ++void TreeModel::setupModelData(const QStringList &lines, TreeItem *parent) ++{ ++ QList<TreeItem*> parents; ++ QList<int> indentations; ++ parents << parent; ++ indentations << 0; ++ ++ int number = 0; ++ ++ while (number < lines.count()) { ++ int position = 0; ++ while (position < lines[number].length()) { ++ if (lines[number].mid(position, 1) != " ") ++ break; ++ position++; ++ } ++ ++ QString lineData = lines[number].mid(position).trimmed(); ++ ++ if (!lineData.isEmpty()) { ++ // Read the column data from the rest of the line. ++ QStringList columnStrings = lineData.split("\t", Qt::SkipEmptyParts); ++ QList<QVariant> columnData; ++ for (int column = 0; column < columnStrings.count(); ++column) ++ columnData << columnStrings[column]; ++ ++ if (position > indentations.last()) { ++ // The last child of the current parent is now the new parent ++ // unless the current parent has no children. ++ ++ if (parents.last()->childCount() > 0) { ++ parents << parents.last()->child(parents.last()->childCount()-1); ++ indentations << position; ++ } ++ } else { ++ while (position < indentations.last() && parents.count() > 0) { ++ parents.pop_back(); ++ indentations.pop_back(); ++ } ++ } ++ ++ // Append a new item to the current parent's list of children. ++ parents.last()->appendChild(new TreeItem(columnData, parents.last())); ++ } ++ ++ number++; ++ } ++} +diff --git a/src/HelpBrowser/treemodel.h b/src/HelpBrowser/treemodel.h +index f0614a35..2b03765e 100644 +--- a/src/HelpBrowser/treemodel.h ++++ b/src/HelpBrowser/treemodel.h +@@ -1,63 +1,79 @@ +-/** +-** This file is a part of Luminance HDR package. +-** ---------------------------------------------------------------------- +-** Copyright (C) 2009-2016 Davide Anastasia, Franco Comida, Daniel Kaneider +-** +-***************************************************************************** +-** +-** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved. +-** +-** This file is part of the example classes of the Qt Toolkit. +-** +-** This file may be used under the terms of the GNU General Public +-** License version 2.0 as published by the Free Software Foundation +-** and appearing in the file LICENSE.GPL included in the packaging of +-** this file. Please review the following information to ensure GNU +-** General Public Licensing requirements will be met: +-** http://www.trolltech.com/products/qt/opensource.html +-** +-** If you are unsure which license is appropriate for your use, please +-** review the following information: +-** http://www.trolltech.com/products/qt/licensing.html or contact the +-** sales department at sales@trolltech.com. +-** +-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +-** +-****************************************************************************/ +- +-#ifndef TREEMODEL_H +-#define TREEMODEL_H +- +-#include <QAbstractItemModel> +-#include <QModelIndex> +-#include <QVariant> +- +-#include "treeitem.h" //CB include this here to make subclasses easier +- +-class TreeModel : public QAbstractItemModel { +- // Q_OBJECT +- +- public: +- TreeModel(const QString &data, QObject *parent = 0); +- explicit TreeModel(QObject * /*parent = 0*/) +- : rootItem(NULL){}; // CB Added for ScHelpTreeModel +- ~TreeModel(); +- +- QVariant data(const QModelIndex &index, int role) const; +- Qt::ItemFlags flags(const QModelIndex &index) const; +- QVariant headerData(int section, Qt::Orientation orientation, +- int role = Qt::DisplayRole) const; +- QModelIndex index(int row, int column, +- const QModelIndex &parent = QModelIndex()) const; +- QModelIndex parent(const QModelIndex &index) const; +- int rowCount(const QModelIndex &parent = QModelIndex()) const; +- int columnCount(const QModelIndex &parent = QModelIndex()) const; +- +- protected: +- void setupModelData(const QStringList &lines, TreeItem *parent); +- +- TreeItem *rootItem; +-}; +- +-#endif ++/**************************************************************************** ++** ++** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ++** All rights reserved. ++** Contact: Nokia Corporation (qt-info@nokia.com) ++** ++** This file is part of the examples of the Qt Toolkit. ++** ++** $QT_BEGIN_LICENSE:BSD$ ++** You may use this file under the terms of the BSD license as follows: ++** ++** "Redistribution and use in source and binary forms, with or without ++** modification, are permitted provided that the following conditions are ++** met: ++** * Redistributions of source code must retain the above copyright ++** notice, this list of conditions and the following disclaimer. ++** * Redistributions in binary form must reproduce the above copyright ++** notice, this list of conditions and the following disclaimer in ++** the documentation and/or other materials provided with the ++** distribution. ++** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor ++** the names of its contributors may be used to endorse or promote ++** products derived from this software without specific prior written ++** permission. ++** ++** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ++** $QT_END_LICENSE$ ++** ++****************************************************************************/ ++ ++#ifndef TREEMODEL_H ++#define TREEMODEL_H ++ ++#include <QAbstractItemModel> ++#include <QModelIndex> ++#include <QVariant> ++ ++//Scribus class TreeItem; ++#include "treeitem.h" //Scribus include this here to make subclasses easier ++ ++//! [0] ++class TreeModel : public QAbstractItemModel ++{ ++ Q_OBJECT ++ ++public: ++ TreeModel(const QString &data, QObject* parent = nullptr); ++ TreeModel(QObject* parent = nullptr); //Scribus Added for ScHelpTreeModel ++ ~TreeModel(); ++ ++ QVariant data(const QModelIndex &index, int role) const; ++ Qt::ItemFlags flags(const QModelIndex &index) const; ++ QVariant headerData(int section, Qt::Orientation orientation, ++ int role = Qt::DisplayRole) const; ++ QModelIndex index(int row, int column, ++ const QModelIndex &parent = QModelIndex()) const; ++ QModelIndex parent(const QModelIndex &index) const; ++ int rowCount(const QModelIndex &parent = QModelIndex()) const; ++ int columnCount(const QModelIndex &parent = QModelIndex()) const; ++ ++//Scribus private: ++protected: ++ void setupModelData(const QStringList &lines, TreeItem *parent); ++ ++ TreeItem *m_rootItem; ++}; ++//! [0] ++ ++#endif +-- +2.33.1 + diff --git a/0002-Fix-an-include-path-in-schelptreemodel.h.patch b/0002-Fix-an-include-path-in-schelptreemodel.h.patch new file mode 100644 index 0000000..bb9a524 --- /dev/null +++ b/0002-Fix-an-include-path-in-schelptreemodel.h.patch @@ -0,0 +1,27 @@ +From 3c41d2f96007697b4fc36df74f691bf77fd8e297 Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" code@musicinmybrain.net +Date: Sun, 14 Nov 2021 08:19:44 -0500 +Subject: [PATCH 2/3] Fix an include path in schelptreemodel.h + +Adapt to the LuminanceHDR source layout after copying an updated version +of this file from Scribus. +--- + src/HelpBrowser/schelptreemodel.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/HelpBrowser/schelptreemodel.h b/src/HelpBrowser/schelptreemodel.h +index d023191a..78d3929c 100644 +--- a/src/HelpBrowser/schelptreemodel.h ++++ b/src/HelpBrowser/schelptreemodel.h +@@ -48,7 +48,7 @@ + #include <QModelIndex> + #include <QVariant> + +-#include "./tt/simpletreemodel/treemodel.h" ++#include "treemodel.h" + + + class ScHelpTreeModel : public TreeModel +-- +2.33.1 + diff --git a/0003-Comment-out-Q_OBJECT-in-ScHelpTreeModel-and-TreeMode.patch b/0003-Comment-out-Q_OBJECT-in-ScHelpTreeModel-and-TreeMode.patch new file mode 100644 index 0000000..f036279 --- /dev/null +++ b/0003-Comment-out-Q_OBJECT-in-ScHelpTreeModel-and-TreeMode.patch @@ -0,0 +1,41 @@ +From 1563e1f129643b6165c48cfacc8629f500179831 Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" code@musicinmybrain.net +Date: Sun, 14 Nov 2021 08:22:06 -0500 +Subject: [PATCH 3/3] Comment out Q_OBJECT in ScHelpTreeModel and TreeModel + +Adapt to LuminanceHDR after copying updated versions of these files from +Scribus. +--- + src/HelpBrowser/schelptreemodel.h | 2 +- + src/HelpBrowser/treemodel.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/HelpBrowser/schelptreemodel.h b/src/HelpBrowser/schelptreemodel.h +index 78d3929c..558f01f1 100644 +--- a/src/HelpBrowser/schelptreemodel.h ++++ b/src/HelpBrowser/schelptreemodel.h +@@ -53,7 +53,7 @@ + + class ScHelpTreeModel : public TreeModel + { +- Q_OBJECT ++ // Q_OBJECT + + public: + ScHelpTreeModel(const QString &dataFile, const QString &col1name, const QString &col2name, QMap<QString, QString>* indexToBuild, QObject* parent = nullptr); +diff --git a/src/HelpBrowser/treemodel.h b/src/HelpBrowser/treemodel.h +index 2b03765e..a9180435 100644 +--- a/src/HelpBrowser/treemodel.h ++++ b/src/HelpBrowser/treemodel.h +@@ -51,7 +51,7 @@ + //! [0] + class TreeModel : public QAbstractItemModel + { +- Q_OBJECT ++ // Q_OBJECT + + public: + TreeModel(const QString &data, QObject* parent = nullptr); +-- +2.33.1 + diff --git a/luminance-hdr-2.6.1.1-no-help-browser.patch b/luminance-hdr-2.6.1.1-no-help-browser.patch deleted file mode 100644 index a52976f..0000000 --- a/luminance-hdr-2.6.1.1-no-help-browser.patch +++ /dev/null @@ -1,147 +0,0 @@ -diff -Naur LuminanceHDR-v.2.6.1.1-original/src/CMakeLists.txt LuminanceHDR-v.2.6.1.1/src/CMakeLists.txt ---- LuminanceHDR-v.2.6.1.1-original/src/CMakeLists.txt 2021-01-11 04:41:28.000000000 -0500 -+++ LuminanceHDR-v.2.6.1.1/src/CMakeLists.txt 2021-07-10 20:22:38.791888471 -0400 -@@ -22,7 +22,6 @@ - ADD_SUBDIRECTORY(Fileformat) - ADD_SUBDIRECTORY(Alignment) - ADD_SUBDIRECTORY(HdrWizard) --ADD_SUBDIRECTORY(HelpBrowser) - ADD_SUBDIRECTORY(Preferences) - ADD_SUBDIRECTORY(Projection) - ADD_SUBDIRECTORY(Resize) -diff -Naur LuminanceHDR-v.2.6.1.1-original/src/MainWindow/MainWindow.cpp LuminanceHDR-v.2.6.1.1/src/MainWindow/MainWindow.cpp ---- LuminanceHDR-v.2.6.1.1-original/src/MainWindow/MainWindow.cpp 2021-01-11 04:41:28.000000000 -0500 -+++ LuminanceHDR-v.2.6.1.1/src/MainWindow/MainWindow.cpp 2021-07-10 20:21:15.592090523 -0400 -@@ -99,7 +99,6 @@ - #include <HdrWizard/AutoAntighosting.h> - #include <HdrWizard/HdrWizard.h> - #include <HdrWizard/WhiteBalance.h> --#include <HelpBrowser/helpbrowser.h> - #include <LibpfsAdditions/formathelper.h> - #include <Preferences/PreferencesDialog.h> - #include <PreviewPanel/PreviewPanel.h> -@@ -209,7 +208,6 @@ - QMap<int, MainWindow *> MainWindow::sm_mainWindowMap = - QMap<int, MainWindow *>(); - QScopedPointer<UpdateChecker> MainWindow::sm_updateChecker; --HelpBrowser *MainWindow::sm_helpBrowser = nullptr; - - MainWindow::MainWindow(QWidget *parent) - : QMainWindow(parent), -@@ -1060,27 +1058,6 @@ - } - // Zoom = Viewers (END) - --void MainWindow::on_documentationAction_triggered() { -- if (sm_helpBrowser == nullptr) { -- sm_helpBrowser = -- new HelpBrowser(0, QStringLiteral("Luminance HDR Help")); -- sm_helpBrowser->setAttribute(Qt::WA_DeleteOnClose); -- connect(sm_helpBrowser, &QObject::destroyed, sm_helpBrowser, -- &QObject::deleteLater); -- connect(sm_helpBrowser, &HelpBrowser::closed, this, -- &MainWindow::helpBrowserClosed); -- sm_helpBrowser->show(); -- } else { -- sm_helpBrowser->show(); -- sm_helpBrowser->activateWindow(); -- sm_helpBrowser->raise(); -- } --} -- --void MainWindow::helpBrowserClosed() { -- sm_helpBrowser = nullptr; --} -- - void MainWindow::enterWhatsThis() { QWhatsThis::enterWhatsThisMode(); } - - void MainWindow::openRecentFile() { -@@ -1450,11 +1427,6 @@ - reparentViewer(m_g_v_fullscreen); - } - sm_NumMainWindows--; -- if (sm_NumMainWindows == 0) { -- if (sm_helpBrowser) { -- sm_helpBrowser->close(); -- } -- } - - if (sm_NumMainWindows == 0) { - // Last MainWindow is dead... -diff -Naur LuminanceHDR-v.2.6.1.1-original/src/MainWindow/MainWindow.h LuminanceHDR-v.2.6.1.1/src/MainWindow/MainWindow.h ---- LuminanceHDR-v.2.6.1.1-original/src/MainWindow/MainWindow.h 2021-01-11 04:41:28.000000000 -0500 -+++ LuminanceHDR-v.2.6.1.1/src/MainWindow/MainWindow.h 2021-07-10 20:21:18.615119517 -0400 -@@ -67,7 +67,6 @@ - class LdrViewer; - class HdrViewer; - class PreviewPanel; // #include "PreviewPanel/PreviewPanel.h" --class HelpBrowser; // #include "HelpBrowser/helpbrowser.h" - class TMOProgressIndicator; // #include - // "TonemappingPanel/TMOProgressIndicator.h" - class TonemappingPanel; // #include "TonemappingPanel/TonemappingPanel.h" -@@ -146,7 +145,6 @@ - void on_normalSizeAct_triggered(); - void updateMagnificationButtons(GenericViewer *); - -- void on_documentationAction_triggered(); - void enterWhatsThis(); - - void on_OptionsAction_triggered(); -@@ -180,7 +178,6 @@ - void enableCrop(bool); - void disableCrop(); - -- void helpBrowserClosed(); - void on_actionDonate_triggered(); - - void onUpdateAvailable(); -@@ -359,7 +356,6 @@ - static QScopedPointer<UpdateChecker> sm_updateChecker; - static QMap<int, MainWindow *> - sm_mainWindowMap; // maps m_winId with MainWindow "this" ponter -- static HelpBrowser *sm_helpBrowser; - }; - - #endif // MAINWINDOW_H -diff -Naur LuminanceHDR-v.2.6.1.1-original/src/MainWindow/MainWindow.ui LuminanceHDR-v.2.6.1.1/src/MainWindow/MainWindow.ui ---- LuminanceHDR-v.2.6.1.1-original/src/MainWindow/MainWindow.ui 2021-01-11 04:41:28.000000000 -0500 -+++ LuminanceHDR-v.2.6.1.1/src/MainWindow/MainWindow.ui 2021-07-14 08:26:56.388346798 -0400 -@@ -61,7 +61,6 @@ - <addaction name="actionDevelopers_Website"/> - <addaction name="actionLuminance_HDR_Website"/> - </widget> -- <addaction name="documentationAction"/> - <addaction name="actionWhat_s_This"/> - <addaction name="separator"/> - <addaction name="actionUpdateAvailable"/> -@@ -422,30 +421,6 @@ - <string>9</string> - </property> - </action> -- <action name="documentationAction"> -- <property name="icon"> -- <iconset theme="help-contents"> -- <normaloff>.</normaloff>.</iconset> -- </property> -- <property name="text"> -- <string>&Contents...</string> -- </property> -- <property name="iconText"> -- <string>About...</string> -- </property> -- <property name="toolTip"> -- <string>Open user manual for Luminance HDR</string> -- </property> -- <property name="statusTip"> -- <string>Open user manual for Luminance HDR</string> -- </property> -- <property name="whatsThis"> -- <string>Open user manual for Luminance HDR</string> -- </property> -- <property name="shortcut"> -- <string>F1</string> -- </property> -- </action> - <action name="normalSizeAct"> - <property name="checkable"> - <bool>true</bool> diff --git a/luminance-hdr.spec b/luminance-hdr.spec index c87f260..04bd5f8 100644 --- a/luminance-hdr.spec +++ b/luminance-hdr.spec @@ -6,13 +6,15 @@ Summary: GUI that provides a complete workflow for HDR imaging # The entire source is GPLv2+, except: # # GPLv2: -# src/HelpBrowser/schelptreemodel.{cpp,h} -# src/HelpBrowser/treeitem.{cpp,h} -# src/HelpBrowser/treemodel.{cpp,h} +# src/HelpBrowser/schelptreemodel.{cpp,h} (before patching) +# src/HelpBrowser/treeitem.{cpp,h} (before patching) +# src/HelpBrowser/treemodel.{cpp,h} (before patching) # -# Since GPLv2 (only) is incompatible with GPLv3+ -# (https://github.com/LuminanceHDR/LuminanceHDR/issues/247), these are -# removed in %%prep and the help browser is patched out. +# These files are patched with changes from upstream PR#250, after which they +# are BSD instead of GPLv2 (only). This resolves the license incompatibility +# with GPLv3+ (https://github.com/LuminanceHDR/LuminanceHDR/issues/247). +# Without the patches, we would need to remove these files in %%prep and +# patch out the help browser. # # GPLv3+: # src/StopWatch.h @@ -42,6 +44,9 @@ Summary: GUI that provides a complete workflow for HDR imaging # # BSD: # src/UI/FlowLayout.cpp +# src/HelpBrowser/schelptreemodel.{cpp,h} (after patching) +# src/HelpBrowser/treeitem.{cpp,h} (after patching) +# src/HelpBrowser/treemodel.{cpp,h} (after patching) # # MIT: # src/contrib/qtwaitingspinner/QtWaitingSpinner.{cpp,h} @@ -74,9 +79,19 @@ Source2: luminance-hdr-cli.1
# https://github.com/LuminanceHDR/LuminanceHDR/issues/239 Patch0: luminance-hdr-2.6.1.1-sleef-boost-license.patch + +# https://github.com/LuminanceHDR/LuminanceHDR/issues/240 Patch1: luminance-hdr-2.6.1.1-external-librtprocess.patch + +# This patch series is a backport of upstream PR#250 +# (https://github.com/LuminanceHDR/LuminanceHDR/pull/250). It resolves the +# following issue, allowing us to avoid removing the help browser: +# +# License incompatibility # https://github.com/LuminanceHDR/LuminanceHDR/issues/247 -Patch2: luminance-hdr-2.6.1.1-no-help-browser.patch +Patch2: 0001-Update-help-tree-files-from-Scribus-SVN-24770.patch +Patch3: 0002-Fix-an-include-path-in-schelptreemodel.h.patch +Patch4: 0003-Comment-out-Q_OBJECT-in-ScHelpTreeModel-and-TreeMode.patch
%if 0%{?fedora} > 34 # Upstream does not support OpenEXR 3.x, and a nontrivial patch may be @@ -249,11 +264,6 @@ sed -r -i \ # pfstools copy. rm -rf hdrhtml/*
-# Contains GPLv2-only sources, incompatible with GPLv3+ sources elsewhere in -# the project. A downstream patch removes the help browser from the application -# entirely. See https://github.com/LuminanceHDR/LuminanceHDR/issues/247. -rm -rf src/HelpBrowser -
%build %cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_UNIT_TEST:BOOL=ON -GNinja
commit 60e0c9927dbb5069f82ed0bc14223712dbe73ec5 Author: Benjamin A. Beasley code@musicinmybrain.net Date: Sat Nov 13 14:43:17 2021 -0500
De-conditionalize tests
diff --git a/luminance-hdr.spec b/luminance-hdr.spec index fa2eaf6..c87f260 100644 --- a/luminance-hdr.spec +++ b/luminance-hdr.spec @@ -1,5 +1,3 @@ -%bcond_without tests - Name: luminance-hdr Version: 2.6.1.1 Release: %autorelease @@ -150,9 +148,7 @@ BuildRequires: eigen3-devel
BuildRequires: librtprocess-devel
-%if %{with tests} BuildRequires: gtest-devel -%endif
Obsoletes: qtpfsgui < 2.2.0 Provides: qtpfsgui = %{version}-%{release} @@ -260,10 +256,7 @@ rm -rf src/HelpBrowser
%build -%cmake \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DENABLE_UNIT_TEST:BOOL=%{?with_tests:ON}%{?!with_tests:OFF} \ - -GNinja +%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_UNIT_TEST:BOOL=ON -GNinja %cmake_build
@@ -301,7 +294,6 @@ rm -rvf '%{buildroot}%{_datadir}/luminance-hdr/hdrhtml' ln -s ../pfstools '%{buildroot}%{_datadir}/luminance-hdr/hdrhtml'
-%if %{with tests} %check # https://github.com/LuminanceHDR/LuminanceHDR/issues/154 x='Mantiuk06Pyramid' @@ -312,7 +304,6 @@ x='Mantiuk06Pyramid' x="${x}|PoissonSolver" %endif %ctest --exclude-regex "^Test(${x})$" -%endif
%pretrans data -p <lua>
commit 3e9d70370932159e0f8ccf34d46190ef12bad081 Author: Benjamin A. Beasley code@musicinmybrain.net Date: Sat Nov 13 14:38:52 2021 -0500
Correct and simplify License fields
diff --git a/luminance-hdr.spec b/luminance-hdr.spec index 9c7e454..fa2eaf6 100644 --- a/luminance-hdr.spec +++ b/luminance-hdr.spec @@ -52,7 +52,16 @@ Summary: GUI that provides a complete workflow for HDR imaging # src/helpersse2.h # src/sleef.c # src/sleefsseavx.c -License: GPLv2+ and GPLv2 and GPLv3+ and LGPLv2+ and BSD and MIT and Boost +# +# CC0: +# net.sourceforge.qtpfsgui.LuminanceHDR.appdata.xml +# +# The resulting effective license for the compiled executables is GPLv3+. All +# other files in the binary RPMs are GPLv2+, except +# net.sourceforge.qtpfsgui.LuminanceHDR.appdata.xml which is CC0—but there is +# significant precedent in Fedora for leaving CC0 out of the license field when +# it only applies to an AppData file. +License: GPLv2+ and GPLv3+ # Additionally, the following are only build system files and do not contribute # to the License field: # @@ -204,6 +213,7 @@ Without their contribution all of this would have not been possible.
%package data Summary: Architecture-independent data files for luminance-hdr +License: GPLv2+
BuildArch: noarch
commit 54895f8ce34775a56ce26a3b6e967e4ae5ea51c7 Author: Benjamin A. Beasley code@musicinmybrain.net Date: Sat Nov 13 14:22:06 2021 -0500
Wrap a couple of long lines in the spec file
diff --git a/luminance-hdr.spec b/luminance-hdr.spec index 6054ed0..9c7e454 100644 --- a/luminance-hdr.spec +++ b/luminance-hdr.spec @@ -92,7 +92,8 @@ BuildRequires: libappstream-glib # To compile Luminance HDR your system will need a set of tools and code # libraries called "dependencies". The following is a list of dependencies # needed to compile the latest version of Luminance HDR: -# - [Qt5](https://www.qt.io/), the widget toolkit used by the graphical user interface (GUI). +# - [Qt5](https://www.qt.io/), the widget toolkit used by the graphical user +# interface (GUI). BuildRequires: qt5-qtbase-devel BuildRequires: qt5-qtdeclarative-devel %ifarch %{qt5_qtwebengine_arches} @@ -150,7 +151,8 @@ Provides: qtpfsgui = %{version}-%{release} # https://github.com/LuminanceHDR/LuminanceHDR/issues/241 # Original version is unclear Provides: bundled(pfstools) -# Version based on searching commit messages for “pfstmo”; could be out of date. +# Version based on searching commit messages for “pfstmo”; could be out of +# date. Provides: bundled(pfstmo) = 2.0.5
# A few routines from sleef are included; cannot build with upstream/system
commit fd822f55fdbfbf9e81c67e56f707a2d3653b74fc Author: Benjamin A. Beasley code@musicinmybrain.net Date: Sat Nov 13 14:21:12 2021 -0500
Reduce macro indirection in the spec file
diff --git a/luminance-hdr.spec b/luminance-hdr.spec index 13f243e..6054ed0 100644 --- a/luminance-hdr.spec +++ b/luminance-hdr.spec @@ -60,16 +60,16 @@ License: GPLv2+ and GPLv2 and GPLv3+ and LGPLv2+ and BSD and MIT and Boos # build_files/Modules/GetGitRevisionDescription.cmake{,.in} URL: http://qtpfsgui.sourceforge.net/ %global forgeurl https://github.com/LuminanceHDR/LuminanceHDR/ -Source0: %{forgeurl}/archive/v.%{version}/%{name}-%{version}.tar.gz +Source0: %{forgeurl}/archive/v.%{version}/luminance-hdr-%{version}.tar.gz # https://github.com/LuminanceHDR/LuminanceHDR/issues/242 -Source1: %{name}.1 -Source2: %{name}-cli.1 +Source1: luminance-hdr.1 +Source2: luminance-hdr-cli.1
# https://github.com/LuminanceHDR/LuminanceHDR/issues/239 -Patch0: %{name}-2.6.1.1-sleef-boost-license.patch -Patch1: %{name}-2.6.1.1-external-librtprocess.patch +Patch0: luminance-hdr-2.6.1.1-sleef-boost-license.patch +Patch1: luminance-hdr-2.6.1.1-external-librtprocess.patch # https://github.com/LuminanceHDR/LuminanceHDR/issues/247 -Patch2: %{name}-2.6.1.1-no-help-browser.patch +Patch2: luminance-hdr-2.6.1.1-no-help-browser.patch
%if 0%{?fedora} > 34 # Upstream does not support OpenEXR 3.x, and a nontrivial patch may be @@ -158,7 +158,7 @@ Provides: bundled(pfstmo) = 2.0.5 # sleef was used as the basis for the fork. Provides: bundled(sleef)
-Requires: %{name}-data = %{version}-%{release} +Requires: luminance-hdr-data = %{version}-%{release}
%global app_id net.sourceforge.qtpfsgui.LuminanceHDR
@@ -201,7 +201,7 @@ Without their contribution all of this would have not been possible.
%package data -Summary: Architecture-independent data files for %{name} +Summary: Architecture-independent data files for luminance-hdr
BuildArch: noarch
@@ -211,7 +211,7 @@ Requires: hicolor-icon-theme Requires: pfstools
%description data -Architecture-independent data files for %{name}, such as HTML help and +Architecture-independent data files for luminance-hdr, such as HTML help and translations.
@@ -261,11 +261,11 @@ rm -rf src/HelpBrowser # Upstream installs AUTHORS, Changelog, LICENSE, and README.md. We install # documentation and license files with the %%doc and %%license macros instead, # putting them in the usual locations favored by Fedora. -rm -rvf '%{buildroot}%{_datadir}/%{name}/doc' +rm -rvf '%{buildroot}%{_datadir}/luminance-hdr/doc'
# Install mimeinfo file -install -d '%{buildroot}/%{_datadir}/mime/packages' -install -t '%{buildroot}/%{_datadir}/mime/packages' -p -m 0644 %{name}.xml +install -t '%{buildroot}/%{_datadir}/mime/packages' -D -p -m 0644 \ + luminance-hdr.xml
desktop-file-install --dir=%{buildroot}/%{_datadir}/applications \ %{app_id}.desktop @@ -285,8 +285,8 @@ install -t '%{buildroot}%{_mandir}/man1' -D -p -m 0644 \
%find_lang lang --with-qt
-rm -rvf '%{buildroot}%{_datadir}/%{name}/hdrhtml' -ln -s ../pfstools '%{buildroot}%{_datadir}/%{name}/hdrhtml' +rm -rvf '%{buildroot}%{_datadir}/luminance-hdr/hdrhtml' +ln -s ../pfstools '%{buildroot}%{_datadir}/luminance-hdr/hdrhtml'
%if %{with tests} @@ -307,7 +307,7 @@ x="${x}|PoissonSolver" --[[Back up any bundled hdrhtml directory from the old package. See: https://docs.fedoraproject.org/en-US/packaging-guidelines/Directory_Replacem... ]] -path = "%{_datadir}/%{name}/hdrhtml" +path = "%{_datadir}/luminance-hdr/hdrhtml" st = posix.stat(path) if st and st.type == "directory" then status = os.rename(path, path .. ".rpmmoved") @@ -330,8 +330,8 @@ end %doc README.md %doc TODO
-%{_bindir}/%{name} -%{_bindir}/%{name}-cli +%{_bindir}/luminance-hdr +%{_bindir}/luminance-hdr-cli
# While the following are technically arch-independent data files, they have # configuration-like functionality and should not be installed without the @@ -339,7 +339,7 @@ end
# Shared directory ownership with shared-mime-info %dir %{_datadir}/mime/packages -%{_datadir}/mime/packages/%{name}.xml +%{_datadir}/mime/packages/luminance-hdr.xml
%{_metainfodir}/%{app_id}.metainfo.xml %{_datadir}/applications/%{app_id}.desktop @@ -348,22 +348,22 @@ end %files data -f lang.lang %license LICENSE LICENSE.txt
-%dir %{_datadir}/%{name} +%dir %{_datadir}/luminance-hdr
# Relative symbolic link to %%{_datadir}/pfstools -%{_datadir}/%{name}/hdrhtml +%{_datadir}/luminance-hdr/hdrhtml # A backed-up bundled hdrhtml directory from a previous upgrade may be present: -%ghost %{_datadir}/%{name}/hdrhtml.rpmmoved +%ghost %{_datadir}/luminance-hdr/hdrhtml.rpmmoved
-%{_datadir}/%{name}/help +%{_datadir}/luminance-hdr/help
# Contents of this directory are listed by %%find_lang -%dir %{_datadir}/%{name}/i18n +%dir %{_datadir}/luminance-hdr/i18n
-%{_datadir}/icons/hicolor/48x48/apps/%{name}.png +%{_datadir}/icons/hicolor/48x48/apps/luminance-hdr.png
-%{_mandir}/man1/%{name}.1* -%{_mandir}/man1/%{name}-cli.1* +%{_mandir}/man1/luminance-hdr.1* +%{_mandir}/man1/luminance-hdr-cli.1*
%changelog
commit 1ecd89c9624caf54ceb11a1dfc878d56b3b2b61d Author: Benjamin A. Beasley code@musicinmybrain.net Date: Tue Oct 26 08:24:07 2021 -0400
Assume %%qt5_qtwebengine_arches is defined
Remove an unnecessary fallback definition.
diff --git a/luminance-hdr.spec b/luminance-hdr.spec index 7b88314..13f243e 100644 --- a/luminance-hdr.spec +++ b/luminance-hdr.spec @@ -95,7 +95,7 @@ BuildRequires: libappstream-glib # - [Qt5](https://www.qt.io/), the widget toolkit used by the graphical user interface (GUI). BuildRequires: qt5-qtbase-devel BuildRequires: qt5-qtdeclarative-devel -%ifarch %{?qt5_qtwebengine_arches}%{?!qt5_qtwebengine_arches:%{ix86} x86_64 %{arm} aarch64 mips mipsel mips64el} +%ifarch %{qt5_qtwebengine_arches} BuildRequires: qt5-qtwebengine-devel %else BuildRequires: qt5-qtwebkit-devel
commit 4c27bc1d3941f55b9b5a93e8d45381e20defbae4 Author: Benjamin A. Beasley code@musicinmybrain.net Date: Tue Jul 20 18:32:06 2021 -0400
Opt in to rpmautospec
diff --git a/changelog b/changelog new file mode 100644 index 0000000..7fc93f6 --- /dev/null +++ b/changelog @@ -0,0 +1,285 @@ +* Wed Jul 14 2021 Benjamin A. Beasley code@musicinmybrain.net - 2.6.1.1-6 +- When patching out the help browser, patch out the menu entry too + +* Sun Jul 11 2021 Benjamin A. Beasley code@musicinmybrain.net - 2.6.1.1-5 +- Patch out the help browser, because it contains GPLv2 sources, which are + incompatible with GPLv3+ sources + (https://github.com/LuminanceHDR/LuminanceHDR/issues/247) + +* Wed Jul 07 2021 Benjamin A. Beasley code@musicinmybrain.net - 2.6.1.1-4 +- Use OpenEXR 2.x compat package after F34 + +* Mon May 10 2021 Jeff Law jlaw@tachyum.com - 2.6.1.1-3 +- Re-enable LTO + +* Mon Apr 12 2021 Benjamin A. Beasley code@musicinmybrain.net - 2.6.1.1-2 +- Drop accommodations for Fedora 32 + +* Fri Apr 09 2021 Benjamin A. Beasley code@musicinmybrain.net - 2.6.1.1-1 +- New upstream version 2.6.1.1 +- Adjust whitespace to personal preference +- Update summary and description from upstream +- Associate dependencies with INSTALL.md entries +- Correct CCfits-devel BR to cfitsio-devel +- Do not “rm -rf” the buildroot +- Remove obsolete icon cache, mimeinfo, and desktop-database scriptlets +- Change CMAKE_BUILD_TYPE from Release to RelWithDebInfo +- Do not ask CMake to disable shared libraries +- Clean up CMake macro invocations +- Remove bogus BR on git +- Build with ninja backend instead of make +- Properly handle localization files with %%find_lang, and stop manually + installing them +- Simplify desktop-file-install usage +- Improve installation and listing of data files +- Add required AppData file validation +- No need to apply sed to Changelog anymore +- Correct License field from “GPLv2+” to “GPLv2+ and GPLv2 and GPLv3+ and + LGPLv2+ and BSD and MIT and Boost” +- Unbundle librtprocess +- Build and run the tests +- Add virtual Provides for bundled parts of sleef +- Restore missing copyright statement and Boost license text for files forked + from SLEEF +- Disable LTO to fix linking errors in tests +- Unbundle hdrhtml, from pfstools +- Rename AppData file from .appdata.xml to .metainfo.xml +- Add BR on gcc-c++ +- Add a -data subpackage for large noarch data files +- Add man pages + +* Tue Jan 26 2021 Fedora Release Engineering releng@fedoraproject.org - 2.6.0-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Jan 22 2021 Jonathan Wakely jwakely@redhat.com - 2.6.0-11 +- Rebuilt for Boost 1.75 + +* Fri Jan 01 2021 Richard Shaw hobbes1069@gmail.com - 2.6.0-10 +- Rebuild for OpenEXR 2.5.3. + +* Tue Aug 04 2020 Franco Comida francocomida@gmail.com - 2.6.0-9 +- fix build on f33/rawhide + +* Sat Aug 01 2020 Fedora Release Engineering releng@fedoraproject.org - 2.6.0-8 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering releng@fedoraproject.org - 2.6.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu May 28 2020 Jonathan Wakely jwakely@redhat.com - 2.6.0-6 +- Rebuilt for Boost 1.73 + +* Mon May 11 2020 Gwyn Ciesla gwync@protonmail.com - 2.6.0-5 +- Rebuild for new LibRaw + +* Wed Jan 29 2020 Fedora Release Engineering releng@fedoraproject.org - 2.6.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Aug 20 2019 Susi Lehtola jussilehtola@fedoraproject.org - 2.6.0-3 +- Rebuilt for GSL 2.6. + +* Thu Jul 25 2019 Fedora Release Engineering releng@fedoraproject.org - 2.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Jun 10 2019 Franco Comida francocomida@gmail.com - 2.6.0-1 +- Update to Release 2.6.0 + +* Mon Apr 29 2019 Franco Comida fcomida@users.sourceforge.net - 2.5.1-20 +- Fix compilation with gcc 9 + +* Thu Apr 11 2019 Richard Shaw hobbes1069@gmail.com - 2.5.1-19 +- Rebuild for OpenEXR 2.3.0. +- Move LICENSE to %%license. + +* Fri Feb 01 2019 Fedora Release Engineering releng@fedoraproject.org - 2.5.1-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Jan 30 2019 Rex Dieter rdieter@fedoraproject.org - 2.5.1-17 +- rebuild (exiv2) + +* Fri Jan 25 2019 Jonathan Wakely jwakely@redhat.com - 2.5.1-16 +- Rebuilt for Boost 1.69 + +* Tue Jul 31 2018 Florian Weimer fweimer@redhat.com - 2.5.1-15 +- Rebuild with fixed binutils + +* Thu Jul 26 2018 Adam Williamson awilliam@redhat.com - 2.5.1-14 +- Rebuild for new libraw + +* Fri Jul 13 2018 Fedora Release Engineering releng@fedoraproject.org - 2.5.1-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Sat May 26 2018 Christian Dersch lupinix@mailbox.org - 2.5.1-12 +- rebuilt for cfitsio 3.450 + +* Fri Feb 23 2018 Christian Dersch lupinix@mailbox.org - 2.5.1-11 +- rebuilt for cfitsio 3.420 (so version bump) + +* Thu Feb 08 2018 Fedora Release Engineering releng@fedoraproject.org - 2.5.1-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Jan 23 2018 Jonathan Wakely jwakely@redhat.com - 2.5.1-9 +- Rebuilt for Boost 1.66 + +* Thu Jan 11 2018 Igor Gnatenko ignatenkobrain@fedoraproject.org - 2.5.1-8 +- Remove obsolete scriptlets + +* Thu Aug 03 2017 Fedora Release Engineering releng@fedoraproject.org - 2.5.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering releng@fedoraproject.org - 2.5.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Jul 21 2017 Kalev Lember klember@redhat.com - 2.5.1-5 +- Rebuilt for Boost 1.64 + +* Thu May 11 2017 Franco Comida francocomida@gmail.com - 2.5.1-4 +- Fix date in specfile + +* Thu May 11 2017 Franco Comida francocomida@gmail.com - 2.5.1-3 +- Fix qtwebkit patch again + +* Thu May 11 2017 Franco Comida francocomida@gmail.com - 2.5.1-2 +- Fix qtwebkit patch + +* Wed May 10 2017 Franco Comida francocomida@gmail.com - 2.5.1-1 +- Release 2.5.1 + +* Tue May 02 2017 Rex Dieter rdieter@fedoraproject.org - 2.5.0-4 +- rebuild (exiv2) + +* Tue Apr 18 2017 Franco Comida francocomida@gmail.com - 2.5.0-3 +- Upstream retired previous 2.5.0, now it's out again. Let's start again from there. + +* Mon Apr 10 2017 Dan Horák <dan[at]danny.cz> - 2.5.0-2 +- fix build with qtwebengine vs. qtwebkit + +* Sun Apr 09 2017 Franco Comida francocomida@gmail.com - 2.5.0-1 +- Update to Release 2.5.0 + +* Fri Feb 10 2017 Fedora Release Engineering releng@fedoraproject.org - 2.4.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Jan 27 2017 Jonathan Wakely jwakely@redhat.com - 2.4.0-12 +- Rebuilt for Boost 1.63 + +* Wed Dec 28 2016 Jon Ciesla limburgher@gmail.com - 2.4.0-11 +- Rebuild for new LibRaw. + +* Mon Feb 22 2016 Orion Poplawski orion@cora.nwra.com - 2.4.0-10 +- Rebuild for gsl 2.1 + +* Thu Feb 04 2016 Fedora Release Engineering releng@fedoraproject.org - 2.4.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jan 15 2016 Jonathan Wakely jwakely@redhat.com - 2.4.0-8 +- Rebuilt for Boost 1.60 + +* Thu Aug 27 2015 Jonathan Wakely jwakely@redhat.com - 2.4.0-7 +- Rebuilt for Boost 1.59 + +* Thu Aug 20 2015 Jon Ciesla limburgher@gmail.com - 2.4.0-6 +- Rebuild for new LibRaw. + +* Wed Jul 29 2015 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 2.4.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 + +* Wed Jul 22 2015 David Tardon dtardon@redhat.com - 2.4.0-4 +- rebuild for Boost 1.58 + +* Tue Jul 07 2015 Franco Comida francocomida@gmail.com - 2.4.0-3 +- Fix saving TMO parameters + +* Sat Jul 04 2015 Franco Comida francocomida@gmail.com - 2.4.0-2 +- Fix Application Icon Size + +* Thu Jul 02 2015 Franco Comida francocomida@gmail.com - 2.4.0-1 +- Updated to Luminance HDR 2.4.0 + +* Wed Jun 24 2015 Rex Dieter rdieter@fedoraproject.org - 2.3.1-15 +- rebuild (exiv2) + +* Wed Jun 17 2015 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 2.3.1-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat May 02 2015 Kalev Lember kalevlember@gmail.com - 2.3.1-13 +- Rebuilt for GCC 5 C++11 ABI change + +* Thu Mar 26 2015 Richard Hughes rhughes@redhat.com - 2.3.1-12 +- Add an AppData file for the software center + +* Tue Jan 27 2015 Petr Machata pmachata@redhat.com - 2.3.1-11 +- Rebuild for boost 1.57.0 + +* Wed Nov 26 2014 Rex Dieter rdieter@fedoraproject.org 2.3.1-10 +- rebuild (openexr) + +* Mon Sep 08 2014 Rex Dieter rdieter@fedoraproject.org 2.3.1-9 +- update mime scriptlet + +* Sun Aug 17 2014 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 2.3.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 2.3.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri May 23 2014 Petr Machata pmachata@redhat.com - 2.3.1-6 +- Rebuild for boost 1.55.0 + +* Wed Jan 22 2014 Jon Ciesla limburgher@gmail.com - 2.3.1-5 +- Rebuild for new LibRaw. + +* Tue Dec 03 2013 Rex Dieter rdieter@fedoraproject.org - 2.3.1-4 +- rebuild (exiv2) + +* Wed Nov 27 2013 Rex Dieter rdieter@fedoraproject.org - 2.3.1-3 +- rebuild (openexr) + +* Fri Sep 20 2013 Dan Horák <dan[at]danny.cz> - 2.3.1-2 +- fix build on non-x86 arches + +* Fri Sep 13 2013 Franco Comida francocomida@googlemail.com - 2.3.1-1 +- Updated to Luminance HDR 2.3.1 + +* Mon Sep 09 2013 Rex Dieter rdieter@fedoraproject.org 2.3.0-9 +- rebuild (OpenEXR) + +* Sat Aug 03 2013 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 2.3.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri May 31 2013 Jon Ciesla limburgher@gmail.com - 2.3.0-7 +- Rebuild for new LibRaw. + +* Sun Mar 10 2013 Rex Dieter rdieter@fedoraproject.org - 2.3.0-6 +- rebuild (OpenEXR) + +* Thu Feb 14 2013 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 2.3.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Fri Jan 18 2013 Adam Tkac <atkac redhat com> - 2.3.0-4 +- rebuild due to "jpeg8-ABI" feature drop + +* Fri Dec 21 2012 Adam Tkac <atkac redhat com> - 2.3.0-3 +- rebuild against new libjpeg + +* Thu Jul 19 2012 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 2.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sun Jul 01 2012 Franco Comida francocomida@googlemail.com - 2.3.0-1 +- Updated to Luminance HDR 2.3.0 + +* Wed May 02 2012 Rex Dieter rdieter@fedoraproject.org - 2.2.1-4 +- rebuild (exiv2) + +* Wed Mar 28 2012 Dan Horák <dan[at]danny.cz> - 2.2.1-3 +- fix build on non-x86 arches + +* Tue Mar 13 2012 Franco Comida francocomida@googlemail.com - 2.2.1-2 +- Removed unused PATH from luminance-hdr.desktop + +* Sun Mar 11 2012 Franco Comida fcomida@users.sourceforge.net 2.2.1-1 +- Updated to Luminance HDR 2.2.1 + +* Tue Feb 21 2012 Franco Comida fcomida@users.sourceforge.net 2.2.0-1 +- Luminance HDR 2.2.0 diff --git a/luminance-hdr.spec b/luminance-hdr.spec index c6e3233..7b88314 100644 --- a/luminance-hdr.spec +++ b/luminance-hdr.spec @@ -2,7 +2,7 @@
Name: luminance-hdr Version: 2.6.1.1 -Release: 6%{?dist} +Release: %autorelease Summary: GUI that provides a complete workflow for HDR imaging
# The entire source is GPLv2+, except: @@ -367,289 +367,4 @@ end
%changelog -* Wed Jul 14 2021 Benjamin A. Beasley code@musicinmybrain.net - 2.6.1.1-6 -- When patching out the help browser, patch out the menu entry too - -* Sun Jul 11 2021 Benjamin A. Beasley code@musicinmybrain.net - 2.6.1.1-5 -- Patch out the help browser, because it contains GPLv2 sources, which are - incompatible with GPLv3+ sources - (https://github.com/LuminanceHDR/LuminanceHDR/issues/247) - -* Wed Jul 07 2021 Benjamin A. Beasley code@musicinmybrain.net - 2.6.1.1-4 -- Use OpenEXR 2.x compat package after F34 - -* Mon May 10 2021 Jeff Law jlaw@tachyum.com - 2.6.1.1-3 -- Re-enable LTO - -* Mon Apr 12 2021 Benjamin A. Beasley code@musicinmybrain.net - 2.6.1.1-2 -- Drop accommodations for Fedora 32 - -* Fri Apr 09 2021 Benjamin A. Beasley code@musicinmybrain.net - 2.6.1.1-1 -- New upstream version 2.6.1.1 -- Adjust whitespace to personal preference -- Update summary and description from upstream -- Associate dependencies with INSTALL.md entries -- Correct CCfits-devel BR to cfitsio-devel -- Do not “rm -rf” the buildroot -- Remove obsolete icon cache, mimeinfo, and desktop-database scriptlets -- Change CMAKE_BUILD_TYPE from Release to RelWithDebInfo -- Do not ask CMake to disable shared libraries -- Clean up CMake macro invocations -- Remove bogus BR on git -- Build with ninja backend instead of make -- Properly handle localization files with %%find_lang, and stop manually - installing them -- Simplify desktop-file-install usage -- Improve installation and listing of data files -- Add required AppData file validation -- No need to apply sed to Changelog anymore -- Correct License field from “GPLv2+” to “GPLv2+ and GPLv2 and GPLv3+ and - LGPLv2+ and BSD and MIT and Boost” -- Unbundle librtprocess -- Build and run the tests -- Add virtual Provides for bundled parts of sleef -- Restore missing copyright statement and Boost license text for files forked - from SLEEF -- Disable LTO to fix linking errors in tests -- Unbundle hdrhtml, from pfstools -- Rename AppData file from .appdata.xml to .metainfo.xml -- Add BR on gcc-c++ -- Add a -data subpackage for large noarch data files -- Add man pages - -* Tue Jan 26 2021 Fedora Release Engineering releng@fedoraproject.org - 2.6.0-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Fri Jan 22 2021 Jonathan Wakely jwakely@redhat.com - 2.6.0-11 -- Rebuilt for Boost 1.75 - -* Fri Jan 01 2021 Richard Shaw hobbes1069@gmail.com - 2.6.0-10 -- Rebuild for OpenEXR 2.5.3. - -* Tue Aug 04 2020 Franco Comida francocomida@gmail.com - 2.6.0-9 -- fix build on f33/rawhide - -* Sat Aug 01 2020 Fedora Release Engineering releng@fedoraproject.org - 2.6.0-8 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jul 28 2020 Fedora Release Engineering releng@fedoraproject.org - 2.6.0-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Thu May 28 2020 Jonathan Wakely jwakely@redhat.com - 2.6.0-6 -- Rebuilt for Boost 1.73 - -* Mon May 11 2020 Gwyn Ciesla gwync@protonmail.com - 2.6.0-5 -- Rebuild for new LibRaw - -* Wed Jan 29 2020 Fedora Release Engineering releng@fedoraproject.org - 2.6.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Tue Aug 20 2019 Susi Lehtola jussilehtola@fedoraproject.org - 2.6.0-3 -- Rebuilt for GSL 2.6. - -* Thu Jul 25 2019 Fedora Release Engineering releng@fedoraproject.org - 2.6.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Mon Jun 10 2019 Franco Comida francocomida@gmail.com - 2.6.0-1 -- Update to Release 2.6.0 - -* Mon Apr 29 2019 Franco Comida fcomida@users.sourceforge.net - 2.5.1-20 -- Fix compilation with gcc 9 - -* Thu Apr 11 2019 Richard Shaw hobbes1069@gmail.com - 2.5.1-19 -- Rebuild for OpenEXR 2.3.0. -- Move LICENSE to %%license. - -* Fri Feb 01 2019 Fedora Release Engineering releng@fedoraproject.org - 2.5.1-18 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Wed Jan 30 2019 Rex Dieter rdieter@fedoraproject.org - 2.5.1-17 -- rebuild (exiv2) - -* Fri Jan 25 2019 Jonathan Wakely jwakely@redhat.com - 2.5.1-16 -- Rebuilt for Boost 1.69 - -* Tue Jul 31 2018 Florian Weimer fweimer@redhat.com - 2.5.1-15 -- Rebuild with fixed binutils - -* Thu Jul 26 2018 Adam Williamson awilliam@redhat.com - 2.5.1-14 -- Rebuild for new libraw - -* Fri Jul 13 2018 Fedora Release Engineering releng@fedoraproject.org - 2.5.1-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Sat May 26 2018 Christian Dersch lupinix@mailbox.org - 2.5.1-12 -- rebuilt for cfitsio 3.450 - -* Fri Feb 23 2018 Christian Dersch lupinix@mailbox.org - 2.5.1-11 -- rebuilt for cfitsio 3.420 (so version bump) - -* Thu Feb 08 2018 Fedora Release Engineering releng@fedoraproject.org - 2.5.1-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Tue Jan 23 2018 Jonathan Wakely jwakely@redhat.com - 2.5.1-9 -- Rebuilt for Boost 1.66 - -* Thu Jan 11 2018 Igor Gnatenko ignatenkobrain@fedoraproject.org - 2.5.1-8 -- Remove obsolete scriptlets - -* Thu Aug 03 2017 Fedora Release Engineering releng@fedoraproject.org - 2.5.1-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering releng@fedoraproject.org - 2.5.1-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Fri Jul 21 2017 Kalev Lember klember@redhat.com - 2.5.1-5 -- Rebuilt for Boost 1.64 - -* Thu May 11 2017 Franco Comida francocomida@gmail.com - 2.5.1-4 -- Fix date in specfile - -* Thu May 11 2017 Franco Comida francocomida@gmail.com - 2.5.1-3 -- Fix qtwebkit patch again - -* Thu May 11 2017 Franco Comida francocomida@gmail.com - 2.5.1-2 -- Fix qtwebkit patch - -* Wed May 10 2017 Franco Comida francocomida@gmail.com - 2.5.1-1 -- Release 2.5.1 - -* Tue May 02 2017 Rex Dieter rdieter@fedoraproject.org - 2.5.0-4 -- rebuild (exiv2) - -* Tue Apr 18 2017 Franco Comida francocomida@gmail.com - 2.5.0-3 -- Upstream retired previous 2.5.0, now it's out again. Let's start again from there. - -* Mon Apr 10 2017 Dan Horák <dan[at]danny.cz> - 2.5.0-2 -- fix build with qtwebengine vs. qtwebkit - -* Sun Apr 09 2017 Franco Comida francocomida@gmail.com - 2.5.0-1 -- Update to Release 2.5.0 - -* Fri Feb 10 2017 Fedora Release Engineering releng@fedoraproject.org - 2.4.0-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Fri Jan 27 2017 Jonathan Wakely jwakely@redhat.com - 2.4.0-12 -- Rebuilt for Boost 1.63 - -* Wed Dec 28 2016 Jon Ciesla limburgher@gmail.com - 2.4.0-11 -- Rebuild for new LibRaw. - -* Mon Feb 22 2016 Orion Poplawski orion@cora.nwra.com - 2.4.0-10 -- Rebuild for gsl 2.1 - -* Thu Feb 04 2016 Fedora Release Engineering releng@fedoraproject.org - 2.4.0-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Fri Jan 15 2016 Jonathan Wakely jwakely@redhat.com - 2.4.0-8 -- Rebuilt for Boost 1.60 - -* Thu Aug 27 2015 Jonathan Wakely jwakely@redhat.com - 2.4.0-7 -- Rebuilt for Boost 1.59 - -* Thu Aug 20 2015 Jon Ciesla limburgher@gmail.com - 2.4.0-6 -- Rebuild for new LibRaw. - -* Wed Jul 29 2015 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 2.4.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 - -* Wed Jul 22 2015 David Tardon dtardon@redhat.com - 2.4.0-4 -- rebuild for Boost 1.58 - -* Tue Jul 07 2015 Franco Comida francocomida@gmail.com - 2.4.0-3 -- Fix saving TMO parameters - -* Sat Jul 04 2015 Franco Comida francocomida@gmail.com - 2.4.0-2 -- Fix Application Icon Size - -* Thu Jul 02 2015 Franco Comida francocomida@gmail.com - 2.4.0-1 -- Updated to Luminance HDR 2.4.0 - -* Wed Jun 24 2015 Rex Dieter rdieter@fedoraproject.org - 2.3.1-15 -- rebuild (exiv2) - -* Wed Jun 17 2015 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 2.3.1-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Sat May 02 2015 Kalev Lember kalevlember@gmail.com - 2.3.1-13 -- Rebuilt for GCC 5 C++11 ABI change - -* Thu Mar 26 2015 Richard Hughes rhughes@redhat.com - 2.3.1-12 -- Add an AppData file for the software center - -* Tue Jan 27 2015 Petr Machata pmachata@redhat.com - 2.3.1-11 -- Rebuild for boost 1.57.0 - -* Wed Nov 26 2014 Rex Dieter rdieter@fedoraproject.org 2.3.1-10 -- rebuild (openexr) - -* Mon Sep 08 2014 Rex Dieter rdieter@fedoraproject.org 2.3.1-9 -- update mime scriptlet - -* Sun Aug 17 2014 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 2.3.1-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sat Jun 07 2014 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 2.3.1-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Fri May 23 2014 Petr Machata pmachata@redhat.com - 2.3.1-6 -- Rebuild for boost 1.55.0 - -* Wed Jan 22 2014 Jon Ciesla limburgher@gmail.com - 2.3.1-5 -- Rebuild for new LibRaw. - -* Tue Dec 03 2013 Rex Dieter rdieter@fedoraproject.org - 2.3.1-4 -- rebuild (exiv2) - -* Wed Nov 27 2013 Rex Dieter rdieter@fedoraproject.org - 2.3.1-3 -- rebuild (openexr) - -* Fri Sep 20 2013 Dan Horák <dan[at]danny.cz> - 2.3.1-2 -- fix build on non-x86 arches - -* Fri Sep 13 2013 Franco Comida francocomida@googlemail.com - 2.3.1-1 -- Updated to Luminance HDR 2.3.1 - -* Mon Sep 09 2013 Rex Dieter rdieter@fedoraproject.org 2.3.0-9 -- rebuild (OpenEXR) - -* Sat Aug 03 2013 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 2.3.0-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Fri May 31 2013 Jon Ciesla limburgher@gmail.com - 2.3.0-7 -- Rebuild for new LibRaw. - -* Sun Mar 10 2013 Rex Dieter rdieter@fedoraproject.org - 2.3.0-6 -- rebuild (OpenEXR) - -* Thu Feb 14 2013 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 2.3.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Fri Jan 18 2013 Adam Tkac <atkac redhat com> - 2.3.0-4 -- rebuild due to "jpeg8-ABI" feature drop - -* Fri Dec 21 2012 Adam Tkac <atkac redhat com> - 2.3.0-3 -- rebuild against new libjpeg - -* Thu Jul 19 2012 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 2.3.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Sun Jul 01 2012 Franco Comida francocomida@googlemail.com - 2.3.0-1 -- Updated to Luminance HDR 2.3.0 - -* Wed May 02 2012 Rex Dieter rdieter@fedoraproject.org - 2.2.1-4 -- rebuild (exiv2) - -* Wed Mar 28 2012 Dan Horák <dan[at]danny.cz> - 2.2.1-3 -- fix build on non-x86 arches - -* Tue Mar 13 2012 Franco Comida francocomida@googlemail.com - 2.2.1-2 -- Removed unused PATH from luminance-hdr.desktop - -* Sun Mar 11 2012 Franco Comida fcomida@users.sourceforge.net 2.2.1-1 -- Updated to Luminance HDR 2.2.1 - -* Tue Feb 21 2012 Franco Comida fcomida@users.sourceforge.net 2.2.0-1 -- Luminance HDR 2.2.0 - +%autochangelog
arch-excludes@lists.fedoraproject.org