1SUMMARY="Cross-platform lib for process and system monitoring in Python"
2DESCRIPTION="psutil (process and system utilities) is a cross-platform library
3for retrieving information on running processes and system utilization
4(CPU, memory, disks, network, sensors) in Python.
5It is useful mainly for system monitoring, profiling and limiting process
6resources and management of running processes.
7It implements many functionalities offered by classic UNIX command line
8tools such as ps, top, iotop, lsof, netstat, ifconfig, free and others."
9HOMEPAGE="https://github.com/giampaolo/psutil/"
10COPYRIGHT="2009 Giampaolo Rodola'"
11LICENSE="BSD (3-clause)"
12REVISION="1"
13SOURCE_URI="https://github.com/giampaolo/psutil/archive/release-$portVersion.tar.gz"
14CHECKSUM_SHA256="962fbb077209fda6416046b704b51ed17a61edde41a4573886640026e2c53bae"
15SOURCE_DIR="psutil-release-$portVersion"
16PATCHES="psutil-$portVersion.patchset"
17
18ARCHITECTURES="?all !x86_gcc2"
19SECONDARY_ARCHITECTURES="?x86"
20
21PROVIDES="
22	$portName = $portVersion
23	"
24REQUIRES="
25	haiku$secondaryArchSuffix
26	"
27
28BUILD_REQUIRES="
29	haiku${secondaryArchSuffix}_devel
30	"
31
32BUILD_PREREQUIRES="
33	cmd:gcc$secondaryArchSuffix
34	"
35
36PYTHON_PACKAGES=(python310)
37PYTHON_VERSIONS=(3.10)
38for i in "${!PYTHON_PACKAGES[@]}"; do
39	pythonPackage=${PYTHON_PACKAGES[i]}
40	pythonVersion=${PYTHON_VERSIONS[$i]}
41
42	eval "PROVIDES_${pythonPackage}=\"
43		${portName}_$pythonPackage = $portVersion
44		\""
45	if [ "$targetArchitecture" = x86_gcc2 ]; then
46		eval "PROVIDES_$pythonPackage+=\"
47			psutil_$pythonPackage = $portVersion
48			\""
49	fi
50	eval "REQUIRES_$pythonPackage=\"
51		haiku$secondaryArchSuffix
52		cmd:python$pythonVersion
53		\""
54	BUILD_REQUIRES+="
55		setuptools_$pythonPackage
56		"
57	BUILD_PREREQUIRES+="
58		cmd:python$pythonVersion
59		"
60	TEST_REQUIRES+="
61		cmd:make
62		"
63done
64
65
66INSTALL()
67{
68	for i in "${!PYTHON_PACKAGES[@]}"; do
69		pythonPackage=${PYTHON_PACKAGES[i]}
70		pythonVersion=${PYTHON_VERSIONS[$i]}
71
72		python=python$pythonVersion
73		installLocation=$prefix/lib/$python/vendor-packages/
74		export PYTHONPATH=$installLocation:$PYTHONPATH
75
76		mkdir -p $installLocation
77		rm -rf build
78
79		$python setup.py build install \
80			--root=/ --prefix=$prefix
81
82		packageEntries $pythonPackage \
83			$prefix/lib/python*
84	done
85}
86
87
88TEST()
89{
90	for i in "${!PYTHON_PACKAGES[@]}"; do
91		pythonPackage=${PYTHON_PACKAGES[i]}
92		pythonVersion=${PYTHON_VERSIONS[$i]}
93
94		python=python$pythonVersion
95		installLocation=$prefix/lib/$python/vendor-packages/
96		export PYTHONPATH=$installLocation:$PYTHONPATH
97
98		make test PYTHON=$python
99	done
100}
101