gnu: igt-gpu-tools: Don't use NAME in source URI.
[jackhill/guix/guix.git] / gnu / packages / groovy.scm
CommitLineData
fdc9170b
JL
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
3;;;
4;;; This file is part of GNU Guix.
5;;;
6;;; GNU Guix is free software; you can redistribute it and/or modify it
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
11;;; GNU Guix is distributed in the hope that it will be useful, but
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19(define-module (gnu packages groovy)
20 #:use-module ((guix licenses) #:prefix license:)
21 #:use-module (guix packages)
22 #:use-module (guix download)
23 #:use-module (guix utils)
24 #:use-module (guix build-system ant)
25 #:use-module (gnu packages)
26 #:use-module (gnu packages java)
27 #:use-module (gnu packages xml))
28
29(define java-groovy-bootstrap
30 (package
b0192c85 31 (name "java-groovy-bootstrap")
fdc9170b
JL
32 (version "2.4.15")
33 (source (origin
34 (method url-fetch)
35 (uri (string-append "https://github.com/apache/groovy/archive/GROOVY_"
36 (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version)
37 ".tar.gz"))
38 (file-name (string-append name "-" version ".tar.gz"))
39 (sha256
40 (base32
41 "19f3yd2z6jmz1xhwi5kkg1wmgbqkfs7qvd3rzb43xr3nffz8cisv"))
42 (patches
43 (search-patches
44 "groovy-add-exceptionutilsgenerator.patch"))))
45 (build-system ant-build-system)
46 (arguments
47 `(#:jar-name "groovy.jar"
48 #:source-dir "src/main:subprojects/groovy-test/src/main/java"
49 #:test-dir "src/test"
50 #:tests? #f
51 #:jdk ,icedtea-8
52 #:main-class "groovy.ui.GroovyMain"
53 #:phases
54 (modify-phases %standard-phases
55 (add-before 'build 'fix-java8
56 ;; Fix "Reference to plus is ambiguous"
57 (lambda _
58 (substitute* "src/main/org/codehaus/groovy/runtime/DefaultGroovyMethods.java"
59 (("toList\\(left\\)")
60 "(List<T>)toList(left)"))
61 #t))
62 (add-before 'build 'generate-parsers
63 (lambda _
64 (with-directory-excursion "src/main/org/codehaus/groovy/antlr/java"
65 (invoke "antlr" "java.g"))
66 (with-directory-excursion "src/main/org/codehaus/groovy/antlr"
67 (mkdir "parser")
68 (with-directory-excursion "parser"
69 (invoke "antlr" "../groovy.g")))
70 #t))
71 (add-before 'build 'generate-exception-utils
72 (lambda _
73 (invoke "javac" "-cp" (getenv "CLASSPATH")
74 "config/ant/src/org/codehaus/groovy/ExceptionUtilsGenerator.java")
75 (invoke "java" "-cp" (string-append (getenv "CLASSPATH")
76 ":config/ant/src")
77 "org.codehaus.groovy.ExceptionUtilsGenerator"
78 "build/classes/org/codehaus/groovy/runtime/ExceptionUtils.class")
79 #t)))))
80 (native-inputs
81 `(("java-junit" ,java-junit)
82 ("java-hamcrest-core" ,java-hamcrest-core)
83 ("antlr2" ,antlr2)
84 ("java-jmock-1" ,java-jmock-1)
85 ("java-xmlunit-legacy" ,java-xmlunit-legacy)))
86 (inputs
87 `(("java-commons-cli" ,java-commons-cli)
88 ("java-asm" ,java-asm)
89 ("java-classpathx-servletapi" ,java-classpathx-servletapi)
90 ("java-xstream" ,java-xstream)
91 ("java-jansi" ,java-jansi)
92 ("java-jline-2" ,java-jline-2)))
93 (home-page "http://groovy-lang.org/")
94 (synopsis "Groovy's java bootstrap")
95 (description "This package contains the java bootstrap that is used to build
96groovy submodules.")
97 (license license:asl2.0)))
b0192c85
JL
98
99(define groovy-bootstrap
100 (package
101 (inherit java-groovy-bootstrap)
102 (name "groovy-bootstrap")
103 (arguments
104 `(#:jar-name "groovy.jar"
105 #:jdk ,icedtea-8
106 ;Requires groovy-xml and logback-classic which are circular dependencies
107 #:tests? #f
108 #:phases
109 (modify-phases %standard-phases
110 (add-before 'build 'fix-java8
111 ;; Fix "Reference to plus is ambiguous"
112 (lambda _
113 (substitute* "src/main/org/codehaus/groovy/runtime/DefaultGroovyMethods.java"
114 (("toList\\(left\\)")
115 "(List<T>)toList(left)"))
116 #t))
117 (add-before 'build 'generate-parser
118 (lambda _
119 (with-directory-excursion "src/main/org/codehaus/groovy/antlr/java"
120 (invoke "antlr" "java.g"))
121 (with-directory-excursion "src/main/org/codehaus/groovy/antlr"
122 (mkdir "parser")
123 (with-directory-excursion "parser"
124 (invoke "antlr" "../groovy.g")))
125 #t))
126 (add-before 'build 'generate-exception-utils
127 (lambda _
128 (invoke "javac" "-cp" (getenv "CLASSPATH")
129 "config/ant/src/org/codehaus/groovy/ExceptionUtilsGenerator.java")
130 (invoke "java" "-cp" (string-append (getenv "CLASSPATH")
131 ":config/ant/src")
132 "org.codehaus.groovy.ExceptionUtilsGenerator"
133 "target/classes/org/codehaus/groovy/runtime/ExceptionUtils.class")
134 #t))
135 (add-before 'build 'generate-dgminfo
136 (lambda _
137 (mkdir-p "target/classes/org/codehaus/groovy/runtime")
138 (mkdir-p "target/classes/META-INF")
139 (invoke "javac" "-cp" (getenv "CLASSPATH")
140 "src/main/org/codehaus/groovy/tools/DgmConverter.java")
141 (invoke "java" "-cp" (string-append (getenv "CLASSPATH")
142 ":src/main")
143 "org.codehaus.groovy.tools.DgmConverter")
144 #t))
145 (add-before 'build 'copy-resources
146 (lambda _
147 (with-directory-excursion "src/main"
148 (for-each (lambda (file)
149 (mkdir-p (string-append "../../target/classes/"
150 (dirname file)))
151 (copy-file file
152 (string-append "../../target/classes/"
153 file)))
154 (find-files "." ".*.(txt|properties|xml|html)")))
155 #t))
156 (replace 'build
157 (lambda _
158 (mkdir-p "build/jar")
159 (apply invoke "java" "-cp" (getenv "CLASSPATH")
160 "org.codehaus.groovy.tools.FileSystemCompiler"
161 "-d" "target/classes"
162 "-j"; joint compilation
163 (find-files "src/main"
164 ".*\\.(groovy|java)$"))
165 (invoke "jar" "-cf" "build/jar/groovy.jar"
166 "-C" "target/classes" ".")
167 #t)))))
168 (inputs
169 `(("java-apache-ivy" ,java-apache-ivy)
170 ,@(package-inputs java-groovy-bootstrap)))
171 (native-inputs
172 `(("java-groovy-bootstrap" ,java-groovy-bootstrap)
173 ,@(package-native-inputs java-groovy-bootstrap)))
174 (synopsis "Groovy compiler")
175 (description "This package contains the first version of the Groovy compiler.
176Although already usable, it doesn't contain the groovy library yet. This package
177is used to build the groovy submodules written in groovy.")))
a3f253a4
JL
178
179(define groovy-tests-bootstrap
180 (package
181 (inherit groovy-bootstrap)
182 (name "groovy-tests-bootstrap")
183 (arguments
184 `(#:jar-name "groovy-tests-bootstrap.jar"
185 #:jdk ,icedtea-8
186 #:tests? #f; no tests
187 #:phases
188 (modify-phases %standard-phases
189 (replace 'build
190 (lambda _
191 (mkdir-p "build/classes")
192 (mkdir-p "build/jar")
193 (apply invoke "java" "-cp" (getenv "CLASSPATH")
194 "org.codehaus.groovy.tools.FileSystemCompiler"
195 "-d" "build/classes"
196 "-j"; joint compilation
197 (append
198 (find-files "src/test" "TestSupport.java")
199 (find-files "src/test" "HeadlessTestSupport.java")
200 (find-files "src/test" "XmlAssert.java")))
201 (invoke "jar" "-cf" "build/jar/groovy-tests-bootstrap.jar"
202 "-C" "build/classes" ".")
203 #t)))))
204 (inputs
205 `(("groovy-test" ,groovy-test)
206 ,@(package-inputs groovy-bootstrap)))
207 (native-inputs
208 `(("groovy-bootstrap" ,groovy-bootstrap)
209 ,@(package-native-inputs java-groovy-bootstrap)))
210 (synopsis "Groovy test classes")
211 (description "This package contains three classes required for testing
212other groovy submodules.")))
6f077852
JL
213
214(define groovy-test
215 (package
216 (inherit groovy-bootstrap)
217 (name "groovy-test")
218 (arguments
219 `(#:jar-name "groovy-test.jar"
220 #:jdk ,icedtea-8
221 #:test-dir "subprojects/groovy-test/src/test"
222 #:phases
223 (modify-phases %standard-phases
224 (replace 'build
225 (lambda _
226 (mkdir-p "build/classes")
227 (mkdir-p "build/jar")
228 (apply invoke "java" "-cp" (getenv "CLASSPATH")
229 "org.codehaus.groovy.tools.FileSystemCompiler"
230 "-d" "build/classes" "-j"; joint compilation
231 (find-files "subprojects/groovy-test/src/main"
232 ".*\\.(groovy|java)$"))
233 (invoke "jar" "-cf" "build/jar/groovy-test.jar"
234 "-C" "build/classes" ".")
235 #t))
236 (replace 'check
237 (lambda _
238 (mkdir-p "build/test-classes")
239 (substitute* "build.xml"
240 (("depends=\"compile-tests\"") "depends=\"\"")
241 (("}/java") "}/groovy"))
242 (apply invoke "java" "-cp"
243 (string-append (getenv "CLASSPATH") ":build/classes")
244 "org.codehaus.groovy.tools.FileSystemCompiler"
245 "-d" "build/test-classes" "-j"
246 (append (find-files "subprojects/groovy-test/src/test"
247 ".*\\.(groovy|java)$")))
248 (invoke "ant" "check")
249 #t)))))
250 (native-inputs
251 `(("groovy-bootstrap" ,groovy-bootstrap)
252 ,@(package-native-inputs java-groovy-bootstrap)))
253 (synopsis "Groovy test submodule")
254 (description "This package contains the test submodules used to test
255other groovy submodules.")))
e0e4bae2
JL
256
257(define groovy-xml
258 (package
259 (inherit groovy-bootstrap)
260 (name "groovy-xml")
261 (arguments
262 `(#:jar-name "groovy-xml.jar"
263 #:jdk ,icedtea-8
264 #:test-dir "src/test"
265 #:phases
266 (modify-phases %standard-phases
267 (add-before 'configure 'chdir
268 (lambda _
269 (chdir "subprojects/groovy-xml")
270 #t))
271 (replace 'build
272 (lambda _
273 (mkdir-p "build/classes")
274 (mkdir-p "build/jar")
275 (apply invoke "java" "-cp" (getenv "CLASSPATH")
276 "org.codehaus.groovy.tools.FileSystemCompiler"
277 "-d" "build/classes" "-j"; joint compilation
278 (find-files "src/main" ".*\\.(groovy|java)$"))
279 (invoke "jar" "-cf" "build/jar/groovy-xml.jar"
280 "-C" "build/classes" ".")
281 #t))
282 (replace 'check
283 (lambda _
284 (mkdir-p "build/test-classes")
285 (substitute* "build.xml"
286 (("depends=\"compile-tests\"") "depends=\"\"")
287 (("}/java") "}/groovy"))
288 (apply invoke "java" "-cp"
289 (string-append (getenv "CLASSPATH") ":build/classes")
290 "org.codehaus.groovy.tools.FileSystemCompiler"
291 "-d" "build/test-classes" "-j"
292 (append (find-files "src/test" ".*\\.(groovy|java)$")))
293 (invoke "ant" "check")
294 #t)))))
295 (native-inputs
296 `(("groovy-bootstrap" ,groovy-bootstrap)
297 ("groovy-test" ,groovy-test)
298 ("groovy-tests-bootstrap" ,groovy-tests-bootstrap)
299 ,@(package-native-inputs java-groovy-bootstrap)))
300 (synopsis "Groovy XML")
301 (description "This package contains XML-related utilities for groovy.")))
19ff61f4
JL
302
303(define groovy-templates
304 (package
305 (inherit groovy-bootstrap)
306 (name "groovy-templates")
307 (arguments
308 `(#:jar-name "groovy-templates.jar"
309 #:jdk ,icedtea-8
310 #:test-dir "subprojects/groovy-templates/src/test"
311 #:tests? #f;Requires spock-framework which is a circular dependency
312 #:phases
313 (modify-phases %standard-phases
314 (replace 'build
315 (lambda _
316 (mkdir-p "build/classes")
317 (mkdir-p "build/jar")
318 (apply invoke "java" "-cp" (getenv "CLASSPATH")
319 "org.codehaus.groovy.tools.FileSystemCompiler"
320 "-d" "build/classes" "-j"; joint compilation
321 (find-files "subprojects/groovy-templates/src/main"
322 ".*\\.(groovy|java)$"))
323 (invoke "jar" "-cf" "build/jar/groovy-templates.jar"
324 "-C" "build/classes" ".")
325 #t)))))
326 (inputs
327 `(("groovy-xml" ,groovy-xml)
328 ,@(package-inputs groovy-bootstrap)))
329 (native-inputs
330 `(("groovy-bootstrap" ,groovy-bootstrap)
331 ("groovy-test" ,groovy-test)
332 ("groovy-tests-bootstrap" ,groovy-tests-bootstrap)
333 ,@(package-native-inputs java-groovy-bootstrap)))
334 (synopsis "Groovy template engine")
335 (description "This package contains a template framework which is
336well-suited to applications where the text to be generated follows the form of
337a static template.")))
f14a1978
JL
338
339(define groovy-groovydoc
340 (package
341 (inherit groovy-bootstrap)
342 (name "groovy-groovydoc")
343 (arguments
344 `(#:jar-name "groovy-groovydoc.jar"
345 #:jdk ,icedtea-8
346 #:test-dir "subprojects/groovy-groovydoc/src/test"
347 #:tests? #f; Requires groovy-ant which is a circular dependency
348 #:phases
349 (modify-phases %standard-phases
350 (add-before 'build 'copy-resources
351 (lambda _
352 (copy-recursively "subprojects/groovy-groovydoc/src/main/resources"
353 "build/classes")
354 #t))
355 (replace 'build
356 (lambda _
357 (mkdir-p "build/classes")
358 (mkdir-p "build/jar")
359 (apply invoke "java" "-cp" (getenv "CLASSPATH")
360 "org.codehaus.groovy.tools.FileSystemCompiler"
361 "-d" "build/classes"
362 "-j"; joint compilation
363 (find-files "subprojects/groovy-groovydoc/src/main"
364 ".*\\.(groovy|java)$"))
365 (invoke "jar" "-cf" "build/jar/groovy-groovydoc.jar"
366 "-C" "build/classes" ".")
367 #t)))))
368 (inputs
369 `(("groovy-templates" ,groovy-templates)
370 ,@(package-inputs groovy-bootstrap)))
371 (native-inputs
372 `(("groovy-bootstrap" ,groovy-bootstrap)
373 ("groovy-test" ,groovy-test)
374 ("groovy-tests-bootstrap" ,groovy-tests-bootstrap)
375 ,@(package-native-inputs java-groovy-bootstrap)))
376 (synopsis "Groovy documentation generation")
377 (description "This package contains the groovy documentation generator,
378similar to javadoc.")))
b869c5ce
JL
379
380(define groovy-ant
381 (package
382 (inherit groovy-bootstrap)
383 (name "groovy-ant")
384 (arguments
385 `(#:jar-name "groovy-ant.jar"
386 #:jdk ,icedtea-8
387 #:test-dir "src/test"
388 ;; FIXME: Excluding all tests because they fail
389 #:test-exclude (list
390 "**/GroovyTest.java"
391 "**/GroovycTest.java")
392 #:phases
393 (modify-phases %standard-phases
394 (add-before 'configure 'chdir
395 (lambda _
396 (chdir "subprojects/groovy-ant")
397 #t))
398 (add-before 'build 'copy-resources
399 (lambda _
400 (copy-recursively "src/main/resources" "build/classes")
401 #t))
402 (replace 'build
403 (lambda _
404 (mkdir-p "build/classes")
405 (mkdir-p "build/jar")
406 (apply invoke "java" "-cp" (getenv "CLASSPATH")
407 "org.codehaus.groovy.tools.FileSystemCompiler"
408 "-d" "build/classes" "-j"; joint compilation
409 (find-files "src/main" ".*\\.(groovy|java)$"))
410 (invoke "jar" "-cf" "build/jar/groovy-ant.jar"
411 "-C" "build/classes" ".")
412 #t))
413 (replace 'check
414 (lambda _
415 (mkdir-p "build/test-classes")
416 (substitute* "build.xml"
417 (("depends=\"compile-tests\"") "depends=\"\"")
418 (("}/java") "}/groovy"))
419 (apply invoke "java" "-cp"
420 (string-append (getenv "CLASSPATH") ":build/classes")
421 "org.codehaus.groovy.tools.FileSystemCompiler"
422 "-d" "build/test-classes" "-j"
423 (find-files "src/test" ".*\\.(groovy|java)$"))
424 (invoke "ant" "check")
425 #t)))))
426 (inputs
427 `(("groovy-groovydoc" ,groovy-groovydoc)
428 ,@(package-inputs groovy-bootstrap)))
429 (native-inputs
430 `(("groovy-bootstrap" ,groovy-bootstrap)
431 ("groovy-xml" ,groovy-xml)
432 ("groovy-test" ,groovy-test)
433 ("groovy-tests-bootstrap" ,groovy-tests-bootstrap)
434 ,@(package-native-inputs java-groovy-bootstrap)))
435 (synopsis "Groovy ant tasks")
436 (description "This package contains groovy-related ant tasks definitions.")))
5b46d3f6
JL
437
438(define groovy-bsf
439 (package
440 (inherit groovy-bootstrap)
441 (name "groovy-bsf")
442 (arguments
443 `(#:jar-name "groovy-bsf.jar"
444 #:jdk ,icedtea-8
445 #:test-dir "src/test"
446 #:test-exclude (list
447;; exception from Groovy: org.codehaus.groovy.runtime.InvokerInvocationException:
448;; groovy.lang.MissingMethodException: No signature of method:
449;; java.util.ArrayList.each() is applicable for argument types:
450;; (groovy.script.MapFromList$_doit_closure1) values:
451;; [groovy.script.MapFromList$_doit_closure1@17e554d5]
452 "**/BSFTest.java")
453 #:phases
454 (modify-phases %standard-phases
455 (add-before 'configure 'chdir
456 (lambda _
457 (chdir "subprojects/groovy-bsf")
458 #t))
459 (replace 'build
460 (lambda _
461 (mkdir-p "build/classes")
462 (mkdir-p "build/jar")
463 (apply invoke "java" "-cp" (getenv "CLASSPATH")
464 "org.codehaus.groovy.tools.FileSystemCompiler"
465 "-d" "build/classes" "-j"; joint compilation
466 (find-files "src/main" ".*\\.(groovy|java)$"))
467 (invoke "jar" "-cf" "build/jar/groovy-bsf.jar"
468 "-C" "build/classes" ".")
469 #t))
470 (replace 'check
471 (lambda _
472 (mkdir-p "build/test-classes")
473 (substitute* "build.xml"
474 (("depends=\"compile-tests\"") "depends=\"\""))
475 (apply invoke "java" "-cp"
476 (string-append (getenv "CLASSPATH") ":build/classes")
477 "org.codehaus.groovy.tools.FileSystemCompiler"
478 "-d" "build/test-classes" "-j"
479 (find-files "src/test" ".*\\.(groovy|java)$"))
480 (invoke "ant" "check")
481 #t)))))
482 (inputs
483 `(("java-commons-bsf" ,java-commons-bsf)
484 ,@(package-inputs groovy-bootstrap)))
485 (native-inputs
486 `(("groovy-bootstrap" ,groovy-bootstrap)
487 ("groovy-test" ,groovy-test)
488 ("groovy-tests-bootstrap" ,groovy-tests-bootstrap)
489 ("java-commons-logging-minimal" ,java-commons-logging-minimal)
490 ,@(package-native-inputs java-groovy-bootstrap)))
491 (synopsis "Groovy BSF engine")
492 (description "This package defines the BSF engine for using Groovy inside
493any @dfn{Bean Scripting Framework} (BSF) application.")))
b221e8e2
JL
494
495(define groovy-swing
496 (package
497 (inherit groovy-bootstrap)
498 (name "groovy-swing")
499 (arguments
500 `(#:jar-name "groovy-swing.jar"
501 #:jdk ,icedtea-8
502 ;; FIXME: tests are not run
503 #:test-dir "src/test"
504 #:phases
505 (modify-phases %standard-phases
506 (add-before 'configure 'chdir
507 (lambda _
508 (chdir "subprojects/groovy-swing")
509 #t))
510 (replace 'build
511 (lambda _
512 (mkdir-p "build/classes")
513 (mkdir-p "build/jar")
514 (apply invoke "java" "-cp" (getenv "CLASSPATH")
515 "org.codehaus.groovy.tools.FileSystemCompiler"
516 "-d" "build/classes" "-j"; joint compilation
517 (find-files "src/main" ".*\\.(groovy|java)$"))
518 (invoke "jar" "-cf" "build/jar/groovy-swing.jar"
519 "-C" "build/classes" ".")
520 #t))
521 (replace 'check
522 (lambda _
523 (mkdir-p "build/test-classes")
524 (substitute* "src/test/groovy/groovy/util/GroovySwingTestCase.groovy"
525 (("HeadlessTestSupport.headless") "isHeadless()"))
526 (substitute* "build.xml"
527 (("depends=\"compile-tests\"") "depends=\"\"")
528 (("}/java") "}/groovy"))
529 (apply invoke "java" "-cp"
530 (string-append (getenv "CLASSPATH") ":build/classes")
531 "org.codehaus.groovy.tools.FileSystemCompiler"
532 "-d" "build/test-classes" "-j"
533 (find-files "src/test" ".*\\.(groovy|java)$"))
534 (invoke "ant" "check")
535 #t)))))
536 (native-inputs
537 `(("groovy-bootstrap" ,groovy-bootstrap)
538 ("groovy-test" ,groovy-test)
539 ("groovy-tests-bootstrap" ,groovy-tests-bootstrap)
540 ("java-commons-logging-minimal" ,java-commons-logging-minimal)
541 ,@(package-native-inputs java-groovy-bootstrap)))
542 (synopsis "Groovy graphical library")
543 (description "This package contains the groovy bindings to Java Swing, a
544library used to build graphical interfaces.")))
136987cf
JL
545
546(define groovy-console
547 (package
548 (inherit groovy-bootstrap)
549 (name "groovy-console")
550 (arguments
551 `(#:jar-name "groovy-console.jar"
552 #:jdk ,icedtea-8
553 ;; FIXME: tests are not run
554 #:test-dir "src/test"
555 #:phases
556 (modify-phases %standard-phases
557 (add-before 'configure 'chdir
558 (lambda _
559 (chdir "subprojects/groovy-console")
560 #t))
561 (add-before 'build 'copy-resources
562 (lambda _
563 (copy-recursively "src/main/resources" "build/classes")
564 #t))
565 (replace 'build
566 (lambda _
567 (mkdir-p "build/classes")
568 (mkdir-p "build/jar")
569 (apply invoke "java" "-cp" (getenv "CLASSPATH")
570 "org.codehaus.groovy.tools.FileSystemCompiler"
571 "-d" "build/classes" "-j"; joint compilation
572 (find-files "src/main" ".*\\.(groovy|java)$"))
573 (invoke "jar" "-cf" "build/jar/groovy-console.jar"
574 "-C" "build/classes" ".")
575 #t))
576 (replace 'check
577 (lambda _
578 (mkdir-p "build/test-classes")
579 (substitute* "build.xml"
580 (("depends=\"compile-tests\"") "depends=\"\"")
581 (("}/java") "}/groovy"))
582 (substitute*
583 "../groovy-swing/src/test/groovy/groovy/util/GroovySwingTestCase.groovy"
584 (("HeadlessTestSupport.headless") "isHeadless()"))
585 (apply invoke "java" "-cp"
586 (string-append (getenv "CLASSPATH") ":build/classes")
587 "org.codehaus.groovy.tools.FileSystemCompiler"
588 "-d" "build/test-classes" "-j"
589 (append
590 (find-files "../groovy-swing/src/test" ".*\\.(groovy|java)$")
591 (find-files "src/test" ".*\\.(groovy|java)$")))
592 (invoke "ant" "check")
593 #t)))))
594 (inputs
595 `(("groovy-swing" ,groovy-swing)
596 ("groovy-templates" ,groovy-templates)
597 ,@(package-inputs groovy-bootstrap)))
598 (native-inputs
599 `(("groovy-bootstrap" ,groovy-bootstrap)
600 ("groovy-test" ,groovy-test)
601 ("groovy-tests-bootstrap" ,groovy-tests-bootstrap)
602 ("java-commons-logging-minimal" ,java-commons-logging-minimal)
603 ,@(package-native-inputs java-groovy-bootstrap)))
604 (synopsis "Groovy graphical interface")
605 (description "This package contains a graphical interface to run groovy.")))
a6494dcf
JL
606
607(define groovy-docgenerator
608 (package
609 (inherit groovy-bootstrap)
610 (name "groovy-docgenerator")
611 (arguments
612 `(#:jar-name "groovy-docgenerator.jar"
613 #:jdk ,icedtea-8
614 #:tests? #f; No tests
615 #:phases
616 (modify-phases %standard-phases
617 (add-before 'configure 'chdir
618 (lambda _
619 (chdir "subprojects/groovy-docgenerator")
620 #t))
621 (add-before 'build 'copy-resources
622 (lambda _
623 (copy-recursively "src/main/resources" "build/classes")
624 #t))
625 (replace 'build
626 (lambda _
627 (mkdir-p "build/classes")
628 (mkdir-p "build/jar")
629 (apply invoke "java" "-cp" (getenv "CLASSPATH")
630 "org.codehaus.groovy.tools.FileSystemCompiler"
631 "-d" "build/classes" "-j"; joint compilation
632 (find-files "src/main" ".*\\.(groovy|java)$"))
633 (invoke "jar" "-cf" "build/jar/groovy-docgenerator.jar"
634 "-C" "build/classes" ".")
635 #t)))))
636 (inputs
637 `(("groovy-templates" ,groovy-templates)
638 ("groovy-swing" ,groovy-swing)
639 ("java-qdox-1.12" ,java-qdox-1.12)
640 ,@(package-inputs groovy-bootstrap)))
641 (native-inputs
642 `(("groovy-bootstrap" ,groovy-bootstrap)
643 ("groovy-test" ,groovy-test)
644 ("groovy-tests-bootstrap" ,groovy-tests-bootstrap)
645 ,@(package-native-inputs java-groovy-bootstrap)))
646 (synopsis "Groovy documentation generation")
647 (description "This package contains a command line tool to generate
648documentation for groovy applications.")))
dabce250
JL
649
650(define groovy-groovysh
651 (package
652 (inherit groovy-bootstrap)
653 (name "groovy-groovysh")
654 (arguments
655 `(#:jar-name "groovy-groovysh.jar"
656 #:test-dir "src/test"
657 #:jdk ,icedtea-8
658 #:phases
659 (modify-phases %standard-phases
660 (add-before 'configure 'chdir
661 (lambda _
662 (chdir "subprojects/groovy-groovysh")
663 #t))
664 (add-before 'build 'copy-resources
665 (lambda _
666 (copy-recursively "src/main/resources" "build/classes")
667 #t))
668 (replace 'build
669 (lambda _
670 (mkdir-p "build/classes")
671 (mkdir-p "build/jar")
672 (apply invoke "java" "-cp" (getenv "CLASSPATH")
673 "org.codehaus.groovy.tools.FileSystemCompiler"
674 "-d" "build/classes" "-j"; joint compilation
675 (find-files "src/main" ".*\\.(groovy|java)$"))
676 (invoke "jar" "-cf" "build/jar/groovy-groovysh.jar"
677 "-C" "build/classes" ".")
678 #t))
679 (replace 'check
680 (lambda _
681 (mkdir-p "build/test-classes")
682 (substitute* "build.xml"
683 (("depends=\"compile-tests\"") "depends=\"\"")
684 (("}/java") "}/groovy"))
685 (apply invoke "java" "-cp"
686 (string-append (getenv "CLASSPATH") ":build/classes")
687 "org.codehaus.groovy.tools.FileSystemCompiler"
688 "-d" "build/test-classes" "-j"
689 (append (find-files "src/test" ".*\\.(groovy|java)$")))
690 (invoke "ant" "check")
691 #t)))))
692 (inputs
693 `(("groovy-xml" ,groovy-xml)
694 ("groovy-console" ,groovy-console)
695 ,@(package-inputs groovy-bootstrap)))
696 (native-inputs
697 `(("groovy-bootstrap" ,groovy-bootstrap)
698 ("groovy-test" ,groovy-test)
699 ("groovy-tests-bootstrap" ,groovy-tests-bootstrap)
700 ,@(package-native-inputs java-groovy-bootstrap)))
701 (synopsis "Groovy REPL")
702 (description "This package contains the Groovy REPL.")))
0280865c
JL
703
704(define groovy-jmx
705 (package
706 (inherit groovy-bootstrap)
707 (name "groovy-jmx")
708 (arguments
709 `(#:jar-name "groovy-jmx.jar"
710 #:test-dir "src/test"
711 #:jdk ,icedtea-8
712 #:phases
713 (modify-phases %standard-phases
714 (add-before 'configure 'chdir
715 (lambda _
716 (chdir "subprojects/groovy-jmx")
717 #t))
718 (replace 'build
719 (lambda _
720 (mkdir-p "build/classes")
721 (mkdir-p "build/jar")
722 (apply invoke "java" "-cp" (getenv "CLASSPATH")
723 "org.codehaus.groovy.tools.FileSystemCompiler"
724 "-d" "build/classes" "-j"; joint compilation
725 (find-files "src/main" ".*\\.(groovy|java)$"))
726 (invoke "jar" "-cf" "build/jar/groovy-jmx.jar"
727 "-C" "build/classes" ".")
728 #t))
729 (replace 'check
730 (lambda _
731 (mkdir-p "build/test-classes")
732 (substitute* "build.xml"
733 (("depends=\"compile-tests\"") "depends=\"\"")
734 (("}/java") "}/groovy"))
735 (apply invoke "java" "-cp"
736 (string-append (getenv "CLASSPATH") ":build/classes")
737 "org.codehaus.groovy.tools.FileSystemCompiler"
738 "-d" "build/test-classes" "-j"
739 (append (find-files "src/test" ".*\\.(groovy|java)$")))
740 (invoke "ant" "check")
741 #t)))))
742 (native-inputs
743 `(("groovy-bootstrap" ,groovy-bootstrap)
744 ("groovy-test" ,groovy-test)
745 ("groovy-tests-bootstrap" ,groovy-tests-bootstrap)
746 ,@(package-native-inputs java-groovy-bootstrap)))
747 (synopsis "Groovy JMX extension")
748 (description "This package contains the JMX extension of Groovy, for
749management and monitoring of JVM-based solutions.")))
dae9335c
JL
750
751(define groovy-json
752 (package
753 (inherit groovy-bootstrap)
754 (name "groovy-json")
755 (arguments
756 `(#:jar-name "groovy-json.jar"
757 #:test-dir "src/test"
758 #:jdk ,icedtea-8
759 #:phases
760 (modify-phases %standard-phases
761 (add-before 'configure 'chdir
762 (lambda _
763 (chdir "subprojects/groovy-json")
764 #t))
765 (replace 'build
766 (lambda _
767 (mkdir-p "build/classes")
768 (mkdir-p "build/jar")
769 (apply invoke "java" "-cp" (getenv "CLASSPATH")
770 "org.codehaus.groovy.tools.FileSystemCompiler"
771 "-d" "build/classes" "-j"; joint compilation
772 (find-files "src/main" ".*\\.(groovy|java)$"))
773 (invoke "jar" "-cf" "build/jar/groovy-json.jar"
774 "-C" "build/classes" ".")
775 #t))
776 (replace 'check
777 (lambda _
778 (mkdir-p "build/test-classes")
779 (substitute* "build.xml"
780 (("depends=\"compile-tests\"") "depends=\"\"")
781 (("}/java") "}/groovy"))
782 (apply invoke "java" "-cp"
783 (string-append (getenv "CLASSPATH") ":build/classes")
784 "org.codehaus.groovy.tools.FileSystemCompiler"
785 "-d" "build/test-classes" "-j"
786 (append (find-files "src/test" ".*\\.(groovy|java)$")))
787 (invoke "ant" "check")
788 #t)))))
789 (native-inputs
790 `(("groovy-bootstrap" ,groovy-bootstrap)
791 ("groovy-test" ,groovy-test)
792 ("groovy-tests-bootstrap" ,groovy-tests-bootstrap)
793 ,@(package-native-inputs java-groovy-bootstrap)))
794 (synopsis "Groovy JSON")
795 (description "This package contains JSON-related utilities for groovy.")))
3537fb61
JL
796
797(define groovy-jsr223
798 (package
799 (inherit groovy-bootstrap)
800 (name "groovy-jsr223")
801 (arguments
802 `(#:jar-name "groovy-jsr223.jar"
803 #:test-dir "src/test"
804 #:jdk ,icedtea-8
805 #:phases
806 (modify-phases %standard-phases
807 (add-before 'configure 'chdir
808 (lambda _
809 (chdir "subprojects/groovy-jsr223")
810 #t))
811 (add-before 'build 'copy-resources
812 (lambda _
813 (copy-recursively "src/main/resources" "build/classes")
814 #t))
815 (replace 'build
816 (lambda _
817 (mkdir-p "build/classes")
818 (mkdir-p "build/jar")
819 (apply invoke "java" "-cp" (getenv "CLASSPATH")
820 "org.codehaus.groovy.tools.FileSystemCompiler"
821 "-d" "build/classes" "-j"; joint compilation
822 (find-files "src/main" ".*\\.(groovy|java)$"))
823 (invoke "jar" "-cf" "build/jar/groovy-jsr223.jar"
824 "-C" "build/classes" ".")
825 #t))
826 (replace 'check
827 (lambda _
828 (mkdir-p "build/test-classes")
829 (substitute* "build.xml"
830 (("depends=\"compile-tests\"") "depends=\"\"")
831 (("}/java") "}/groovy"))
832 (apply invoke "java" "-cp"
833 (string-append (getenv "CLASSPATH") ":build/classes")
834 "org.codehaus.groovy.tools.FileSystemCompiler"
835 "-d" "build/test-classes" "-j"
836 (append (find-files "src/test" ".*\\.(groovy|java)$")))
837 (invoke "ant" "check")
838 #t)))))
839 (native-inputs
840 `(("groovy-bootstrap" ,groovy-bootstrap)
841 ("groovy-test" ,groovy-test)
842 ("groovy-tests-bootstrap" ,groovy-tests-bootstrap)
843 ,@(package-native-inputs java-groovy-bootstrap)))
844 (synopsis "Groovy's own JSR223 implementation")
845 (description "This package contains Groovy's own JSR223 implementation. This
846module is used for interaction between Groovy and Java code.")))
4ab3b0c5
JL
847
848(define groovy-nio
849 (package
850 (inherit groovy-bootstrap)
851 (name "groovy-nio")
852 (arguments
853 `(#:jar-name "groovy-nio.jar"
854 #:test-dir "src/test"
855 #:jdk ,icedtea-8
856 #:tests? #f; Requires spock-framework
857 #:phases
858 (modify-phases %standard-phases
859 (add-before 'configure 'chdir
860 (lambda _
861 (chdir "subprojects/groovy-nio")
862 #t))
863 (replace 'build
864 (lambda _
865 (mkdir-p "build/classes")
866 (mkdir-p "build/jar")
867 (apply invoke "java" "-cp" (getenv "CLASSPATH")
868 "org.codehaus.groovy.tools.FileSystemCompiler"
869 "-d" "build/classes" "-j"; joint compilation
870 (find-files "src/main" ".*\\.(groovy|java)$"))
871 (invoke "jar" "-cf" "build/jar/groovy-nio.jar"
872 "-C" "build/classes" ".")
873 #t)))))
874 (native-inputs
875 `(("groovy-bootstrap" ,groovy-bootstrap)
876 ("groovy-test" ,groovy-test)
877 ("groovy-tests-bootstrap" ,groovy-tests-bootstrap)
878 ,@(package-native-inputs java-groovy-bootstrap)))
879 (synopsis "Groovy input-output library")
880 (description "This package implements an input/output library that extends
881the functionality of the common library of Java.")))
107ebf7b
JL
882
883(define groovy-servlet
884 (package
885 (inherit groovy-bootstrap)
886 (name "groovy-servlet")
887 (arguments
888 `(#:jar-name "groovy-servlet.jar"
889 #:test-dir "src/test"
890 #:jdk ,icedtea-8
891 #:phases
892 (modify-phases %standard-phases
893 (add-before 'configure 'chdir
894 (lambda _
895 (chdir "subprojects/groovy-servlet")
896 #t))
897 (replace 'build
898 (lambda _
899 (mkdir-p "build/classes")
900 (mkdir-p "build/jar")
901 (apply invoke "java" "-cp" (getenv "CLASSPATH")
902 "org.codehaus.groovy.tools.FileSystemCompiler"
903 "-d" "build/classes"
904 "-j"; joint compilation
905 (find-files "src/main" ".*\\.(groovy|java)$"))
906 (invoke "jar" "-cf" "build/jar/groovy-servlet.jar"
907 "-C" "build/classes" ".")
908 #t))
909 (replace 'check
910 (lambda _
911 (mkdir-p "build/test-classes")
912 (substitute* "build.xml"
913 (("depends=\"compile-tests\"") "depends=\"\"")
914 (("}/java") "}/groovy"))
915 (apply invoke "java" "-cp"
916 (string-append (getenv "CLASSPATH") ":build/classes")
917 "org.codehaus.groovy.tools.FileSystemCompiler"
918 "-d" "build/test-classes"
919 "-j"
920 (append (find-files "src/test" ".*\\.(groovy|java)$")))
921 (invoke "ant" "check")
922 #t)))))
923 (inputs
924 `(("groovy-templates" ,groovy-templates)
925 ("groovy-xml" ,groovy-xml)
926 ,@(package-inputs groovy-bootstrap)))
927 (native-inputs
928 `(("groovy-bootstrap" ,groovy-bootstrap)
929 ("groovy-json" ,groovy-json)
930 ("groovy-test" ,groovy-test)
931 ("groovy-tests-bootstrap" ,groovy-tests-bootstrap)
932 ,@(package-native-inputs java-groovy-bootstrap)))
933 (synopsis "Groovy's servlet implementation")
934 (description "This package contains a library to create groovlets, Groovy's
935version of Java servlets.")))
2af51fd0
JL
936
937(define groovy-sql
938 (package
939 (inherit groovy-bootstrap)
940 (name "groovy-sql")
941 (arguments
942 `(#:jar-name "groovy-sql.jar"
943 #:test-dir "src/test"
944 #:tests? #f;TODO: Requires hsqldb
945 #:jdk ,icedtea-8
946 #:phases
947 (modify-phases %standard-phases
948 (add-before 'configure 'chdir
949 (lambda _
950 (chdir "subprojects/groovy-sql")
951 #t))
952 (replace 'build
953 (lambda _
954 (mkdir-p "build/classes")
955 (mkdir-p "build/jar")
956 (apply invoke "java" "-cp" (getenv "CLASSPATH")
957 "org.codehaus.groovy.tools.FileSystemCompiler"
958 "-d" "build/classes" "-j"; joint compilation
959 (find-files "src/main"
960 ".*\\.(groovy|java)$"))
961 (invoke "jar" "-cf" "build/jar/groovy-sql.jar"
962 "-C" "build/classes" ".")
963 #t)))))
964 (native-inputs
965 `(("groovy-bootstrap" ,groovy-bootstrap)
966 ("groovy-test" ,groovy-test)
967 ("groovy-tests-bootstrap" ,groovy-tests-bootstrap)
968 ,@(package-native-inputs java-groovy-bootstrap)))
969 (synopsis "Groovy SQL library")
970 (description "This package contains a facade over Java's normal JDBC APIs
971providing greatly simplified resource management and result set handling.")))
dc51a0a8
JL
972
973(define groovy-testng
974 (package
975 (inherit groovy-bootstrap)
976 (name "groovy-testng")
977 (arguments
978 `(#:jar-name "groovy-testng.jar"
979 #:tests? #f; No tests
980 #:jdk ,icedtea-8
981 #:phases
982 (modify-phases %standard-phases
983 (add-before 'configure 'chdir
984 (lambda _
985 (chdir "subprojects/groovy-testng")
986 #t))
987 (add-before 'build 'copy-resources
988 (lambda _
989 (copy-recursively "src/main/resources" "build/classes")
990 #t))
991 (replace 'build
992 (lambda _
993 (mkdir-p "build/classes")
994 (mkdir-p "build/jar")
995 (apply invoke "java" "-cp" (getenv "CLASSPATH")
996 "org.codehaus.groovy.tools.FileSystemCompiler"
997 "-d" "build/classes"
998 "-j"; joint compilation
999 (find-files "src/main" ".*\\.(groovy|java)$"))
1000 (invoke "jar" "-cf" "build/jar/groovy-testng.jar"
1001 "-C" "build/classes" ".")
1002 #t)))))
1003 (native-inputs
1004 `(("groovy-bootstrap" ,groovy-bootstrap)
1005 ("groovy-test" ,groovy-test)
1006 ("groovy-tests-bootstrap" ,groovy-tests-bootstrap)
1007 ,@(package-native-inputs java-groovy-bootstrap)))
1008 (synopsis "Groovy testing framework")
1009 (description "This package contains integration code for running TestNG
1010tests in Groovy.")))
88da2d2f
JL
1011
1012(define groovy-macro
1013 (package
1014 (inherit groovy-bootstrap)
1015 (name "groovy-macro")
1016 (arguments
1017 `(#:jar-name "groovy-macro.jar"
1018 #:test-dir "src/test"
1019 #:jdk ,icedtea-8
1020 #:phases
1021 (modify-phases %standard-phases
1022 (add-before 'configure 'chdir
1023 (lambda _
1024 (chdir "subprojects/groovy-macro")
1025 #t))
1026 (replace 'build
1027 (lambda _
1028 (mkdir-p "build/classes")
1029 (mkdir-p "build/jar")
1030 (apply invoke "java" "-cp" (getenv "CLASSPATH")
1031 "org.codehaus.groovy.tools.FileSystemCompiler"
1032 "-d" "build/classes" "-j"; joint compilation
1033 (find-files "src/main" ".*\\.(groovy|java)$"))
1034 (invoke "jar" "-cf" "build/jar/groovy-macro.jar"
1035 "-C" "build/classes" ".")
1036 #t))
1037 (replace 'check
1038 (lambda _
1039 (mkdir-p "build/test-classes")
1040 (substitute* "build.xml"
1041 (("depends=\"compile-tests\"") "depends=\"\"")
1042 (("}/java") "}/groovy"))
1043 (apply invoke "java" "-cp"
1044 (string-append (getenv "CLASSPATH") ":build/classes")
1045 "org.codehaus.groovy.tools.FileSystemCompiler"
1046 "-d" "build/test-classes" "-j"
1047 (append (find-files "src/test" ".*\\.(groovy|java)$")))
1048 (invoke "ant" "check")
1049 #t)))))
1050 (inputs
1051 `(("groovy-templates" ,groovy-templates)
1052 ("groovy-xml" ,groovy-xml)
1053 ,@(package-inputs groovy-bootstrap)))
1054 (native-inputs
1055 `(("groovy-bootstrap" ,groovy-bootstrap)
1056 ("groovy-json" ,groovy-json)
1057 ("groovy-test" ,groovy-test)
1058 ("groovy-tests-bootstrap" ,groovy-tests-bootstrap)
1059 ,@(package-native-inputs java-groovy-bootstrap)))
1060 (synopsis "Groovy macro processor")
1061 (description "This package contains a high-level library to create macro
1062and modify groovy's @dfn{Abstract Syntax Tree} (AST).")))
22103f16
JL
1063
1064(define-public groovy
1065 (package
1066 (inherit groovy-bootstrap)
1067 (name "groovy")
1068 (arguments
1069 `(#:tests? #f; No tests
1070 #:jdk ,icedtea-8
1071 #:phases
1072 (modify-phases %standard-phases
1073 (delete 'configure)
1074 (delete 'build)
1075 (replace 'install
1076 (lambda* (#:key outputs inputs #:allow-other-keys)
1077 (let* ((out (assoc-ref outputs "out"))
1078 (out-bin (string-append out "/bin"))
1079 (out-lib (string-append out "/lib")))
1080 (with-directory-excursion "src/bin"
1081 (substitute* "startGroovy"
1082 (("\"\\\\\"") "\"")
1083 (("\\\\\"\"") "\"")
1084 (("\\\\\\$") "$")
1085 (("@GROOVYJAR@") "groovy.jar")
1086 (("MAX_FD=\"maximum\"")
1087 (string-append
1088 "MAX_FD=\"maximum\"\nJAVAHOME="
1089 (assoc-ref inputs "jdk"))))
1090 ;; Groovy uses class loading. It's not enough to put the class
1091 ;; in the loader's classpath, as it causes breakages:
1092 ;; the compiler would give this error:
1093 ;; "Prohibited package name: java.lang"
1094 ;; So we symlink dependencies in this package's output. The
1095 ;; starter class (in groovy-bootstrap) is where the class loader
1096 ;; will look for dependencies, so we put it there too.
1097 (mkdir-p out-lib)
1098 (for-each
1099 (lambda (input)
1100 (for-each
1101 (lambda (jar)
1102 (symlink jar (string-append out-lib "/" (basename jar))))
1103 (find-files (assoc-ref inputs input) ".*.jar")))
1104 '("groovy-bootstrap" "groovy-ant" "groovy-bsf"
1105 "groovy-console" "groovy-docgenerator"
1106 "groovy-groovydoc" "groovy-groovysh"
1107 "groovy-jmx" "groovy-json" "groovy-jsr223"
1108 "groovy-nio" "groovy-servlet" "groovy-sql"
1109 "groovy-swing" "groovy-templates" "groovy-testng"
697a9d0d 1110 "groovy-xml" "java-commons-cli" "java-asm"
22103f16
JL
1111 "java-classpathx-servletapi" "java-xstream"
1112 "java-jansi" "java-jline-2"))
1113 ;; antlr.jar is present twice in antlr2. Symlink doesn't like
1114 ;; it, so we symlink it here.
1115 (symlink (string-append (assoc-ref inputs "antlr2") "/lib/antlr.jar")
1116 (string-append out-lib "/antlr.jar"))
1117 (for-each
1118 (lambda (tool)
1119 (install-file tool out-bin)
1120 (chmod (string-append out-bin "/" tool) #o755))
1121 '("grape" "groovy" "groovyc" "groovyConsole" "groovydoc"
1122 "groovysh" "java2groovy" "startGroovy")))
1123 (install-file "src/conf/groovy-starter.conf"
1124 (string-append out "/conf"))
1125 #t))))))
1126 (inputs
1127 `(("groovy-bootstrap" ,groovy-bootstrap)
1128 ("groovy-ant" ,groovy-ant)
1129 ("groovy-bsf" ,groovy-bsf)
1130 ("groovy-console" ,groovy-console)
1131 ("groovy-docgenerator" ,groovy-docgenerator)
1132 ("groovy-groovydoc" ,groovy-groovydoc)
1133 ("groovy-groovysh" ,groovy-groovysh)
1134 ("groovy-jmx" ,groovy-jmx)
1135 ("groovy-json" ,groovy-json)
1136 ("groovy-jsr223" ,groovy-jsr223)
1137 ("groovy-nio" ,groovy-nio)
1138 ("groovy-servlet" ,groovy-servlet)
1139 ("groovy-sql" ,groovy-sql)
1140 ("groovy-swing" ,groovy-swing)
1141 ("groovy-templates" ,groovy-templates)
1142 ("groovy-testng" ,groovy-testng)
697a9d0d 1143 ("groovy-xml" ,groovy-xml)
22103f16
JL
1144 ("java-commons-cli" ,java-commons-cli)
1145 ("java-asm" ,java-asm)
1146 ("java-classpathx-servletapi" ,java-classpathx-servletapi)
1147 ("java-xstream" ,java-xstream)
1148 ("java-jansi" ,java-jansi)
1149 ("java-jline-2" ,java-jline-2)
1150 ("antlr2" ,antlr2)))
1151 (synopsis "Programming language for the JVM")
1152 (description "Apache Groovy is a powerful, optionally typed and dynamic
1153language, with static-typing and static compilation capabilities, for the Java
1154platform. It integrates smoothly with any Java program, and immediately
1155delivers to your application powerful features, including scripting
1156capabilities, Domain-Specific Language authoring, runtime and compile-time
1157meta-programming and functional programming.")))