aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2017-03-02 11:50:17 +0100
committerRicardo Wurmus <rekado@elephly.net>2017-05-10 17:59:23 +0200
commit8f8ed9aadddcc54dba15a8fa97a173ccd1bc61b3 (patch)
tree968ed576f5a2e90ab8f4fb72391e1a6aef9854b4
parent1e555562a757c48feae5f0004447f4dc64987807 (diff)
downloadgnu-guix-8f8ed9aadddcc54dba15a8fa97a173ccd1bc61b3.tar
gnu-guix-8f8ed9aadddcc54dba15a8fa97a173ccd1bc61b3.tar.gz
gnu: Add java-asm.
* gnu/packages/java.scm (java-asm): New variable.
-rw-r--r--gnu/packages/java.scm43
1 files changed, 43 insertions, 0 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index fb01480586..c52d52295b 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -1262,3 +1262,46 @@ It has its foundation in the @code{org.codehaus.plexus.utils.interpolation}
package within @code{plexus-utils}, but has been separated in order to allow
these two libraries to vary independently of one another.")
(license license:asl2.0)))
+
+(define-public java-asm
+ (package
+ (name "java-asm")
+ (version "5.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://download.forge.ow2.org/asm/"
+ "asm-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0kxvmv5275rnjl7jv0442k3wjnq03ngkb7sghs78avf45pzm4qgr"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:build-target "compile"
+ ;; The tests require an old version of Janino, which no longer compiles
+ ;; with the JDK7.
+ #:tests? #f
+ ;; We don't need these extra ant tasks, but the build system asks us to
+ ;; provide a path anyway.
+ #:make-flags (list (string-append "-Dobjectweb.ant.tasks.path=foo"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'build-jars
+ (lambda* (#:key make-flags #:allow-other-keys)
+ ;; We cannot use the "jar" target because it depends on a couple
+ ;; of unpackaged, complicated tools.
+ (mkdir "dist")
+ (zero? (system* "jar"
+ "-cf" (string-append "dist/asm-" ,version ".jar")
+ "-C" "output/build/tmp" "."))))
+ (replace 'install
+ (install-jars "dist")))))
+ (native-inputs
+ `(("java-junit" ,java-junit)))
+ (home-page "http://asm.ow2.org/")
+ (synopsis "Very small and fast Java bytecode manipulation framework")
+ (description "ASM is an all purpose Java bytecode manipulation and
+analysis framework. It can be used to modify existing classes or dynamically
+generate classes, directly in binary form. The provided common
+transformations and analysis algorithms allow to easily assemble custom
+complex transformations and code analysis tools.")
+ (license license:bsd-3)))