SUMMARY="IDE for microcontrollers and electronics"
DESCRIPTION="KTechLab is an IDE for microcontrollers and electronics.
It supports circuit simulation,
program development for microcontrollers and
simulating the programmed microcontroller together with its application circuit."
HOMEPAGE="https://userbase.kde.org/KTechlab"
COPYRIGHT="2003-2020, The KTechLab developers"
LICENSE="GNU GPL v2"
REVISION="5"
srcGitRev="ddf3379f1b2b4d32539f9a65a1fe62b7dce5fdad"
SOURCE_URI="https://github.com/KDE/ktechlab/archive/$srcGitRev.tar.gz"
CHECKSUM_SHA256="1a73f253b8c6980b4918f1d119f6b568e044c343b5b4bc3f2f902d093c853e5d"
SOURCE_DIR="ktechlab-$srcGitRev"
PATCHES="ktechlab-$portVersion.patchset"
ADDITIONAL_FILES="ktechlab.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"

PROVIDES="
	ktechlab$secondaryArchSuffix = $portVersion
	app:KTechLab$secondaryArchSuffix = $portVersion
	"
REQUIRES="
	haiku$secondaryArchSuffix
	cmd:kbuildsycoca5$secondaryArchSuffix
	lib:libkdeinit5_kded5$secondaryArchSuffix
	lib:libkdeinit5_klauncher$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:libKF5Crash$secondaryArchSuffix
	lib:libKF5DBusAddons$secondaryArchSuffix
	lib:libKF5DocTools$secondaryArchSuffix
	lib:libKF5Emoticons$secondaryArchSuffix
	lib:libKF5GuiAddons$secondaryArchSuffix
	lib:libKF5I18n$secondaryArchSuffix
	lib:libKF5IconThemes$secondaryArchSuffix
	lib:libKF5ItemModels$secondaryArchSuffix
	lib:libKF5ItemViews$secondaryArchSuffix
	lib:libKF5JobWidgets$secondaryArchSuffix
	lib:libKF5JS$secondaryArchSuffix
	lib:libKF5JSApi$secondaryArchSuffix
	lib:libKF5KDELibs4Support$secondaryArchSuffix
	lib:libKF5KIOCore$secondaryArchSuffix
	lib:libKF5KIOFileWidgets$secondaryArchSuffix
	lib:libKF5KIOWidgets$secondaryArchSuffix
	lib:libKF5KHtml$secondaryArchSuffix
	lib:libKF5Notifications$secondaryArchSuffix
	lib:libKF5Parts$secondaryArchSuffix
	lib:libKF5Sane$secondaryArchSuffix
	lib:libKF5Service$secondaryArchSuffix
	lib:libKF5Solid$secondaryArchSuffix
	lib:libKF5SonnetUi$secondaryArchSuffix
	lib:libKF5TextEditor$secondaryArchSuffix
	lib:libKF5TextWidgets$secondaryArchSuffix
	lib:libKF5UnitConversion$secondaryArchSuffix
	lib:libKF5WidgetsAddons$secondaryArchSuffix
	lib:libKF5WindowSystem$secondaryArchSuffix
	lib:libKF5XmlGui$secondaryArchSuffix
	lib:libQt5Core$secondaryArchSuffix
	lib:libQt5DBus$secondaryArchSuffix
	lib:libQt5Gui$secondaryArchSuffix
	lib:libQt5Network$secondaryArchSuffix
	lib:libQt5PrintSupport$secondaryArchSuffix
	lib:libQt5Widgets$secondaryArchSuffix
	lib:libQt5Xml$secondaryArchSuffix
	"

BUILD_REQUIRES="
	haiku${secondaryArchSuffix}_devel
	extra_cmake_modules$secondaryArchSuffix >= 5.65
	devel:libkdeinit5_kded5$secondaryArchSuffix
	devel:libkdeinit5_klauncher$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:libKF5Crash$secondaryArchSuffix
	devel:libKF5DBusAddons$secondaryArchSuffix
	devel:libKF5DesignerPlugin$secondaryArchSuffix
	devel:libKF5DocTools$secondaryArchSuffix
	devel:libKF5Emoticons$secondaryArchSuffix
	devel:libKF5GuiAddons$secondaryArchSuffix
	devel:libKF5I18n$secondaryArchSuffix
	devel:libKF5IconThemes$secondaryArchSuffix
	devel:libKF5ItemModels$secondaryArchSuffix
	devel:libKF5ItemViews$secondaryArchSuffix
	devel:libKF5JobWidgets$secondaryArchSuffix
	devel:libKF5JS$secondaryArchSuffix
	devel:libKF5KDELibs4Support$secondaryArchSuffix
	devel:libKF5KIOCore$secondaryArchSuffix
	devel:libKF5KIOFileWidgets$secondaryArchSuffix
	devel:libKF5KIOWidgets$secondaryArchSuffix
	devel:libKF5KHtml$secondaryArchSuffix
	devel:libKF5Notifications$secondaryArchSuffix
	devel:libKF5Parts$secondaryArchSuffix
	devel:libKF5Sane$secondaryArchSuffix
	devel:libKF5Service$secondaryArchSuffix
	devel:libKF5Solid$secondaryArchSuffix
	devel:libKF5SonnetUi$secondaryArchSuffix
	devel:libKF5TextEditor$secondaryArchSuffix
	devel:libKF5TextWidgets$secondaryArchSuffix
	devel:libKF5UnitConversion$secondaryArchSuffix
	devel:libKF5WidgetsAddons$secondaryArchSuffix
	devel:libKF5WindowSystem$secondaryArchSuffix
	devel:libKF5XmlGui$secondaryArchSuffix
	devel:libQt5Core$secondaryArchSuffix >= 5.14
	"
BUILD_PREREQUIRES="
	cmd:cmake
	cmd:g++$secondaryArchSuffix
	cmd:lrelease$secondaryArchSuffix
	cmd:make
	"

BUILD()
{
	mkdir -p build
	cd build

	cmake .. \
		-DCMAKE_INSTALL_PREFIX=$prefix \
		-DINCLUDE_INSTALL_DIR=$includeDir \
		-DSHARE_INSTALL_PREFIX=$dataDir \
		-DECM_MKSPECS_INSTALL_DIR=$dataDir/Qt5/mkspecs \
		-DECM_DIR=/system/data/cmake/Modules/ECM/cmake \
		-DCMAKE_INSTALL_PREFIX=$appsDir/KTechLab \
		-DCMAKE_INSTALL_DATAROOTDIR=$dataDir

	make $jobArgs
}

INSTALL()
{
	cd build
	make install
	mv $appsDir/KTechLab/bin/ktechlab $appsDir/KTechLab/KTechLab
	mv $appsDir/KTechLab/bin/microbe $appsDir/KTechLab/microbe
	rm -rf $appsDir/KTechLab/bin

	local APP_SIGNATURE="application/x-vnd.kde-ktechlab"
	local MAJOR="`echo "$portVersion" | cut -d. -f1`"
	local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
	local MINOR="`echo "$portVersion" | cut -d. -f3 | cut -d~ -f1`"
	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/ktechlab.rdef.in > ktechlab.rdef

	addResourcesToBinaries ktechlab.rdef $appsDir/KTechLab/KTechLab
	addAppDeskbarSymlink $appsDir/KTechLab/KTechLab
}
