You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
162 lines
3.2 KiB
162 lines
3.2 KiB
# Copyright 2022 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
CRATES="
|
|
aho-corasick-0.7.19
|
|
atty-0.2.14
|
|
autocfg-1.1.0
|
|
bindgen-0.60.1
|
|
bitflags-1.3.2
|
|
bytes-1.2.1
|
|
cexpr-0.6.0
|
|
cfg-if-1.0.0
|
|
clang-sys-1.3.3
|
|
clap-3.2.22
|
|
clap_derive-3.2.18
|
|
clap_lex-0.2.4
|
|
either-1.8.0
|
|
env_logger-0.9.1
|
|
futures-0.3.24
|
|
futures-channel-0.3.24
|
|
futures-core-0.3.24
|
|
futures-executor-0.3.24
|
|
futures-io-0.3.24
|
|
futures-macro-0.3.24
|
|
futures-sink-0.3.24
|
|
futures-task-0.3.24
|
|
futures-util-0.3.24
|
|
getrandom-0.2.7
|
|
glob-0.3.0
|
|
hashbrown-0.12.3
|
|
heck-0.4.0
|
|
hermit-abi-0.1.19
|
|
humantime-2.1.0
|
|
indexmap-1.9.1
|
|
itoa-1.0.3
|
|
lazy_static-1.4.0
|
|
lazycell-1.3.0
|
|
libc-0.2.132
|
|
libloading-0.7.3
|
|
lock_api-0.4.8
|
|
log-0.4.17
|
|
memchr-2.5.0
|
|
minimal-lexical-0.2.1
|
|
mio-0.8.4
|
|
nom-7.1.1
|
|
num_cpus-1.13.1
|
|
once_cell-1.14.0
|
|
os_str_bytes-6.3.0
|
|
parking_lot-0.12.1
|
|
parking_lot_core-0.9.3
|
|
peeking_take_while-0.1.2
|
|
pin-project-lite-0.2.9
|
|
pin-utils-0.1.0
|
|
pkg-config-0.3.25
|
|
ppv-lite86-0.2.16
|
|
proc-macro-error-1.0.4
|
|
proc-macro-error-attr-1.0.4
|
|
proc-macro2-1.0.43
|
|
quote-1.0.21
|
|
rand-0.8.5
|
|
rand_chacha-0.3.1
|
|
rand_core-0.6.4
|
|
redox_syscall-0.2.16
|
|
regex-1.6.0
|
|
regex-syntax-0.6.27
|
|
retry-2.0.0
|
|
rustc-hash-1.1.0
|
|
ryu-1.0.11
|
|
scopeguard-1.1.0
|
|
serde-1.0.144
|
|
serde_derive-1.0.144
|
|
serde_json-1.0.85
|
|
shlex-1.1.0
|
|
signal-hook-registry-1.4.0
|
|
slab-0.4.7
|
|
smallvec-1.9.0
|
|
socket2-0.4.7
|
|
strsim-0.10.0
|
|
syn-1.0.99
|
|
termcolor-1.1.3
|
|
textwrap-0.15.1
|
|
thiserror-1.0.35
|
|
thiserror-impl-1.0.35
|
|
tokio-1.21.1
|
|
tokio-macros-1.8.0
|
|
tokio-stream-0.1.10
|
|
toml-0.5.9
|
|
unicode-ident-1.0.4
|
|
version_check-0.9.4
|
|
wasi-0.11.0+wasi-snapshot-preview1
|
|
which-4.3.0
|
|
winapi-0.3.9
|
|
winapi-i686-pc-windows-gnu-0.4.0
|
|
winapi-util-0.1.5
|
|
winapi-x86_64-pc-windows-gnu-0.4.0
|
|
windows-sys-0.36.1
|
|
windows_aarch64_msvc-0.36.1
|
|
windows_i686_gnu-0.36.1
|
|
windows_i686_msvc-0.36.1
|
|
windows_x86_64_gnu-0.36.1
|
|
windows_x86_64_msvc-0.36.1
|
|
"
|
|
|
|
inherit cargo optfeature systemd
|
|
|
|
DESCRIPTION="SuperMicro IPMI fan control daemon"
|
|
HOMEPAGE="https://github.com/chenxiaolong/ipmi-fan-control"
|
|
|
|
if [[ ${PV} == 9999 ]] ; then
|
|
inherit git-r3
|
|
EGIT_REPO_URI="https://github.com/chenxiaolong/${PN}"
|
|
else
|
|
SRC_URI="https://github.com/chenxiaolong/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
|
|
$(cargo_crate_uris)"
|
|
# supported boards are x86_64 only, do not keyword elsewhere
|
|
# technically it could run on remote host and issue commands via ipmitool lanplus, but that's very edgy case
|
|
KEYWORDS="-* ~amd64"
|
|
fi
|
|
|
|
LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 GPL-3+ ISC MIT Unicode-DFS-2016 Unlicense"
|
|
SLOT="0"
|
|
|
|
BDEPEND="
|
|
sys-devel/clang
|
|
virtual/pkgconfig
|
|
"
|
|
|
|
RDEPEND="sys-libs/freeipmi"
|
|
DEPEND="${RDEPEND}"
|
|
|
|
QA_FLAGS_IGNORED="usr/bin/${PN}"
|
|
|
|
src_unpack() {
|
|
if [[ ${PV} == 9999 ]]; then
|
|
git-r3_src_unpack
|
|
cargo_live_src_unpack
|
|
else
|
|
cargo_src_unpack
|
|
fi
|
|
}
|
|
|
|
src_install() {
|
|
cargo_src_install
|
|
|
|
sed -i \
|
|
-e "s|@BINDIR@|${EPREFIX}/usr/bin|" \
|
|
-e "s|@SYSCONFDIR@|${EPREFIX}/etc|" \
|
|
dist/ipmi-fan-control.service.in || die
|
|
|
|
# TODO: add openrc service
|
|
systemd_newunit dist/ipmi-fan-control.service.in ipmi-fan-control.service
|
|
|
|
insinto /etc
|
|
newins config.sample.toml "${PN}".toml
|
|
}
|
|
|
|
pkg_postinst() {
|
|
optfeature "S.M.A.R.T. drive temperature support" sys-apps/smartmontools
|
|
}
|