summary refs log tree commit diff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2017-11-20 14:31:10 +0100
committerRicardo Wurmus <rekado@elephly.net>2017-11-27 12:12:41 +0100
commit9ce7ac992ef148b9906a7bf0b6ac92bd8ea0d9e2 (patch)
treef8f61c26a048b6c07a497fd9f867eaa3b97be557
parent5e3abfc83f58cc9c5a9b62f1d54ee1fa76614ae4 (diff)
downloadguix-9ce7ac992ef148b9906a7bf0b6ac92bd8ea0d9e2.tar.gz
gnu: Add ant-apache-bcel.
* gnu/packages/java.scm (ant-apache-bcel): New variable.
-rw-r--r--gnu/packages/java.scm32
1 files changed, 32 insertions, 0 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 11fccba5dc..d9fa0c4baf 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -1753,6 +1753,38 @@ IcedTea build harness.")
     (native-inputs
      `(("jdk" ,icedtea-7 "jdk")))))
 
+(define-public ant-apache-bcel
+  (package
+    (inherit ant/java8)
+    (name "ant-apache-bcel")
+    (arguments
+     (substitute-keyword-arguments (package-arguments ant/java8)
+       ((#:phases phases)
+        `(modify-phases ,phases
+           (add-after 'unpack 'link-bcel
+             (lambda* (#:key inputs #:allow-other-keys)
+               (for-each (lambda (file)
+                           (symlink file
+                                    (string-append "lib/optional/"
+                                                   (basename file))))
+                         (find-files (assoc-ref inputs "java-commons-bcel")
+                                     "\\.jar$"))
+               #t))
+           (add-after 'build 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out   (assoc-ref outputs "out"))
+                      (share (string-append out "/share/java"))
+                      (bin   (string-append out "/bin"))
+                      (lib   (string-append out "/lib")))
+                 (mkdir-p share)
+                 (install-file (string-append lib "/ant-apache-bcel.jar") share)
+                 (delete-file-recursively bin)
+                 (delete-file-recursively lib)
+                 #t)))))))
+    (inputs
+     `(("java-commons-bcel" ,java-commons-bcel)
+       ,@(package-inputs ant/java8)))))
+
 (define-public clojure
   (let* ((remove-archives '(begin
                              (for-each delete-file