summaryrefslogtreecommitdiffstats
path: root/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/0001-ZLQtFSManager.cpp.patch12
-rw-r--r--debian/patches/0002-Qt5.patch503
-rw-r--r--debian/patches/0003-gcc-6.patch14
-rw-r--r--debian/patches/0004-prevent-so-install.patch23
-rw-r--r--debian/patches/0008-951-fix-calling-compiler.patch102
-rw-r--r--debian/patches/0009-fbreader-Makefile-do-not-try-to-install-empty-format.patch22
-rw-r--r--debian/patches/0011-zlibrary-unix-curl-avoid-duplicate-case-in-a-switch.patch32
-rw-r--r--debian/patches/0013-fbreader-Makefile-make-linking-order-reproducible.patch21
-rw-r--r--debian/patches/1014-desktop-mime-type.patch19
-rw-r--r--debian/patches/series9
10 files changed, 757 insertions, 0 deletions
diff --git a/debian/patches/0001-ZLQtFSManager.cpp.patch b/debian/patches/0001-ZLQtFSManager.cpp.patch
new file mode 100644
index 0000000..c21111c
--- /dev/null
+++ b/debian/patches/0001-ZLQtFSManager.cpp.patch
@@ -0,0 +1,12 @@
+Origin: https://gitlab.archlinux.org/archlinux/packaging/packages/fbreader/-/blob/0.99.4-12/fbreader-0.99.4.patch
+Subject: Fix invalid new-expression of abstract class type
+
+---
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/filesystem/ZLQtFSManager.cpp fbreader-0.99.4/zlibrary/ui/src/qt4/filesystem/ZLQtFSManager.cpp
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/filesystem/ZLQtFSManager.cpp 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/filesystem/ZLQtFSManager.cpp 2013-02-21 13:30:31.000000000 +0700
+@@ -49,3 +49,4 @@
+ path = replacement + path.substr(1);
+ }
++ ZLUnixFSManager::normalizeRealPath(path);
+ }
diff --git a/debian/patches/0002-Qt5.patch b/debian/patches/0002-Qt5.patch
new file mode 100644
index 0000000..664f910
--- /dev/null
+++ b/debian/patches/0002-Qt5.patch
@@ -0,0 +1,503 @@
+Origin: https://gitlab.archlinux.org/archlinux/packaging/packages/fbreader/-/blob/0.99.4-12/fbreader-qt5.patch
+Subject: Port to Qt5 and use $(PKG_CONFIG) over pkg-config
+---
+diff -r -U2 fbreader-0.99.4.orig/makefiles/arch/desktop.mk fbreader-0.99.4/makefiles/arch/desktop.mk
+--- fbreader-0.99.4.orig/makefiles/arch/desktop.mk 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/makefiles/arch/desktop.mk 2018-01-11 22:18:40.119207269 +0700
+@@ -15,27 +15,9 @@
+ CFLAGS = -pipe -fno-exceptions -Wall -Wno-ctor-dtor-privacy -W -DLIBICONV_PLUG
+ LDFLAGS =
+-EXTERNAL_INCLUDE = $(shell pkg-config --cflags fribidi)
++EXTERNAL_INCLUDE = $(shell $(PKG_CONFIG) --cflags fribidi)
+
+-ifeq "$(UI_TYPE)" "qt"
+- MOC = moc-qt3
+- QTINCLUDE = -I /usr/include/qt3
+-else
+- MOC = $(shell pkg-config QtCore --variable=moc_location)
+- QTINCLUDE = -I $(shell pkg-config --cflags QtCore)
+-endif
+-
+-GTKINCLUDE = $(shell pkg-config --cflags gtk+-2.0 libpng xft)
+-
+-ifeq "$(UI_TYPE)" "qt"
+- UILIBS = -lqt-mt
+-endif
+-
+-ifeq "$(UI_TYPE)" "qt4"
+- UILIBS = $(shell pkg-config --libs QtCore QtGui QtNetwork)
+-endif
+-
+-ifeq "$(UI_TYPE)" "gtk"
+- UILIBS = $(shell pkg-config --libs gtk+-2.0 gio-2.0) -lpng -ljpeg
+-endif
++MOC = "$(shell $(PKG_CONFIG) --variable=host_bins Qt5Core)/moc"
++QTINCLUDE = $(shell $(PKG_CONFIG) --cflags Qt5Gui Qt5Widgets Qt5Network)
++UILIBS = $(shell $(PKG_CONFIG) --libs Qt5Gui Qt5Widgets Qt5Network)
+
+ RM = rm -rvf
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/application/LineEditParameter.cpp fbreader-0.99.4/zlibrary/ui/src/qt4/application/LineEditParameter.cpp
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/application/LineEditParameter.cpp 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/application/LineEditParameter.cpp 2018-01-11 22:18:40.120207269 +0700
+@@ -18,7 +18,7 @@
+ */
+
+-#include <QtGui/QBoxLayout>
+-#include <QtGui/QLineEdit>
+-#include <QtGui/QToolBar>
++#include <QtWidgets/QBoxLayout>
++#include <QtWidgets/QLineEdit>
++#include <QtWidgets/QToolBar>
+ #include <QtGui/QKeyEvent>
+
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/application/ZLQtApplicationWindow.cpp fbreader-0.99.4/zlibrary/ui/src/qt4/application/ZLQtApplicationWindow.cpp
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/application/ZLQtApplicationWindow.cpp 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/application/ZLQtApplicationWindow.cpp 2018-01-11 22:18:40.120207269 +0700
+@@ -18,15 +18,15 @@
+ */
+
+-#include <QtGui/QApplication>
++#include <QtWidgets/QApplication>
+ #include <QtGui/QPixmap>
+ #include <QtGui/QImage>
+ #include <QtGui/QIcon>
+-#include <QtGui/QToolBar>
+-#include <QtGui/QMenuBar>
+-#include <QtGui/QMenu>
+-#include <QtGui/QToolButton>
+-#include <QtGui/QLayout>
++#include <QtWidgets/QToolBar>
++#include <QtWidgets/QMenuBar>
++#include <QtWidgets/QMenu>
++#include <QtWidgets/QToolButton>
++#include <QtWidgets/QLayout>
+ #include <QtGui/QWheelEvent>
+-#include <QtGui/QDockWidget>
++#include <QtWidgets/QDockWidget>
+ #include <QtCore/QObjectList>
+
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/application/ZLQtApplicationWindow.h fbreader-0.99.4/zlibrary/ui/src/qt4/application/ZLQtApplicationWindow.h
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/application/ZLQtApplicationWindow.h 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/application/ZLQtApplicationWindow.h 2018-01-11 22:18:40.120207269 +0700
+@@ -23,6 +23,6 @@
+ #include <map>
+
+-#include <QtGui/QMainWindow>
+-#include <QtGui/QAction>
++#include <QtWidgets/QMainWindow>
++#include <QtWidgets/QAction>
+ #include <QtGui/QCursor>
+
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtDialog.cpp fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtDialog.cpp
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtDialog.cpp 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtDialog.cpp 2018-01-11 22:18:40.120207269 +0700
+@@ -18,6 +18,6 @@
+ */
+
+-#include <QtGui/QApplication>
+-#include <QtGui/QPushButton>
++#include <QtWidgets/QApplication>
++#include <QtWidgets/QPushButton>
+
+ #include <ZLDialogManager.h>
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtDialog.h fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtDialog.h
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtDialog.h 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtDialog.h 2018-01-11 22:18:40.120207269 +0700
+@@ -21,6 +21,6 @@
+ #define __ZLQTDIALOG_H__
+
+-#include <QtGui/QDialog>
+-#include <QtGui/QLayout>
++#include <QtWidgets/QDialog>
++#include <QtWidgets/QLayout>
+
+ #include <ZLDialog.h>
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtDialogContent.cpp fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtDialogContent.cpp
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtDialogContent.cpp 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtDialogContent.cpp 2018-01-11 22:18:40.120207269 +0700
+@@ -18,8 +18,8 @@
+ */
+
+-#include <QtGui/QApplication>
+-#include <QtGui/QDesktopWidget>
+-#include <QtGui/QWidget>
+-#include <QtGui/QLayout>
++#include <QtWidgets/QApplication>
++#include <QtWidgets/QDesktopWidget>
++#include <QtWidgets/QWidget>
++#include <QtWidgets/QLayout>
+
+ #include "ZLQtDialogContent.h"
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtDialogManager.cpp fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtDialogManager.cpp
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtDialogManager.cpp 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtDialogManager.cpp 2018-01-11 22:18:40.120207269 +0700
+@@ -18,9 +18,9 @@
+ */
+
+-#include <QtGui/QApplication>
+-#include <QtGui/QMessageBox>
+-#include <QtGui/QFileDialog>
++#include <QtWidgets/QApplication>
++#include <QtWidgets/QMessageBox>
++#include <QtWidgets/QFileDialog>
+ #include <QtGui/QClipboard>
+-#include <QtGui/QDesktopWidget>
++#include <QtWidgets/QDesktopWidget>
+
+ #include "ZLQtDialogManager.h"
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtOpenFileDialog.cpp fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtOpenFileDialog.cpp
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtOpenFileDialog.cpp 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtOpenFileDialog.cpp 2018-01-11 22:18:40.120207269 +0700
+@@ -18,5 +18,5 @@
+ */
+
+-#include <QtGui/QFileDialog>
++#include <QtWidgets/QFileDialog>
+
+ #include "ZLQtOpenFileDialog.h"
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtOptionView.cpp fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtOptionView.cpp
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtOptionView.cpp 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtOptionView.cpp 2018-01-11 22:18:40.121207269 +0700
+@@ -20,14 +20,14 @@
+ #include <cctype>
+
+-#include <QtGui/QCheckBox>
+-#include <QtGui/QComboBox>
+-#include <QtGui/QLabel>
+-#include <QtGui/QGroupBox>
+-#include <QtGui/QRadioButton>
+-#include <QtGui/QPushButton>
+-#include <QtGui/QSpinBox>
+-#include <QtGui/QLineEdit>
+-#include <QtGui/QSlider>
+-#include <QtGui/QLayout>
++#include <QtWidgets/QCheckBox>
++#include <QtWidgets/QComboBox>
++#include <QtWidgets/QLabel>
++#include <QtWidgets/QGroupBox>
++#include <QtWidgets/QRadioButton>
++#include <QtWidgets/QPushButton>
++#include <QtWidgets/QSpinBox>
++#include <QtWidgets/QLineEdit>
++#include <QtWidgets/QSlider>
++#include <QtWidgets/QLayout>
+
+ #include <ZLStringUtil.h>
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtOptionsDialog.cpp fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtOptionsDialog.cpp
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtOptionsDialog.cpp 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtOptionsDialog.cpp 2018-01-11 22:18:40.121207269 +0700
+@@ -18,9 +18,9 @@
+ */
+
+-#include <QtGui/QApplication>
+-#include <QtGui/QDesktopWidget>
+-#include <QtGui/QLayout>
+-#include <QtGui/QPushButton>
+-#include <QtGui/QButtonGroup>
++#include <QtWidgets/QApplication>
++#include <QtWidgets/QDesktopWidget>
++#include <QtWidgets/QLayout>
++#include <QtWidgets/QPushButton>
++#include <QtWidgets/QButtonGroup>
+ #include <QtGui/QResizeEvent>
+
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtOptionsDialog.h fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtOptionsDialog.h
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtOptionsDialog.h 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtOptionsDialog.h 2018-01-11 22:18:40.121207269 +0700
+@@ -21,7 +21,7 @@
+ #define __ZLQTOPTIONSDIALOG_H__
+
+-#include <QtGui/QWidget>
+-#include <QtGui/QTabWidget>
+-#include <QtGui/QDialog>
++#include <QtWidgets/QWidget>
++#include <QtWidgets/QTabWidget>
++#include <QtWidgets/QDialog>
+
+ #include "../../../../core/src/desktop/dialogs/ZLDesktopOptionsDialog.h"
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtProgressDialog.cpp fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtProgressDialog.cpp
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtProgressDialog.cpp 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtProgressDialog.cpp 2018-01-11 22:18:40.121207269 +0700
+@@ -20,9 +20,9 @@
+ #include <unistd.h>
+
+-#include <QtGui/QApplication>
+-#include <QtGui/QDesktopWidget>
+-#include <QtGui/QWidget>
+-#include <QtGui/QLabel>
+-#include <QtGui/QLayout>
++#include <QtWidgets/QApplication>
++#include <QtWidgets/QDesktopWidget>
++#include <QtWidgets/QWidget>
++#include <QtWidgets/QLabel>
++#include <QtWidgets/QLayout>
+ #include <QtCore/QThreadPool>
+
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtProgressDialog.h fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtProgressDialog.h
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtProgressDialog.h 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtProgressDialog.h 2018-01-11 22:18:40.121207269 +0700
+@@ -23,9 +23,9 @@
+ #include <string>
+
+-#include <QtGui/QWidget>
++#include <QtWidgets/QWidget>
+ #include <QtGui/QCursor>
+-#include <QtGui/QDialog>
+-#include <QtGui/QProgressBar>
+-#include <QtGui/QLabel>
++#include <QtWidgets/QDialog>
++#include <QtWidgets/QProgressBar>
++#include <QtWidgets/QLabel>
+ #include <QtCore/QRunnable>
+
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtTreeDialog.cpp fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtTreeDialog.cpp
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtTreeDialog.cpp 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtTreeDialog.cpp 2018-01-11 22:18:40.120207269 +0700
+@@ -20,10 +20,10 @@
+ #include <algorithm>
+
+-#include <QtGui/QSplitter>
+-#include <QtGui/QVBoxLayout>
+-#include <QtGui/QHBoxLayout>
+-#include <QtGui/QScrollBar>
+ #include <QtGui/QResizeEvent>
+ #include <QtCore/QDebug>
++#include <QtWidgets/QSplitter>
++#include <QtWidgets/QVBoxLayout>
++#include <QtWidgets/QHBoxLayout>
++#include <QtWidgets/QScrollBar>
+
+ #include <ZLFile.h>
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtTreeDialog.h fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtTreeDialog.h
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/dialogs/ZLQtTreeDialog.h 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/dialogs/ZLQtTreeDialog.h 2018-01-11 22:18:40.121207269 +0700
+@@ -25,10 +25,10 @@
+ #include <QtCore/QMap>
+
+-#include <QtGui/QDialog>
+-#include <QtGui/QScrollArea>
+-#include <QtGui/QPushButton>
+-#include <QtGui/QLabel>
+-#include <QtGui/QLineEdit>
+-#include <QtGui/QWidget>
++#include <QtWidgets/QDialog>
++#include <QtWidgets/QScrollArea>
++#include <QtWidgets/QPushButton>
++#include <QtWidgets/QLabel>
++#include <QtWidgets/QLineEdit>
++#include <QtWidgets/QWidget>
+
+ #include <ZLTreeDialog.h>
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/library/ZLQApplication.h fbreader-0.99.4/zlibrary/ui/src/qt4/library/ZLQApplication.h
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/library/ZLQApplication.h 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/library/ZLQApplication.h 2018-01-11 22:18:40.121207269 +0700
+@@ -21,5 +21,5 @@
+ #define __ZLQAPPLICATION_H__
+
+-#include <QtGui/QApplication>
++#include <QtWidgets/QApplication>
+
+ class ZLQApplication : public QApplication {
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/library/ZLibrary.cpp fbreader-0.99.4/zlibrary/ui/src/qt4/library/ZLibrary.cpp
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/library/ZLibrary.cpp 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/library/ZLibrary.cpp 2018-01-11 22:18:40.121207269 +0700
+@@ -20,5 +20,5 @@
+ #include <QtCore/QTextCodec>
+ #include <QtCore/QFile>
+-#include <QtGui/QApplication>
++#include <QtWidgets/QApplication>
+ #include <QtGui/QFileOpenEvent>
+
+@@ -73,5 +73,5 @@
+ new ZLQApplication(argc, argv);
+
+- QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8"));
++ QTextCodec::setCodecForLocale(QTextCodec::codecForName("utf-8"));
+
+ ZLibrary::parseArguments(argc, argv);
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/network/ZLQtNetworkManager.cpp fbreader-0.99.4/zlibrary/ui/src/qt4/network/ZLQtNetworkManager.cpp
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/network/ZLQtNetworkManager.cpp 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/network/ZLQtNetworkManager.cpp 2018-01-11 22:18:40.120207269 +0700
+@@ -25,5 +25,7 @@
+ #include <QtCore/QList>
+ #include <QtCore/QTimer>
++#include <QtCore/QUrlQuery>
+
++#include <QtNetwork/QNetworkCookie>
+ #include <QtNetwork/QNetworkRequest>
+ #include <QtNetwork/QNetworkReply>
+@@ -150,10 +152,10 @@
+ if (!scope.request->postParameters().empty()) {
+ QByteArray data;
+- QUrl tmp;
++ QUrlQuery tmp;
+ typedef std::pair<std::string, std::string> string_pair;
+ foreach (const string_pair &pair, scope.request->postParameters()) {
+ tmp.addQueryItem(QString::fromStdString(pair.first), QString::fromStdString(pair.second));
+ }
+- data = tmp.encodedQuery();
++ data = tmp.query(QUrl::FullyEncoded).toUtf8(); //encodedQuery();
+ reply = const_cast<QNetworkAccessManager&>(myManager).post(networkRequest, data);
+ } else {
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/tree/QtWaitingSpinner.cpp fbreader-0.99.4/zlibrary/ui/src/qt4/tree/QtWaitingSpinner.cpp
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/tree/QtWaitingSpinner.cpp 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/tree/QtWaitingSpinner.cpp 2018-01-11 22:13:39.639219906 +0700
+@@ -87,5 +87,5 @@
+
+ void QtWaitingSpinner::setRoundness(qreal roundness) {
+- myRoundness = std::max(0.0, std::min(100.0, roundness));
++ myRoundness = std::max(static_cast<qreal>(0.0), std::min(static_cast<qreal>(100.0), roundness));
+ }
+
+@@ -149,5 +149,5 @@
+ qreal gradation = alphaDiff / (qreal)(distanceThreshold + 1);
+ qreal resultAlpha = color.alphaF() - gradation * distance;
+- resultAlpha = std::min(1.0, std::max(0.0, resultAlpha)); //if alpha is out of bound, force it to bounds
++ resultAlpha = std::min(static_cast<qreal>(1.0), std::max(static_cast<qreal>(0.0), resultAlpha)); //if alpha is out of bound, force it to bounds
+ color.setAlphaF(resultAlpha);
+ return color;
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/tree/QtWaitingSpinner.h fbreader-0.99.4/zlibrary/ui/src/qt4/tree/QtWaitingSpinner.h
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/tree/QtWaitingSpinner.h 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/tree/QtWaitingSpinner.h 2018-01-11 22:18:40.121207269 +0700
+@@ -4,5 +4,5 @@
+ #include <QtCore/QTimer>
+
+-#include <QtGui/QWidget>
++#include <QtWidgets/QWidget>
+ #include <QtGui/QColor>
+
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/tree/ZLQtItemsListWidget.cpp fbreader-0.99.4/zlibrary/ui/src/qt4/tree/ZLQtItemsListWidget.cpp
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/tree/ZLQtItemsListWidget.cpp 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/tree/ZLQtItemsListWidget.cpp 2018-01-11 22:18:40.120207269 +0700
+@@ -18,12 +18,12 @@
+ */
+
+-#include <QtGui/QVBoxLayout>
+-#include <QtGui/QHBoxLayout>
+ #include <QtGui/QPixmap>
+ #include <QtGui/QPalette>
+ #include <QtGui/QPainter>
+ #include <QtGui/QPaintEvent>
+-#include <QtGui/QScrollBar>
+ #include <QtCore/QTimer>
++#include <QtWidgets/QVBoxLayout>
++#include <QtWidgets/QHBoxLayout>
++#include <QtWidgets/QScrollBar>
+
+ #include <QtCore/QDebug>
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/tree/ZLQtItemsListWidget.h fbreader-0.99.4/zlibrary/ui/src/qt4/tree/ZLQtItemsListWidget.h
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/tree/ZLQtItemsListWidget.h 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/tree/ZLQtItemsListWidget.h 2018-01-11 22:18:40.120207269 +0700
+@@ -21,10 +21,10 @@
+ #define __ZLQTITEMSLISTWIDGET_H__
+
+-#include <QtGui/QWidget>
+-#include <QtGui/QFrame>
+-#include <QtGui/QPushButton>
+-#include <QtGui/QLabel>
+-#include <QtGui/QVBoxLayout>
+-#include <QtGui/QScrollArea>
++#include <QtWidgets/QWidget>
++#include <QtWidgets/QFrame>
++#include <QtWidgets/QPushButton>
++#include <QtWidgets/QLabel>
++#include <QtWidgets/QVBoxLayout>
++#include <QtWidgets/QScrollArea>
+
+ #include <ZLTreeTitledNode.h>
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/tree/ZLQtPreviewWidget.cpp fbreader-0.99.4/zlibrary/ui/src/qt4/tree/ZLQtPreviewWidget.cpp
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/tree/ZLQtPreviewWidget.cpp 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/tree/ZLQtPreviewWidget.cpp 2018-01-11 22:18:40.120207269 +0700
+@@ -18,8 +18,8 @@
+ */
+
+-#include <QtGui/QVBoxLayout>
+-#include <QtGui/QHBoxLayout>
+-#include <QtGui/QScrollBar>
+-#include <QtGui/QGraphicsDropShadowEffect>
++#include <QtWidgets/QVBoxLayout>
++#include <QtWidgets/QHBoxLayout>
++#include <QtWidgets/QScrollBar>
++#include <QtWidgets/QGraphicsDropShadowEffect>
+
+ #include <QtCore/QDebug>
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/tree/ZLQtPreviewWidget.h fbreader-0.99.4/zlibrary/ui/src/qt4/tree/ZLQtPreviewWidget.h
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/tree/ZLQtPreviewWidget.h 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/tree/ZLQtPreviewWidget.h 2018-01-11 22:18:40.121207269 +0700
+@@ -21,9 +21,9 @@
+ #define __ZLQTPREVIEWWIDGET_H__
+
+-#include <QtGui/QWidget>
+-#include <QtGui/QPushButton>
+-#include <QtGui/QLabel>
+-#include <QtGui/QScrollArea>
+-#include <QtGui/QVBoxLayout>
++#include <QtWidgets/QWidget>
++#include <QtWidgets/QPushButton>
++#include <QtWidgets/QLabel>
++#include <QtWidgets/QScrollArea>
++#include <QtWidgets/QVBoxLayout>
+ #include <QtCore/QSet>
+
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/tree/ZLQtSearchField.cpp fbreader-0.99.4/zlibrary/ui/src/qt4/tree/ZLQtSearchField.cpp
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/tree/ZLQtSearchField.cpp 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/tree/ZLQtSearchField.cpp 2018-01-11 22:18:40.120207269 +0700
+@@ -19,7 +19,7 @@
+
+ #include <QtCore/QDebug>
+-#include <QtGui/QStyle>
+-#include <QtGui/QCompleter>
+-#include <QtGui/QStringListModel>
++#include <QtCore/QStringListModel>
++#include <QtWidgets/QStyle>
++#include <QtWidgets/QCompleter>
+
+ #include <ZLibrary.h>
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/tree/ZLQtSearchField.h fbreader-0.99.4/zlibrary/ui/src/qt4/tree/ZLQtSearchField.h
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/tree/ZLQtSearchField.h 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/tree/ZLQtSearchField.h 2018-01-11 22:18:40.121207269 +0700
+@@ -22,6 +22,6 @@
+
+ #include <QtCore/QSet>
+-#include <QtGui/QLabel>
+-#include <QtGui/QLineEdit>
++#include <QtWidgets/QLabel>
++#include <QtWidgets/QLineEdit>
+
+ #include "QtWaitingSpinner.h"
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/view/ZLQtViewWidget.cpp fbreader-0.99.4/zlibrary/ui/src/qt4/view/ZLQtViewWidget.cpp
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/view/ZLQtViewWidget.cpp 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/view/ZLQtViewWidget.cpp 2018-01-11 22:18:40.121207269 +0700
+@@ -20,6 +20,6 @@
+ #include <algorithm>
+
+-#include <QtGui/QLayout>
+-#include <QtGui/QScrollBar>
++#include <QtWidgets/QLayout>
++#include <QtWidgets/QScrollBar>
+ #include <QtGui/QPainter>
+ #include <QtGui/QPixmap>
+@@ -186,9 +186,9 @@
+ void ZLQtViewWidget::setScrollbarEnabled(ZLView::Direction direction, bool enabled) {
+ if (direction == ZLView::VERTICAL) {
+- myRightScrollBar->setShown(enabled && myShowScrollBarAtRight);
+- myLeftScrollBar->setShown(enabled && !myShowScrollBarAtRight);
++ myRightScrollBar->setVisible(enabled && myShowScrollBarAtRight);
++ myLeftScrollBar->setVisible(enabled && !myShowScrollBarAtRight);
+ } else {
+- myBottomScrollBar->setShown(enabled && myShowScrollBarAtBottom);
+- myTopScrollBar->setShown(enabled && !myShowScrollBarAtBottom);
++ myBottomScrollBar->setVisible(enabled && myShowScrollBarAtBottom);
++ myTopScrollBar->setVisible(enabled && !myShowScrollBarAtBottom);
+ }
+ }
+diff -r -U2 fbreader-0.99.4.orig/zlibrary/ui/src/qt4/view/ZLQtViewWidget.h fbreader-0.99.4/zlibrary/ui/src/qt4/view/ZLQtViewWidget.h
+--- fbreader-0.99.4.orig/zlibrary/ui/src/qt4/view/ZLQtViewWidget.h 2012-11-30 19:41:25.000000000 +0700
++++ fbreader-0.99.4/zlibrary/ui/src/qt4/view/ZLQtViewWidget.h 2018-01-11 22:18:40.121207269 +0700
+@@ -21,5 +21,5 @@
+ #define __ZLQTVIEWWIDGET_H__
+
+-#include <QtGui/QWidget>
++#include <QtWidgets/QWidget>
+
+ #include "../../../../core/src/view/ZLViewWidget.h"
diff --git a/debian/patches/0003-gcc-6.patch b/debian/patches/0003-gcc-6.patch
new file mode 100644
index 0000000..a03be95
--- /dev/null
+++ b/debian/patches/0003-gcc-6.patch
@@ -0,0 +1,14 @@
+Origin: https://gitlab.archlinux.org/archlinux/packaging/packages/fbreader/-/blob/0.99.4-12/fbreader-gcc6.patch
+Subject: Fix build with gcc 6 or later
+---
+--- a/fbreader/src/formats/doc/OleStorage.cpp.orig 2012-11-30 13:41:25.000000000 +0100
++++ b/fbreader/src/formats/doc/OleStorage.cpp 2016-08-31 17:23:18.232536401 +0200
+@@ -59,7 +59,7 @@
+ clear();
+ return false;
+ }
+- static const char OLE_SIGN[] = {0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1, 0};
++ static const char OLE_SIGN[] = {(char)0xD0, (char)0xCF, (char)0x11, (char)0xE0, (char)0xA1, (char)0xB1, (char)0x1A, (char)0xE1, 0};
+ if (std::strncmp(oleBuf, OLE_SIGN, 8) != 0) {
+ clear();
+ return false;
diff --git a/debian/patches/0004-prevent-so-install.patch b/debian/patches/0004-prevent-so-install.patch
new file mode 100644
index 0000000..9046382
--- /dev/null
+++ b/debian/patches/0004-prevent-so-install.patch
@@ -0,0 +1,23 @@
+Description: Prevent installing .so link in non-dev library pkgs
+Author: Bastian Germann <[email protected]>
+---
+--- fbreader-0.99.4+dfsg.orig/zlibrary/core/Makefile
++++ fbreader-0.99.4+dfsg/zlibrary/core/Makefile
+@@ -85,7 +85,6 @@ ifeq "$(ZLSHARED)" "yes"
+ @install -d $(DESTDIR)$(LIBDIR)
+ @install $(TARGET) $(DESTDIR)$(LIBDIR)
+ @ln -sf $(TARGET) $(DESTDIR)$(LIBDIR)/$(TARGET_SONAME)
+- @ln -sf $(TARGET) $(DESTDIR)$(LIBDIR)/$(TARGET_SHORTNAME)
+ endif
+
+ do_install_dev:
+--- fbreader-0.99.4+dfsg.orig/zlibrary/text/Makefile
++++ fbreader-0.99.4+dfsg/zlibrary/text/Makefile
+@@ -52,7 +52,6 @@ ifeq "$(ZLSHARED)" "yes"
+ @install -d $(DESTDIR)$(LIBDIR)
+ @install $(TARGET) $(DESTDIR)$(LIBDIR)
+ @ln -sf $(TARGET) $(DESTDIR)$(LIBDIR)/$(TARGET_SONAME)
+- @ln -sf $(TARGET) $(DESTDIR)$(LIBDIR)/$(TARGET_SHORTNAME)
+ endif
+
+ do_install_dev:
diff --git a/debian/patches/0008-951-fix-calling-compiler.patch b/debian/patches/0008-951-fix-calling-compiler.patch
new file mode 100644
index 0000000..3ce9f49
--- /dev/null
+++ b/debian/patches/0008-951-fix-calling-compiler.patch
@@ -0,0 +1,102 @@
+From: "Eugene V. Lyubimkin" <[email protected]>
+Date: Sat, 20 Feb 2016 18:20:25 +0100
+Subject: 951-fix-calling-compiler
+
+===================================================================
+---
+ makefiles/arch/desktop.mk | 3 +--
+ makefiles/gtksubdir.mk | 8 ++------
+ makefiles/platforms.mk | 4 +---
+ makefiles/qsubdir.mk | 8 ++------
+ makefiles/subdir.mk | 9 +--------
+ 5 files changed, 7 insertions(+), 25 deletions(-)
+
+diff --git a/makefiles/arch/desktop.mk b/makefiles/arch/desktop.mk
+index 357f2ce..78211a8 100644
+--- a/makefiles/arch/desktop.mk
++++ b/makefiles/arch/desktop.mk
+@@ -10,8 +10,7 @@ CC = gcc
+ AR = ar rsu
+ LD = g++
+
+-CFLAGS = -pipe -fno-exceptions -Wall -Wno-ctor-dtor-privacy -W -DLIBICONV_PLUG
+-LDFLAGS =
++CFLAGS += -pipe -fno-exceptions -Wall -Wno-ctor-dtor-privacy -W -DLIBICONV_PLUG
+ EXTERNAL_INCLUDE = $(shell $(PKG_CONFIG) --cflags fribidi)
+
+ MOC = "$(shell $(PKG_CONFIG) --variable=host_bins Qt5Core)/moc"
+ QTINCLUDE = $(shell $(PKG_CONFIG) --cflags Qt5Gui Qt5Widgets Qt5Network)
+diff --git a/makefiles/gtksubdir.mk b/makefiles/gtksubdir.mk
+index aed94f3..23f51da 100644
+--- a/makefiles/gtksubdir.mk
++++ b/makefiles/gtksubdir.mk
+@@ -11,14 +11,10 @@ OBJECTS += $(patsubst %.cpp, %.o, $(SOURCES))
+ .SUFFIXES: .c .cpp .o .h
+
+ .c.o:
+- @echo -n 'Compiling $@ ...'
+- @$(CC) -MMD -c $(CFLAGS) $(INCLUDE) $<
+- @echo ' OK'
++ $(CC) -MMD -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $<
+
+ .cpp.o:
+- @echo -n 'Compiling $@ ...'
+- @$(CC) -MMD -c $(CFLAGS) $(INCLUDE) $<
+- @echo ' OK'
++ $(CC) -MMD -c $(CPPFLAGS) $(CFLAGS) $(CXXFLAGS) $(INCLUDE) $<
+
+ all: $(OBJECTS)
+
+diff --git a/makefiles/platforms.mk b/makefiles/platforms.mk
+index df83885..129463b 100644
+--- a/makefiles/platforms.mk
++++ b/makefiles/platforms.mk
+@@ -10,6 +10,4 @@ ifeq "$(UI_TYPE)" ""
+ $(error UI_TYPE is not defined. Please edit $(ROOTDIR)/makefiles/target.mk)
+ endif
+
+-ifeq "$(TARGET_STATUS)" ""
+- TARGET_STATUS = release
+-endif
++TARGET_STATUS = "" # Debian packaging always set flags itself
+diff --git a/makefiles/qsubdir.mk b/makefiles/qsubdir.mk
+index 14b4efc..f6ec87b 100644
+--- a/makefiles/qsubdir.mk
++++ b/makefiles/qsubdir.mk
+@@ -11,14 +11,10 @@ OBJECTS = $(patsubst %.cpp, %.o, $(SOURCES))
+ .SUFFIXES: .cpp .moc.cpp .moc.o .o .h
+
+ .cpp.o:
+- @echo -n 'Compiling $@ ...'
+- @$(CC) -MMD -c $(CFLAGS) $(INCLUDE) $<
+- @echo ' OK'
++ $(CC) -MMD -c $(CPPFLAGS) $(CFLAGS) $(CXXFLAGS) $(INCLUDE) $<
+
+ .h.moc.cpp:
+- @echo -n 'Generating $@ ...'
+- @$(MOC) $< -o $@
+- @echo ' OK'
++ $(MOC) $< -o $@
+
+ all: $(OBJECTS) $(OBJMOC)
+
+diff --git a/makefiles/subdir.mk b/makefiles/subdir.mk
+index b364211..63e66bf 100644
+--- a/makefiles/subdir.mk
++++ b/makefiles/subdir.mk
+@@ -11,14 +11,7 @@ OBJECTS = $(patsubst %.cpp, %.o, $(SOURCES_CPP)) $(patsubst %.M, %.o, $(SOURCES_
+ .SUFFIXES: .cpp .M .m .o .h
+
+ .cpp.o:
+- @echo -n 'Compiling $@ ...'
+-ifdef CFLAGS_NOARCH
+- @$(CC) -MM $(CFLAGS_PRE) $(INCLUDE) $< -o `basename $< .cpp`.d
+- @$(CC) -c $(CFLAGS) $(INCLUDE) $<
+-else
+- @$(CC) -MMD -c $(CFLAGS) $(INCLUDE) $<
+-endif
+- @echo ' OK'
++ $(CC) -MMD -c $(CPPFLAGS) $(CFLAGS) $(CXXFLAGS) $(INCLUDE) $<
+
+ .M.o:
+ @echo -n 'Compiling $@ ...'
diff --git a/debian/patches/0009-fbreader-Makefile-do-not-try-to-install-empty-format.patch b/debian/patches/0009-fbreader-Makefile-do-not-try-to-install-empty-format.patch
new file mode 100644
index 0000000..dfa51c7
--- /dev/null
+++ b/debian/patches/0009-fbreader-Makefile-do-not-try-to-install-empty-format.patch
@@ -0,0 +1,22 @@
+From: "Eugene V. Lyubimkin" <[email protected]>
+Date: Sat, 20 Feb 2016 18:23:10 +0100
+Subject: fbreader: Makefile: do not try to install empty formats/xhtml
+ directory
+
+---
+ fbreader/Makefile | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/fbreader/Makefile b/fbreader/Makefile
+index 6efc10b..ba247b7 100644
+--- a/fbreader/Makefile
++++ b/fbreader/Makefile
+@@ -44,8 +44,6 @@ do_install:
+ @./scripts/install_help.sh $(VARIANT) $(FBSHAREDIR)/help
+ @install -d $(FBSHAREDIR)/formats/html
+ @install -m 0644 data/formats/html/html.ent $(FBSHAREDIR)/formats/html
+- @install -d $(FBSHAREDIR)/formats/xhtml
+- @install -m 0644 $(wildcard data/formats/xhtml/*.ent) $(FBSHAREDIR)/formats/xhtml
+ @install -d $(FBSHAREDIR)/formats/fb2
+ @sed "s/VERSION/$(VERSION)/" data/formats/fb2/FBReaderVersion.ent > $(FBSHAREDIR)/formats/fb2/FBReaderVersion.ent
+ @install -m 0644 data/formats/fb2/fb2genres.xml $(FBSHAREDIR)/formats/fb2
diff --git a/debian/patches/0011-zlibrary-unix-curl-avoid-duplicate-case-in-a-switch.patch b/debian/patches/0011-zlibrary-unix-curl-avoid-duplicate-case-in-a-switch.patch
new file mode 100644
index 0000000..d371cbe
--- /dev/null
+++ b/debian/patches/0011-zlibrary-unix-curl-avoid-duplicate-case-in-a-switch.patch
@@ -0,0 +1,32 @@
+From: "Eugene V. Lyubimkin" <[email protected]>
+Date: Sun, 9 Dec 2018 16:31:45 +0100
+Subject: zlibrary: unix: curl: avoid duplicate case in a switch
+
+CURLE_SSL_CACERT was merged into CURLE_PEER_FAILED_VERIFICATION, see [1]
+
+[1] https://github.com/curl/curl/commit/3f3b26d6feb0667714902e836af608094235fca2
+---
+ zlibrary/core/src/unix/curl/ZLCurlNetworkManager.cpp | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/zlibrary/core/src/unix/curl/ZLCurlNetworkManager.cpp b/zlibrary/core/src/unix/curl/ZLCurlNetworkManager.cpp
+index a75d8bc..55865b6 100644
+--- a/zlibrary/core/src/unix/curl/ZLCurlNetworkManager.cpp
++++ b/zlibrary/core/src/unix/curl/ZLCurlNetworkManager.cpp
+@@ -277,16 +277,9 @@ std::string ZLCurlNetworkManager::perform(const ZLExecutionData::Vector &dataLis
+ case CURLE_SSL_CONNECT_ERROR:
+ errors.insert(ZLStringUtil::printf(errorResource["sslConnectErrorMessage"].value(), curl_easy_strerror(CURLE_SSL_CONNECT_ERROR)));
+ break;
+-#if LIBCURL_VERSION_NUM > 0x071100
+ case CURLE_PEER_FAILED_VERIFICATION:
+-#else
+- case CURLE_SSL_PEER_CERTIFICATE:
+-#endif
+ errors.insert(ZLStringUtil::printf(errorResource["peerFailedVerificationMessage"].value(), ZLNetworkUtil::hostFromUrl(url)));
+ break;
+- case CURLE_SSL_CACERT:
+- errors.insert(ZLStringUtil::printf(errorResource["sslCertificateAuthorityMessage"].value(), ZLNetworkUtil::hostFromUrl(url)));
+- break;
+ case CURLE_SSL_CACERT_BADFILE:
+ errors.insert(ZLStringUtil::printf(errorResource["sslBadCertificateFileMessage"].value(), request.sslCertificate().Path));
+ break;
diff --git a/debian/patches/0013-fbreader-Makefile-make-linking-order-reproducible.patch b/debian/patches/0013-fbreader-Makefile-make-linking-order-reproducible.patch
new file mode 100644
index 0000000..acc20ab
--- /dev/null
+++ b/debian/patches/0013-fbreader-Makefile-make-linking-order-reproducible.patch
@@ -0,0 +1,21 @@
+From: Ievgen Liubymkin <[email protected]>
+Date: Sun, 1 Sep 2019 09:56:54 +0200
+Subject: fbreader: Makefile: make linking order reproducible
+
+---
+ fbreader/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/fbreader/Makefile b/fbreader/Makefile
+index ba247b7..90070bd 100644
+--- a/fbreader/Makefile
++++ b/fbreader/Makefile
+@@ -22,7 +22,7 @@ all: .resources
+ fi; \
+ done;
+ @echo -n 'Linking $(TARGET) ...'
+- @$(LD) $(LDFLAGS) -o $(TARGET) `find src -name *.o` $(TEXT_LIBS) $(CORE_LIBS) $(ZLUI_LIB) -lsqlite3
++ @$(LD) $(LDFLAGS) -o $(TARGET) `find src -name *.o | LC_ALL=C sort` $(TEXT_LIBS) $(CORE_LIBS) $(ZLUI_LIB) -lsqlite3
+ @echo ' OK'
+
+ FBSHAREDIR = $(DESTDIR)$(SHAREDIR)/FBReader
diff --git a/debian/patches/1014-desktop-mime-type.patch b/debian/patches/1014-desktop-mime-type.patch
new file mode 100644
index 0000000..0b8caa5
--- /dev/null
+++ b/debian/patches/1014-desktop-mime-type.patch
@@ -0,0 +1,19 @@
+Description: Announce supported file tyes in XDG desktop entry.
+ This ensure desktop file browsers know when to propose to use
+ fbreader.
+Author: Petter Reinholdtsen
+Bug-Debian: https://bugs.debian.org/601605
+Bug-Debian: https://bugs.debian.org/601609
+Bug-Debian: https://bugs.debian.org/813768
+Forwarded: no
+Last-Update: 2024-05-10
+---
+diff --git a/fbreader/desktop/desktop b/fbreader/desktop/desktop
+index bb35fe3..5d45cfd 100644
+--- a/fbreader/desktop/desktop
++++ b/fbreader/desktop/desktop
+@@ -21,3 +21,4 @@ Terminal=false
+ Type=Application
+ Icon=FBReader
+ Categories=Office;Viewer;Literature;
++MimeType=application/epub+zip;
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..79b3b93
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,9 @@
+0001-ZLQtFSManager.cpp.patch
+0002-Qt5.patch
+0003-gcc-6.patch
+0004-prevent-so-install.patch
+0008-951-fix-calling-compiler.patch
+0009-fbreader-Makefile-do-not-try-to-install-empty-format.patch
+0011-zlibrary-unix-curl-avoid-duplicate-case-in-a-switch.patch
+0013-fbreader-Makefile-make-linking-order-reproducible.patch
+1014-desktop-mime-type.patch