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="3"
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="all !x86_gcc2"
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: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: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
}
