Mathieu Othacehe writes: > * gnu/packages/backup.scm (libarchive)[arguments]: Do not build and run tests > when cross-compiling. [...] > @@ -226,17 +227,25 @@ backups (called chunks) to allow easy burning to CD/DVD.") > (("/bin/pwd") (which "pwd"))) > #t)) > (replace 'check > - (lambda _ > - ;; XXX: The test_owner_parse, test_read_disk, and > - ;; test_write_disk_lookup tests expect user 'root' to exist, but > - ;; the chroot's /etc/passwd doesn't have it. Turn off those tests. > - ;; > - ;; The tests allow one to disable tests matching a globbing pattern. > - (invoke "make" "libarchive_test" "bsdcpio_test" "bsdtar_test") > - ;; XXX: This glob disables too much. > - (invoke "./libarchive_test" "^test_*_disk*") > - (invoke "./bsdcpio_test" "^test_owner_parse") > - (invoke "./bsdtar_test"))) > + ,@(if (%current-target-system) > + '((lambda _ > + #t)) When I think about it, gnu-build-system already sets #:tests? #f when cross-compiling. So this and similar changes can be rewritten to simply check the tests? variable: (replace 'check (lambda* (#:key (tests? #t) #:allow-other-keys) (if tests? ... (format #t "test suite not run~%")))) (obviously, you should check that this works instead of taking my word for it. But it looks cleaner this way. LGTM anyway.)