1{ stdenv, lib, fetchFromGitHub, autoreconfHook, openssl, readline, fetchurl }:
2
3let
4
5 iana-enterprise-numbers = fetchurl {
6 url = "https://web.archive.org/web/20230312103209id_/https://www.iana.org/assignments/enterprise-numbers.txt";
7 sha256 = "sha256-huFWygMEylBKBMLV16UE6xLWP6Aw1FGYk5h1q5CErUs=";
8 };
9
10in stdenv.mkDerivation rec {
11 pname = "ipmitool";
12 version = "1.8.19";
13
14 src = fetchFromGitHub {
15 owner = pname;
16 repo = pname;
17 rev = "IPMITOOL_${lib.replaceStrings ["."] ["_"] version}";
18 hash = "sha256-VVYvuldRIHhaIUibed9cLX8Avfy760fdBLNO8MoUKCk=";
19 };
20
21 nativeBuildInputs = [ autoreconfHook ];
22 buildInputs = [ openssl readline ];
23
24 postPatch = ''
25 substituteInPlace configure.ac \
26 --replace 'AC_MSG_WARN([** Neither wget nor curl could be found.])' 'AM_CONDITIONAL([DOWNLOAD], [true])'
27 cp ${iana-enterprise-numbers} enterprise-numbers
28 '';
29
30 meta = with lib; {
31 description = "Command-line interface to IPMI-enabled devices";
32 license = licenses.bsd3;
33 homepage = "https://github.com/ipmitool/ipmitool";
34 platforms = platforms.unix;
35 maintainers = with maintainers; [ fpletz ];
36 };
37}