65407fc7580730ac0de8fe0c194723a29bbf8c19
[gentoo.git] / sys-process / glances / glances-3.1.4.1-r1.ebuild
1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5
6 PYTHON_COMPAT=( python3_{6,7,8} )
7 PYTHON_REQ_USE="ncurses"
8 DISTUTILS_USE_SETUPTOOLS=rdepend
9
10 inherit distutils-r1 eutils linux-info
11
12 DESCRIPTION="CLI curses based monitoring tool"
13 HOMEPAGE="https://github.com/nicolargo/glances"
14 SRC_URI="https://github.com/nicolargo/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
15
16 LICENSE="LGPL-3"
17 SLOT="0"
18 KEYWORDS="~amd64 ~arm arm64 ppc64 ~x86 ~amd64-linux ~x86-linux"
19 IUSE=""
20
21 RDEPEND="dev-python/future[${PYTHON_USEDEP}]
22         >=dev-python/psutil-5.4.3[${PYTHON_USEDEP}]"
23
24 # PYTHON_USEDEP omitted on purpose
25 BDEPEND="doc? ( dev-python/sphinx_rtd_theme )"
26
27 CONFIG_CHECK="~TASK_IO_ACCOUNTING ~TASK_DELAY_ACCT ~TASKSTATS"
28
29 PATCHES=(
30         "${FILESDIR}/disable-update-check.patch"
31 )
32
33 distutils_enable_tests setup.py
34 distutils_enable_sphinx docs --no-autodoc
35
36 pkg_setup() {
37         linux-info_pkg_setup
38 }
39
40 python_prepare_all() {
41         # Remove duplicate entries of a prebuilt doc build and
42         # ensure install of the file glances.conf in /etc/${PN}
43         sed \
44                 -e '/share\/doc\/glances/d' \
45                 -e "s/'CONTRIBUTING.md',//" \
46                 -e "s:'conf/glances.conf':('${EPREFIX}/etc/glances', ['conf/glances.conf':g" \
47                 -i setup.py || die
48         sed -i "s/, 'irq']/]/" unitest.py || die
49         distutils-r1_python_prepare_all
50 }
51
52 python_install_all() {
53         # add an intended file from original data set from setup.py to DOCS
54         local DOCS=( README.rst CONTRIBUTING.md conf/glances.conf )
55         distutils-r1_python_install_all
56 }
57
58 pkg_postinst() {
59         optfeature "Action script feature" dev-python/pystache
60         optfeature "Autodiscover mode" dev-python/zeroconf
61         optfeature "Cloud support" dev-python/requests
62         optfeature "Quicklook CPU info" dev-python/py-cpuinfo
63         optfeature "Docker monitoring support" dev-python/docker-py
64         #optfeature "Export module" \
65         #       unpackaged/bernhard \
66         #       unpackaged/cassandra-driver \
67         #       unpackaged/potsdb \
68         #       dev-python/couchdb-python \
69         #       dev-python/elasticsearch-py \
70         #       dev-python/influxdb \
71         #       dev-python/kafka-python \
72         #       dev-python/pika \
73         #       dev-python/paho-mqtt \
74         #       dev-python/prometheus_client \
75         #       dev-python/pyzmq \
76         #       dev-python/statsd
77         #optfeature "Nvidia GPU monitoring" unpackaged/nvidia-ml-py3
78         optfeature "SVG graph support" dev-python/pygal
79         optfeature "IP plugin" dev-python/netifaces
80         optfeature "RAID monitoring" dev-python/pymdstat
81         #optfeature "SMART support" unpackaged/pySMART.smartx
82         optfeature "RAID support" dev-python/pymdstat
83         optfeature "SNMP support" dev-python/pysnmp
84         #optfeature "sparklines plugin" unpackaged/sparklines
85         optfeature "Web server mode" dev-python/bottle dev-python/requests
86         optfeature "WIFI plugin" net-wireless/python-wifi
87 }