From 7af9ee1fe5ca48b15156c591d5d6d77ac64ff2bc Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Tue, 26 Apr 2022 05:48:11 +0200 Subject: [PATCH] gnu: Add phoronix-test-suite. * gnu/packages/benchmark.scm (phoronix-test-suite): New variable. diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index ce137d845e..ee51d0cd83 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer ;;; Copyright © 2020 Greg Hogan ;;; Copyright © 2021 Arun Isaac +;;; Copyright © 2022 Petr Hodina ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,14 +35,17 @@ (define-module (gnu packages benchmark) #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages c) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages databases) #:use-module (gnu packages docbook) @@ -51,6 +55,7 @@ (define-module (gnu packages benchmark) #:use-module (gnu packages mpi) #:use-module (gnu packages opencl) #:use-module (gnu packages perl) + #:use-module (gnu packages php) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-science) @@ -262,6 +267,77 @@ (define-public bonnie++ file metadata operations that can be performed per second.") (license license:gpl2))) ;GPL 2 only, see copyright.txt +(define-public phoronix-test-suite + (package + (name "phoronix-test-suite") + (version "10.8.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/phoronix-test-suite/phoronix-test-suite") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1q509piv5r8lkx82n9qgma19wd01f5ihy1ks1604865fwah1jg19")))) + (build-system copy-build-system) + (arguments + (let ((pts "pts-core/external-test-dependencies") + (usr (string-append "usr/share/phoronix-test-suite/" + "pts-core/external-test-dependencies"))) + (list #:install-plan + #~`((,(string-append #$pts + "/dependency-handlers/arch_dependency_handler.php") + ,(string-append #$usr + "/dependency-handlers/arch_dependency_handler.php")) + (,(string-append #$pts "/scripts/install-arch-packages.sh") + ,(string-append #$usr "/scripts/install-arch-packages.sh")) + (,(string-append #$pts "/xml/arch-packages.xml") + ,(string-append #$usr + "/pts-core/external-test-dependencies/xml/arch-packages.xml")) + (,(string-append #$pts "/xml/generic-packages.xml") + ,(string-append #$usr "/xml/generic-packages.xml"))) + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'executable-link + (lambda* (#:key inputs outputs #:allow-other-keys) + (setenv "HOME" "/tmp") + (invoke "./install-sh" + (string-append #$output "/usr")) + (mkdir-p (string-append #$output "/bin")) + (wrap-program + (string-append #$output + "/usr/bin/phoronix-test-suite") + `("PATH" ":" prefix + ,(map (lambda (dir) + (string-append dir "/bin:" dir + "/sbin")) + (list #$(this-package-input "php") + #$(this-package-input "sed") + #$(this-package-input "which"))))) + (symlink (string-append #$output + "/usr/bin/phoronix-test-suite") + (string-append #$output "/bin/pts")) + (delete-file-recursively + (string-append #$output + "/usr/share/phoronix-test-suite/deploy")) + (with-directory-excursion + (string-append #$output "/" #$usr) + (for-each (lambda (dir) + (delete-file-recursively + dir)) + (list + "dependency-handlers" + "scripts" "xml"))))))))) + (inputs (list bash-minimal sed which xdg-utils)) + (propagated-inputs (list php)) + (home-page "https://github.com/phoronix-test-suite/phoronix-test-suite") + (synopsis "Automated testing/benchmarking software") + (description "This package provides automated testing/benchmarking +software.") + (license license:gpl3+))) + (define-public python-locust (package (name "python-locust") -- 2.35.1