1SUMMARY="Monitor applications and system services"
2DESCRIPTION="Einsteinium provides smarter monitoring of applications and \
3system services for Haiku. It can restart applications and system services \
4that were quit or crashed, gather statistics on application usage and \
5provides customizable ranked lists of applications."
6HOMEPAGE="https://perelandra0x309.github.io/einsteinium"
7COPYRIGHT="2010-2017 Brian Hill"
8LICENSE="BSD (3-clause)"
9REVISION="1"
10SOURCE_URI="https://github.com/Perelandra0x309/einsteinium/archive/v${portVersion}.tar.gz"
11CHECKSUM_SHA256="cf420ac69304e48895398bec6b85401786c746418f103a291bd9209f275d96d2"
12
13ARCHITECTURES="all"
14
15USER_SETTINGS_FILES="settings/Einsteinium directory"
16POST_INSTALL_SCRIPTS="$relativePostInstallDir/einsteinium_hpkg_postinstall.sh"
17
18PROVIDES="
19	einsteinium = $portVersion
20	app:Einsteinium = $portVersion
21	cmd:einsteinium_daemon = $portVersion
22	cmd:einsteinium_engine = $portVersion
23	"
24REQUIRES="
25	haiku
26	lib:libsqlite3
27	lib:libxml2
28	"
29
30BUILD_REQUIRES="
31	haiku_devel
32	devel:libsqlite3
33	devel:libxml2
34	"
35BUILD_PREREQUIRES="
36	makefile_engine
37	cmd:g++
38	cmd:make
39	"
40
41BUILD()
42{
43	cd src
44	for f in Engine; do
45		pushd $f
46		make $jobArgs OBJ_DIR=_${f:0:1}objects
47		popd
48	done
49	for f in Daemon Launcher Preferences; do
50		pushd $f
51		make $jobArgs OBJ_DIR=_${f:0:1}objects
52		make bindcatalogs OBJ_DIR=_${f:0:1}objects
53		popd
54	done
55	make -C Engine/SubscriberExample
56}
57
58INSTALL()
59{
60	mkdir -p $appsDir/Einsteinium/EngineSubscriberKit
61	mkdir -p $binDir
62	mkdir -p $dataDir/Einsteinium
63	mkdir -p $preferencesDir
64	mkdir -p $postInstallDir
65
66	# copy documentation
67	cp -af docs/ReadMe.html docs/License $appsDir/Einsteinium
68	cp -af "docs/Engine Subscriber's Development Guide.pdf" \
69		$appsDir/Einsteinium/EngineSubscriberKit
70
71	# post install script
72	cp -af scripts/einsteinium_hpkg_postinstall.sh $postInstallDir
73	chmod +x $postInstallDir/einsteinium_hpkg_postinstall.sh
74	cp -af src/Icons/notify_icon $dataDir/Einsteinium
75
76	# launch bootscript
77	cp -af scripts/EinsteiniumBootscript.sh $dataDir/Einsteinium
78	chmod +x $dataDir/Einsteinium/EinsteiniumBootscript.sh
79
80	# copy executables
81	cd src
82	cp -af Engine/einsteinium_engine Daemon/einsteinium_daemon $binDir
83	cp -af Preferences/Einsteinium_Preferences $preferencesDir/Einsteinium
84	cp -af Launcher/Einsteinium $appsDir/Einsteinium/Einsteinium
85
86	# create the Subscriber Example Kit
87	cp -af Engine/SubscriberExample/makefile \
88		Engine/SubscriberExample/subscriber_example \
89		Engine/SubscriberExample/subscriber_example.rsrc \
90		Engine/SubscriberExample/SubscriberExample.cpp \
91		Engine/EngineSubscriber.cpp \
92		Engine/EngineSubscriber.h \
93		$appsDir/Einsteinium/EngineSubscriberKit
94
95	# deskbar links
96	addPreferencesDeskbarSymlink $preferencesDir/Einsteinium
97	addAppDeskbarSymlink $appsDir/Einsteinium/Einsteinium
98}
99