diff --git a/media-video/subtitlecomposer/additional-files/subtitlecomposer.rdef.in b/media-video/subtitlecomposer/additional-files/subtitlecomposer.rdef.in new file mode 100644 index 000000000..cd8698651 --- /dev/null +++ b/media-video/subtitlecomposer/additional-files/subtitlecomposer.rdef.in @@ -0,0 +1,39 @@ + +resource app_flags B_MULTIPLE_LAUNCH; + +resource app_version { + major = @MAJOR@, + middle = @MIDDLE@, + minor = @MINOR@, + + variety = B_APPV_FINAL, + internal = 0, + + short_info = "SubtitleComposer", + long_info = "@LONG_INFO@" +}; + +resource app_signature "@APP_SIGNATURE@"; + +resource vector_icon { + $"6E6369660E03010000020016023CC7EE389BC0BA16573E39B04977C842ADC700" + $"FFFFD3020006023C529D3753A2B8966F3D9D084B6044496AAF00474747FFA5A0" + $"A002001602BC4E76BC411B3C90DABCA00D47587D4ABA850090FFD40200160238" + $"313C3B5CF0BFCD963C7AAC4C13943FCAF901ECFFC3054B04017E020106023E1C" + $"1538010FB7C32B3DF5E649B8BE48DD4A000593DCFF00337F020006023879063B" + $"8224BE2CC83B10DB4A1F6F49B89400242222FF9A9A9A020006033C69A6000000" + $"0000003E186148800049800000D4CECE58F3F3F3FFD9D9D9038DFF0605000200" + $"1602B2E4F7386B91BA78F7B4F4FD49FBA94AE12500CEFF66020006023A4C6A3A" + $"09F4BC281C3C6E69490DBE4A7BF00075CFFFFF0A84C3140A062E262E4B4C5A56" + $"50562C38220A064C5C545C604FCA1BC4875C4A58480A042E264C32562C38220A" + $"044C324C5A5650562C0A042E262E4B4C5A4C320A044934494E3043302A0A04BA" + $"29C0273043302ABA30B7540A04494B494E304332410A044934494B3241BA30B7" + $"540A043E25432252264D2A08043E2543225226522C0A034D2A5226522C080246" + $"4F47C5ED0A043246324A4453444E0A04344834494250424E08025436503A0A08" + $"265A304636463B5ABB445A34562D562B5A0A032E543354324C0A08265A304636" + $"463B5ABB445A34562D562B5A0A032E543354324C100A060101000A00010A1001" + $"178400040A040109000A05010B000A0001001001178400040A010102000A0201" + $"03000A03020405000A070108000A080106000A090107000A0A010C1815FF0117" + $"8220040A05010D000A0C010E000A0B021011301E2301178400040A0D02121320" + $"1E23" +}; diff --git a/media-video/subtitlecomposer/patches/subtitlecomposer-0.7.0.patchset b/media-video/subtitlecomposer/patches/subtitlecomposer-0.7.0.patchset new file mode 100644 index 000000000..41b6b33e0 --- /dev/null +++ b/media-video/subtitlecomposer/patches/subtitlecomposer-0.7.0.patchset @@ -0,0 +1,48 @@ +From b74e4c7e1d7a5f53ec3f5eb6623ff442149b11ba Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Tue, 15 Oct 2019 20:49:48 +1000 +Subject: Use system iconset + + +diff --git a/src/main.cpp b/src/main.cpp +index dd29dfa..d1a4ffd 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -54,9 +54,11 @@ main(int argc, char **argv) + QIcon::setThemeSearchPaths(QIcon::themeSearchPaths() << QDir(qApp->applicationDirPath()) + .absoluteFilePath(QDir(QStringLiteral(SC_INSTALL_BIN)).relativeFilePath(QStringLiteral(CUSTOM_ICON_INSTALL_PATH)))); + ++#ifndef __HAIKU__ + // force breeze theme outside kde environment + if(QProcessEnvironment::systemEnvironment().value(QStringLiteral("XDG_CURRENT_DESKTOP")).toLower() != QLatin1String("kde")) + QIcon::setThemeName("breeze"); ++#endif + + KLocalizedString::setApplicationDomain("subtitlecomposer"); + +-- +2.23.0 + + +From 85066ee3afed712695a5572dfe93333679820f29 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Tue, 15 Oct 2019 20:50:28 +1000 +Subject: Fix phonon widget + + +diff --git a/src/videoplayerplugins/phonon/phononplayerbackend.cpp b/src/videoplayerplugins/phonon/phononplayerbackend.cpp +index 813fd10..c4b4e2f 100644 +--- a/src/videoplayerplugins/phonon/phononplayerbackend.cpp ++++ b/src/videoplayerplugins/phonon/phononplayerbackend.cpp +@@ -81,7 +81,7 @@ PhononPlayerBackend::initMediaObject() + bool + PhononPlayerBackend::initialize(VideoWidget *videoWidget) + { +- m_videoOutput = new Phonon::VideoWidget(0); ++ m_videoOutput = new Phonon::VideoWidget(videoWidget); + m_audioOutput = new Phonon::AudioOutput(Phonon::VideoCategory); + + videoWidget->setVideoLayer(m_videoOutput); +-- +2.23.0 + diff --git a/media-video/subtitlecomposer/subtitlecomposer-0.7.0.recipe b/media-video/subtitlecomposer/subtitlecomposer-0.7.0.recipe new file mode 100644 index 000000000..2e3741a70 --- /dev/null +++ b/media-video/subtitlecomposer/subtitlecomposer-0.7.0.recipe @@ -0,0 +1,198 @@ +SUMMARY="KF5/Qt Video Subtitle Editor" +DESCRIPTION="An open source text-based subtitle editor that supports basic \ +and advanced editing operations, aiming to become an improved version of \ +Subtitle Workshop for every platform supported by Plasma Frameworks. + +FEATURES: +* Open/Save Text Subtitle Formats +* SubRip/SRT, MicroDVD, SSA/ASS, MPlayer, TMPlayer and YouTube captions +* Open/OCR Graphics Subtitle Formats +* VobSub (.idx/.sub/.rar), BluRay/PGS (*.sup), formats supported by ffmpeg (DVD/Vob, DVB, XSUB, HDMV-PGS) +* Demux Graphics/Text Subtitle Stream from video file +* SRT, SSA/ASS, MOV text, MicroDVD, Graphic formats supported by ffmpeg (DVD/Vob, DVB, XSUB, HDMV-PGS) +* Speech Recognition from audio/video file using PocketSphinx +* Smart language/text encoding detection +* Live preview of subtitles in integrated video player w/ audio stream selection +* Preview/editing of subtitles on audio waveform w/ audio stream selection +* Quick and easy subtitle sync: +* Dragging several anchors/graftpoints and stretching timeline +* Time shifting and scaling, lines duration re-calculation, framerate conversion, etc. +* Joining and splitting of subtitle files +* Side by side subtitle translations +* Text styles (italic, bold, underline, stroke, color) +* Spell checking +* Detection of timing errors in subtitles +* Scripting (JavaScript, Python, Ruby and other languages supported by Kross)." +HOMEPAGE="https://github.com/maxrd2/SubtitleComposer" +COPYRIGHT="2007-2019 Subtitle Composer project" +LICENSE="GNU GPL v2" +REVISION="1" +SOURCE_URI="https://github.com/maxrd2/SubtitleComposer/archive/v$portVersion.tar.gz" +CHECKSUM_SHA256="90dee806df0ee57f4098d417f62014b4533dbf5598d5535c9da1066536c1ed41" +SOURCE_DIR="SubtitleComposer-$portVersion" +PATCHES="subtitlecomposer-$portVersion.patchset" +ADDITIONAL_FILES="subtitlecomposer.rdef.in" + +ARCHITECTURES="!x86_gcc2 x86_64" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + subtitlecomposer$secondaryArchSuffix = $portVersion + app:SubtitleComposer$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libavcodec$secondaryArchSuffix + lib:libavformat$secondaryArchSuffix + lib:libavutil$secondaryArchSuffix + lib:libexiv2$secondaryArchSuffix + lib:libexpat$secondaryArchSuffix + lib:libiconv$secondaryArchSuffix + lib:libintl$secondaryArchSuffix + lib:libKF5Activities$secondaryArchSuffix + lib:libKF5Archive$secondaryArchSuffix + lib:libKF5Auth$secondaryArchSuffix + lib:libKF5Bookmarks$secondaryArchSuffix + lib:libKF5Codecs$secondaryArchSuffix + lib:libKF5Completion$secondaryArchSuffix + lib:libKF5ConfigCore$secondaryArchSuffix + lib:libKF5ConfigGui$secondaryArchSuffix + lib:libKF5ConfigWidgets$secondaryArchSuffix + lib:libKF5CoreAddons$secondaryArchSuffix + lib:libKF5DocTools$secondaryArchSuffix + lib:libKF5GuiAddons$secondaryArchSuffix + lib:libKF5I18n$secondaryArchSuffix + lib:libKF5IconThemes$secondaryArchSuffix + lib:libKF5ItemModels$secondaryArchSuffix + lib:libKF5ItemViews$secondaryArchSuffix + lib:libKF5JobWidgets$secondaryArchSuffix + lib:libKF5KIOCore$secondaryArchSuffix + lib:libKF5KIOFileWidgets$secondaryArchSuffix + lib:libKF5KIOWidgets$secondaryArchSuffix + lib:libKF5KrossCore$secondaryArchSuffix + lib:libKF5Notifications$secondaryArchSuffix + lib:libKF5Parts$secondaryArchSuffix + lib:libKF5Service$secondaryArchSuffix + lib:libKF5Solid$secondaryArchSuffix + lib:libKF5SonnetUi$secondaryArchSuffix + lib:libKF5TextWidgets$secondaryArchSuffix + lib:libKF5UnitConversion$secondaryArchSuffix + lib:libKF5WidgetsAddons$secondaryArchSuffix + lib:libKF5WindowSystem$secondaryArchSuffix + lib:libKF5XmlGui$secondaryArchSuffix + lib:libphonon4qt5$secondaryArchSuffix + lib:libpng16$secondaryArchSuffix + lib:libQt5Core$secondaryArchSuffix + lib:libQt5DBus$secondaryArchSuffix + lib:libQt5Gui$secondaryArchSuffix + lib:libQt5Network$secondaryArchSuffix + lib:libQt5Widgets$secondaryArchSuffix + lib:libQt5Xml$secondaryArchSuffix + lib:libssp$secondaryArchSuffix + lib:libswresample$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + extra_cmake_modules$secondaryArchSuffix >= 5.55 + devel:libavcodec$secondaryArchSuffix + devel:libavdevice$secondaryArchSuffix + devel:libavfilter$secondaryArchSuffix + devel:libavformat$secondaryArchSuffix + devel:libavutil$secondaryArchSuffix + devel:libexiv2$secondaryArchSuffix + devel:libexpat$secondaryArchSuffix + devel:libiconv$secondaryArchSuffix + devel:libintl$secondaryArchSuffix + devel:libKF5Activities$secondaryArchSuffix + devel:libKF5Archive$secondaryArchSuffix + devel:libKF5Auth$secondaryArchSuffix + devel:libKF5Bookmarks$secondaryArchSuffix + devel:libKF5Codecs$secondaryArchSuffix + devel:libKF5Completion$secondaryArchSuffix + devel:libKF5ConfigCore$secondaryArchSuffix + devel:libKF5ConfigGui$secondaryArchSuffix + devel:libKF5ConfigWidgets$secondaryArchSuffix + devel:libKF5CoreAddons$secondaryArchSuffix + devel:libKF5DocTools$secondaryArchSuffix + devel:libKF5GuiAddons$secondaryArchSuffix + devel:libKF5I18n$secondaryArchSuffix + devel:libKF5IconThemes$secondaryArchSuffix + devel:libKF5ItemModels$secondaryArchSuffix + devel:libKF5ItemViews$secondaryArchSuffix + devel:libKF5JobWidgets$secondaryArchSuffix + devel:libKF5KIOCore$secondaryArchSuffix + devel:libKF5KIOFileWidgets$secondaryArchSuffix + devel:libKF5KIOWidgets$secondaryArchSuffix + devel:libKF5KrossCore$secondaryArchSuffix + devel:libKF5Notifications$secondaryArchSuffix + devel:libKF5Parts$secondaryArchSuffix + devel:libKF5Service$secondaryArchSuffix + devel:libKF5Solid$secondaryArchSuffix + devel:libKF5SonnetUi$secondaryArchSuffix + devel:libKF5TextWidgets$secondaryArchSuffix + devel:libKF5UnitConversion$secondaryArchSuffix + devel:libKF5WidgetsAddons$secondaryArchSuffix + devel:libKF5WindowSystem$secondaryArchSuffix + devel:libKF5XmlGui$secondaryArchSuffix + devel:libphonon4qt5$secondaryArchSuffix + devel:libpng16$secondaryArchSuffix + devel:libQt5Core$secondaryArchSuffix >= 5.13 + devel:libswresample$secondaryArchSuffix + devel:libswscale$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:g++$secondaryArchSuffix + cmd:lrelease$secondaryArchSuffix >= 5 + cmd:make + cmd:python2 + cmd:pkg_config$secondaryArchSuffix + " + +BUILD() +{ + mkdir -p build + cd build + + cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=$appsDir/SubtitleComposer \ + -DCMAKE_INSTALL_BINDIR=$appsDir/SubtitleComposer \ + -DCMAKE_INSTALL_DATADIR=$dataDir \ + -DSHARE_INSTALL_PREFIX=$dataDir \ + -DKDE_INSTALL_LIBDIR="plugins" \ + -DECM_DIR=/system/data/cmake/Modules/ECM/cmake + make $jobArgs +} + +INSTALL() +{ + cd build + make install + + mkdir -p $appsDir/SubtitleComposer/videoplayerplugins/phonon + mv $appsDir/SubtitleComposer/plugins/subtitlecomposer/phononplayer.so $appsDir/SubtitleComposer/videoplayerplugins/phonon + mv $appsDir/SubtitleComposer/subtitlecomposer $appsDir/SubtitleComposer/SubtitleComposer + + rm -rf $appsDir/SubtitleComposer/{bin,etc,plugins} + rm -rf $dataDir/{icons,applications} + + local APP_SIGNATURE="application/x-vnd.qt5-subtitlecomposer" + local MAJOR="`echo "$portVersion" | cut -d. -f1`" + local MIDDLE="`echo "$portVersion" | cut -d. -f2`" + local MINOR="`echo "$portVersion" | cut -d. -f3`" + local LONG_INFO="$SUMMARY" + sed \ + -e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \ + -e "s|@MAJOR@|$MAJOR|" \ + -e "s|@MIDDLE@|$MIDDLE|" \ + -e "s|@MINOR@|$MINOR|" \ + -e "s|@LONG_INFO@|$LONG_INFO|" \ + $portDir/additional-files/subtitlecomposer.rdef.in > subtitlecomposer.rdef + + addResourcesToBinaries subtitlecomposer.rdef $appsDir/SubtitleComposer/SubtitleComposer + addAppDeskbarSymlink $appsDir/SubtitleComposer/SubtitleComposer +}