gnu: Add libcpuid.
* gnu/packages/hardware.scm (libcpuid): New variable. Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
parent
ed01934c82
commit
651765eca4
|
@ -9,6 +9,8 @@
|
||||||
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
|
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
|
||||||
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
|
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
|
||||||
;;; Copyright © 2021, 2022 John Kehayias <john.kehayias@protonmail.com>
|
;;; Copyright © 2021, 2022 John Kehayias <john.kehayias@protonmail.com>
|
||||||
|
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
|
||||||
|
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -70,7 +72,8 @@
|
||||||
#:use-module (guix svn-download)
|
#:use-module (guix svn-download)
|
||||||
#:use-module ((guix licenses) #:prefix license:)
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix utils))
|
#:use-module (guix utils)
|
||||||
|
#:use-module (srfi srfi-1))
|
||||||
|
|
||||||
;; This is a module for packages related to physical hardware that don't (yet)
|
;; This is a module for packages related to physical hardware that don't (yet)
|
||||||
;; have a more specific home like gps.scm, security-token.scm, &c.
|
;; have a more specific home like gps.scm, security-token.scm, &c.
|
||||||
|
@ -953,3 +956,54 @@ of your CRT/LCD monitor.")
|
||||||
libtss2-esys, libtss2-sys, libtss2-mu, libtss2-tcti-device, libtss2-tcti-swtpm
|
libtss2-esys, libtss2-sys, libtss2-mu, libtss2-tcti-device, libtss2-tcti-swtpm
|
||||||
and libtss2-tcti-mssim.")
|
and libtss2-tcti-mssim.")
|
||||||
(license license:bsd-2)))
|
(license license:bsd-2)))
|
||||||
|
|
||||||
|
(define-public libcpuid
|
||||||
|
;; We need to remove blobs from the source, first we have to isolate the blob
|
||||||
|
;; source in build system.
|
||||||
|
;; See https://github.com/anrieff/libcpuid/pull/159.
|
||||||
|
(let ((commit "2e61160983f32ba840b2246d3c3850c44626ab0d")
|
||||||
|
(revision "1"))
|
||||||
|
(package
|
||||||
|
(name "libcpuid")
|
||||||
|
(version (git-version "0.5.1" revision commit))
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/anrieff/libcpuid")
|
||||||
|
(commit commit)))
|
||||||
|
(sha256
|
||||||
|
(base32 "1mphvkiqq6z33sq6i490fq27sbyylacwrf8bg7ccvpcjms208sww"))
|
||||||
|
(modules '((guix build utils)))
|
||||||
|
(snippet
|
||||||
|
;; Now remove blobs.
|
||||||
|
#~(begin
|
||||||
|
(delete-file "libcpuid/msrdriver.c")
|
||||||
|
(delete-file-recursively "contrib/MSR Driver")))
|
||||||
|
(file-name (git-file-name name version))))
|
||||||
|
(build-system cmake-build-system)
|
||||||
|
(arguments
|
||||||
|
(list
|
||||||
|
#:configure-flags #~(list "-DLIBCPUID_TESTS=ON")
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'absolutize
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
;; Linux specific
|
||||||
|
(when #$(target-linux?)
|
||||||
|
(substitute* "libcpuid/rdmsr.c"
|
||||||
|
(("modprobe") (which "modprobe")))))))))
|
||||||
|
(inputs
|
||||||
|
(if (target-linux?)
|
||||||
|
(list kmod)
|
||||||
|
'()))
|
||||||
|
(native-inputs (list python-3)) ;required by tests
|
||||||
|
(supported-systems
|
||||||
|
(filter (lambda (t) (or (target-x86-64? t) (target-x86-32? t)))
|
||||||
|
%supported-systems))
|
||||||
|
(home-page "https://libcpuid.sourceforge.net/")
|
||||||
|
(synopsis "Small library for x86 CPU detection and feature extraction")
|
||||||
|
(description "Libcpuid is a small C library to get vendor, model, branding
|
||||||
|
string, code name and other information from x86 CPU. This library is not to be
|
||||||
|
confused with the @code{cpuid} command line utility from package @code{cpuid}.")
|
||||||
|
(license license:bsd-2))))
|
||||||
|
|
Reference in New Issue