ant-build-system: Add unpack phase.

* guix/build/ant-build-system.scm (unpack): New procedure.
(%standard-phases): Use it.
This commit is contained in:
Ricardo Wurmus 2016-05-10 15:50:28 +02:00 committed by Ricardo Wurmus
parent 987a118334
commit 932f2b70a6
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
1 changed files with 12 additions and 0 deletions

View File

@ -86,6 +86,17 @@ INPUTS."
(find-files dir "\\.*jar$"))) (find-files dir "\\.*jar$")))
inputs)) ":")) inputs)) ":"))
(define* (unpack #:key source #:allow-other-keys)
"Unpack the jar archive SOURCE. When SOURCE is not a jar archive fall back
to the default GNU unpack strategy."
(if (string-suffix? ".jar" source)
(begin
(mkdir "src")
(with-directory-excursion "src"
(zero? (system* "jar" "-xf" source))))
;; Use GNU unpack strategy for things that aren't jar archives.
((assq-ref gnu:%standard-phases 'unpack) #:source source)))
(define* (configure #:key inputs outputs (jar-name #f) (define* (configure #:key inputs outputs (jar-name #f)
#:allow-other-keys) #:allow-other-keys)
(when jar-name (when jar-name
@ -151,6 +162,7 @@ repack them. This is necessary to ensure that archives are reproducible."
(define %standard-phases (define %standard-phases
(modify-phases gnu:%standard-phases (modify-phases gnu:%standard-phases
(replace 'unpack unpack)
(replace 'configure configure) (replace 'configure configure)
(replace 'build build) (replace 'build build)
(replace 'check check) (replace 'check check)