Add java packages for gradle and groovy

Julien LepillerTue Dec 12 22:48:40+0100 2017

d1021ae

Add java packages for gradle and groovy

more/packages/java.scm

3838
  #:use-module (gnu packages xml)
3939
  #:use-module (more packages python))
4040
41+
(define-public java-jul-to-slf4j
42+
  (package
43+
    (inherit java-slf4j-api)
44+
    (name "java-jul-to-slf4j")
45+
    (arguments
46+
     `(#:jar-name "jul-to-slf4j.jar"
47+
       #:source-dir "jul-to-slf4j/src/main/java"
48+
       #:test-dir "jul-to-slf4j/src/test"
49+
       #:tests? #f)); Depend on log4j-1.2 (not log4j-1.2-api)
50+
    (inputs
51+
     `(("java-slf4j-api" ,java-slf4j-api)))))
52+
53+
;; Actually we need to build the native library too.
54+
(define-public java-native-platform
55+
  (package
56+
    (name "java-native-platform")
57+
    (version "0.14")
58+
    (source (origin
59+
              (method url-fetch)
60+
              (uri (string-append "https://github.com/adammurdoch/"
61+
                                  "native-platform/archive/" version ".tar.gz"))
62+
              (file-name (string-append name "-" version ".tar.gz"))
63+
              (sha256
64+
               (base32
65+
                "1if8h1lz8rh6gv6rrych63j2a03cfcqshb5c2973xsfs7jfrvbrr"))))
66+
    (build-system ant-build-system)
67+
    (arguments
68+
     `(#:jar-name "native-platform.jar"
69+
       #:source-dir "src/main/java"
70+
       #:tests? #f)); TODO: fix build.xml to run Groovy tests
71+
    (home-page "https://github.com/EsotericSoftware/minlog")
72+
    (synopsis "Java bindings for various native APIs")
73+
    (description "Native-platform is a collection of cross-platform Java APIs
74+
for various native APIs.  It currently supports OS X, Linux, Windows and
75+
FreeBSD on Intel architectures")
76+
    (license license:asl2.0)))
77+
78+
(define-public java-minlog
79+
  (package
80+
    (name "java-minlog")
81+
    (version "1.3.0")
82+
    (source (origin
83+
              (method url-fetch)
84+
              (uri (string-append "https://github.com/EsotericSoftware/minlog/"
85+
                                  "archive/minlog-" version ".tar.gz"))
86+
              (sha256
87+
               (base32
88+
                "1vciwr6zw6bky70fi13sa85jc27r5nk5bzii8kdkblfaakmy8ifb"))))
89+
    (build-system ant-build-system)
90+
    (arguments
91+
     `(#:jar-name "minlog.jar"
92+
       #:tests? #f)); No tests
93+
    (home-page "https://github.com/EsotericSoftware/minlog")
94+
    (synopsis "Logging library")
95+
    (description "MinLog is a tiny Java logging library which features:
96+
@itemize
97+
@item Zero overhead: Logging statements below a given level can be
98+
      automatically removed by javac at compile time.  This means applications
99+
      can have detailed trace and debug logging without having any impact on
100+
      the finished product.
101+
@item Extremely lightweight: The entire project consists of a single Java file
102+
      with ~100 non-comment lines of code.
103+
@item Simple and efficient: The API is concise and the code is very efficient
104+
      at runtime.
105+
@end itemize")
106+
    (license license:bsd-3)))
107+
108+
(define-public java-reflectasm
109+
  (package
110+
    (name "java-reflectasm")
111+
    (version "1.11.5")
112+
    (source (origin
113+
              (method url-fetch)
114+
              (uri (string-append "https://github.com/EsotericSoftware/"
115+
                                  "reflectasm/archive/reflectasm-" version
116+
                                  ".tar.gz"))
117+
              (sha256
118+
               (base32
119+
                "1rcgr5rm2g0jl2z0qk1bddlq72mh16ywznyy8pra0ns8xk6hwa8g"))))
120+
    (build-system ant-build-system)
121+
    (arguments
122+
     `(#:jar-name "reflectasm.jar"
123+
       #:tests? #f; Tests are not in a java subdirectory
124+
       #:phases
125+
       (modify-phases %standard-phases
126+
         (add-before 'build 'fix-asm
127+
           (lambda _
128+
             ;; asm has been renamed
129+
             (substitute* '("src/com/esotericsoftware/reflectasm/ConstructorAccess.java"
130+
                            "src/com/esotericsoftware/reflectasm/FieldAccess.java"
131+
                            "src/com/esotericsoftware/reflectasm/MethodAccess.java")
132+
               (("com.esotericsoftware.asm") "org.objectweb.asm"))
133+
             #t)))))
134+
    (inputs
135+
     `(("java-asm" ,java-asm)))
136+
    (home-page "https://github.com/EsotericSoftware/reflectasm")
137+
    (synopsis "Reflection library for Java")
138+
    (description "ReflectASM is a very small Java library that provides high
139+
performance reflection by using code generation.  An access class is generated
140+
to set/get fields, call methods, or create a new instance.  The access class
141+
uses bytecode rather than Java's reflection, so it is much faster.  It can
142+
also access primitive fields via bytecode to avoid boxing.")
143+
    (license license:bsd-3)))
144+
145+
(define-public java-kryo
146+
  (package
147+
    (name "java-kryo")
148+
    (version "4.0.1")
149+
    (source (origin
150+
              (method url-fetch)
151+
              (uri (string-append "https://github.com/EsotericSoftware/kryo/"
152+
                                  "archive/kryo-parent-" version ".tar.gz"))
153+
              (sha256
154+
               (base32
155+
                "0l0mwxfym29ssvxxwawg8h6psnzbb1dbhqfzhhhxxbm7p79xzga5"))))
156+
    (build-system ant-build-system)
157+
    (arguments
158+
     `(#:jar-name "kryo.jar"
159+
       #:jdk ,icedtea-8
160+
       #:tests? #f)); No tests
161+
    (inputs
162+
     `(("java-minlog" ,java-minlog)
163+
       ("java-objenesis" ,java-objenesis)
164+
       ("java-reflectasm" ,java-reflectasm)))
165+
    (home-page "https://github.com/EsotericSoftware/kryo")
166+
    (synopsis "Object graph serialization framework")
167+
    (description "Kryo is a fast and efficient object graph serialization
168+
framework for Java.  The project is useful any time objects need to be
169+
persisted, whether to a file, database, or over the network.")
170+
    (license license:bsd-3)))
171+
172+
(define-public java-findbugs
173+
  (package
174+
    (name "java-findbugs")
175+
    (version "3.0.1")
176+
    (source (origin
177+
              (method url-fetch)
178+
              (uri (string-append "http://prdownloads.sourceforge.net/findbugs/"
179+
                                  "findbugs-" version "-source.zip"))
180+
              (sha256
181+
               (base32
182+
                "1zrkpmd87lcz62lk5dr0mpf5gbzrd1i8mmrv510fs6fla1jwd3mx"))))
183+
    (build-system ant-build-system)
184+
    (native-inputs
185+
     `(("unzip" ,unzip)))
186+
    (arguments
187+
     `(#:build-target "jars"
188+
       #:test-target "test"
189+
       #:make-flags (list "-Dgitrnum=0")
190+
       #:phases
191+
       (modify-phases %standard-phases
192+
         (add-before 'build 'no-git
193+
           (lambda _
194+
             ;; We are not building a git revision
195+
             (substitute* "build.xml"
196+
               ((",-get-git-revision") ""))
197+
             #t)))))
198+
    (home-page "http://findbugs.sourceforge.net/")
199+
    (synopsis "")
200+
    (description "")
201+
    (license license:asl2.0)))
202+
203+
(define-public java-mangosdk-spi
204+
  (package
205+
    (name "java-mangosdk-spi")
206+
    (version "1")
207+
    (source (origin
208+
              (method git-fetch)
209+
              (uri (git-reference
210+
                     (url "https://github.com/rspilker/spi")
211+
                     (commit "ca933626bdd8084f9170fa478388bf1eabe10d8c")))
212+
              (file-name (string-append name "-" version))
213+
              (sha256
214+
               (base32
215+
                "1fbfn46923hd9lmby18zckannbw0fql9lrdf2wpbq3s9pm4zg0sc"))))
216+
    (build-system ant-build-system)
217+
    (arguments
218+
     `(#:jar-name "spi.jar"
219+
       #:source-dir "org.mangosdk.spi/src/main/java"
220+
       #:test-dir "org.mangosdk.spi/src/test"
221+
       #:tests? #f;; FIXME: tests don't build
222+
       #:jdk ,icedtea-8))
223+
    (native-inputs
224+
     `(("java-junit" ,java-junit)))
225+
    (home-page "https://github.com/rspilker/spi")
226+
    (synopsis "")
227+
    (description "")
228+
    (license license:asl2.0)))
229+
230+
(define-public java-lombok-core
231+
  (package
232+
    (name "java-lombok-core")
233+
    (version "1.16.18")
234+
    (source (origin
235+
              (method url-fetch)
236+
              (uri (string-append "https://github.com/rzwitserloot/lombok/"
237+
                                  "archive/v" version ".tar.gz"))
238+
              (file-name (string-append name "-" version ".tar.gz"))
239+
              (sha256
240+
               (base32
241+
                "132p2aasip2n0633pas5xprmlzpwxc9i52na4hy7k3hzvd6bwd2j"))))
242+
    (build-system ant-build-system)
243+
    (arguments
244+
     `(#:jar-name "lombok-core.jar"
245+
       #:source-dir "src/core"
246+
       #:tests? #f)); No specific test
247+
    (inputs
248+
     `(("java-asm" ,java-asm)
249+
       ("java-eclipse-jdt-core" ,java-eclipse-jdt-core)
250+
       ("java-lombok-utils" ,java-lombok-utils)
251+
       ("java-mangosdk-spi" ,java-mangosdk-spi)
252+
       ("java-osgi-framework" ,java-osgi-framework)))
253+
    (home-page "https://projectlombok.org/")
254+
    (synopsis "")
255+
    (description "")
256+
    (license license:expat)))
257+
258+
(define-public java-lombok-utils
259+
  (package
260+
    (inherit java-lombok-core)
261+
    (name "java-lombok-utils")
262+
    (arguments
263+
     `(#:jar-name "lombok-utils.jar"
264+
       #:source-dir "src/utils"
265+
       #:jdk ,icedtea-8
266+
       #:tests? #f; No specific test
267+
       #:phases
268+
       (modify-phases %standard-phases
269+
         (add-before 'build 'fix-java8
270+
           (lambda _
271+
             (delete-file-recursively "src/utils/lombok/javac")
272+
             ;(delete-file-recursively "src/utils/lombok/javac/java6")
273+
             ;(delete-file-recursively "src/utils/lombok/javac/java7")
274+
             ;; Troubles with extending com.sun.tools.javac.code.Type
275+
             ;(delete-file-recursively "src/utils/lombok/javac/java")
276+
             #t)))))
277+
    (inputs
278+
     `(("java-eclipse-jdt-core" ,java-eclipse-jdt-core)))))
279+
280+
(define-public java-asm-6
281+
  (package
282+
    (inherit java-asm)
283+
    (version "6.0")
284+
    (source (origin
285+
              (method url-fetch)
286+
              (uri (string-append "http://download.forge.ow2.org/asm/"
287+
                                  "asm-" version ".tar.gz"))
288+
              (sha256
289+
               (base32
290+
                "115l5pqblirdkmzi32dxx7gbcm4jy0s14y5wircr6h8jdr9aix00"))))
291+
    (arguments
292+
      (substitute-keyword-arguments (package-arguments java-asm)
293+
        ((#:make-flags flags)
294+
         `(list "-Dobjectweb.ant.tasks.path=foo"
295+
                (string-append "-Dbiz.aQute.bnd.path="
296+
                               (assoc-ref %build-inputs "java-aqute-bndlib")
297+
                               "/share/java/java-bndlib.jar")))))
298+
    (inputs
299+
     `(("java-aqute-bndlib" ,java-aqute-bndlib)))))
300+
301+
(define-public java-byte-buddy-dep
302+
  (package
303+
    (name "java-byte-buddy-dep")
304+
    (version "1.7.9")
305+
    (source (origin
306+
              (method url-fetch)
307+
              (uri (string-append "https://github.com/raphw/byte-buddy/archive/"
308+
                                  "byte-buddy-" version ".tar.gz"))
309+
              (sha256
310+
               (base32
311+
                "1dyx3hp1fnw30ndk341bscr8x9sy75f8sfy4hrrwcwg4hrdg4i36"))))
312+
    (build-system ant-build-system)
313+
    (arguments
314+
     `(#:jar-name "byte-buddy-dep.jar"
315+
       #:source-dir "byte-buddy-dep/src/main/java"
316+
       #:test-dir "byte-buddy-dep/src/test"
317+
       #:tests? #f; FIXME: can't build tests
318+
       #:phases
319+
       (modify-phases %standard-phases
320+
         (add-before 'build 'remove-annotations
321+
           (lambda _
322+
             (with-directory-excursion "byte-buddy-dep/src/main/java/net/bytebuddy"
323+
               (substitute* (find-files "." ".*.java")
324+
                 (("@EqualsAndHashCode.*") "")
325+
                 (("import lombok.EqualsAndHashCode;") ""))
326+
               (substitute* (find-files "." ".*.java")
327+
                 (("@SuppressFBWarnings.*") "")
328+
                 (("import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;") "")))
329+
             #t)))))
330+
    (inputs
331+
     `(("java-asm-6" ,java-asm-6)))
332+
    (home-page "http://bytebuddy.net/")
333+
    (synopsis "")
334+
    (description "")
335+
    (license license:asl2.0)))
336+
337+
(define-public java-spockframework-core
338+
  (package
339+
    (name "java-spockframework-core")
340+
    (version "1.1")
341+
    (source (origin
342+
              (method url-fetch)
343+
              (uri (string-append "https://github.com/spockframework/spock/"
344+
                                  "archive/spock-" version ".tar.gz"))
345+
              (sha256
346+
               (base32
347+
                "1b2bybldlnid41irkavd09bkkzfjyvc2d33grpn2vgaiyw9gzz8z"))))
348+
    (build-system ant-build-system)
349+
    (arguments
350+
     `(#:jar-name "spock-core.jar"
351+
       #:source-dir "spock-core/src/main/java"
352+
       #:tests? #f)); No tests
353+
    (inputs
354+
     `(("groovy-bootstrap" ,groovy-bootstrap)
355+
       ("java-asm" ,java-asm)
356+
       ("java-cglib" ,java-cglib)
357+
       ("java-hamcrest-core" ,java-hamcrest-core)
358+
       ("java-junit" ,java-junit)
359+
       ("java-objenesis" ,java-objenesis)))
360+
    (home-page "http://spockframework.org/")
361+
    (synopsis "")
362+
    (description "")
363+
    (license license:asl2.0)))
364+
365+
(define-public java-jcip-annotations
366+
  (package
367+
    (name "java-jcip-annotations")
368+
    (version "1.0")
369+
    (source (origin
370+
              (method url-fetch)
371+
              (uri "http://jcip.net/jcip-annotations-src.jar")
372+
              (sha256
373+
               (base32
374+
                "1z4y6ga2yc01z4qwcdi6mawky8kk6pg3j1l7r3rwb9001fz5q7r2"))))
375+
    (build-system ant-build-system)
376+
    (arguments
377+
     `(#:jar-name "jcip-annotations.jar"
378+
       #:source-dir "."
379+
       #:tests? #f)); No tests
380+
    (home-page "http://jcip.net")
381+
    (synopsis "Annotations for concurrency")
382+
    (description "JCIP annotations implement the annotations described in the
383+
\"Java Concurrency In Practice\" (JCIP) book.")
384+
    (license license:cc-by2.0))); cc-by2.5
385+
41386
(define-public java-openjfx
42387
  (package
43388
    (name "java-openjfx")

349694
    (license license:bsd-4)))
350695
351696
;; As of 2010-09-01, the ORO project is retired
697+
(define-public java-jakarta-regexp
698+
  (package
699+
    (name "java-jakarta-regexp")
700+
    (version "1.5")
701+
    (source (origin
702+
              (method url-fetch)
703+
              (uri (string-append "https://archive.apache.org/dist/jakarta/regexp/"
704+
                                  "jakarta-regexp-" version ".tar.gz"))
705+
              (sha256
706+
               (base32
707+
                "0zg9rmyif48dck0cv6ynpxv23mmcsx265am1fnnxss7brgw0ms3r"))))
708+
    (build-system ant-build-system)
709+
    (arguments
710+
     `(#:build-target "jar"
711+
       #:tests? #f; tests are run as part of the build process
712+
       #:phases
713+
       (modify-phases %standard-phases
714+
         (add-after 'unpack 'remove-bin
715+
           (lambda _
716+
             (delete-file (string-append "jakarta-regexp-" ,version ".jar"))))
717+
         (replace 'install
718+
           (install-jars "build")))))
719+
    (home-page "https://jakarta.apache.org/oro/")
720+
    (synopsis "Text-processing for Java")
721+
    (description "The Jakarta-ORO Java classes are a set of text-processing
722+
Java classes that provide Perl5 compatible regular expressions, AWK-like
723+
regular expressions, glob expressions, and utility classes for performing
724+
substitutions, splits, filtering filenames, etc.  This library is the successor
725+
of the OROMatcher, AwkTools, PerlTools, and TextTools libraries originally
726+
from ORO, Inc.")
727+
    (license license:asl2.0)))
728+
729+
;; As of 2010-09-01, the ORO project is retired
352730
(define-public java-jakarta-oro
353731
  (package
354732
    (name "java-jakarta-oro")

21892567
              (file-name (string-append name "-" version ".tar.gz"))
21902568
              (sha256
21912569
               (base32
2192-
                "00igy7a6aylswxdcklj9021g2s8bvsvrysagqyd8cibm4pimxrnk"))))
2570+
                "1qm7zpf0m75ps623h90xwb0rfyj4pywybvp005s9ykaqcvp50kzf"))))
21932571
    (build-system ant-build-system)
21942572
    (arguments
21952573
     `(#:tests? #f

33083686
    (license (list license:gpl2
33093687
                   license:cddl1.1))))
33103688
3689+
(define-public java-commons-bsf
3690+
  (package
3691+
    (name "java-commons-bsf")
3692+
    (version "2.4.0")
3693+
    (source (origin
3694+
              (method url-fetch)
3695+
              (uri (string-append "mirror://apache/commons/bsf/source/bsf-src-"
3696+
                                  version ".tar.gz"))
3697+
              (sha256
3698+
               (base32
3699+
                "1sbamr8jl32p1jgf59nw0b2w9qivyg145954hm6ly54cfgsqrdas"))
3700+
              (modules '((guix build utils)))
3701+
              (snippet
3702+
               '(begin
3703+
                  (for-each delete-file
3704+
                            (find-files "." "\\.jar$"))
3705+
                  #t))))
3706+
    (build-system ant-build-system)
3707+
    (arguments
3708+
     `(#:build-target "jar"
3709+
       #:tests? #f; No test file
3710+
       #:modules ((guix build ant-build-system)
3711+
                  (guix build utils)
3712+
                  (guix build java-utils)
3713+
                  (sxml simple))
3714+
       #:phases
3715+
       (modify-phases %standard-phases
3716+
         (add-before 'build 'create-properties
3717+
           (lambda _
3718+
             ;; This file is missing from the distribution
3719+
             (call-with-output-file "build-properties.xml"
3720+
               (lambda (port)
3721+
                 (sxml->xml
3722+
                  `(project (@ (basedir ".") (name "build-properties") (default ""))
3723+
                     (property (@ (name "project.name") (value "bsf")))
3724+
                     (property (@ (name "source.level") (value "1.5")))
3725+
                     (property (@ (name "build.lib") (value "build/jar")))
3726+
                     (property (@ (name "src.dir") (value "src")))
3727+
                     (property (@ (name "tests.dir") (value "src/org/apache/bsf/test")))
3728+
                     (property (@ (name "build.tests") (value "build/test-classes")))
3729+
                     (property (@ (name "build.dest") (value "build/classes"))))
3730+
                  port)))))
3731+
         (replace 'install (install-jars "build")))))
3732+
    (native-inputs
3733+
     `(("java-junit" ,java-junit)))
3734+
    (inputs
3735+
     `(("java-commons-logging-minimal" ,java-commons-logging-minimal)))
3736+
    (home-page "https://commons.apache.org/proper/commons-bsf")
3737+
    (synopsis "Bean Scripting Framework")
3738+
    (description "The Bean Scripting Framework (BSF) is a set of Java classes
3739+
which provides scripting language support within Java applications, and access
3740+
to Java objects and methods from scripting languages.  BSF allows one to write
3741+
JSPs in languages other than Java while providing access to the Java class
3742+
library.  In addition, BSF permits any Java application to be implemented in
3743+
part (or dynamically extended) by a language that is embedded within it.  This
3744+
is achieved by providing an API that permits calling scripting language engines
3745+
from within Java, as well as an object registry that exposes Java objects to
3746+
these scripting language engines.")
3747+
    (license license:asl2.0)))
3748+
33113749
(define-public groovy
33123750
  (package
33133751
    (name "groovy")

33483786
                                                         ":config/ant/src")
33493787
                             "org.codehaus.groovy.ExceptionUtilsGenerator"
33503788
                             "build/classes/org/codehaus/groovy/runtime/ExceptionUtils.class"))))
3351-
         ;(add-before 'check 'compile-groovy
3352-
         ;  (lambda _
3353-
         ;    (zero? (apply system* "java" "-cp"
3354-
         ;                  (string-append (getenv "CLASSPATH") ":build/classes")
3355-
         ;                  "org.codehaus.groovy.tools.FileSystemCompiler"
3356-
         ;                  (find-files "src/test" ".*\\.(groovy|java)$")))))
33573789
         (add-after 'install 'install-sh
33583790
           (lambda* (#:key outputs #:allow-other-keys)
33593791
             (substitute* "src/bin/startGroovy"

33913823
    (license (list license:gpl2
33923824
                   license:cddl1.1))))
33933825
3826+
(define-public java-apache-ivy-bootstrap
3827+
  (package
3828+
    (name "java-apache-ivy-bootstrap")
3829+
    (version "2.4.0")
3830+
    (source (origin
3831+
              (method url-fetch)
3832+
              (uri (string-append "mirror://apache//ant/ivy/" version
3833+
                                  "/apache-ivy-" version "-src.tar.gz"))
3834+
              (sha256
3835+
               (base32
3836+
                "1xkfn57g2m7l6y0xdq75x5rnrgk52m9jx2xah70g3ggl8750hbr0"))))
3837+
    (build-system ant-build-system)
3838+
    (arguments
3839+
     `(#:build-target "compile-core"
3840+
       #:tests? #f
3841+
       #:phases
3842+
       (modify-phases %standard-phases
3843+
         (replace 'install
3844+
           (lambda* (#:key outputs #:allow-other-keys)
3845+
             (system* "jar" "cf" "ivy.jar" "-C" "build/classes/core" ".")
3846+
             (install-file "ivy.jar" (string-append (assoc-ref outputs "out")
3847+
                                                    "/share/java")))))))
3848+
    (home-page "https://ant.apache.org/ivy")
3849+
    (synopsis "")
3850+
    (description "")
3851+
    (license license:asl2.0)))
3852+
3853+
(define-public groovy-bootstrap
3854+
  (package
3855+
    (name "groovy")
3856+
    (version "2.0.0beta3")
3857+
    (source (origin
3858+
              (method url-fetch)
3859+
              (uri (string-append "https://github.com/apache/groovy/archive/GROOVY_"
3860+
                                  "2_0_0_BETA_3.tar.gz"))
3861+
              (file-name (string-append "groovy-" version ".tar.gz"))
3862+
              (sha256
3863+
               (base32
3864+
                "1hm6kbwy5yhkzz7d2ln29k51iar6m7rwrzimsawgschvvqyrdxna"))))
3865+
    (build-system ant-build-system)
3866+
    (arguments
3867+
     `(#:build-target "createJars"
3868+
       #:tests? #f; part of build
3869+
       #:make-flags
3870+
       (list "-D_skipFetch_=true"
3871+
             ;; FIXME: Tests require at least hsqldb and a part of ant testsuite
3872+
             "-D_skipTests_=true"
3873+
             ;; FIXME: Find aQute/bnd/ant/taskdef.properties.
3874+
             "-D_skipOsgi_=true"
3875+
             (string-append "-DinstallDirectory=" (assoc-ref %outputs "out")))
3876+
       #:phases
3877+
       (modify-phases %standard-phases
3878+
         (add-before 'build 'make-build-dir
3879+
           (lambda* (#:key inputs #:allow-other-keys)
3880+
             (substitute* "build.xml"
3881+
               (("<property file=\"local.build.properties\"/>")
3882+
                (string-append "<property file=\"local.build.properties\"/>
3883+
<path id=\"classpath\">
3884+
<fileset dir=\"" (assoc-ref inputs "java-asm") "\">
3885+
<include name=\"**/*.jar\" />
3886+
</fileset>
3887+
<fileset dir=\"" (assoc-ref inputs "antlr2") "\">
3888+
<include name=\"**/*.jar\" />
3889+
</fileset>
3890+
<fileset dir=\"" (assoc-ref inputs "java-classpathx-servletapi") "\">
3891+
<include name=\"**/*.jar\" />
3892+
</fileset>
3893+
<fileset dir=\"" (assoc-ref inputs "java-xstream") "\">
3894+
<include name=\"**/*.jar\" />
3895+
</fileset>
3896+
<fileset dir=\"" (assoc-ref inputs "java-commons-cli") "\">
3897+
<include name=\"**/*.jar\" />
3898+
</fileset>
3899+
<fileset dir=\"" (assoc-ref inputs "ant") "\">
3900+
<include name=\"**/*.jar\" />
3901+
</fileset>
3902+
<fileset dir=\"" (assoc-ref inputs "java-jline") "\">
3903+
<include name=\"**/*.jar\" />
3904+
</fileset>
3905+
<fileset dir=\"" (assoc-ref inputs "java-junit") "\">
3906+
<include name=\"**/*.jar\" />
3907+
</fileset>
3908+
<fileset dir=\"" (assoc-ref inputs "java-jansi") "\">
3909+
<include name=\"**/*.jar\" />
3910+
</fileset>
3911+
<fileset dir=\"" (assoc-ref inputs "java-commons-bsf") "\">
3912+
<include name=\"**/*.jar\" />
3913+
</fileset>
3914+
<fileset dir=\"" (assoc-ref inputs "java-apache-ivy-bootstrap") "\">
3915+
<include name=\"**/*.jar\" />
3916+
</fileset>
3917+
</path>"))
3918+
               (("compilePath") "classpath"))
3919+
             (substitute* "config/ant/build-setup.xml"
3920+
               (("runtimePath") "classpath"))
3921+
             ;; --classpath is not recognized (bug in commons-cli?)
3922+
             (substitute* "src/main/org/codehaus/groovy/ant/Groovyc.java"
3923+
               (("--classpath") "-cp"))
3924+
             ;; These directories would have been created by maven initialization
3925+
             (mkdir-p "target/lib/compile")
3926+
             (mkdir-p "target/lib/test")
3927+
             (mkdir-p "target/lib/tools")
3928+
             (mkdir-p "target/lib/runtime")
3929+
             #t))
3930+
         (add-after 'install 'remove-embeddable
3931+
           (lambda* (#:key outputs #:allow-other-keys)
3932+
             (delete-file (string-append (assoc-ref outputs "out")
3933+
                                         "/embeddable/groovy-all-2.0.0-beta-3.jar"))
3934+
             #t)))))
3935+
    (inputs
3936+
     `(("java-commons-cli" ,java-commons-cli)
3937+
       ("java-asm" ,java-asm)
3938+
       ("ant-junit-tests" ,ant-junit-tests)
3939+
       ("java-commons-bsf" ,java-commons-bsf)
3940+
       ("java-classpathx-servletapi" ,java-classpathx-servletapi)
3941+
       ("java-xstream" ,java-xstream)
3942+
       ("java-jansi" ,java-jansi)
3943+
       ("java-jline" ,java-jline)
3944+
       ("java-apache-ivy-bootstrap" ,java-apache-ivy-bootstrap)
3945+
       ("antlr2" ,antlr2)))
3946+
    (native-inputs
3947+
     `(("ant-antlr" ,ant-antlr)
3948+
       ("java-aqute-bndlib" ,java-aqute-bndlib)
3949+
       ("ant-junit-tests" ,ant-junit-tests)
3950+
       ("java-jarjar" ,java-jarjar)
3951+
       ("java-junit" ,java-junit)
3952+
       ("java-jmock-1" ,java-jmock-1)
3953+
       ("java-xmlunit-legacy" ,java-xmlunit-legacy)))
3954+
    (home-page "")
3955+
    (synopsis "")
3956+
    (description "")
3957+
    (license (list license:gpl2
3958+
                   license:cddl1.1))))
3959+
3960+
(define-public groovy-2.4
3961+
  (package
3962+
    (inherit groovy-bootstrap)
3963+
    (name "groovy")
3964+
    (version "2.2.0")
3965+
    (source (origin
3966+
              (method url-fetch)
3967+
              (uri (string-append "https://github.com/apache/groovy/archive/GROOVY_"
3968+
                                  "2_2_0.tar.gz"))
3969+
              (file-name (string-append name "-" version ".tar.gz"))
3970+
              (sha256
3971+
               (base32
3972+
                "1fx9a71f0n5jr52zzyayia2hmbsr9pnd76rnh0z3y9ys1c5k8g7w"))
3973+
              (patches
3974+
                (search-patches
3975+
                  "groovy-Add-exceptionutilsgenerator.patch"))))
3976+
    (arguments
3977+
     `(#:build-target "createJars"
3978+
       #:tests? #f; part of build
3979+
       #:jdk ,icedtea-8
3980+
       #:make-flags
3981+
       (list "-D_skipFetch_=true"
3982+
             ;; FIXME: Tests require at least hsqldb and a part of ant testsuite
3983+
             "-D_skipTests_=true"
3984+
             ;; FIXME: Find aQute/bnd/ant/taskdef.properties.
3985+
             "-D_skipOsgi_=true"
3986+
             (string-append "-DinstallDirectory=" (assoc-ref %outputs "out")))
3987+
       #:phases
3988+
       (modify-phases %standard-phases
3989+
         ;; FIXME: This should be taken care of by build.xml. Why doesn't it work?
3990+
         (add-before 'build 'generate-parser
3991+
           (lambda _
3992+
             (with-directory-excursion "src/main/org/codehaus/groovy/antlr/java"
3993+
               (zero? (system* "antlr" "java.g")))
3994+
             (with-directory-excursion "src/main/org/codehaus/groovy/antlr"
3995+
               (mkdir "parser")
3996+
               (with-directory-excursion "parser"
3997+
                 (zero? (system* "antlr" "../groovy.g"))))))
3998+
         (add-before 'build 'generate-exception-utils
3999+
           (lambda _
4000+
             (system* "javac" "-cp" (getenv "CLASSPATH")
4001+
                      "config/ant/src/org/codehaus/groovy/ExceptionUtilsGenerator.java")
4002+
             (zero? (system* "java" "-cp" (string-append (getenv "CLASSPATH")
4003+
                                                         ":config/ant/src")
4004+
                             "org.codehaus.groovy.ExceptionUtilsGenerator"
4005+
                             "target/classes/org/codehaus/groovy/runtime/ExceptionUtils.class"))))
4006+
         (add-before 'configure 'copy-build.xml
4007+
           (lambda* (#:key inputs #:allow-other-keys)
4008+
             (mkdir "old-groovy-tmp")
4009+
             (mkdir-p "config/ant")
4010+
             (with-directory-excursion "old-groovy-tmp"
4011+
               (system* "tar" "xf" (assoc-ref inputs "build.xml"))
4012+
               (copy-file "groovy-GROOVY_2_0_0_BETA_3/build.xml"
4013+
                          "../build.xml")
4014+
               (copy-recursively "groovy-GROOVY_2_0_0_BETA_3/config/ant"
4015+
                                 "../config/ant"))
4016+
             #t))
4017+
         (add-before 'build 'make-build-dir
4018+
           (lambda* (#:key inputs #:allow-other-keys)
4019+
             (substitute* "build.xml"
4020+
               (("<property file=\"local.build.properties\"/>")
4021+
                (string-append "<property file=\"local.build.properties\"/>
4022+
<path id=\"classpath\">
4023+
<pathelement path=\"${mainClassesDirectory}\" />
4024+
<fileset dir=\"" (assoc-ref inputs "java-asm") "\">
4025+
<include name=\"**/*.jar\" />
4026+
</fileset>
4027+
<fileset dir=\"" (assoc-ref inputs "antlr2") "\">
4028+
<include name=\"**/*.jar\" />
4029+
</fileset>
4030+
<fileset dir=\"" (assoc-ref inputs "java-classpathx-servletapi") "\">
4031+
<include name=\"**/*.jar\" />
4032+
</fileset>
4033+
<fileset dir=\"" (assoc-ref inputs "java-xstream") "\">
4034+
<include name=\"**/*.jar\" />
4035+
</fileset>
4036+
<fileset dir=\"" (assoc-ref inputs "java-commons-cli") "\">
4037+
<include name=\"**/*.jar\" />
4038+
</fileset>
4039+
<fileset dir=\"" (assoc-ref inputs "ant") "\">
4040+
<include name=\"**/*.jar\" />
4041+
</fileset>
4042+
<fileset dir=\"" (assoc-ref inputs "java-jline") "\">
4043+
<include name=\"**/*.jar\" />
4044+
</fileset>
4045+
<fileset dir=\"" (assoc-ref inputs "java-junit") "\">
4046+
<include name=\"**/*.jar\" />
4047+
</fileset>
4048+
<fileset dir=\"" (assoc-ref inputs "java-jansi") "\">
4049+
<include name=\"**/*.jar\" />
4050+
</fileset>
4051+
<fileset dir=\"" (assoc-ref inputs "java-commons-bsf") "\">
4052+
<include name=\"**/*.jar\" />
4053+
</fileset>
4054+
<fileset dir=\"" (assoc-ref inputs "java-apache-ivy-bootstrap") "\">
4055+
<include name=\"**/*.jar\" />
4056+
</fileset>
4057+
</path>"))
4058+
               (("compilePath") "classpath")
4059+
             ;; groovy-ant is no longer in the main sources
4060+
             (("<path id=\"groovyMainClasses\">")
4061+
              "<javac srcdir=\"./subprojects/groovy-groovydoc/src/main/java\"
4062+
includeantruntime=\"false\" destdir=\"${mainClassesDirectory}\"
4063+
deprecation=\"on\" debug=\"yes\" source=\"1.5\" target=\"1.5\" fork=\"true\"
4064+
classpathref=\"classpath\" />
4065+
<javac srcdir=\"./subprojects/groovy-ant/src/main/java\"
4066+
includeantruntime=\"false\" destdir=\"${mainClassesDirectory}\"
4067+
deprecation=\"on\" debug=\"yes\" source=\"1.5\" target=\"1.5\" fork=\"true\"
4068+
classpathref=\"classpath\" />
4069+
<path id=\"groovyMainClasses\">"))
4070+
             (substitute* "config/ant/build-setup.xml"
4071+
               (("runtimePath") "classpath"))
4072+
             ;; --classpath is not recognized (bug in commons-cli?)
4073+
             ;(substitute* "subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/Groovyc.java"
4074+
             ;  (("--classpath") "-cp"))
4075+
             ;; These directories would have been created by maven initialization
4076+
             (mkdir-p "target/lib/compile")
4077+
             (mkdir-p "target/lib/test")
4078+
             (mkdir-p "target/lib/tools")
4079+
             (mkdir-p "target/lib/runtime")
4080+
             #t))
4081+
         (add-after 'install 'remove-embeddable
4082+
           (lambda* (#:key outputs #:allow-other-keys)
4083+
             (delete-file (string-append (assoc-ref outputs "out")
4084+
                                         "/embeddable/groovy-all-2.0.0-beta-3.jar"))
4085+
             #t)))))
4086+
    (native-inputs
4087+
     `(("build.xml" ,(package-source groovy-bootstrap))
4088+
       ,@(package-native-inputs groovy-bootstrap)))))
4089+
4090+
(define-public ant-junit
4091+
  (package
4092+
    (inherit ant)
4093+
    (name "ant-junit")
4094+
    (build-system ant-build-system)
4095+
    (arguments
4096+
     `(#:build-target "jars"
4097+
       #:tests? #f; disabled for now
4098+
       #:phases
4099+
       (modify-phases %standard-phases
4100+
         (add-before 'build 'copy
4101+
           (lambda* (#:key inputs #:allow-other-keys)
4102+
             (for-each (lambda (file) (copy-file file "lib/optional/junit.jar"))
4103+
                       (find-files (string-append (assoc-ref inputs "java-junit") "/share") ".*.jar"))
4104+
             #t))
4105+
         (replace 'install
4106+
           (lambda* (#:key outputs #:allow-other-keys)
4107+
             (install-file "build/lib/ant-junit.jar"
4108+
                           (string-append (assoc-ref outputs "out") "/share/java")))))))
4109+
    (inputs
4110+
     `(("java-junit" ,java-junit)))))
4111+
4112+
(define-public ant-commons-net
4113+
  (package
4114+
    (inherit ant)
4115+
    (name "ant-commons-net")
4116+
    (build-system ant-build-system)
4117+
    (arguments
4118+
     `(#:build-target "jars"
4119+
       #:tests? #f; disabled for now
4120+
       #:phases
4121+
       (modify-phases %standard-phases
4122+
         (add-before 'build 'copy
4123+
           (lambda* (#:key inputs #:allow-other-keys)
4124+
             (for-each (lambda (file) (copy-file file "lib/optional/commons-net.jar"))
4125+
                       (find-files (string-append (assoc-ref inputs "java-commons-net") "/share") ".*.jar"))
4126+
             #t))
4127+
         (replace 'install
4128+
           (lambda* (#:key outputs #:allow-other-keys)
4129+
             (install-file "build/lib/ant-commons-net.jar"
4130+
                           (string-append (assoc-ref outputs "out") "/share/java")))))))
4131+
    (inputs
4132+
     `(("java-commons-net" ,java-commons-net)))))
4133+
4134+
(define-public ant-apache-oro
4135+
  (package
4136+
    (inherit ant)
4137+
    (name "ant-apache-oro")
4138+
    (build-system ant-build-system)
4139+
    (arguments
4140+
     `(#:build-target "jars"
4141+
       #:tests? #f; disabled for now
4142+
       #:phases
4143+
       (modify-phases %standard-phases
4144+
         (add-before 'build 'copy
4145+
           (lambda* (#:key inputs #:allow-other-keys)
4146+
             (for-each (lambda (file) (copy-file file "lib/optional/apache-oro.jar"))
4147+
                       (find-files (string-append (assoc-ref inputs "java-jakarta-oro") "/share") ".*.jar"))
4148+
             #t))
4149+
         (replace 'install
4150+
           (lambda* (#:key outputs #:allow-other-keys)
4151+
             (install-file "build/lib/ant-apache-oro.jar"
4152+
                           (string-append (assoc-ref outputs "out") "/share/java")))))))
4153+
    (inputs
4154+
     `(("java-jakarta-oro" ,java-jakarta-oro)))))
4155+
4156+
(define-public ant-apache-regexp
4157+
  (package
4158+
    (inherit ant)
4159+
    (name "ant-apache-regexp")
4160+
    (build-system ant-build-system)
4161+
    (arguments
4162+
     `(#:build-target "jars"
4163+
       #:tests? #f; disabled for now
4164+
       #:phases
4165+
       (modify-phases %standard-phases
4166+
         (add-before 'build 'copy
4167+
           (lambda* (#:key inputs #:allow-other-keys)
4168+
             (for-each (lambda (file) (copy-file file "lib/optional/apache-regexp.jar"))
4169+
                       (find-files (string-append (assoc-ref inputs "java-jakarta-regexp") "/share") ".*.jar"))
4170+
             #t))
4171+
         (replace 'install
4172+
           (lambda* (#:key outputs #:allow-other-keys)
4173+
             (install-file "build/lib/ant-apache-regexp.jar"
4174+
                           (string-append (assoc-ref outputs "out") "/share/java")))))))
4175+
    (inputs
4176+
     `(("java-jakarta-regexp" ,java-jakarta-regexp)))))
4177+
4178+
(define-public ant-jsch
4179+
  (package
4180+
    (inherit ant)
4181+
    (name "ant-jsch")
4182+
    (build-system ant-build-system)
4183+
    (arguments
4184+
     `(#:build-target "jars"
4185+
       #:tests? #f; disabled for now
4186+
       #:phases
4187+
       (modify-phases %standard-phases
4188+
         (add-before 'build 'copy
4189+
           (lambda* (#:key inputs #:allow-other-keys)
4190+
             (for-each (lambda (file) (copy-file file "lib/optional/jsch.jar"))
4191+
                       (find-files (string-append (assoc-ref inputs "java-jsch") "/share") ".*.jar"))
4192+
             #t))
4193+
         (replace 'install
4194+
           (lambda* (#:key outputs #:allow-other-keys)
4195+
             (install-file "build/lib/ant-jsch.jar"
4196+
                           (string-append (assoc-ref outputs "out") "/share/java")))))))
4197+
    (inputs
4198+
     `(("java-jsch" ,java-jsch)))))
4199+
4200+
(define-public ant-junit-tests
4201+
  (package
4202+
    (inherit ant)
4203+
    (name "ant-junit-tests")
4204+
    (build-system ant-build-system)
4205+
    (arguments
4206+
     `(#:jar-name "ant-junit-tests.jar"
4207+
       #:tests? #f; disabled for now
4208+
       #:source-dir "src/tests/junit"))
4209+
    (inputs
4210+
     `(("java-junit" ,java-junit)
4211+
       ("java-hamcrest-core" ,java-hamcrest-core)
4212+
       ("ant-commons-net" ,ant-commons-net)
4213+
       ("java-jsch" ,java-jsch)
4214+
       ("ant-jsch" ,ant-jsch)
4215+
       ("java-jakarta-oro" ,java-jakarta-oro)
4216+
       ("ant-apache-oro" ,ant-apache-oro)
4217+
       ("java-jakarta-regexp" ,java-jakarta-regexp)
4218+
       ("ant-apache-regexp" ,ant-apache-regexp)
4219+
       ("java-commons-net" ,java-commons-net)))))
4220+
4221+
(define-public ant-antlr
4222+
  (package
4223+
    (inherit ant)
4224+
    (name "ant-antlr")
4225+
    (build-system ant-build-system)
4226+
    (arguments
4227+
     `(#:build-target "jars"
4228+
       #:tests? #f; disabled for now
4229+
       ;#:make-flags
4230+
       ;(list (string-append "-Dant.install=" (assoc-ref %outputs "out")))
4231+
       #:phases
4232+
       (modify-phases %standard-phases
4233+
         (add-before 'build 'copy
4234+
           (lambda* (#:key inputs #:allow-other-keys)
4235+
             (for-each (lambda (file) (begin (display ">") (display file) (newline) (copy-file file "lib/optional/antlr.jar")))
4236+
                       (find-files (string-append (assoc-ref inputs "antlr2") "/share") ".*.jar"))
4237+
             #t))
4238+
         (replace 'install
4239+
           (lambda* (#:key outputs #:allow-other-keys)
4240+
             (install-file "build/lib/ant-antlr.jar"
4241+
                           (string-append (assoc-ref outputs "out") "/share/java")))))))
4242+
    (inputs
4243+
     `(("antlr2" ,antlr2)))))
4244+
33944245
;(define-public antlr3-3.4
33954246
;  (package
33964247
;    (name "antlr3")

36464497
       #:tests? #f
36474498
       #:jdk ,icedtea-8))
36484499
    (native-inputs '())))
3649-
3650-
;; requires groovy 2.4.7.
3651-
;(define-public gradle
3652-
;  (package
3653-
;    (name "gradle")
3654-
;    (version "3.4.1")
3655-
;    (source (origin
3656-
;              (method url-fetch)
3657-
;              (uri (string-append "https://github.com/gradle/gradle/archive/v"
3658-
;                                  version ".tar.gz"))
3659-
;              (file-name (string-append name "-" version ".tar.gz"))
3660-
;              (sha256
3661-
;               (base32 "0fq30k51mkixg31z3d4fjq3zbnyjml4i530px6n1n947mqk3rgyl"))))
3662-
;    (build-system ant-build-system)
3663-
;    (arguments
3664-
;     `(#:phases
3665-
;       (modify-phases %standard-phases
3666-
;         (replace 'build
3667-
;           (lambda* _
3668-
;             (system* "sh" "-x" "gradlew" "prBuild" "-x" "integTest" "--continue"
3669-
;                      "--stacktrace"))))))
3670-
;             ;(system* "sh" "-x" "travisci_build.sh"))))))
3671-
;    (home-page "")
3672-
;    (synopsis "Build system")
3673-
;    (description "Build system")
3674-
;    (license license:asl2.0)))
36754500
;
36764501
;;; Requires gradle.
36774502
;(define-public android-anysoft-keyboard