projects/guix·blob java-team · refs

87 lines · 3.7 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2013 Ludovic Courtès <[email protected]>
3;;; Copyright © 2015, 2016, 2017, 2020, 2021, 2022 Efraim Flashner <[email protected]>
4;;; Copyright © 2019–2022 Tobias Geerinckx-Rice <[email protected]>
5;;; Copyright © 2025 Janneke Nieuwenhuizen <[email protected]>
6;;;
7;;; This file is part of GNU Guix.
8;;;
9;;; GNU Guix is free software; you can redistribute it and/or modify it
10;;; under the terms of the GNU General Public License as published by
11;;; the Free Software Foundation; either version 3 of the License, or (at
12;;; your option) any later version.
13;;;
14;;; GNU Guix is distributed in the hope that it will be useful, but
15;;; WITHOUT ANY WARRANTY; without even the implied warranty of
16;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17;;; GNU General Public License for more details.
18;;;
19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21
22(define-module (gnu packages freeipmi)
23 #:use-module (guix packages)
24 #:use-module (guix utils)
25 #:use-module (guix gexp)
26 #:use-module (guix licenses)
27 #:use-module (guix download)
28 #:use-module (guix build-system gnu)
29 #:use-module (gnu packages autotools)
30 #:use-module (gnu packages gnupg))
31
32(define-public freeipmi
33 (package
34 (name "freeipmi")
35 (version "1.6.16")
36 (source (origin
37 (method url-fetch)
38 (uri (string-append "mirror://gnu/freeipmi/freeipmi-"
39 version ".tar.gz"))
40 (sha256
41 (base32
42 "078i0ilsv4czzr2j0nwjafgqkrxc62cmf8rn9ady905nksxzdkjv"))))
43 (build-system gnu-build-system)
44 (arguments
45 (append
46 (if (and (%current-target-system)
47 (target-riscv64?))
48 (list #:phases
49 #~(modify-phases %standard-phases
50 (add-after 'unpack 'update-config-scripts
51 (lambda* (#:key inputs native-inputs #:allow-other-keys)
52 ;; Replace outdated config.guess and config.sub.
53 (for-each (lambda (file)
54 (install-file
55 (search-input-file
56 (or native-inputs inputs)
57 (string-append "/bin/" file)) "config"))
58 '("config.guess" "config.sub"))))))
59 '())
60 (list #:configure-flags
61 #~'(#$(string-append
62 "CFLAGS=-g -O2"
63 " -Wno-error=implicit-function-declaration"
64 " -Wno-error=incompatible-pointer-types")
65 "--disable-static"
66 #$@(if (%current-target-system)
67 ;; We cannot check for these devices
68 ;; when cross compiling.
69 `("ac_cv_file__dev_random=yes"
70 "ac_cv_file__dev_urandom=yes")
71 '())))))
72 (native-inputs
73 (if (and (%current-target-system)
74 (target-riscv64?))
75 (list config)
76 '()))
77 (inputs
78 (list libgcrypt))
79 (home-page "https://www.gnu.org/software/freeipmi/")
80 (synopsis "Platform management, including sensor and power monitoring")
81 (description
82 "GNU FreeIPMI is a collection of in-band and out-of-band IPMI software
83in accordance with the IPMI v1.5/2.0 specification. These programs provide a
84set of interfaces for platform management. Common functionality includes
85sensor monitoring, system event monitoring, power control and
86serial-over-LAN.")
87 (license gpl3+)))