gnu: Add benchmark.
* gnu/packages/benchmark.scm(benchmark): New variable. * gnu/packages/patches/benchmark-unbundle-googletest.patch: New file. * gnu/local.mk(dist_patch_DATA): Add it.
This commit is contained in:
parent
bc70516bba
commit
4c7e8c234d
@ -15,7 +15,7 @@
|
||||
# Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
# Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
|
||||
# Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
# Copyright © 2017, 2018 Gábor Boskovits <boskovits@gmail.com>
|
||||
# Copyright © 2017, 2018, 2019 Gábor Boskovits <boskovits@gmail.com>
|
||||
# Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
|
||||
# Copyright © 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
# Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
|
||||
@ -691,6 +691,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/bazaar-CVE-2017-14176.patch \
|
||||
%D%/packages/patches/beets-python-3.7-fix.patch \
|
||||
%D%/packages/patches/beignet-correct-file-names.patch \
|
||||
%D%/packages/patches/benchmark-unbundle-googletest.patch \
|
||||
%D%/packages/patches/biber-fix-encoding-write.patch \
|
||||
%D%/packages/patches/binutils-loongson-workaround.patch \
|
||||
%D%/packages/patches/blender-2.79-newer-ffmpeg.patch \
|
||||
|
@ -4,6 +4,7 @@
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -25,7 +26,10 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages maths)
|
||||
@ -193,3 +197,27 @@ extension to @code{time} which runs a command multiple times and prints the
|
||||
timing means, standard deviations, mins, medians, and maxes having done so.
|
||||
This can give a much better understanding of the command's performance.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public benchmark
|
||||
(package
|
||||
(name "benchmark")
|
||||
(version "1.5.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/google/benchmark.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0r9dbg4cbk47gwmayys31a83m3y67k0kh1f6pl8i869rbd609ndh"))
|
||||
(patches (search-patches "benchmark-unbundle-googletest.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("googletest" ,googletest)))
|
||||
(home-page "https://github.com/google/benchmark")
|
||||
(synopsis "Microbenchmark support library")
|
||||
(description
|
||||
"Benchmark is a library to benchmark code snippets,
|
||||
similar to unit tests.")
|
||||
(license license:asl2.0)))
|
||||
|
69
gnu/packages/patches/benchmark-unbundle-googletest.patch
Normal file
69
gnu/packages/patches/benchmark-unbundle-googletest.patch
Normal file
@ -0,0 +1,69 @@
|
||||
From 5eb306618196ea78b8c9390e22ea2edce20760fe Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= <boskovits@gmail.com>
|
||||
Date: Fri, 14 Jun 2019 22:15:49 +0200
|
||||
Subject: [PATCH] Remove googletest lookup from build system.
|
||||
|
||||
---
|
||||
cmake/GoogleTest.cmake | 18 +++++++++---------
|
||||
cmake/GoogleTest.cmake.in | 12 ++++++------
|
||||
2 files changed, 15 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/cmake/GoogleTest.cmake b/cmake/GoogleTest.cmake
|
||||
index fb7c6be..a6c473b 100644
|
||||
--- a/cmake/GoogleTest.cmake
|
||||
+++ b/cmake/GoogleTest.cmake
|
||||
@@ -27,15 +27,15 @@ endif()
|
||||
# settings on Windows
|
||||
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
||||
|
||||
-include(${GOOGLETEST_PREFIX}/googletest-paths.cmake)
|
||||
+#include(${GOOGLETEST_PREFIX}/googletest-paths.cmake)
|
||||
|
||||
# Add googletest directly to our build. This defines
|
||||
# the gtest and gtest_main targets.
|
||||
-add_subdirectory(${GOOGLETEST_SOURCE_DIR}
|
||||
- ${GOOGLETEST_BINARY_DIR}
|
||||
- EXCLUDE_FROM_ALL)
|
||||
-
|
||||
-set_target_properties(gtest PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES $<TARGET_PROPERTY:gtest,INTERFACE_INCLUDE_DIRECTORIES>)
|
||||
-set_target_properties(gtest_main PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES $<TARGET_PROPERTY:gtest_main,INTERFACE_INCLUDE_DIRECTORIES>)
|
||||
-set_target_properties(gmock PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES $<TARGET_PROPERTY:gmock,INTERFACE_INCLUDE_DIRECTORIES>)
|
||||
-set_target_properties(gmock_main PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES $<TARGET_PROPERTY:gmock_main,INTERFACE_INCLUDE_DIRECTORIES>)
|
||||
+#add_subdirectory(${GOOGLETEST_SOURCE_DIR}
|
||||
+# ${GOOGLETEST_BINARY_DIR}
|
||||
+# EXCLUDE_FROM_ALL)
|
||||
+
|
||||
+#set_target_properties(gtest PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES $<TARGET_PROPERTY:gtest,INTERFACE_INCLUDE_DIRECTORIES>)
|
||||
+#set_target_properties(gtest_main PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES $<TARGET_PROPERTY:gtest_main,INTERFACE_INCLUDE_DIRECTORIES>)
|
||||
+#set_target_properties(gmock PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES $<TARGET_PROPERTY:gmock,INTERFACE_INCLUDE_DIRECTORIES>)
|
||||
+#set_target_properties(gmock_main PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES $<TARGET_PROPERTY:gmock_main,INTERFACE_INCLUDE_DIRECTORIES>)
|
||||
diff --git a/cmake/GoogleTest.cmake.in b/cmake/GoogleTest.cmake.in
|
||||
index 28818ee..13b0888 100644
|
||||
--- a/cmake/GoogleTest.cmake.in
|
||||
+++ b/cmake/GoogleTest.cmake.in
|
||||
@@ -31,7 +31,7 @@ if(EXISTS "${GOOGLETEST_PATH}" AND IS_DIRECTORY "${GOOGLETEST_PATH}"
|
||||
)
|
||||
else()
|
||||
if(NOT ALLOW_DOWNLOADING_GOOGLETEST)
|
||||
- message(SEND_ERROR "Did not find Google Test sources! Either pass correct path in GOOGLETEST_PATH, or enable ALLOW_DOWNLOADING_GOOGLETEST, or disable BENCHMARK_ENABLE_GTEST_TESTS / BENCHMARK_ENABLE_TESTING.")
|
||||
+ message(WARNING "Did not find Google Test sources! Either pass correct path in GOOGLETEST_PATH, or enable ALLOW_DOWNLOADING_GOOGLETEST, or disable BENCHMARK_ENABLE_GTEST_TESTS / BENCHMARK_ENABLE_TESTING.")
|
||||
else()
|
||||
message(WARNING "Did not find Google Test sources! Fetching from web...")
|
||||
ExternalProject_Add(
|
||||
@@ -51,8 +51,8 @@ else()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
-ExternalProject_Get_Property(googletest SOURCE_DIR BINARY_DIR)
|
||||
-file(WRITE googletest-paths.cmake
|
||||
-"set(GOOGLETEST_SOURCE_DIR \"${SOURCE_DIR}\")
|
||||
-set(GOOGLETEST_BINARY_DIR \"${BINARY_DIR}\")
|
||||
-")
|
||||
+#ExternalProject_Get_Property(googletest SOURCE_DIR BINARY_DIR)
|
||||
+#file(WRITE googletest-paths.cmake
|
||||
+#"set(GOOGLETEST_SOURCE_DIR \"${SOURCE_DIR}\")
|
||||
+#set(GOOGLETEST_BINARY_DIR \"${BINARY_DIR}\")
|
||||
+#")
|
||||
--
|
||||
2.22.0
|
||||
|
Loading…
Reference in New Issue
Block a user