Archived
1
0
Fork 0

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 1e555562a7
commit 8f8ed9aadd
No known key found for this signature in database
GPG key ID: 197A5888235FACAC

View file

@ -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)))