gnu: Add java-asm.

* gnu/packages/java.scm (java-asm): New variable.
This commit is contained in:
Ricardo Wurmus 2017-03-02 11:50:17 +01:00
parent c48a145fbb
commit d44bcd7ac7
No known key found for this signature in database
GPG key ID: 197A5888235FACAC

View file

@ -2826,3 +2826,47 @@ (define antlr3-3.1
`(("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)))