aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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.")))