gnu: i2pd: Allow skipping tests.

* gnu/packages/i2p.scm (i2pd)[arguments]: Adjust custom 'check phase to
honor --without-tests flag.
This commit is contained in:
Efraim Flashner 2021-05-25 09:06:51 +03:00
parent e52c64cb04
commit a0b31909f4
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351

View file

@ -2,6 +2,7 @@
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org> ;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Solene Rapenne <solene@perso.pw> ;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -61,21 +62,23 @@ (define-public i2pd
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda* (#:key (lambda* (#:key
tests?
(make-flags '()) (make-flags '())
(parallel-tests? #t) (parallel-tests? #t)
#:allow-other-keys) #:allow-other-keys)
(let ((source (assoc-ref %build-inputs "source"))) (let ((source (assoc-ref %build-inputs "source")))
(copy-recursively (string-append source "/tests") (when tests?
"./tests") (copy-recursively (string-append source "/tests")
(with-directory-excursion "tests" "./tests")
(substitute* "Makefile" (with-directory-excursion "tests"
(("../libi2pd/") (string-append source "/libi2pd/"))) (substitute* "Makefile"
(apply invoke "make" "all" (("../libi2pd/") (string-append source "/libi2pd/")))
`(,@(if parallel-tests? (apply invoke "make" "all"
`("-j" ,(number->string `(,@(if parallel-tests?
(parallel-job-count))) `("-j" ,(number->string
'()) (parallel-job-count)))
,@make-flags))))))))) '())
,@make-flags))))))))))
(home-page "https://i2pd.website/") (home-page "https://i2pd.website/")
(synopsis "Router for an end-to-end encrypted and anonymous internet") (synopsis "Router for an end-to-end encrypted and anonymous internet")
(description "i2pd is a client for the anonymous I2P network, upon which (description "i2pd is a client for the anonymous I2P network, upon which