From 8c9902b131e06b1b0645698135fdabeacb381983 Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Sun, 16 Jun 2024 17:32:57 -0700 Subject: gnu: Add cpu-features. * gnu/packages/assembly.scm (cpu-features): New variable. Change-Id: I9f3e0340024dbdbfb6f2f2a7e0820d71e5e5ba84 Signed-off-by: Guillaume Le Vaillant --- gnu/packages/assembly.scm | 41 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index b38a4512ff..b7ccb153d3 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -5,14 +5,13 @@ ;;; Copyright © 2016, 2020, 2021 Efraim Flashner ;;; Copyright © 2017–2022 Tobias Geerinckx-Rice ;;; Copyright © 2019 Guy Fleury Iteriteka -;;; Copyright © 2019 Andy Tai +;;; Copyright © 2019, 2022, 2024 Andy Tai ;;; Copyright © 2020 Jakub Kądziołka ;;; Copyright © 2020 Christine Lemmer-Webber ;;; Copyright © 2020 B. Wilson ;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2021 Guillaume Le Vaillant ;;; Copyright © 2022 Felix Gruber -;;; Copyright © 2022 Andy Tai ;;; Copyright © 2023 Simon South ;;; Copyright © 2023 B. Wilson ;;; @@ -646,6 +645,44 @@ SSE4.2) intrinsic functions as defined in corresponding x86 compilers headers files.") (license license:bsd-2)))) +(define-public cpu-features + (package + (name "cpu-features") + (version "0.9.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/cpu_features") + (commit (string-append "v" version)))) + (sha256 + (base32 "0297li3408zm1dqnibaasrb51vs7n7iscnxsji3b78g0pir7jwxr")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + (list + #:tests? #f + #:configure-flags + #~(list "-DBUILD_TESTING=off" ;; XXX: insists on using bundled googletest + "-DBUILD_SHARED_LIBS=ON"))) + (home-page "https://github.com/google/cpu_features") + (synopsis "Cross platform C99 library to get cpu features at runtime") + (description + "Cpu_features is a cross-platform C library to retrieve CPU features +(such as available instructions) at runtime, and supports these CPU architectures +@itemize +@item x86-64 +@item AArch64 +@item ARM +@item MIPS +@item POWER +@item RISC-V +@item LoongArch +@item S390x +@end itemize") + (license license:asl2.0))) + + (define-public blinkenlights (package (name "blinkenlights") -- cgit v1.2.3