guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

31/31: ant-build-system: Add unpack phase.


From: Ricardo Wurmus
Subject: 31/31: ant-build-system: Add unpack phase.
Date: Fri, 20 May 2016 13:27:24 +0000 (UTC)

rekado pushed a commit to branch master
in repository guix.

commit 932f2b70a6a5eee15b1508d7aae7f8a7fdb0e23a
Author: Ricardo Wurmus <address@hidden>
Date:   Tue May 10 15:50:28 2016 +0200

    ant-build-system: Add unpack phase.
    
    * guix/build/ant-build-system.scm (unpack): New procedure.
    (%standard-phases): Use it.
---
 guix/build/ant-build-system.scm |   12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/guix/build/ant-build-system.scm b/guix/build/ant-build-system.scm
index 27277af..6dc19ff 100644
--- a/guix/build/ant-build-system.scm
+++ b/guix/build/ant-build-system.scm
@@ -86,6 +86,17 @@ INPUTS."
                          (find-files dir "\\.*jar$")))
                       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)
                     #:allow-other-keys)
   (when jar-name
@@ -151,6 +162,7 @@ repack them.  This is necessary to ensure that archives are 
reproducible."
 
 (define %standard-phases
   (modify-phases gnu:%standard-phases
+    (replace 'unpack unpack)
     (replace 'configure configure)
     (replace 'build build)
     (replace 'check check)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]