diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2017-03-02 11:50:17 +0100 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2017-05-15 22:33:13 +0200 |
commit | d44bcd7ac7295dbcbf0bd103901f277deadb943e (patch) | |
tree | 1d75908cc1b304b452c222913b41304f03350652 | |
parent | c48a145fbb613ac2b623f0a11278848923b312f1 (diff) | |
download | guix-d44bcd7ac7295dbcbf0bd103901f277deadb943e.tar.gz |
gnu: Add java-asm.
* gnu/packages/java.scm (java-asm): New variable.
-rw-r--r-- | gnu/packages/java.scm | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 127f4521ad..c68ff1477d 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2826,3 +2826,47 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;")))) `(("junit" ,java-junit))) (propagated-inputs `(("stringtemplate" ,stringtemplate3))))) + +(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" + #:test-target "test" + ;; 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))) |