mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 15:36:20 -05:00
gnu: Add cpuinfo.
* gnu/packages/parallel.scm (cpuinfo): New variable. * gnu/packages/patches/cpuinfo-system-libraries.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it.
This commit is contained in:
parent
646b5ad983
commit
4c5ad82780
3 changed files with 82 additions and 0 deletions
|
@ -929,6 +929,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/combinatorial-blas-io-fix.patch \
|
%D%/packages/patches/combinatorial-blas-io-fix.patch \
|
||||||
%D%/packages/patches/coreutils-ls.patch \
|
%D%/packages/patches/coreutils-ls.patch \
|
||||||
%D%/packages/patches/cpufrequtils-fix-aclocal.patch \
|
%D%/packages/patches/cpufrequtils-fix-aclocal.patch \
|
||||||
|
%D%/packages/patches/cpuinfo-system-libraries.patch \
|
||||||
%D%/packages/patches/crawl-upgrade-saves.patch \
|
%D%/packages/patches/crawl-upgrade-saves.patch \
|
||||||
%D%/packages/patches/crda-optional-gcrypt.patch \
|
%D%/packages/patches/crda-optional-gcrypt.patch \
|
||||||
%D%/packages/patches/clucene-contribs-lib.patch \
|
%D%/packages/patches/clucene-contribs-lib.patch \
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
(define-module (gnu packages parallel)
|
(define-module (gnu packages parallel)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
#:use-module (guix git-download)
|
#:use-module (guix git-download)
|
||||||
|
#:use-module (guix build-system cmake)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (guix build-system python)
|
#:use-module (guix build-system python)
|
||||||
#:use-module ((guix licenses) #:prefix license:)
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
|
@ -41,6 +42,7 @@ (define-module (gnu packages parallel)
|
||||||
#:use-module (gnu packages admin)
|
#:use-module (gnu packages admin)
|
||||||
#:use-module (gnu packages autotools)
|
#:use-module (gnu packages autotools)
|
||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
|
#:use-module (gnu packages check)
|
||||||
#:use-module (gnu packages flex)
|
#:use-module (gnu packages flex)
|
||||||
#:use-module (gnu packages freeipmi)
|
#:use-module (gnu packages freeipmi)
|
||||||
#:use-module (gnu packages linux)
|
#:use-module (gnu packages linux)
|
||||||
|
@ -411,3 +413,32 @@ (define-public pthreadpool
|
||||||
constructs such as @code{#pragma omp parallel for}, with additional
|
constructs such as @code{#pragma omp parallel for}, with additional
|
||||||
features.")
|
features.")
|
||||||
(license license:bsd-2))))
|
(license license:bsd-2))))
|
||||||
|
|
||||||
|
(define-public cpuinfo
|
||||||
|
;; There's currently no tag on this repo.
|
||||||
|
(let ((version "0.0")
|
||||||
|
(revision "1")
|
||||||
|
(commit "866ae6e5ffe93a1f63be738078da94cf3005cce2"))
|
||||||
|
(package
|
||||||
|
(name "cpuinfo")
|
||||||
|
(version (git-version version revision commit))
|
||||||
|
(home-page "https://github.com/pytorch/cpuinfo")
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference (url home-page) (commit commit)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1lmsf4bpkm19a31i40qwcjn46qf7prggziv4pbsi695bkx5as71p"))
|
||||||
|
(patches (search-patches "cpuinfo-system-libraries.patch"))))
|
||||||
|
(build-system cmake-build-system)
|
||||||
|
(arguments '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
|
||||||
|
(inputs
|
||||||
|
`(("googletest" ,googletest)
|
||||||
|
("googlebenchmark" ,googlebenchmark)))
|
||||||
|
(synopsis "C/C++ library to obtain information about the CPU")
|
||||||
|
(description
|
||||||
|
"The cpuinfo library provides a C/C++ and a command-line interface to
|
||||||
|
obtain information about the CPU being used: supported instruction set,
|
||||||
|
processor name, cache information, and topology information.")
|
||||||
|
(license license:bsd-2))))
|
||||||
|
|
50
gnu/packages/patches/cpuinfo-system-libraries.patch
Normal file
50
gnu/packages/patches/cpuinfo-system-libraries.patch
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
This patch allows the build process to use the provided dependencies instead
|
||||||
|
of adding their source as CMake sub-directories (in which case "make install"
|
||||||
|
would install googletest's and googlebenchmark's libraries and headers).
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 57abc26..761c612 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -93,7 +93,7 @@ SET(CONFU_DEPENDENCIES_BINARY_DIR ${CMAKE_BINARY_DIR}/deps
|
||||||
|
CACHE PATH "Confu-style dependencies binary directory")
|
||||||
|
|
||||||
|
IF(CPUINFO_BUILD_MOCK_TESTS OR CPUINFO_BUILD_UNIT_TESTS)
|
||||||
|
- IF(CPUINFO_SUPPORTED_PLATFORM AND NOT DEFINED GOOGLETEST_SOURCE_DIR)
|
||||||
|
+ IF(FALSE)
|
||||||
|
MESSAGE(STATUS "Downloading Google Test to ${CONFU_DEPENDENCIES_SOURCE_DIR}/googletest (define GOOGLETEST_SOURCE_DIR to avoid it)")
|
||||||
|
CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download/CMakeLists.txt")
|
||||||
|
EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
|
||||||
|
@@ -105,7 +105,7 @@ IF(CPUINFO_BUILD_MOCK_TESTS OR CPUINFO_BUILD_UNIT_TESTS)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
IF(CPUINFO_BUILD_BENCHMARKS)
|
||||||
|
- IF(CPUINFO_SUPPORTED_PLATFORM AND NOT DEFINED GOOGLEBENCHMARK_SOURCE_DIR)
|
||||||
|
+ IF(FALSE)
|
||||||
|
MESSAGE(STATUS "Downloading Google Benchmark to ${CONFU_DEPENDENCIES_SOURCE_DIR}/googlebenchmark (define GOOGLEBENCHMARK_SOURCE_DIR to avoid it)")
|
||||||
|
CONFIGURE_FILE(cmake/DownloadGoogleBenchmark.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/googlebenchmark-download/CMakeLists.txt")
|
||||||
|
EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
|
||||||
|
@@ -271,14 +271,6 @@ INSTALL(TARGETS cpuinfo
|
||||||
|
|
||||||
|
# ---[ cpuinfo micro-benchmarks
|
||||||
|
IF(CPUINFO_SUPPORTED_PLATFORM AND CPUINFO_BUILD_BENCHMARKS)
|
||||||
|
- # ---[ Build google benchmark
|
||||||
|
- IF(NOT TARGET benchmark)
|
||||||
|
- SET(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "")
|
||||||
|
- ADD_SUBDIRECTORY(
|
||||||
|
- "${GOOGLEBENCHMARK_SOURCE_DIR}"
|
||||||
|
- "${CONFU_DEPENDENCIES_BINARY_DIR}/googlebenchmark")
|
||||||
|
- ENDIF()
|
||||||
|
-
|
||||||
|
IF(CMAKE_SYSTEM_NAME MATCHES "^(Linux|Android)$")
|
||||||
|
ADD_EXECUTABLE(get-current-bench bench/get-current.cc)
|
||||||
|
TARGET_LINK_LIBRARIES(get-current-bench cpuinfo benchmark)
|
||||||
|
@@ -289,7 +281,7 @@ IF(CPUINFO_SUPPORTED_PLATFORM AND CPUINFO_BUILD_BENCHMARKS)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
IF(CPUINFO_SUPPORTED_PLATFORM)
|
||||||
|
- IF(CPUINFO_BUILD_MOCK_TESTS OR CPUINFO_BUILD_UNIT_TESTS)
|
||||||
|
+ IF(FALSE)
|
||||||
|
# ---[ Build google test
|
||||||
|
IF(NOT TARGET gtest)
|
||||||
|
IF(MSVC AND NOT CPUINFO_RUNTIME_TYPE STREQUAL "static")
|
Loading…
Reference in a new issue