1{
2 stdenv,
3 lib,
4 fetchFromGitea,
5 autoreconfHook,
6 pkg-config,
7 openssl,
8 readline,
9 fetchurl,
10}:
11
12let
13 iana-enterprise-numbers = fetchurl {
14 url = "https://web.archive.org/web/20250113140800id_/https://www.iana.org/assignments/enterprise-numbers.txt";
15 hash = "sha256-aRgBEfZYwoL6YnU3aD0WYeMnJD5ZCj34S/9aQyzBIO4=";
16 };
17in
18stdenv.mkDerivation {
19 pname = "ipmitool";
20 version = "1.8.19-unstable-2025-02-18";
21
22 src = fetchFromGitea {
23 domain = "codeberg.org";
24 owner = "IPMITool";
25 repo = "ipmitool";
26 rev = "3c91e6d91ec6090fe548c55ef301c33ff20c8ed8";
27 hash = "sha256-7R3jmPPd8+yKs7Q1vlU/ZaZusZVB0s+xc1HGeLyLdk0=";
28 };
29
30 nativeBuildInputs = [
31 autoreconfHook
32 pkg-config
33 ];
34
35 buildInputs = [
36 openssl
37 readline
38 ];
39
40 configureFlags = [ "--disable-registry-download" ];
41
42 postInstall = ''
43 # Install to path reported in configure as "Set IANA PEN dictionary search path to ..."
44 install -Dm444 ${iana-enterprise-numbers} $out/share/misc/enterprise-numbers
45 '';
46
47 meta = {
48 description = "Command-line interface to IPMI-enabled devices";
49 mainProgram = "ipmitool";
50 license = lib.licenses.bsd3;
51 homepage = "https://codeberg.org/IPMITool/ipmitool";
52 platforms = lib.platforms.unix;
53 maintainers = with lib.maintainers; [ fpletz ];
54 };
55}