SUMMARY="Desktop Planetarium by KDE"
DESCRIPTION="KStars is free, open source, cross-platform Astronomy Software.
It provides an accurate graphical simulation of the night sky, \
from any location on Earth, at any date and time. \
The display includes up to 100 million stars, 13,000 deep-sky objects,all 8 planets, \
the Sun and Moon, and thousands of comets, asteroids, supernovae, and satellites. \
For students and teachers, it supports adjustable simulation speeds in order to view \
phenomena that happen over long timescales, the KStars Astrocalculator to predict \
conjunctions, and many common astronomical calculations."
HOMEPAGE="https://edu.kde.org/kstars"
COPYRIGHT="2010-2021 KDE Organisation"
LICENSE="GNU LGPL v2"
REVISION="1"
SOURCE_URI="https://download.kde.org/stable/kstars/kstars-$portVersion.tar.xz"
CHECKSUM_SHA256="703df56050672af10fc8142296ceaa27134a6a00e8222f3f6677f18ff1ac6b43"
PATCHES="kstars-$portVersion.patchset"
ADDITIONAL_FILES="kstars.rdef.in"

ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"

PROVIDES="
	kstars$secondaryArchSuffix = $portVersion
	app:KStars$secondaryArchSuffix = $portVersion
	"
REQUIRES="
	haiku$secondaryArchSuffix
	lib:libkdeinit5_kded5$secondaryArchSuffix
	lib:libkdeinit5_klauncher$secondaryArchSuffix
	lib:libKF5Archive$secondaryArchSuffix
	lib:libKF5Attica$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:libKF5KDELibs4Support$secondaryArchSuffix
	lib:libKF5KIOCore$secondaryArchSuffix
	lib:libKF5KIOFileWidgets$secondaryArchSuffix
	lib:libKF5KIOWidgets$secondaryArchSuffix
	lib:libKF5NewStuff$secondaryArchSuffix
	lib:libKF5Notifications$secondaryArchSuffix
	lib:libKF5NotifyConfig$secondaryArchSuffix
	lib:libKF5Parts$secondaryArchSuffix
	lib:libKF5Plotting$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:liblcms2$secondaryArchSuffix
	lib:libQt5Core$secondaryArchSuffix
	lib:libQt5DBus$secondaryArchSuffix
	lib:libQt5Gui$secondaryArchSuffix
	lib:libQt5Network$secondaryArchSuffix
	lib:libQt5PrintSupport$secondaryArchSuffix
	lib:libQt5Widgets$secondaryArchSuffix
	lib:libQt5Xml$secondaryArchSuffix
	lib:libraw$secondaryArchSuffix
	lib:libz$secondaryArchSuffix
	"

BUILD_REQUIRES="
	haiku${secondaryArchSuffix}_devel
	extra_cmake_modules$secondaryArchSuffix >= 5.86
	devel:eigen$secondaryArchSuffix
	devel:libkdeinit5_kded5$secondaryArchSuffix
	devel:libkdeinit5_klauncher$secondaryArchSuffix
	devel:libKF5Archive$secondaryArchSuffix
	devel:libKF5Attica$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:libKF5KDELibs4Support$secondaryArchSuffix
	devel:libKF5KIOCore$secondaryArchSuffix
	devel:libKF5KIOFileWidgets$secondaryArchSuffix
	devel:libKF5KIOWidgets$secondaryArchSuffix
	devel:libKF5NewStuff$secondaryArchSuffix
	devel:libKF5Notifications$secondaryArchSuffix
	devel:libKF5NotifyConfig$secondaryArchSuffix
	devel:libKF5Parts$secondaryArchSuffix
	devel:libKF5Plotting$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:liblcms2$secondaryArchSuffix
	devel:libQt5Core$secondaryArchSuffix >= 5.15
	devel:libraw$secondaryArchSuffix
	devel:libz$secondaryArchSuffix
	"
BUILD_PREREQUIRES="
	cmd:cmake
	cmd:g++$secondaryArchSuffix
	cmd:lrelease$secondaryArchSuffix >= 5
	cmd:make
	cmd:pkg_config$secondaryArchSuffix
	cmd:python2
	"

BUILD()
{
	mkdir -p build
	cd build

	cmake .. \
		-DCMAKE_BUILD_TYPE=Release \
		-DCMAKE_INSTALL_PREFIX=$appsDir \
		-DCMAKE_INSTALL_DATAROOTDIR=$dataDir \
		-DSHARE_INSTALL_PREFIX=$dataDir \
		-DECM_DIR=/system/data/cmake/Modules/ECM/cmake \
		-DBUILD_DOC=OFF
	make $jobArgs
}

INSTALL()
{
	cd build
	make install/strip

	mv $appsDir/bin/kstars $appsDir/KStars
	rm -rf $appsDir/{bin,lib}
	rm -rf $dataDir/{applications,icons,config.kcfg,knotifications5,sounds}

	local APP_SIGNATURE="application/x-vnd.kde-kstars"
	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/kstars.rdef.in > kstars.rdef

	addResourcesToBinaries kstars.rdef $appsDir/KStars
	addAppDeskbarSymlink $appsDir/KStars
}

TEST()
{
	make test
}
