commit 78bd08e5e2469215b1402ec59378cfc9d14dd5c3
Author: Martin Gansser <mgansser(a)online.de>
Date: Sat Oct 28 10:54:08 2017 +0200
Initial import)
.gitignore | 1 +
mlt_path.patch | 11 +++
shotcut-desktopfile.patch | 17 ++++
shotcut-noupdatecheck.patch | 48 +++++++++++
shotcut.appdata.xml | 48 +++++++++++
shotcut.spec | 202 ++++++++++++++++++++++++++++++++++++++++++++
sources | 1 +
7 files changed, 328 insertions(+)
---
diff --git a/.gitignore b/.gitignore
index e69de29..7ce2d7c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/shotcut-17.10.tar.gz
diff --git a/mlt_path.patch b/mlt_path.patch
new file mode 100644
index 0000000..6007da8
--- /dev/null
+++ b/mlt_path.patch
@@ -0,0 +1,11 @@
+--- src/jobs/meltjob.cpp 2016-06-30 21:45:33.000000000 -0600
++++ meltjob-2.cpp 2016-07-12 22:54:00.360113879 -0600
+@@ -54,7 +54,7 @@
+ #ifdef Q_OS_WIN
+ QFileInfo meltPath(shotcutPath, "qmelt.exe");
+ #else
+- QFileInfo meltPath(shotcutPath, "qmelt");
++ QFileInfo meltPath(shotcutPath, "mlt-melt");
+ #endif
+ setReadChannel(QProcess::StandardError);
+ QStringList args;
diff --git a/shotcut-desktopfile.patch b/shotcut-desktopfile.patch
new file mode 100644
index 0000000..c0e5133
--- /dev/null
+++ b/shotcut-desktopfile.patch
@@ -0,0 +1,17 @@
+--- snap/gui/shotcut.desktop.orig 2017-10-08 11:26:54.145676494 +0200
++++ snap/gui/shotcut.desktop 2017-10-08 11:28:36.473673370 +0200
+@@ -1,10 +1,13 @@
+ [Desktop Entry]
+ Type=Application
+ Name=Shotcut
++Name[de]=Shotcut
+ GenericName=Video Editor
++GenericName[de]=Video Bearbeitungsprogramm
+ Comment=Free, cross-platform, open source video editor
++Comment[de]=Programm zum Bearbeiten und Abspielen von Videodateien.
+ Exec=shotcut %F
+-Icon=${SNAP}/meta/gui/shotcut-logo-64.png
++Icon=shotcut
+ Terminal=false
+ Categories=AudioVideo;Video;AudioVideoEditing;
+
MimeType=application/ogg;application/x-ogg;audio/ogg;audio/x-vorbis;audio/x-vorbis+ogg;video/ogg;video/x-ogm+ogg;video/x-theora+ogg;video/x-theora;audio/x-speex;audio/opus;application/x-flac;audio/flac;audio/x-flac;audio/x-ms-asf;audio/x-ms-asx;audio/x-ms-wax;audio/x-ms-wma;video/x-ms-asf;video/x-ms-asf-plugin;video/x-ms-asx;video/x-ms-wm;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvx;video/x-msvideo;audio/x-pn-windows-acm;video/divx;video/msvideo;video/vnd.divx;video/x-avi;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;audio/vnd.rn-realaudio;audio/x-pn-realaudio;audio/x-pn-realaudio-plugin;audio/x-real-audio;audio/x-realaudio;video/vnd.rn-realvideo;audio/mpeg;audio/mpg;audio/mp1;audio/mp2;audio/mp3;audio/x-mp1;audio/x-mp2;audio/x-mp3;audio/x-mpeg;audio/x-mpg;video/mp2t;video/mpeg;video/mpeg-system;video/x-mpeg;video/x-mpeg2;video/x-mpeg-system;application/mpeg4-iod;application/mpeg4-muxcodetable;application/x-extension-m4a;application/x-extension-mp4;audio/aac;audio/m
4a;audio/mp4;audio/x-m4a;audio/x-aac;video/mp4;video/mp4v-es;video/x-m4v;application/x-quicktime-media-link;application/x-quicktimeplayer;video/quicktime;application/x-matroska;audio/x-matroska;video/x-matroska;video/webm;audio/webm;audio/3gpp;audio/3gpp2;audio/AMR;audio/AMR-WB;audio/amr;audio/amr-wb;video/3gp;video/3gpp;video/3gpp2;x-scheme-handler/mms;x-scheme-handler/mmsh;x-scheme-handler/rtsp;x-scheme-handler/rtp;x-scheme-handler/rtmp;x-scheme-handler/icy;x-scheme-handler/icyx;x-content/video-vcd;x-content/video-svcd;x-content/video-dvd;x-content/audio-cdda;x-content/audio-player;application/x-cd-image;application/ram;application/xspf+xml;audio/mpegurl;audio/x-mpegurl;audio/scpls;audio/x-scpls;text/google-video-pointer;text/x-google-video-pointer;video/vnd.mpegurl;application/vnd.apple.mpegurl;application/vnd.ms-asf;application/vnd.ms-wpl;application/sdp;audio/dv;video/dv;audio/x-aiff;audio/x-pn-aiff;video/x-anim;video/x-nsv;video/fli;video/flv;video/x-flc;video/x-fli;video/x-fl
v;audio/wav;audio/x-pn-au;audio/x-pn-wav;audio/x-wav;audio/ac3;audio/eac3;audio/vnd.dts;audio/vnd.dts.hd;audio/vnd.dolby.heaac.1;audio/vnd.dolby.heaac.2;audio/vnd.dolby.mlp;audio/basic;audio/midi;audio/x-ape;audio/x-gsm;audio/x-musepack;audio/x-tta;audio/x-wavpack;audio/x-shorten;application/x-shockwave-flash;application/x-flash-video;misc/ultravox;image/vnd.rn-realpix;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-xm;application/mxf;application/xml;
diff --git a/shotcut-noupdatecheck.patch b/shotcut-noupdatecheck.patch
new file mode 100644
index 0000000..fb4031d
--- /dev/null
+++ b/shotcut-noupdatecheck.patch
@@ -0,0 +1,48 @@
+Index: src/mainwindow.cpp
+===================================================================
+--- src/mainwindow.cpp.orig 2017-09-27 16:35:35.513234656 +0200
++++ src/mainwindow.cpp 2017-09-27 16:39:58.954253733 +0200
+@@ -1882,9 +1882,9 @@
+ windowHandle()->installEventFilter(this);
+
+ if (!Settings.noUpgrade() &&
!qApp->property("noupgrade").toBool()) {
+- QAction* action = new QAction(tr("Click here to check for a new version of
Shotcut."), 0);
+- connect(action, SIGNAL(triggered(bool)), SLOT(on_actionUpgrade_triggered()));
+- showStatusMessage(action, 10 /* seconds */);
++ //QAction* action = new QAction(tr("Click here to check for a new version
of Shotcut."), 0);
++ //connect(action, SIGNAL(triggered(bool)), SLOT(on_actionUpgrade_triggered()));
++ //showStatusMessage(action, 10 /* seconds */);
+ }
+ }
+
+@@ -2890,7 +2890,7 @@
+ void MainWindow::on_actionUpgrade_triggered()
+ {
+ showStatusMessage("Checking for upgrade...");
+-
m_network.get(QNetworkRequest(QUrl("http://check.shotcut.org/version...;
++
m_network.get(QNetworkRequest(QUrl("file:///usr/share/shotcut/version.json")));
+ }
+
+ void MainWindow::on_actionOpenXML_triggered()
+@@ -3022,7 +3022,7 @@
+ m_upgradeUrl = json.object().value("url").toString();
+ showStatusMessage(action, 10 /* seconds */);
+ } else {
+- showStatusMessage(tr("You are running the latest version of
Shotcut."));
++ showStatusMessage(tr("Use dnf for updates."));
+ }
+ reply->deleteLater();
+ return;
+Index: src/src.pro
+===================================================================
+--- src/src.pro.orig 2017-08-02 07:41:40.000000000 +0200
++++ src/src.pro 2017-08-05 06:23:17.818576703 +0200
+@@ -324,7 +324,7 @@ debug_and_release {
+ LIBS += -lLogger -lmvcp -lpthread
+
+ isEmpty(SHOTCUT_VERSION) {
+- !win32:SHOTCUT_VERSION = $$system(date "+%y.%m.%d")
++ !win32:SHOTCUT_VERSION = $$_VSTRING
+ win32:SHOTCUT_VERSION = adhoc
+ }
+ DEFINES += SHOTCUT_VERSION=\\\"$$SHOTCUT_VERSION\\\"
diff --git a/shotcut.appdata.xml b/shotcut.appdata.xml
new file mode 100644
index 0000000..05565d4
--- /dev/null
+++ b/shotcut.appdata.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<component type="desktop">
+ <id>shotcut.desktop</id>
+ <metadata_license>CC0-1.0</metadata_license>
+ <project_license>GPLv3</project_license>
+ <name>Shotcut</name>
+ <summary>A free, open source, cross-platform **video editor**</summary>
+ <description>
+ <p>
+ Shotcut is a free and open-source cross-platform video editing application for
+ Windows, OS X, and Linux.
+
+ Shotcut supports many video, audio, and image formats via FFmpeg and screen,
+ webcam, and audio capture. It uses a time-line for non-linear video editing of
+ multiple tracks that may be composed of various file formats. Scrubbing and
+ transport control are assisted by OpenGL GPU-based processing and a number of
+ video and audio filters are available.
+ </p>
+ </description>
+ <screenshots>
+ <screenshot type="default">
+ <
image>https://www.shotcut.org/assets/img/pro-formats.png</image>
+ <caption>Wide Format Support</caption>
+ </screenshot>
+ <screenshot>
+ <
image>https://www.shotcut.org/assets/img/waveforms.png</image>
+ <caption>Audio Features</caption>
+ </screenshot>
+ <screenshot>
+
<
image>https://www.shotcut.org/assets/img/shotcut_mac_monitor.png</i...
+ <caption>Video Effects</caption>
+ </screenshot>
+ <screenshot>
+ <
image>https://www.shotcut.org/assets/img/editing-group.jpg</image>
+ <caption>Editing Features</caption>
+ </screenshot>
+ <screenshot>
+
<
image>https://www.shotcut.org/assets/img/external-monitoring.png</i...
+ <caption>Display and Monitoring</caption>
+ </screenshot>
+ </screenshots>
+ <url type="homepage">https://www.shotcut.org</url>
+ <update_contact>anonbeat(a)gmail.com</update_contact>
+
+ <url type="bugtracker">https://forum.shotcut.org</url>
+
+ <url
type="help">https://web.archive.org/web/20050401015503/http:...
+</component>
diff --git a/shotcut.spec b/shotcut.spec
new file mode 100644
index 0000000..f5084a0
--- /dev/null
+++ b/shotcut.spec
@@ -0,0 +1,202 @@
+# This package creates a build time version from the current date and uses it to check
+# for updates. See patch2 and prep/build section.
+%define _vstring %(echo %{version} |tr -d ".")
+
+Name: shotcut
+Version: 17.10
+Release: 1%{dist}
+Summary: A free, open source, cross-platform video editor
+# The entire source code is GPLv3+ except mvcp/ which is LGPLv2+
+License: GPLv3+ and LGPLv2+
+URL:
http://www.shotcut.org/
+Source0:
https://github.com/mltframework/shotcut/archive/v%{version}.tar.gz#/%{nam...
+#
https://forum.shotcut.org/t/appdata-xml-file-for-gnome-software-center/2742
+Source1: %{name}.appdata.xml
+# Melt patch /usr/bin/mlt-melt
+Patch0: mlt_path.patch
+# shotcut-desktopfile.patch -- Fix icon path
+Patch1: shotcut-desktopfile.patch
+# shotcut-noupdatecheck.patch -- Disable automatic update check
+Patch2: shotcut-noupdatecheck.patch
+
+BuildRequires: gcc-c++
+BuildRequires: desktop-file-utils
+BuildRequires: doxygen
+BuildRequires: libappstream-glib
+BuildRequires: pkgconfig(Qt5Concurrent)
+BuildRequires: pkgconfig(Qt5Core) >= 5.9.2
+BuildRequires: pkgconfig(Qt5Gui)
+BuildRequires: pkgconfig(Qt5Multimedia)
+BuildRequires: pkgconfig(Qt5Network)
+BuildRequires: pkgconfig(Qt5OpenGL)
+BuildRequires: pkgconfig(Qt5PrintSupport)
+BuildRequires: pkgconfig(Qt5Quick)
+BuildRequires: pkgconfig(Qt5WebKitWidgets)
+BuildRequires: pkgconfig(Qt5WebSockets)
+BuildRequires: pkgconfig(Qt5X11Extras)
+BuildRequires: pkgconfig(Qt5Xml)
+BuildRequires: qt5-linguist
+BuildRequires: pkgconfig(mlt++)
+BuildRequires: pkgconfig(mlt-framework)
+BuildRequires: x264-devel
+BuildRequires: webvfx-devel
+
+# mlt-freeworld is compellingly necessary otherwise shotcut coredumps
+Requires: qt5-qtquickcontrols
+Requires: qt5-qtgraphicaleffects
+Requires: qt5-qtmultimedia
+Requires: gstreamer1-plugins-bad-free-extras
+Requires: frei0r-plugins
+Requires: ladspa
+Requires: mlt-freeworld
+Requires: lame
+Requires: ffmpeg
+
+%description
+Shotcut is a free and open-source cross-platform video editing application for
+Windows, OS X, and Linux.
+
+Shotcut supports many video, audio, and image formats via FFmpeg and screen,
+webcam, and audio capture. It uses a time-line for non-linear video editing of
+multiple tracks that may be composed of various file formats. Scrubbing and
+transport control are assisted by OpenGL GPU-based processing and a number of
+video and audio filters are available.
+
+%package doc
+Summary: Documentation files for %{name}
+BuildArch: noarch
+
+%description doc
+The %{name}-doc package contains html documentation
+that use %{name}.
+
+%define lang_subpkg() \
+%package langpack-%{1}\
+Summary: %{2} language data for %{name}\
+BuildArch: noarch \
+Requires: %{name} = %{version}-%{release}\
+Supplements: (%{name} = %{version}-%{release} and langpacks-%{1})\
+\
+%description langpack-%{1}\
+%{2} language data for %{name}.\
+\
+%files langpack-%{1}\
+%{_datadir}/%{name}/translations/%{name}_%{1}*.qm
+
+%lang_subpkg ca Catalan
+%lang_subpkg cs Czech
+%lang_subpkg da Danish
+%lang_subpkg de German
+%lang_subpkg el Greek
+%lang_subpkg en English
+%lang_subpkg es Spanish
+%lang_subpkg fr French
+%lang_subpkg gd "(Scottish Gaelic)"
+%lang_subpkg hu Hungarian
+%lang_subpkg it Italian
+%lang_subpkg ja Japanese
+%lang_subpkg nb Norwegian
+%lang_subpkg nl Dutch
+%lang_subpkg oc Occitan
+%lang_subpkg pl Polish
+%lang_subpkg pt_BR "Portuguese (Brazil)"
+%lang_subpkg pt_PT "Portuguese (Portugal)"
+%lang_subpkg ru Russian
+%lang_subpkg sk Slovakian
+%lang_subpkg sl Slovenian
+%lang_subpkg tr Turkish
+%lang_subpkg uk Ukrainian
+%lang_subpkg zh_CN "Chinese (S)"
+%lang_subpkg zh_TW "Chinese (T)"
+
+%prep
+%autosetup -p0
+
+# Create version.json from current version
+echo "{" > version.json
+echo " \"version_number\": %{_vstring}02," >> version.json
+echo " \"version_string\": \"%{version}.02\"," >>
version.json
+echo " \"url\":
\"https://shotcut.org/blog/new-release-%{_vstring}/\"" >>
version.json
+echo "}" >> version.json
+echo "" >> version.json
+
+# Postmortem debugging tools for MinGW.
+rm -rf drmingw
+
+%build
+export _VSTRING="%{version}.02"
+%{qmake_qt5} _VSTRING="%{version}.02" \
+ PREFIX=%{buildroot}%{_prefix}
+%make_build
+
+# update Doxyfile
+doxygen -u CuteLogger/Doxyfile
+# build docs
+doxygen CuteLogger/Doxyfile
+
+%install
+%make_install
+install -D icons/%{name}-logo-64.png %{buildroot}/%{_datadir}/pixmaps/%{name}.png
+install -Dm644 %{S:1} %{buildroot}/%{_datadir}/appdata/%{name}.appdata.xml
+install -Dm644 snap/gui/%{name}.desktop
%{buildroot}%{_datadir}/applications/%{name}.desktop
+chmod a+x %{buildroot}/%{_datadir}/shotcut/qml/export-edl/rebuild.sh
+
+# Install language files
+langlist="$PWD/%{name}.lang"
+langdir="%{_datadir}/%{name}/translations"
+basedir=$(basename "$langdir")
+pushd $basedir
+ for ts in *.ts; do
+ [ -e "$ts" ] || continue
+ lupdate-qt5 "$ts" && lrelease-qt5 "$ts"
+ done
+ for qm in *.qm; do
+ [ -e "$qm" ] || continue
+ if ! grep -wqs "%dir\ $langdir" "$langlist"; then
+ echo "%dir $langdir" >>"$langlist"
+ fi
+ install -Dm0644 "$qm" "%{buildroot}/$langdir/$qm"
+ lang="${qm%.qm}"
+ echo "%lang($lang) $langdir/$qm" >>"$langlist"
+ done
+popd
+cp -v version.json %{buildroot}%{_datadir}/%{name}
+
+# fixes E: script-without-shebang
+chmod a-x
%{buildroot}%{_datadir}/%{name}/qml/filters/webvfx_ruttetraizer/ruttetraizer.html
+chmod a-x %{buildroot}%{_datadir}/%{name}/qml/filters/webvfx_ruttetraizer/three.js
+
+# fixes E: wrong-script-end-of-line-encoding
+sed -i 's/\r$//' src/mvcp/{qconsole.h,qconsole.cpp}
+
+# fixes W: spurious-executable-perm
+chmod a-x src/mvcp/{qconsole.cpp,qconsole.h}
+
+%check
+desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
+appstream-util validate-relax --nonet
%{buildroot}/%{_datadir}/appdata/%{name}.appdata.xml
+
+%files
+%doc README.md
+%license COPYING
+%{_bindir}/%{name}
+%{_datadir}/%{name}/
+%exclude %{_datadir}/%{name}/translations
+%{_datadir}/pixmaps/%{name}.png
+%{_datadir}/applications/%{name}.desktop
+%{_datadir}/appdata/%{name}.appdata.xml
+
+%files doc
+%license COPYING
+%doc doc
+
+%changelog
+* Sat Oct 14 2017 Martin Gansser <martinkg(a)fedoraproject.org> - 17.10-1
+- Update to 17.10
+- pkgconfig(Qt5Core) >= 5.9.2 is required
+- Add LGPLv2+ to license and comment
+- Build Doxygen html documentation
+- Add BR doxygen
+
+* Fri Sep 08 2017 Martin Gansser <martinkg(a)fedoraproject.org> - 17.09-1
+- Initial build
diff --git a/sources b/sources
index e69de29..0019d42 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+a5a27b2b4bfaf150aaa746d7959fc8a1 shotcut-17.10.tar.gz