remove pushed groovy packages

Julien LepillerWed May 09 14:42:30+0200 2018

233f0e7

remove pushed groovy packages

more/packages/groovy.scm unknown status 2

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