| 1 |
|
# Copyright 1999-2025 Gentoo Authors
|
|
1 |
# Copyright 1999-2026 Gentoo Authors
|
| 2 |
2 |
# Distributed under the terms of the GNU General Public License v2
|
| 3 |
3 |
|
| 4 |
4 |
EAPI=8
|
| 5 |
|
PYTHON_COMPAT=( python3_{11..13} )
|
|
5 |
|
|
6 |
PYTHON_COMPAT=( python3_{12..14} )
|
| 6 |
7 |
|
| 7 |
8 |
inherit cmake fcaps linux-info optfeature python-single-r1 systemd
|
| 8 |
9 |
|
|
10 |
DESCRIPTION="Linux real time system monitoring, done right!"
|
|
11 |
HOMEPAGE="https://github.com/netdata/netdata https://my-netdata.io/"
|
|
12 |
|
|
13 |
SQLITE_VER="3530400"
|
|
14 |
|
| 9 |
15 |
if [[ ${PV} == *9999 ]] ; then
|
| 10 |
16 |
EGIT_REPO_URI="https://github.com/netdata/${PN}.git"
|
| 11 |
17 |
inherit git-r3
|
| 12 |
18 |
else
|
| 13 |
|
SRC_URI="https://github.com/netdata/${PN}/releases/download/v${PV}/${PN}-v${PV}.tar.gz -> ${P}.tar.gz"
|
|
19 |
SRC_URI="https://github.com/netdata/netdata/releases/download/v${PV}/${PN}-v${PV}.tar.gz -> ${P}.tar.gz"
|
| 14 |
20 |
S="${WORKDIR}/${PN}-v${PV}"
|
| 15 |
|
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
|
|
21 |
KEYWORDS="~amd64 ~x86"
|
| 16 |
22 |
fi
|
| 17 |
|
|
| 18 |
|
DESCRIPTION="Linux real time system monitoring, done right!"
|
| 19 |
|
HOMEPAGE="https://github.com/netdata/netdata https://my-netdata.io/"
|
|
23 |
SRC_URI+="
|
|
24 |
https://www.sqlite.org/2026/sqlite-src-${SQLITE_VER}.zip
|
|
25 |
https://distfiles.gentoo.org/pub/dev/arthurzam@gentoo.org/net-analyzer/${PN}/${PN}-2.11.1-system-libs.patch.xz
|
|
26 |
"
|
| 20 |
27 |
|
| 21 |
28 |
LICENSE="GPL-3+ MIT BSD"
|
| 22 |
29 |
SLOT="0"
|
| 23 |
|
IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd xen"
|
|
30 |
IUSE="cups +dbengine ipmi mongodb mysql nfacct nodejs prometheus +python systemd xen"
|
| 24 |
31 |
REQUIRED_USE="
|
| 25 |
32 |
mysql? ( python )
|
| 26 |
33 |
python? ( ${PYTHON_REQUIRED_USE} )"
|
| ... | ... | |
| 29 |
36 |
RDEPEND="
|
| 30 |
37 |
acct-group/netdata
|
| 31 |
38 |
acct-user/netdata
|
|
39 |
app-alternatives/awk
|
|
40 |
app-arch/brotli:=
|
|
41 |
app-arch/lz4:=
|
|
42 |
app-arch/zstd:=
|
| 32 |
43 |
app-misc/jq
|
| 33 |
44 |
>=app-shells/bash-4:0
|
|
45 |
dev-cpp/abseil-cpp:=
|
|
46 |
>=dev-db/sqlite-3.53:3
|
|
47 |
dev-libs/judy
|
|
48 |
dev-libs/json-c:=
|
|
49 |
dev-libs/libpcre2:=
|
|
50 |
dev-libs/libuv:=
|
|
51 |
dev-libs/libyaml
|
|
52 |
dev-libs/openssl:=
|
|
53 |
dev-libs/protobuf:=
|
| 34 |
54 |
|| (
|
| 35 |
55 |
net-analyzer/openbsd-netcat
|
| 36 |
56 |
net-analyzer/netcat
|
| 37 |
57 |
)
|
| 38 |
|
net-libs/libwebsockets
|
|
58 |
net-libs/libmnl:=
|
| 39 |
59 |
net-misc/curl
|
| 40 |
60 |
net-misc/wget
|
|
61 |
sci-libs/dlib:=
|
|
62 |
sys-apps/lm-sensors:=
|
| 41 |
63 |
sys-apps/util-linux
|
| 42 |
|
app-alternatives/awk
|
| 43 |
64 |
sys-libs/libcap
|
| 44 |
|
cups? ( net-print/cups )
|
| 45 |
|
app-arch/lz4:=
|
| 46 |
|
app-arch/zstd:=
|
| 47 |
|
app-arch/brotli:=
|
| 48 |
|
dbengine? (
|
| 49 |
|
dev-libs/judy
|
| 50 |
|
dev-libs/openssl:=
|
| 51 |
|
)
|
| 52 |
|
dev-libs/libpcre2:=
|
| 53 |
|
dev-libs/libuv:=
|
| 54 |
|
dev-libs/libyaml
|
| 55 |
|
dev-libs/protobuf:=
|
| 56 |
|
bpf? ( virtual/libelf:= )
|
| 57 |
65 |
virtual/zlib:=
|
|
66 |
cups? ( net-print/cups )
|
| 58 |
67 |
ipmi? ( sys-libs/freeipmi )
|
| 59 |
|
dev-libs/json-c:=
|
| 60 |
|
mongodb? ( dev-libs/mongo-c-driver )
|
|
68 |
mongodb? ( dev-libs/mongo-c-driver:0 )
|
| 61 |
69 |
nfacct? (
|
| 62 |
70 |
net-firewall/nfacct
|
| 63 |
71 |
net-libs/libmnl:=
|
| ... | ... | |
| 65 |
73 |
nodejs? ( net-libs/nodejs )
|
| 66 |
74 |
prometheus? (
|
| 67 |
75 |
app-arch/snappy:=
|
| 68 |
|
dev-libs/protobuf:=
|
| 69 |
76 |
)
|
| 70 |
77 |
python? (
|
| 71 |
78 |
${PYTHON_DEPS}
|
| 72 |
79 |
$(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
|
| 73 |
80 |
mysql? ( $(python_gen_cond_dep 'dev-python/mysqlclient[${PYTHON_USEDEP}]') )
|
| 74 |
|
postgres? ( $(python_gen_cond_dep 'dev-python/psycopg:2[${PYTHON_USEDEP}]') )
|
| 75 |
81 |
)
|
| 76 |
82 |
xen? (
|
| 77 |
83 |
app-emulation/xen-tools
|
| 78 |
84 |
dev-libs/yajl
|
| 79 |
85 |
)
|
| 80 |
|
systemd? ( sys-apps/systemd )"
|
| 81 |
|
DEPEND="${RDEPEND}
|
| 82 |
|
virtual/pkgconfig"
|
|
86 |
systemd? ( sys-apps/systemd:= )"
|
|
87 |
DEPEND="${RDEPEND}"
|
|
88 |
BDEPEND="
|
|
89 |
app-arch/unzip
|
|
90 |
virtual/pkgconfig
|
|
91 |
"
|
|
92 |
|
|
93 |
PATCHES=(
|
|
94 |
"${WORKDIR}"/${PN}-2.11.1-system-libs.patch
|
|
95 |
)
|
| 83 |
96 |
|
| 84 |
97 |
FILECAPS=(
|
| 85 |
98 |
'cap_dac_read_search,cap_sys_ptrace+ep'
|
| ... | ... | |
| 92 |
105 |
linux-info_pkg_setup
|
| 93 |
106 |
}
|
| 94 |
107 |
|
| 95 |
|
PATCHES=(
|
| 96 |
|
"${FILESDIR}"/${PN}-dlib-global_optimization-add-template-argument-list.patch
|
| 97 |
|
)
|
| 98 |
|
|
| 99 |
108 |
src_configure() {
|
| 100 |
109 |
local mycmakeargs=(
|
| 101 |
|
-DCMAKE_DISABLE_FIND_PACKAGE_Git=TRUE
|
|
110 |
-DNETDATA_SQLITE_RECOVER_SOURCE_DIR="${WORKDIR}/sqlite-src-${SQLITE_VER}/ext/recover"
|
|
111 |
-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
|
| 102 |
112 |
-DCMAKE_INSTALL_PREFIX=/
|
| 103 |
|
-DENABLE_ACLK=$(usex aclk)
|
| 104 |
|
-DENABLE_CLOUD=$(usex cloud)
|
|
113 |
-DFETCHCONTENT_FULLY_DISCONNECTED=ON
|
|
114 |
-DFETCHCONTENT_UPDATES_DISCONNECTED=ON
|
|
115 |
-DENABLE_BUNDLED_JSONC=OFF
|
|
116 |
-DENABLE_BUNDLED_PROTOBUF=OFF
|
|
117 |
-DENABLE_BUNDLED_YAML=OFF
|
|
118 |
-DENABLE_DASHBOARD=OFF # uses binary blobs, license issues
|
| 105 |
119 |
-DENABLE_DBENGINE=$(usex dbengine)
|
| 106 |
|
-DENABLE_PLUGIN_CUPS=$(usex cups)
|
| 107 |
|
-DENABLE_PLUGIN_NFACCT=$(usex nfacct)
|
| 108 |
|
-DENABLE_PLUGIN_FREEIPMI=$(usex ipmi)
|
| 109 |
120 |
-DENABLE_EXPORTER_MONGODB=$(usex mongodb)
|
| 110 |
121 |
-DENABLE_EXPORTER_PROMETHEUS_REMOTE_WRITE=$(usex prometheus)
|
| 111 |
|
-DENABLE_PLUGIN_XENSTAT=$(usex xen)
|
| 112 |
|
-DENABLE_PLUGIN_EBPF=$(usex bpf)
|
| 113 |
|
-DENABLE_PLUGIN_GO=FALSE
|
|
122 |
-DENABLE_JEMALLOC=OFF
|
|
123 |
-DENABLE_LIBBACKTRACE=OFF
|
|
124 |
-DENABLE_MIMALLOC=OFF
|
|
125 |
-DENABLE_NETDATA_JOURNAL_FILE_READER=OFF # rust
|
|
126 |
-DENABLE_ML=ON
|
|
127 |
-DENABLE_PLUGIN_APPS=ON
|
|
128 |
-DENABLE_PLUGIN_CGROUP_NETWORK=ON
|
|
129 |
-DENABLE_PLUGIN_CHARTS=ON
|
|
130 |
-DENABLE_PLUGIN_CUPS=$(usex cups)
|
|
131 |
-DENABLE_PLUGIN_DEBUGFS=ON
|
|
132 |
-DENABLE_PLUGIN_EBPF=OFF # bundles libbpf
|
|
133 |
-DENABLE_PLUGIN_GO=OFF
|
|
134 |
-DENABLE_PLUGIN_IBM=OFF
|
|
135 |
-DENABLE_PLUGIN_NETFLOW=OFF # rust
|
|
136 |
-DENABLE_PLUGIN_FREEIPMI=$(usex ipmi)
|
|
137 |
-DENABLE_PLUGIN_NFACCT=$(usex nfacct)
|
|
138 |
-DENABLE_PLUGIN_OTEL=OFF # rust
|
|
139 |
-DENABLE_PLUGIN_PERF=ON
|
|
140 |
-DENABLE_PLUGIN_PYTHON=$(usex python)
|
|
141 |
-DENABLE_PLUGIN_SCRIPTS=OFF # go
|
|
142 |
-DENABLE_PLUGIN_SLABINFO=ON
|
| 114 |
143 |
-DENABLE_PLUGIN_SYSTEMD_JOURNAL=$(usex systemd)
|
|
144 |
-DENABLE_PLUGIN_SYSTEMD_UNITS=$(usex systemd)
|
|
145 |
-DENABLE_PLUGIN_XENSTAT=$(usex xen)
|
| 115 |
146 |
)
|
| 116 |
147 |
cmake_src_configure
|
| 117 |
148 |
}
|
| ... | ... | |
| 136 |
167 |
systemd_dounit "${D}/usr/lib/netdata/system/systemd/netdata-updater.timer"
|
| 137 |
168 |
insinto /etc/netdata
|
| 138 |
169 |
doins system/netdata.conf
|
|
170 |
|
|
171 |
# Opt-out anonymous statistics
|
|
172 |
touch "${D}/etc/netdata/.opt-out-from-anonymous-statistics"
|
| 139 |
173 |
}
|
| 140 |
174 |
|
| 141 |
175 |
pkg_postinst() {
|