aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2018-05-26 00:00:37 +0200
committerJulien Lepiller <julien@lepiller.eu>2018-05-27 18:47:07 +0200
commit3402e651c87190299b0d1cab18ace4ea29e65b1f (patch)
tree2280ec8d01c1b93dabe67d6ccd3d6838f5b3780d /gnu
parent3fa18fe796e02f65ef55ea070cbec35593e19625 (diff)
downloadpatches-3402e651c87190299b0d1cab18ace4ea29e65b1f.tar
patches-3402e651c87190299b0d1cab18ace4ea29e65b1f.tar.gz
gnu: Add java-janino.
* gnu/packages/java.scm (java-janino): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/java.scm23
1 files changed, 23 insertions, 0 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index cfd8f81592..a810a53585 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -10017,3 +10017,26 @@ adds Plexus support to the Sisu-Inject container.")
@code{IExpressionEvaluator}, @code{IScriptEvaluator}, @code{IClassBodyEvaluator}
and @code{ISimpleCompiler} interfaces.")
(license license:bsd-3)))
+
+(define-public java-janino
+ (package
+ (inherit java-commons-compiler)
+ (name "java-janino")
+ (arguments
+ `(#:jar-name "janino.jar"
+ #:source-dir "src/main/java"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'chdir
+ (lambda _
+ (chdir "janino"))))))
+ (inputs
+ `(("java-commons-compiler" ,java-commons-compiler)))
+ (native-inputs
+ `(("java-junit" ,java-junit)
+ ("java-hamcrest-core" ,java-hamcrest-core)))
+ (description "Janino is a Java compiler. Janino can compile a set of
+source files to a set of class files like @code{javac}, but also compile a
+Java expression, block, class body or source file in memory, load the bytecode
+and execute it directly in the same JVM. @code{janino} can also be used for
+static code analysis or code manipulation.")))