summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD32
-rw-r--r--olive-0.1.2-FlowLayout.patch16
-rw-r--r--olive-0.1.2-QFontMetrics.patch125
-rw-r--r--olive-0.1.2-QPainterPath.patch47
-rw-r--r--olive-0.1.2-QWheelEvent.patch25
-rw-r--r--olive-0.1.2-appdata-desktop.patch32
-rw-r--r--olive-0.1.2-cacher.patch28
-rw-r--r--olive-0.1.2-clickablelabel.patch18
-rw-r--r--olive-0.1.2-proxygenerator.patch21
10 files changed, 358 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index d31a87076215..ec1ab2fc8c92 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = olive
pkgdesc = Free non-linear video editor
pkgver = 0.1.2
- pkgrel = 1
+ pkgrel = 2
url = https://www.olivevideoeditor.org/
arch = i686
arch = pentium4
@@ -15,7 +15,23 @@ pkgbase = olive
optdepends = frei0r-plugins
optdepends = olive-community-effects-git
source = olive-0.1.2.tar.gz::https://github.com/olive-editor/olive/archive/0.1.2.tar.gz
+ source = olive-0.1.2-appdata-desktop.patch
+ source = olive-0.1.2-cacher.patch
+ source = olive-0.1.2-clickablelabel.patch
+ source = olive-0.1.2-FlowLayout.patch
+ source = olive-0.1.2-proxygenerator.patch
+ source = olive-0.1.2-QFontMetrics.patch
+ source = olive-0.1.2-QPainterPath.patch
+ source = olive-0.1.2-QWheelEvent.patch
sha512sums = 48cf44b5ba1bd95e20efb5312d61d6c37e6dedc1f02156ef436ab51705be4bdaf5bb68875b55b06337c25a34aee23eac645fe295d08ab0038872adccf12fc95e
+ sha512sums = f5face64c14e9ca15f9a9cff4e20bf8bb3de50970dfec0d378f62132f3898693da522bda59d128ea49f3ea44e4334acc76433bde08fc24a1a13f95bb3ed76586
+ sha512sums = 70ae31b4fde6e064bdbbb6aa28319a680dda3fe63cf5e31f6e4cafc0f08fc67e12478827f966f7393502980262934431d8c0a2e050e78bcca85af84e4e3563cd
+ sha512sums = 349a4e2ef16a5b6c21eb253c8a291adb379ede3fa4daaaaf197b2cc1c9d733b80cc5eaf3caa2839bb717f0aa2ee8489093101b8cecf8e6505f8f7cf877dc0a06
+ sha512sums = 5eab5828f98dfb59c82de67a63b9b34ea4f007bfec789a8fdeb7f61c13975994bb29a0e2334c3547844ca25d9a7a4b3ae0f97b163ffbc0b4b429246a99fa8323
+ sha512sums = a15bda394ad1e8ba3a18d7b9802db18245ef228247d3d935d769515a2b1f2adae8a1299bd59a50e7417ff05145488ee28279b47f13b1cd776f641c585dc82525
+ sha512sums = a3923b3ddf1979228a99945ecee4c2c777f6281c443a4d1a57f44317a7e21c2f626fec0e145f21c963629f76e7c8ccf431b46c1da4423cd24c7ade7ab3653add
+ sha512sums = a75d2328ed7710cca757a8cf2f00687c3340b7794741d9a54c3068ee076c29fb8c63cec7efba7b7415a9576a8e330876673c1152f36d765e65e31a9adf3ecdc8
+ sha512sums = a1141acea989e6182c53b8a6532029ef8566c00565c1cfdeadc1eff0f1a84e96e233ae80eb80e0aad9e847c8e7638b2fbcbd14b895f77d54275fe79c6e22cf75
pkgname = olive
diff --git a/PKGBUILD b/PKGBUILD
index 31f0f61b0253..7ae5a5ac9d07 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,7 +2,7 @@
pkgname=olive
pkgver=0.1.2
-pkgrel=1
+pkgrel=2
arch=('i686' 'pentium4' 'x86_64')
pkgdesc="Free non-linear video editor"
url="https://www.olivevideoeditor.org/"
@@ -10,8 +10,24 @@ license=('GPL3')
depends=('ffmpeg' 'qt5-multimedia' 'qt5-svg')
makedepends=('cmake' 'qt5-tools')
optdepends=('frei0r-plugins' 'olive-community-effects-git')
-source=("$pkgname-$pkgver.tar.gz::https://github.com/olive-editor/olive/archive/$pkgver.tar.gz")
-sha512sums=('48cf44b5ba1bd95e20efb5312d61d6c37e6dedc1f02156ef436ab51705be4bdaf5bb68875b55b06337c25a34aee23eac645fe295d08ab0038872adccf12fc95e')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/olive-editor/olive/archive/$pkgver.tar.gz"
+ "olive-0.1.2-appdata-desktop.patch"
+ "olive-0.1.2-cacher.patch"
+ "olive-0.1.2-clickablelabel.patch"
+ "olive-0.1.2-FlowLayout.patch"
+ "olive-0.1.2-proxygenerator.patch"
+ "olive-0.1.2-QFontMetrics.patch"
+ "olive-0.1.2-QPainterPath.patch"
+ "olive-0.1.2-QWheelEvent.patch")
+sha512sums=('48cf44b5ba1bd95e20efb5312d61d6c37e6dedc1f02156ef436ab51705be4bdaf5bb68875b55b06337c25a34aee23eac645fe295d08ab0038872adccf12fc95e'
+ 'f5face64c14e9ca15f9a9cff4e20bf8bb3de50970dfec0d378f62132f3898693da522bda59d128ea49f3ea44e4334acc76433bde08fc24a1a13f95bb3ed76586'
+ '70ae31b4fde6e064bdbbb6aa28319a680dda3fe63cf5e31f6e4cafc0f08fc67e12478827f966f7393502980262934431d8c0a2e050e78bcca85af84e4e3563cd'
+ '349a4e2ef16a5b6c21eb253c8a291adb379ede3fa4daaaaf197b2cc1c9d733b80cc5eaf3caa2839bb717f0aa2ee8489093101b8cecf8e6505f8f7cf877dc0a06'
+ '5eab5828f98dfb59c82de67a63b9b34ea4f007bfec789a8fdeb7f61c13975994bb29a0e2334c3547844ca25d9a7a4b3ae0f97b163ffbc0b4b429246a99fa8323'
+ 'a15bda394ad1e8ba3a18d7b9802db18245ef228247d3d935d769515a2b1f2adae8a1299bd59a50e7417ff05145488ee28279b47f13b1cd776f641c585dc82525'
+ 'a3923b3ddf1979228a99945ecee4c2c777f6281c443a4d1a57f44317a7e21c2f626fec0e145f21c963629f76e7c8ccf431b46c1da4423cd24c7ade7ab3653add'
+ 'a75d2328ed7710cca757a8cf2f00687c3340b7794741d9a54c3068ee076c29fb8c63cec7efba7b7415a9576a8e330876673c1152f36d765e65e31a9adf3ecdc8'
+ 'a1141acea989e6182c53b8a6532029ef8566c00565c1cfdeadc1eff0f1a84e96e233ae80eb80e0aad9e847c8e7638b2fbcbd14b895f77d54275fe79c6e22cf75')
prepare() {
if [ -d build ]
@@ -20,6 +36,16 @@ prepare() {
fi
mkdir build
+
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch --forward --strip=1 --input="${srcdir}/olive-0.1.2-appdata-desktop.patch"
+ patch --forward --strip=1 --input="${srcdir}/olive-0.1.2-cacher.patch"
+ patch --forward --strip=1 --input="${srcdir}/olive-0.1.2-clickablelabel.patch"
+ patch --forward --strip=1 --input="${srcdir}/olive-0.1.2-FlowLayout.patch"
+ patch --forward --strip=1 --input="${srcdir}/olive-0.1.2-proxygenerator.patch"
+ patch --forward --strip=1 --input="${srcdir}/olive-0.1.2-QFontMetrics.patch"
+ patch --forward --strip=1 --input="${srcdir}/olive-0.1.2-QPainterPath.patch"
+ patch --forward --strip=1 --input="${srcdir}/olive-0.1.2-QWheelEvent.patch"
}
build() {
diff --git a/olive-0.1.2-FlowLayout.patch b/olive-0.1.2-FlowLayout.patch
new file mode 100644
index 000000000000..4b67d2baf733
--- /dev/null
+++ b/olive-0.1.2-FlowLayout.patch
@@ -0,0 +1,16 @@
+Description: This patch changes the "FlowLayout::expandingDirections" function according to the new syntax used in Qt 5.15.
+
+<https://doc.qt.io/qt-5.15/qtwidgets-layouts-flowlayout-example.html>
+
+diff --unified --recursive --text olive-0.1.2-orig/ui/flowlayout.cpp olive-0.1.2-new/ui/flowlayout.cpp
+--- olive-0.1.2-orig/ui/flowlayout.cpp 2019-11-11 03:05:02.000000000 -0300
++++ olive-0.1.2-new/ui/flowlayout.cpp 2020-06-23 18:29:57.338203268 -0300
+@@ -114,7 +114,7 @@
+
+ Qt::Orientations FlowLayout::expandingDirections() const
+ {
+- return 0;
++ return { };
+ }
+
+ bool FlowLayout::hasHeightForWidth() const
diff --git a/olive-0.1.2-QFontMetrics.patch b/olive-0.1.2-QFontMetrics.patch
new file mode 100644
index 000000000000..bed45c061f22
--- /dev/null
+++ b/olive-0.1.2-QFontMetrics.patch
@@ -0,0 +1,125 @@
+Description: Qt (QFontMetrics): This patch changes the references of the function "width" (deprecated) to "horizontalAdvance".
+
+<https://doc.qt.io/qt-5.15/qfontmetrics-obsolete.html#width>
+
+diff --unified --recursive --text olive-0.1.2-orig/effects/internal/texteffect.cpp olive-0.1.2-new/effects/internal/texteffect.cpp
+--- olive-0.1.2-orig/effects/internal/texteffect.cpp 2019-11-11 03:05:02.000000000 -0300
++++ olive-0.1.2-new/effects/internal/texteffect.cpp 2020-06-23 17:41:00.714422192 -0300
+@@ -183,11 +183,11 @@
+ if (word_wrap_field->GetBoolAt(timecode)) {
+ for (int i=0;i<lines.size();i++) {
+ QString s(lines.at(i));
+- if (fm.width(s) > width) {
++ if (fm.horizontalAdvance(s) > width) {
+ int last_space_index = 0;
+ for (int j=0;j<s.length();j++) {
+ if (s.at(j) == ' ') {
+- if (fm.width(s.left(j)) > width) {
++ if (fm.horizontalAdvance(s.left(j)) > width) {
+ break;
+ } else {
+ last_space_index = j;
+@@ -211,11 +211,11 @@
+
+ switch (halign_field->GetValueAt(timecode).toInt()) {
+ case Qt::AlignLeft: text_x = 0; break;
+- case Qt::AlignRight: text_x = width - fm.width(lines.at(i)); break;
++ case Qt::AlignRight: text_x = width - fm.horizontalAdvance(lines.at(i)); break;
+ case Qt::AlignJustify:
+ // add spaces until the string is too big
+ text_x = 0;
+- while (fm.width(lines.at(i)) < width) {
++ while (fm.horizontalAdvance(lines.at(i)) < width) {
+ bool space = false;
+ QString spaced(lines.at(i));
+ for (int i=0;i<spaced.length();i++) {
+@@ -228,7 +228,7 @@
+ while (i < spaced.length() && spaced.at(i) == ' ') i++;
+ }
+ }
+- if (fm.width(spaced) > width || !space) {
++ if (fm.horizontalAdvance(spaced) > width || !space) {
+ break;
+ } else {
+ lines[i] = spaced;
+@@ -237,7 +237,7 @@
+ break;
+ case Qt::AlignHCenter:
+ default:
+- text_x = (width/2) - (fm.width(lines.at(i))/2);
++ text_x = (width/2) - (fm.horizontalAdvance(lines.at(i))/2);
+ break;
+ }
+
+diff --unified --recursive --text olive-0.1.2-orig/effects/internal/timecodeeffect.cpp olive-0.1.2-new/effects/internal/timecodeeffect.cpp
+--- olive-0.1.2-orig/effects/internal/timecodeeffect.cpp 2019-11-11 03:05:02.000000000 -0300
++++ olive-0.1.2-new/effects/internal/timecodeeffect.cpp 2020-06-23 17:41:51.815020590 -0300
+@@ -117,7 +117,7 @@
+
+ int text_x, text_y, rect_y, offset_x, offset_y;
+ int text_height = fm.height();
+- int text_width = fm.width(display_timecode);
++ int text_width = fm.horizontalAdvance(display_timecode);
+ QColor background_color = color_bg_val->GetColorAt(timecode);
+ int alpha_val = qCeil(bg_alpha->GetDoubleAt(timecode)*2.55);
+ background_color.setAlpha(alpha_val);
+diff --unified --recursive --text olive-0.1.2-orig/ui/graphview.cpp olive-0.1.2-new/ui/graphview.cpp
+--- olive-0.1.2-orig/ui/graphview.cpp 2019-11-11 03:05:02.000000000 -0300
++++ olive-0.1.2-new/ui/graphview.cpp 2020-06-23 17:38:31.572539882 -0300
+@@ -175,7 +175,7 @@
+ void GraphView::draw_line_text(QPainter &p, bool vert, int line_no, int line_pos, int next_line_pos) {
+ // draws last line's text
+ QString str = QString::number(line_no*kGraphSize);
+- int text_sz = vert ? fontMetrics().height() : fontMetrics().width(str);
++ int text_sz = vert ? fontMetrics().height() : fontMetrics().horizontalAdvance(str);
+ if (text_sz < (next_line_pos - line_pos)) {
+ QRect text_rect = vert ? QRect(0, line_pos-50, 50, 50) : QRect(line_pos, height()-50, 50, 50);
+ p.drawText(text_rect, Qt::AlignBottom | Qt::AlignLeft, str);
+diff --unified --recursive --text olive-0.1.2-orig/ui/sourceiconview.cpp olive-0.1.2-new/ui/sourceiconview.cpp
+--- olive-0.1.2-orig/ui/sourceiconview.cpp 2019-11-11 03:05:02.000000000 -0300
++++ olive-0.1.2-new/ui/sourceiconview.cpp 2020-06-23 17:42:48.155657141 -0300
+@@ -140,7 +140,7 @@
+ painter->setPen(text_fgcolor);
+
+ QString duration_str = index.data(Qt::UserRole).toString();
+- int timecode_width = fm.width(duration_str);
++ int timecode_width = fm.horizontalAdvance(duration_str);
+ int max_name_width = option.rect.width();
+
+ if (timecode_width < option.rect.width() / 2) {
+diff --unified --recursive --text olive-0.1.2-orig/ui/timelineheader.cpp olive-0.1.2-new/ui/timelineheader.cpp
+--- olive-0.1.2-orig/ui/timelineheader.cpp 2019-11-11 03:05:02.000000000 -0300
++++ olive-0.1.2-new/ui/timelineheader.cpp 2020-06-23 17:43:45.496282517 -0300
+@@ -390,7 +390,7 @@
+ bool draw_text = false;
+ if (text_enabled && lineX-textWidth > lastTextBoundary) {
+ timecode = frame_to_timecode(frame + in_visible, olive::CurrentConfig.timecode_view, viewer->seq->frame_rate);
+- fullTextWidth = fm.width(timecode);
++ fullTextWidth = fm.horizontalAdvance(timecode);
+ textWidth = fullTextWidth>>1;
+
+ text_x = lineX;
+diff --unified --recursive --text olive-0.1.2-orig/ui/timelinewidget.cpp olive-0.1.2-new/ui/timelinewidget.cpp
+--- olive-0.1.2-orig/ui/timelinewidget.cpp 2019-11-11 03:05:02.000000000 -0300
++++ olive-0.1.2-new/ui/timelinewidget.cpp 2020-06-23 17:39:05.582988929 -0300
+@@ -3162,7 +3162,7 @@
+ }
+ if (clip->linked.size() > 0) {
+ int underline_y = olive::timeline::kClipTextPadding + p.fontMetrics().height() + clip_rect.top();
+- int underline_width = qMin(text_rect.width() - 1, p.fontMetrics().width(clip->name()));
++ int underline_width = qMin(text_rect.width() - 1, p.fontMetrics().horizontalAdvance(clip->name()));
+ p.drawLine(text_rect.x(), underline_y, text_rect.x() + underline_width, underline_y);
+ }
+ QString name = clip->name();
+diff --unified --recursive --text olive-0.1.2-orig/ui/viewerwindow.cpp olive-0.1.2-new/ui/viewerwindow.cpp
+--- olive-0.1.2-orig/ui/viewerwindow.cpp 2019-11-11 03:05:02.000000000 -0300
++++ olive-0.1.2-new/ui/viewerwindow.cpp 2020-06-23 17:44:21.156661091 -0300
+@@ -172,7 +172,7 @@
+ p.setPen(Qt::white);
+ p.setBrush(QColor(0, 0, 0, 128));
+
+- int text_width = fm.width(fs_str);
++ int text_width = fm.horizontalAdvance(fs_str);
+ int text_x = (width()/2)-(text_width/2);
+ int text_y = fm.height()+fm.ascent();
+
diff --git a/olive-0.1.2-QPainterPath.patch b/olive-0.1.2-QPainterPath.patch
new file mode 100644
index 000000000000..748cc3a0fd70
--- /dev/null
+++ b/olive-0.1.2-QPainterPath.patch
@@ -0,0 +1,47 @@
+Description: This patch corrects an error when compiling with the Qt 5.15 library,
+ including the "QPainterPath" class in the files that need it.
+
+diff --unified --recursive --text olive-0.1.2-orig/effects/internal/texteffect.cpp olive-0.1.2-new/effects/internal/texteffect.cpp
+--- olive-0.1.2-orig/effects/internal/texteffect.cpp 2019-11-11 03:05:02.000000000 -0300
++++ olive-0.1.2-new/effects/internal/texteffect.cpp 2020-06-23 03:57:45.377783457 -0300
+@@ -25,6 +25,7 @@
+ #include <QOpenGLTexture>
+ #include <QTextEdit>
+ #include <QPainter>
++#include <QPainterPath>
+ #include <QPushButton>
+ #include <QColorDialog>
+ #include <QFontDatabase>
+diff --unified --recursive --text olive-0.1.2-orig/effects/internal/timecodeeffect.cpp olive-0.1.2-new/effects/internal/timecodeeffect.cpp
+--- olive-0.1.2-orig/effects/internal/timecodeeffect.cpp 2019-11-11 03:05:02.000000000 -0300
++++ olive-0.1.2-new/effects/internal/timecodeeffect.cpp 2020-06-23 05:44:58.589605133 -0300
+@@ -25,6 +25,7 @@
+ #include <QOpenGLTexture>
+ #include <QTextEdit>
+ #include <QPainter>
++#include <QPainterPath>
+ #include <QPushButton>
+ #include <QColorDialog>
+ #include <QFontDatabase>
+diff --unified --recursive --text olive-0.1.2-orig/ui/graphview.cpp olive-0.1.2-new/ui/graphview.cpp
+--- olive-0.1.2-orig/ui/graphview.cpp 2019-11-11 03:05:02.000000000 -0300
++++ olive-0.1.2-new/ui/graphview.cpp 2020-06-23 05:48:06.800458024 -0300
+@@ -21,6 +21,7 @@
+ #include "graphview.h"
+
+ #include <QPainter>
++#include <QPainterPath>
+ #include <QMouseEvent>
+ #include <QtMath>
+ #include <cfloat>
+diff --unified --recursive --text olive-0.1.2-orig/ui/timelineheader.cpp olive-0.1.2-new/ui/timelineheader.cpp
+--- olive-0.1.2-orig/ui/timelineheader.cpp 2019-11-11 03:05:02.000000000 -0300
++++ olive-0.1.2-new/ui/timelineheader.cpp 2020-06-23 05:48:36.440594616 -0300
+@@ -21,6 +21,7 @@
+ #include "timelineheader.h"
+
+ #include <QPainter>
++#include <QPainterPath>
+ #include <QMouseEvent>
+ #include <QScrollBar>
+ #include <QtMath>
diff --git a/olive-0.1.2-QWheelEvent.patch b/olive-0.1.2-QWheelEvent.patch
new file mode 100644
index 000000000000..ed3ade1a8213
--- /dev/null
+++ b/olive-0.1.2-QWheelEvent.patch
@@ -0,0 +1,25 @@
+Description: Qt (QFontMetrics): This patch changes the references of the function "pos" (deprecated) to "position".
+
+<https://doc.qt.io/qt-5.15/qwheelevent-obsolete.html#pos>
+
+diff --unified --recursive --text olive-0.1.2-orig/ui/graphview.cpp olive-0.1.2-new/ui/graphview.cpp
+--- olive-0.1.2-orig/ui/graphview.cpp 2019-11-11 03:05:02.000000000 -0300
++++ olive-0.1.2-new/ui/graphview.cpp 2020-06-23 17:55:37.852888364 -0300
+@@ -795,7 +795,7 @@
+ new_y_zoom = y_zoom + (zoom_diff * (delta_v / 120.0));
+
+ // Center zoom around the mouse cursor vertically
+- int true_mouse_y = height()-event->pos().y();
++ int true_mouse_y = height()-event->position().y();
+ set_scroll_y(qRound((double(y_scroll + true_mouse_y) / y_zoom) * new_y_zoom) - true_mouse_y);
+
+ redraw = true;
+@@ -807,7 +807,7 @@
+ new_x_zoom = x_zoom + (zoom_diff * (delta_h / 120.0));
+
+ // Center zoom around the mouse cursor horizontally
+- set_scroll_x(qRound((double(x_scroll + event->pos().x()) / x_zoom) * new_x_zoom) - event->pos().x());
++ set_scroll_x(qRound((double(x_scroll + event->position().x()) / x_zoom) * new_x_zoom) - event->position().x());
+
+ redraw = true;
+ }
diff --git a/olive-0.1.2-appdata-desktop.patch b/olive-0.1.2-appdata-desktop.patch
new file mode 100644
index 000000000000..fae1e2ad9c09
--- /dev/null
+++ b/olive-0.1.2-appdata-desktop.patch
@@ -0,0 +1,32 @@
+Description: This patch updates the "appdata" and "desktop" files used by Olive.
+
+- Linux/appdata: update release
+<https://github.com/olive-editor/olive/commit/30747af47eebdd18f2280fa992d634ff2d5bd60d>
+
+- Linux/.desktop: add %f
+<https://github.com/olive-editor/olive/commit/4bc54930b95033af10ceb71e4b53188f9523e1be>
+
+diff --unified --recursive --text olive-0.1.2-orig/packaging/linux/org.olivevideoeditor.Olive.appdata.xml olive-0.1.2-new/packaging/linux/org.olivevideoeditor.Olive.appdata.xml
+--- olive-0.1.2-orig/packaging/linux/org.olivevideoeditor.Olive.appdata.xml 2019-11-11 03:05:02.000000000 -0300
++++ olive-0.1.2-new/packaging/linux/org.olivevideoeditor.Olive.appdata.xml 2020-06-23 22:02:58.793224798 -0300
+@@ -31,7 +31,6 @@
+ </screenshots>
+ <content_rating type="oars-1.1" />
+ <releases>
+- <release version="20181223" date="2018-12-23"></release>
+- <release version="20181130" date="2018-11-30"></release>
++ <release version="0.1.2" date="2019-11-11"/>
+ </releases>
+ </component>
+diff --unified --recursive --text olive-0.1.2-orig/packaging/linux/org.olivevideoeditor.Olive.desktop olive-0.1.2-new/packaging/linux/org.olivevideoeditor.Olive.desktop
+--- olive-0.1.2-orig/packaging/linux/org.olivevideoeditor.Olive.desktop 2019-11-11 03:05:02.000000000 -0300
++++ olive-0.1.2-new/packaging/linux/org.olivevideoeditor.Olive.desktop 2020-06-23 22:03:16.533367553 -0300
+@@ -3,7 +3,7 @@
+ Comment=Professional open-source non-linear video editor
+ Comment[it]=Programma di montaggio video professionale open-source
+ Comment[id]=Aplikasi edit video yang non-linier, profesional serta sumbernya terbuka.
+-Exec=olive-editor
++Exec=olive-editor %f
+ Icon=org.olivevideoeditor.Olive
+ Terminal=false
+ Type=Application
diff --git a/olive-0.1.2-cacher.patch b/olive-0.1.2-cacher.patch
new file mode 100644
index 000000000000..52acf2e69c75
--- /dev/null
+++ b/olive-0.1.2-cacher.patch
@@ -0,0 +1,28 @@
+Description: FFMpeg (AVFrame) - This patch changes the field "pkt_pts" (deprecated) to "pts" in the source code.
+
+<https://lists.ffmpeg.org/pipermail/ffmpeg-cvslog/2016-October/102365.html>
+
+diff --unified --recursive --text olive-0.1.2-orig/rendering/cacher.cpp olive-0.1.2-new/rendering/cacher.cpp
+--- olive-0.1.2-orig/rendering/cacher.cpp 2019-11-11 03:05:02.000000000 -0300
++++ olive-0.1.2-new/rendering/cacher.cpp 2020-06-23 16:08:47.307076532 -0300
+@@ -254,7 +254,7 @@
+ dout << "starting rev_frame";
+ #endif
+ rev_frame->nb_samples = 0;
+- rev_frame->pts = frame_->pkt_pts;
++ rev_frame->pts = frame_->pts;
+ }
+ int offset = rev_frame->nb_samples * av_get_bytes_per_sample(static_cast<AVSampleFormat>(rev_frame->format)) * rev_frame->channels;
+ #ifdef AUDIOWARNINGS
+@@ -277,9 +277,9 @@
+ /*
+ #ifdef AUDIOWARNINGS
+ dout << "time for the end of rev cache" << rev_frame->nb_samples << clip->rev_target << frame_->pts << frame_->pkt_duration << frame_->nb_samples;
+- dout << "diff:" << (frame_->pkt_pts + frame_->pkt_duration) - clip->rev_target;
++ dout << "diff:" << (frame_->pts + frame_->pkt_duration) - clip->rev_target;
+ #endif
+- int cutoff = qRound64((((frame_->pkt_pts + frame_->pkt_duration) - reverse_target) * timebase) * audio_output->format().sampleRate());
++ int cutoff = qRound64((((frame_->pts + frame_->pkt_duration) - reverse_target) * timebase) * audio_output->format().sampleRate());
+ if (cutoff > 0) {
+ #ifdef AUDIOWARNINGS
+ dout << "cut off" << cutoff << "samples (rate:" << audio_output->format().sampleRate() << ")";
diff --git a/olive-0.1.2-clickablelabel.patch b/olive-0.1.2-clickablelabel.patch
new file mode 100644
index 000000000000..5b8adb1ea777
--- /dev/null
+++ b/olive-0.1.2-clickablelabel.patch
@@ -0,0 +1,18 @@
+Description: This patch changes the value of Qt::WindowFlags to a constant, instead of an integer.
+
+<https://doc.qt.io/qt-5/qt.html#WindowType-enum>
+
+diff --unified --recursive --text olive-0.1.2-orig/ui/clickablelabel.h olive-0.1.2-new/ui/clickablelabel.h
+--- olive-0.1.2-orig/ui/clickablelabel.h 2019-11-11 03:05:02.000000000 -0300
++++ olive-0.1.2-new/ui/clickablelabel.h 2020-06-23 14:12:08.786765041 -0300
+@@ -31,8 +31,8 @@
+ class ClickableLabel : public QLabel {
+ Q_OBJECT
+ public:
+- ClickableLabel(QWidget * parent = 0, Qt::WindowFlags f = 0);
+- ClickableLabel(const QString & text, QWidget * parent = 0, Qt::WindowFlags f = 0);
++ ClickableLabel(QWidget * parent = 0, Qt::WindowFlags f = Qt::Widget);
++ ClickableLabel(const QString & text, QWidget * parent = 0, Qt::WindowFlags f = Qt::Widget);
+ void mousePressEvent(QMouseEvent *ev);
+ signals:
+ void clicked();
diff --git a/olive-0.1.2-proxygenerator.patch b/olive-0.1.2-proxygenerator.patch
new file mode 100644
index 000000000000..eef67d8b0c6b
--- /dev/null
+++ b/olive-0.1.2-proxygenerator.patch
@@ -0,0 +1,21 @@
+Description: This patch creates a structure to capture the return of function "avformat_write_header"
+ and make the appropriate treatment if the execution fails.
+
+diff --unified --recursive --text olive-0.1.2-orig/project/proxygenerator.cpp olive-0.1.2-new/project/proxygenerator.cpp
+--- olive-0.1.2-orig/project/proxygenerator.cpp 2019-11-11 03:05:02.000000000 -0300
++++ olive-0.1.2-new/project/proxygenerator.cpp 2020-06-23 21:07:29.808353198 -0300
+@@ -167,7 +167,13 @@
+ }
+
+ // write video header
+- avformat_write_header(output_fmt_ctx, nullptr);
++ int error_code;
++ error_code = avformat_write_header(output_fmt_ctx, nullptr);
++ if (error_code < 0) {
++ qWarning() << "Failed to write video header";
++ cancelled = true;
++ skip = true;
++ }
+
+ // packet that av_read_frame will dump file packets into
+ AVPacket packet;