diff options
author | Sharlatan Hellseher <sharlatanus@gmail.com> | 2024-05-05 22:10:28 +0100 |
---|---|---|
committer | Sharlatan Hellseher <sharlatanus@gmail.com> | 2024-05-07 21:33:44 +0100 |
commit | aa1090713aad76a652aa0159662880b1301e13ae (patch) | |
tree | 2f57fc75107b3ec729c9045dc8118f4dd28417f9 /gnu/packages/file-systems.scm | |
parent | c7bd735bc496223caadc13f90f7aa3b598485c64 (diff) |
gnu: tmsu: Enable test suite.
* gnu/packages/file-systems.scm (tmsu): Fail over to the project's
Makefile targets.
[arguments]: <#:go>: Use go-1.21.
<#:phases>: Add 'adjust-makefile' phase. Use custom 'build, 'check and
'install phases.
Change-Id: Ice920f2196123f1a1f1561879ab919bc0d4e8512
Diffstat (limited to 'gnu/packages/file-systems.scm')
-rw-r--r-- | gnu/packages/file-systems.scm | 49 |
1 files changed, 38 insertions, 11 deletions
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index 8afd853350..1396386b63 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -1955,17 +1955,44 @@ memory-efficient.") "0834hah7p6ad81w60ifnxyh9zn09ddfgrll04kwjxwp7ypbv38wq")))) (build-system go-build-system) (arguments - `(#:import-path "github.com/oniony/TMSU" - #:unpack-path ".." - #:install-source? #f - #:phases - (modify-phases %standard-phases - (add-after 'install 'post-install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; The go build system produces /bin/TMSU -> install as /bin/tmsu - (rename-file (string-append out "/bin/TMSU") - (string-append out "/bin/tmsu")))))))) + (list + #:go go-1.21 + #:import-path "github.com/oniony/TMSU" + #:unpack-path "github.com/oniony/TMSU" + #:install-source? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'adjust-makefile + (lambda* (#:key import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (substitute* "Makefile" + (("SHELL=.*") (string-append "SHELL=" (which "sh") "\n")) + ;; Make sure we do not compile 2 more times during the check + ;; phase. + (("unit-test: compile") "unit-test:") + (("integration-test: compile") "integration-test:") + ;; Simplify install path. + (("usr/") ""))))) + (replace 'build + (lambda* (#:key import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (invoke "make" "compile")))) + (replace 'check + (lambda* (#:key import-path tests? #:allow-other-keys) + (when tests? + (with-directory-excursion (string-append "src/" import-path) + ;; Remove shaky test file, see + ;; <https://github.com/oniony/TMSU/issues/281>. + (for-each + (lambda (test-file) + (delete-file test-file)) + (find-files "." "^fingerprinter_test.go$")) + (invoke "make" "test"))))) + (replace 'install + (lambda* (#:key import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (setenv "DESTDIR" #$output) + (invoke "make" "install"))))))) (inputs (list go-github-com-mattn-go-sqlite3 go-github-com-hanwen-fuse)) (home-page "https://github.com/oniony/TMSU") |