From 7fc1fac64a8d800d651f55a80ff158abd7a90ccb Mon Sep 17 00:00:00 2001 From: la snesne Date: Tue, 23 Mar 2021 09:28:05 +0900 Subject: gnu: minetest: Enable tests. * gnu/packages/games.scm (minetest)[arguments]: Remove #:tests?. Add #:phases. Co-authored-by: Leo Prikler --- gnu/packages/games.scm | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index add8b58ab9..7366e6411e 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -3482,7 +3482,7 @@ match, cannon keep, and grave-itation pit.") #t)))) (build-system cmake-build-system) (arguments - '(#:configure-flags + `(#:configure-flags (list "-DRUN_IN_PLACE=0" "-DENABLE_FREETYPE=1" "-DENABLE_GETTEXT=1" @@ -3493,7 +3493,27 @@ match, cannon keep, and grave-itation pit.") (string-append "-DCURL_INCLUDE_DIR=" (assoc-ref %build-inputs "curl") "/include/curl")) - #:tests? #f)) ;no check target + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-sources + (lambda _ + (substitute* "src/CMakeLists.txt" + (("set\\(EXECUTABLE_OUTPUT_PATH .*\\)") "")) + (substitute* "src/unittest/test_servermodmanager.cpp" + ;; do no override MINETEST_SUBGAME_PATH + (("(un)?setenv\\(\"MINETEST_SUBGAME_PATH\".*\\);") + "(void)0;")) + (setenv "MINETEST_SUBGAME_PATH" + (string-append (getcwd) "/games")) ; for check + #t)) + (replace 'check + (lambda _ + ;; Thanks to our substitutions, the tests should also run + ;; when invoked on the target outside of `guix build'. + (unless ,(%current-target-system) + (setenv "HOME" "/tmp") + (invoke "src/minetest" "--run-unittests")) + #t))))) (native-search-paths (list (search-path-specification (variable "MINETEST_SUBGAME_PATH") -- cgit 1.4.1