aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2024-05-05 22:10:28 +0100
committerSharlatan Hellseher <sharlatanus@gmail.com>2024-05-07 21:33:44 +0100
commitaa1090713aad76a652aa0159662880b1301e13ae (patch)
tree2f57fc75107b3ec729c9045dc8118f4dd28417f9 /gnu
parentc7bd735bc496223caadc13f90f7aa3b598485c64 (diff)
downloadguix-aa1090713aad76a652aa0159662880b1301e13ae.tar
guix-aa1090713aad76a652aa0159662880b1301e13ae.tar.gz
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')
-rw-r--r--gnu/packages/file-systems.scm49
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")