summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-03-03 16:43:14 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-03-03 22:37:52 -0500
commit0b0b377db8c07ad16d452f715321535eccba7a70 (patch)
treeb18842083523bd2ad128e66888553f8c4c0b024d
parenta001522657a7f960e6c5c903c042557e73c61f4a (diff)
downloadguix-patches-0b0b377db8c07ad16d452f715321535eccba7a70.tar
guix-patches-0b0b377db8c07ad16d452f715321535eccba7a70.tar.gz
gnu: Add kdiskmark.
* gnu/packages/benchmark.scm (kdiskmark): New variable.
-rw-r--r--gnu/packages/benchmark.scm49
1 files changed, 48 insertions, 1 deletions
diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm
index 537f6262c4..eb5df3d4c3 100644
--- a/gnu/packages/benchmark.scm
+++ b/gnu/packages/benchmark.scm
@@ -8,7 +8,7 @@
;;; Copyright © 2019, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 malte Frank Gerdes <malte.f.gerdes@gmail.com>
-;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
;;;
@@ -31,6 +31,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
@@ -38,6 +39,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages linux)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
@@ -47,6 +49,7 @@
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages qt)
#:use-module (ice-9 match))
(define-public fio
@@ -383,3 +386,47 @@ and options. With careful benchmarking, different hardware can be compared.")
devices. It only measures the peak metrics that can be achieved using
vector operations and does not represent a real-world use case.")
(license license:unlicense))))
+
+(define-public kdiskmark
+ (package
+ (name "kdiskmark")
+ (version "2.3.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JonMagon/KDiskMark")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1l4sw05yx70pcnaa64arjc414mgvyz05pn3gz9nc9hga8v2d3rzn"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:configure-flags
+ ;; Drop runtime dependency on KDE's KFAuth.
+ #~(list "-DPERFORM_PAGECACHE_CLEARING_USING_KF5AUTH=no")
+ #:tests? #f ;no test suite
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/benchmark.cpp"
+ (("\"fio\"")
+ (format #f "~s" (search-input-file inputs "bin/fio")))))))))
+ (native-inputs (list extra-cmake-modules qttools))
+ (inputs (list fio qtbase-5))
+ (home-page "https://github.com/JonMagon/KDiskMark")
+ (synopsis "Simple disk benchmark tool")
+ (description "KDiskMark is an HDD and SSD benchmark tool. KDiskMark
+abstracts away the complexity of the Flexible I/O Tester (@command{fio})
+command via a convenient graphical user interface (GUI) and handles its output
+to provide an easy to view and interpret benchmark result. The application is
+written in C++ with Qt and doesn't have any runtime KDE dependencies. Among
+its features are:
+@itemize
+@item Configurable block size, queues, and threads count for each test
+@item Many languages support
+@item Report generation.
+@end itemize")
+ (license license:gpl3+)))