java.scm
1 | ;;; GNU Guix --- Functional package management for GNU |
2 | ;;; Copyright © 2017 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 java) |
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 git-download) |
25 | #:use-module (guix svn-download) |
26 | #:use-module (guix utils) |
27 | #:use-module (guix build-system ant) |
28 | #:use-module (guix build-system gnu) |
29 | #:use-module (guix build-system trivial) |
30 | #:use-module (gnu packages autotools) |
31 | #:use-module (gnu packages base) |
32 | #:use-module (gnu packages compression) |
33 | #:use-module (gnu packages java)) |
34 | |
35 | (define-public java-tomcat |
36 | (package |
37 | (name "java-tomcat") |
38 | (version "8.5.16") |
39 | (source (origin |
40 | (method url-fetch) |
41 | (uri (string-append "http://download.nextag.com/apache/tomcat/tomcat-8/v" |
42 | version "/src/apache-tomcat-" version "-src.tar.gz")) |
43 | (sha256 |
44 | (base32 |
45 | "08vc859z9f0787nhikbdsj6i441d4qk5xv17c1564hxxg6bmilqd")))) |
46 | (build-system ant-build-system) |
47 | (inputs |
48 | `(("java-eclipse-jdt-core" ,java-eclipse-jdt-core))) |
49 | (native-inputs |
50 | `(("java-junit" ,java-junit))) |
51 | (arguments |
52 | `(#:build-target "package" |
53 | ;#:test-target "test" |
54 | #:tests? #f; requires downloading some files. |
55 | #:phases |
56 | (modify-phases %standard-phases |
57 | (add-after 'unpack 'properties |
58 | (lambda _ |
59 | (mkdir "downloads") |
60 | (substitute* "build.xml" |
61 | (("download-compile,") "")) |
62 | (with-output-to-file "build.properties" |
63 | (lambda _ |
64 | (display |
65 | (string-append "base.path=" (getcwd) "/downloads\n")))))) |
66 | (replace 'install |
67 | (install-jars "output/build/lib"))))) |
68 | (home-page "https://tomcat.apache.org") |
69 | (synopsis "Java Servlet, JavaServer Pages, Java Expression Language and Java |
70 | WebSocket") |
71 | (description "Apache Tomcat is an open source implementation of the Java |
72 | Servlet, JavaServer Pages, Java Expression Language and Java WebSocket |
73 | technologies. The Java Servlet, JavaServer Pages, Java Expression Language and |
74 | Java WebSocket specifications are developed under the Java Community Process.") |
75 | (license license:asl2.0))) |
76 | |
77 | (define-public java-brotli-dec |
78 | (package |
79 | (name "java-brotli-dec") |
80 | (version "0.6.0") |
81 | (source (origin |
82 | (method url-fetch) |
83 | (uri (string-append "https://github.com/google/brotli/archive/v" |
84 | version ".tar.gz")) |
85 | (sha256 |
86 | (base32 |
87 | "03zfr6lw6ry643l6pbg0myg52clypxd0y0igd84dslchf3svvkb9")))) |
88 | (build-system ant-build-system) |
89 | (native-inputs |
90 | `(("junit" ,java-junit))) |
91 | (arguments |
92 | `(#:jar-name "brotli-dec.jar" |
93 | #:tests? #f; no test target |
94 | #:source-dir "java")) |
95 | (home-page "https://brotli.org") |
96 | (synopsis "Lossless compression algorithm") |
97 | (description "Brotli is a generic-purpose lossless compression algorithm |
98 | that compresses data using a combination of a modern variant of the LZ77 |
99 | algorithm, Huffman coding and 2nd order context modeling, with a compression |
100 | ratio comparable to the best currently available general-purpose compression |
101 | methods. It is similar in speed with deflate but offers more dense compression.") |
102 | (license license:expat))) |
103 | |
104 | (define-public java-commons-compress-latest |
105 | (package |
106 | (inherit java-commons-compress) |
107 | (version "1.14") |
108 | (source (origin |
109 | (method url-fetch) |
110 | (uri (string-append "mirror://apache/commons/compress/source/" |
111 | "commons-compress-" version "-src.tar.gz")) |
112 | (sha256 |
113 | (base32 |
114 | "1msfjbknfgx78j96fsiqk44r45plz10x9sw88flrpf3yaf4d3br1")))) |
115 | (inputs |
116 | `(("dec" ,java-brotli-dec) |
117 | ,@(package-inputs java-commons-compress))))) |
118 | |
119 | (define-public java-jmapviewer |
120 | (package |
121 | (name "java-jmapviewer") |
122 | (version "2.3") |
123 | (source (origin |
124 | (method url-fetch) |
125 | (uri (string-append "https://svn.openstreetmap.org/applications/viewer/jmapviewer/releases/" |
126 | version "/JMapViewer-" version "-Source.zip")) |
127 | (sha256 |
128 | (base32 |
129 | "0xalq8bacn8ibz3xiaqvj5pg6pxk9irvwx5f1lb0y2z5gsny3l1x")))) |
130 | (build-system ant-build-system) |
131 | (native-inputs |
132 | `(("unzip" ,unzip))) |
133 | (arguments |
134 | `(#:build-target "pack" |
135 | #:jdk ,icedtea-8 |
136 | #:tests? #f; No tests |
137 | #:phases |
138 | (modify-phases %standard-phases |
139 | (add-before 'build 'clean |
140 | (lambda* _ |
141 | (zero? (system* "ant" "clean")))) |
142 | (replace 'install |
143 | (lambda* (#:key outputs #:allow-other-keys) |
144 | (let ((dir (string-append (assoc-ref outputs "out") "/share/java/"))) |
145 | (mkdir-p dir) |
146 | (copy-file "JMapViewer.jar" (string-append dir "JMapViewer.jar")))))))) |
147 | (home-page "https://wiki.openstreetmap.org/wiki/JMapViewer") |
148 | (synopsis "") |
149 | (description "") |
150 | (license license:gpl2))) |
151 | |
152 | (define-public java-josm |
153 | (package |
154 | (name "java-josm") |
155 | (version "12450") |
156 | (source (origin |
157 | (method git-fetch) |
158 | (uri (git-reference |
159 | (url "https://github.com/openstreetmap/josm.git") |
160 | (commit "61a9c27e59976805b7cce4fae5a48c8e04b19373"))) |
161 | ;;(uri (svn-reference |
162 | ;; (url "https://svn.openstreetmap.org/applications/editors/josm") |
163 | ;; (revision 12039))) |
164 | (sha256 |
165 | (base32 |
166 | "1hab27b8s6h2b1g07pghr4nkx6rx2gx75488rwppdfc0ymzpjzrp")) |
167 | (file-name (string-append name "-" version)))) |
168 | (build-system ant-build-system) |
169 | (native-inputs |
170 | `(("java-javacc" ,java-javacc))) |
171 | (propagated-inputs |
172 | `(("java-jmapviewer" ,java-jmapviewer) |
173 | ("java-tomcat" ,java-tomcat) |
174 | ("java-brotli-dec" ,java-brotli-dec) |
175 | ("java-xz" ,java-xz) |
176 | ("java-velocity" ,java-velocity) |
177 | ("java-commons-collections" ,java-commons-collections) |
178 | ("java-commons-logging-minimal" ,java-commons-logging-minimal) |
179 | ("java-commons-compress" ,java-commons-compress-latest))) |
180 | (arguments |
181 | `(;#:build-target "dist" |
182 | #:tests? #f |
183 | #:jdk ,icedtea-8 |
184 | #:jar-name "josm.jar" |
185 | #:phases |
186 | (modify-phases %standard-phases |
187 | (add-after 'unpack 'rm-build.xml |
188 | (lambda* _ |
189 | (delete-file "build.xml"))) |
190 | (add-before 'build 'fix-revision |
191 | (lambda* _ |
192 | (with-output-to-file "REVISION.XML" |
193 | (lambda _ |
194 | (display |
195 | (string-append "<info><entry><commit revision=\"" ,version "\">" |
196 | "<date>1970-01-01 00:00:00 +0000</date>" |
197 | "</commit></entry></info>")))))) |
198 | (add-before 'build 'generate-parser |
199 | (lambda* _ |
200 | (let* ((dir "src/org/openstreetmap/josm/gui/mappaint/mapcss") |
201 | (out (string-append dir "/parsergen")) |
202 | (file (string-append dir "/MapCSSParser.jj"))) |
203 | (mkdir-p "src/org/openstreetmap/josm/gui/mappaint/mapcss/parsergen") |
204 | (zero? (system* "javacc" "-DEBUG_PARSER=false" |
205 | "-DEBUG_TOKEN_MANAGER=false" "-JDK_VERSION=1.8" |
206 | "-GRAMMAR_ENCODING=UTF-8" |
207 | (string-append "-OUTPUT_DIRECTORY=" out) |
208 | file))))) |
209 | ))) |
210 | ;(add-before 'build 'fix-compiler |
211 | ; (lambda* _ |
212 | ; (substitute* "build.xml" |
213 | ; (("UNKNOWN") ,version) |
214 | ; (("<touch.*epsg.output.*") "<mkdir dir=\"${epsg.output}/..\" /><touch file=\"${epsg.output}\"/>\n") |
215 | ; ((".*com.google.errorprone.ErrorProneAntCompilerAdapter.*") "") |
216 | ; (("compiler=\"[^\"]*\" ") "")))) |
217 | ;(replace 'install |
218 | ; (lambda* (#:key outputs inputs #:allow-other-keys) |
219 | ; (let* ((out (assoc-ref outputs "out")) |
220 | ; (bin (string-append out "/bin")) |
221 | ; (lib (string-append out "/lib/josm"))) |
222 | ; (mkdir-p bin) |
223 | ; (mkdir-p lib) |
224 | ; (copy-file "dist/josm-custom.jar" |
225 | ; (string-append lib "/josm.jar")) |
226 | ; (with-output-to-file (string-append bin "/josm") |
227 | ; (lambda _ |
228 | ; (display |
229 | ; (string-append "#!/bin/sh\n" |
230 | ; (assoc-ref inputs "jdk") "/bin/java" |
231 | ; " -jar " lib "/josm.jar")))) |
232 | ; (chmod (string-append bin "/josm") #o755))))))) |
233 | (home-page "https://josm.openstreetmap.de") |
234 | (synopsis "OSM editor") |
235 | (description "OSM editor.") |
236 | (license license:gpl2+))) |
237 | |
238 | (define-public java-commons-collections |
239 | (package |
240 | (inherit java-commons-collections4) |
241 | (name "java-commons-collections") |
242 | (version "3.2.2") |
243 | (source (origin |
244 | (method url-fetch) |
245 | (uri (string-append "mirror://apache/commons/collections/source/" |
246 | "commons-collections-" version "-src.tar.gz")) |
247 | (sha256 |
248 | (base32 |
249 | "055r51a5lfc3z7rkxnxmnn1npvkvda7636hjpm4qk7cnfzz98387")))) |
250 | (arguments |
251 | (substitute-keyword-arguments (package-arguments java-commons-collections4) |
252 | ((#:phases phases) |
253 | `(modify-phases ,phases |
254 | (add-before 'build 'add-manifest |
255 | (lambda _ |
256 | (mkdir-p "build/conf") |
257 | (call-with-output-file "build/conf/MANIFEST.MF" |
258 | (lambda (file) |
259 | (format file "Manifest-Version: 1.0\n") |
260 | (format file "Ant-Version: Apache Ant 1.9.9\n") |
261 | (format file "Created-By: 1.8.0_131-b11 (Oracle Corporation)"))))) |
262 | (replace 'install |
263 | (install-jars "build")))))))) |
264 | |
265 | (define-public java-jdom2 |
266 | (package |
267 | (name "java-jdom") |
268 | (version "2.0.6") |
269 | (source (origin |
270 | (method url-fetch) |
271 | (uri (string-append "https://github.com/hunterhacker/jdom/archive/JDOM-" |
272 | version ".tar.gz")) |
273 | (sha256 |
274 | (base32 |
275 | "0p8n7inqq2a25wk9ljinl3ixlx1x2la9qaman8ngd75xxjb02yc1")))) |
276 | (build-system ant-build-system) |
277 | (arguments |
278 | `(#:build-target "package" |
279 | #:tests? #f; junit run with "package" target |
280 | #:phases |
281 | (modify-phases %standard-phases |
282 | (replace 'install |
283 | (install-jars "build"))))) |
284 | (home-page "http://jdom.org/") |
285 | (synopsis "Access, manipulate, and output XML data") |
286 | (description " Java-based solution for accessing, manipulating, and |
287 | outputting XML data from Java code.") |
288 | (license license:bsd-4))) |
289 | |
290 | (define-public java-jakarta-oro |
291 | (package |
292 | (name "java-jakarta-oro") |
293 | (version "2.0.8") |
294 | (source (origin |
295 | (method url-fetch) |
296 | (uri (string-append "https://archive.apache.org/dist/jakarta/oro/" |
297 | "jakarta-oro-" version ".tar.gz")) |
298 | (sha256 |
299 | (base32 |
300 | "0rpmnsskiwmsy8r0sckz5n5dbvh3vkxx8hpm177c754r8xy3qksc")))) |
301 | (build-system ant-build-system) |
302 | (arguments |
303 | `(#:build-target "package" |
304 | #:tests? #f; junit run with "package" target |
305 | #:phases |
306 | (modify-phases %standard-phases |
307 | (add-after 'unpack 'remove-bin |
308 | (lambda _ |
309 | (delete-file (string-append "jakarta-oro-" ,version ".jar")))) |
310 | (replace 'install |
311 | (install-jars ,(string-append "jakarta-oro-" version)))))) |
312 | (home-page "https://jakarta.apache.org/oro/") |
313 | (synopsis "") |
314 | (description "") |
315 | (license license:asl2.0))) |
316 | |
317 | (define-public java-jdom |
318 | (package |
319 | (name "java-jdom") |
320 | (version "1.1.3") |
321 | (source (origin |
322 | (method url-fetch) |
323 | (uri (string-append "http://jdom.org/dist/binary/archive/jdom-" |
324 | version ".tar.gz")) |
325 | (sha256 |
326 | (base32 |
327 | "07wdpm3jwwc9q38kmdw40fvbmv6jzjrkrf8m0zqs58f79a672wfl")))) |
328 | (build-system ant-build-system) |
329 | (arguments |
330 | `(#:build-target "package" |
331 | #:tests? #f; junit run with "package" target |
332 | #:phases |
333 | (modify-phases %standard-phases |
334 | (replace 'install |
335 | (install-jars "build"))))) |
336 | (home-page "http://jdom.org/") |
337 | (synopsis "Access, manipulate, and output XML data") |
338 | (description " Java-based solution for accessing, manipulating, and |
339 | outputting XML data from Java code.") |
340 | (license license:bsd-4))) |
341 | |
342 | (define-public java-commons-logging |
343 | (package |
344 | (inherit java-commons-logging-minimal) |
345 | (arguments |
346 | `(#:tests? #f ; avoid dependency on logging frameworks |
347 | #:jar-name "commons-logging.jar" |
348 | #:phases |
349 | (modify-phases %standard-phases |
350 | (add-after 'unpack 'delete-adapters-and-tests |
351 | (lambda _ |
352 | ;; Delete all adapters except for NoOpLog, SimpleLog, and |
353 | ;; LogFactoryImpl. NoOpLog is required to build; LogFactoryImpl |
354 | ;; is used by applications; SimpleLog is the only actually usable |
355 | ;; implementation that does not depend on another logging |
356 | ;; framework. |
357 | (for-each |
358 | (lambda (file) |
359 | (delete-file (string-append |
360 | "src/main/java/org/apache/commons/logging/impl/" file))) |
361 | (list "Jdk13LumberjackLogger.java" |
362 | "WeakHashtable.java" |
363 | "Log4JLogger.java" |
364 | "ServletContextCleaner.java" |
365 | "Jdk14Logger.java" |
366 | "AvalonLogger.java" |
367 | "LogKitLogger.java")) |
368 | (delete-file-recursively "src/test") |
369 | #t))))) |
370 | (inputs |
371 | `(("log4j" ,java-log4j-api) |
372 | ,@(package-inputs java-commons-logging-minimal))))) |
373 | |
374 | (define-public java-lz4 |
375 | (package |
376 | (name "java-lz4") |
377 | (version "1.3.0") |
378 | (source (origin |
379 | (method url-fetch) |
380 | (uri (string-append "https://repo1.maven.org/maven2/net/jpountz/" |
381 | "lz4/lz4/" version "/lz4-" version "-sources.jar")) |
382 | (sha256 |
383 | (base32 |
384 | "1vplqq2fhwjjrkdnnlclwyclxvzav80f7246awd178xwl9ng4vcm")))) |
385 | (build-system ant-build-system) |
386 | (arguments |
387 | `(#:jar-name "java-lj4.jar" |
388 | #:jdk ,icedtea-8 |
389 | #:source-dir "." |
390 | #:tests? #f)); no tests |
391 | (home-page "https://jpountz.github.io/lz4-java"); or http://blog.jpountz.net/ |
392 | (synopsis "") |
393 | (description "") |
394 | (license license:asl2.0))) |
395 | |
396 | (define-public java-kafka-clients |
397 | (package |
398 | (name "java-kafka-clients") |
399 | (version "0.11.0.0") |
400 | (source (origin |
401 | (method url-fetch) |
402 | (uri (string-append "mirror://apache/kafka/" version "/kafka-" |
403 | version "-src.tgz")) |
404 | (sha256 |
405 | (base32 |
406 | "01mbi12bdxhrv4iadb3179cqrg689jva8hh8nig4n747arsbgiby")))) |
407 | (build-system ant-build-system) |
408 | (arguments |
409 | `(#:jar-name "java-kafka-clients.jar" |
410 | #:jdk ,icedtea-8 |
411 | #:source-dir "clients/src/main/java" |
412 | #:tests? #f)) |
413 | (inputs |
414 | `(("java-slf4j-api" ,java-slf4j-api) |
415 | ("java-lz4" ,java-lz4))) |
416 | (home-page "https://kafka.apache.org") |
417 | (synopsis "") |
418 | (description "") |
419 | (license (list license:cddl1.0; actually cddl1.1 |
420 | license:gpl2)))); with classpath exception |
421 | |
422 | (define-public java-bsh |
423 | (package |
424 | (name "java-bsh") |
425 | (version "2.0b6") |
426 | (source (origin |
427 | (method url-fetch) |
428 | (uri (string-append "https://github.com/beanshell/beanshell/archive/" |
429 | version ".tar.gz")) |
430 | (sha256 |
431 | (base32 |
432 | "1bawkxk6jyc75hxvzkpz689h73cn3f222m0ar3nvb0dal2b85kfv")))) |
433 | (build-system ant-build-system) |
434 | (arguments |
435 | `(#:build-target "jarall" |
436 | #:tests? #f |
437 | #:phases |
438 | (modify-phases %standard-phases |
439 | (replace 'install |
440 | (lambda* (#:key outputs #:allow-other-keys) |
441 | (let ((share (string-append (assoc-ref outputs "out") "/share/java"))) |
442 | (mkdir-p share) |
443 | (copy-file "dist/bsh-2.0b6.jar" (string-append share "/bsh-2.0b6.jar")))))))) |
444 | (home-page "http://beanshell.org/") |
445 | (synopsis "") |
446 | (description "") |
447 | (license license:asl2.0))) |
448 | |
449 | (define-public java-hdrhistogram |
450 | (package |
451 | (name "java-hdrhistogram") |
452 | (version "2.1.9") |
453 | (source (origin |
454 | (method url-fetch) |
455 | (uri (string-append "https://github.com/HdrHistogram/HdrHistogram/" |
456 | "archive/HdrHistogram-" version ".tar.gz")) |
457 | (sha256 |
458 | (base32 |
459 | "1sicbmc3sr42nw93qbkb26q9rn33ag33k6k77phjc3j5h5gjffqv")))) |
460 | (build-system ant-build-system) |
461 | (arguments |
462 | `(#:jar-name "java-hdrhistogram.jar" |
463 | #:source-dir "src/main/java" |
464 | #:tests? #f |
465 | #:phases |
466 | (modify-phases %standard-phases |
467 | (add-before 'configure 'set-version |
468 | (lambda _ |
469 | (let* ((version-java "src/main/java/org/HdrHistogram/Version.java") |
470 | (template (string-append version-java ".template"))) |
471 | (copy-file template version-java) |
472 | (substitute* version-java |
473 | (("\\$VERSION\\$") ,version) |
474 | (("\\$BUILD_TIME\\$") "0")))))))) |
475 | (home-page "https://hdrhistogram.github.io/HdrHistogram") |
476 | (synopsis "") |
477 | (description "") |
478 | (license license:bsd-2))) |
479 | |
480 | (define-public java-jmock |
481 | (package |
482 | (name "java-jmock") |
483 | (version "2.8.2") |
484 | (source (origin |
485 | (method url-fetch) |
486 | (uri (string-append "https://github.com/jmock-developers/" |
487 | "jmock-library/archive/" version ".tar.gz")) |
488 | (sha256 |
489 | (base32 |
490 | "18650a9g8xffcsdb6w91pbswa7f40fp2sh6s3nclkclz5dbzq8f0")))) |
491 | (build-system ant-build-system) |
492 | (inputs |
493 | `(("java-hamcrest-all" ,java-hamcrest-all) |
494 | ("java-asm" ,java-asm) |
495 | ("java-bsh" ,java-bsh) |
496 | ("java-jumit" ,java-junit))) |
497 | (arguments |
498 | `(#:jar-name "java-jmock.jar" |
499 | #:source-dir "jmock/src/main/java" |
500 | #:tests? #f)) |
501 | (home-page "https://github.com/jmock-developers/jmock-library") |
502 | (synopsis "") |
503 | (description "") |
504 | (license license:bsd-3))) |
505 | |
506 | (define-public java-jmock-junit4 |
507 | (package |
508 | (inherit java-jmock) |
509 | (name "java-jmock-junit4") |
510 | (arguments |
511 | `(#:jar-name "java-jmock-junit4.jar" |
512 | #:source-dir "jmock-junit4/src/main/java" |
513 | #:tests? #f)) |
514 | (inputs |
515 | `(("java-hamcrest-all" ,java-hamcrest-all) |
516 | ("java-asm" ,java-asm) |
517 | ("java-bsh" ,java-bsh) |
518 | ("java-jmock" ,java-jmock) |
519 | ("java-jumit" ,java-junit))))) |
520 | |
521 | |
522 | (define-public java-jmock-legacy |
523 | (package |
524 | (inherit java-jmock) |
525 | (name "java-jmock-legacy") |
526 | (arguments |
527 | `(#:jar-name "java-jmock-legacy.jar" |
528 | #:source-dir "jmock-legacy/src/main/java" |
529 | #:tests? #f)) |
530 | (inputs |
531 | `(("java-hamcrest-all" ,java-hamcrest-all) |
532 | ("java-objenesis" ,java-objenesis) |
533 | ("java-cglib" ,java-cglib) |
534 | ("java-jmock" ,java-jmock) |
535 | ("java-asm" ,java-asm) |
536 | ("java-bsh" ,java-bsh) |
537 | ("java-jumit" ,java-junit))))) |
538 | |
539 | (define-public java-lmax-disruptor |
540 | (package |
541 | (name "java-lmax-disruptor") |
542 | (version "3.3.6") |
543 | (source (origin |
544 | (method url-fetch) |
545 | (uri (string-append "https://github.com/LMAX-Exchange/disruptor/" |
546 | "archive/" version ".tar.gz")) |
547 | (sha256 |
548 | (base32 |
549 | "19c7c5cf3lby4fy7vl3b6a9hds1g0j7xgfbskqbdlcai1x82hh8i")))) |
550 | (build-system ant-build-system) |
551 | (arguments |
552 | `(#:jar-name "java-lmax-disruptor.jar" |
553 | #:jdk ,icedtea-8 |
554 | #:source-dir "src" |
555 | #:tests? #f)); no tests |
556 | (inputs |
557 | `(("junit" ,java-junit) |
558 | ("java-hdrhistogram" ,java-hdrhistogram) |
559 | ("java-jmock" ,java-jmock) |
560 | ("java-jmock-legacy" ,java-jmock-legacy) |
561 | ("java-jmock-junit4" ,java-jmock-junit4) |
562 | ("java-hamcrest-all" ,java-hamcrest-all))) |
563 | (home-page "https://www.lmax.com/disruptor") |
564 | (synopsis "") |
565 | (description "") |
566 | (license license:asl2.0))) |
567 | |
568 | (define-public java-mail |
569 | (package |
570 | (name "java-mail") |
571 | (version "1.6.0") |
572 | (source (origin |
573 | (method url-fetch) |
574 | (uri (string-append "https://github.com/javaee/javamail/archive/" |
575 | "JAVAMAIL-1_6_0.tar.gz")) |
576 | (sha256 |
577 | (base32 |
578 | "1b4rg7fpj50ld90a71iz2m4gm3f5cnw18p3q3rbrrryjip46kx92")))) |
579 | (build-system ant-build-system) |
580 | (arguments |
581 | `(#:jar-name "java-mail.jar" |
582 | #:jdk ,icedtea-8 |
583 | #:source-dir "mail/src/main/java" |
584 | #:tests? #f; no tests |
585 | #:phases |
586 | (modify-phases %standard-phases |
587 | (add-before 'configure 'move-version.java |
588 | (lambda _ |
589 | ;; this is done in build.xml (init target) |
590 | (copy-file "mail/src/main/resources/javax/mail/Version.java" |
591 | "mail/src/main/java/javax/mail/Version.java")))))) |
592 | (home-page "https://javaee.github.io/javamail") |
593 | (synopsis "") |
594 | (description "") |
595 | (license (list license:cddl1.0; actually cddl1.1 |
596 | license:gpl2)))); with classpath exception |
597 | |
598 | (define-public java-log4j-core |
599 | (package |
600 | (inherit java-log4j-api) |
601 | (name "java-log4j-core") |
602 | (inputs |
603 | `(("java-osgi-core" ,java-osgi-core) |
604 | ("java-hamcrest-core" ,java-hamcrest-core) |
605 | ("java-log4j-api" ,java-log4j-api) |
606 | ("java-mail" ,java-mail) |
607 | ("java-lmax-disruptor" ,java-lmax-disruptor) |
608 | ("java-kafka" ,java-kafka-clients) |
609 | ("java-commons-compress" ,java-commons-compress) |
610 | ("java-junit" ,java-junit))) |
611 | (arguments |
612 | `(#:tests? #f ; tests require unpackaged software |
613 | #:jar-name "log4j-core.jar" |
614 | #:make-flags |
615 | (list (string-append "-Ddist.dir=" (assoc-ref %outputs "out") |
616 | "/share/java")) |
617 | #:phases |
618 | (modify-phases %standard-phases |
619 | (add-after 'unpack 'enter-dir |
620 | (lambda _ (chdir "log4j-core") #t)) |
621 | ;; FIXME: The tests require additional software that has not been |
622 | ;; packaged yet, such as |
623 | ;; * org.apache.maven |
624 | ;; * org.apache.felix |
625 | (add-after 'enter-dir 'delete-tests |
626 | (lambda _ (delete-file-recursively "src/test") #t))))))) |
627 | |
628 | (define-public java-velocity |
629 | (package |
630 | (name "java-velocity") |
631 | (version "1.7") |
632 | (source (origin |
633 | (method url-fetch) |
634 | (uri (string-append "mirror://apache/velocity/engine/" |
635 | version "/velocity-" version ".tar.gz")) |
636 | (sha256 |
637 | (base32 |
638 | "0rk7s04hkrr2k3glccx0yrglzqzj4qbipcrxhglk46yhx92vravc")) |
639 | (patches |
640 | (search-patches "java-velocity-dont-use-werken-xpath.patch")))) |
641 | (build-system ant-build-system) |
642 | (arguments |
643 | `(#:source-dir "src/java" |
644 | #:phases |
645 | (modify-phases %standard-phases |
646 | (add-before 'configure 'fix-log4j-path |
647 | (lambda _ |
648 | (for-each (lambda (file) |
649 | (substitute* file |
650 | (("org.apache.log4j") "org.apache.logging.log4j"))) |
651 | '("src/java/org/apache/velocity/runtime/log/Log4JLogChute.java" |
652 | "src/java/org/apache/velocity/runtime/log/SimpleLog4JLogSystem.java")))) |
653 | (add-before 'build 'prepare |
654 | (lambda* (#:key inputs #:allow-other-keys) |
655 | (delete-file-recursively "lib") |
656 | (mkdir-p "bin/lib") |
657 | ;; Don't download anything |
658 | (substitute* "build/build.xml" |
659 | ((".*download.xml.*") "")) |
660 | (chdir "build")))))) |
661 | (native-inputs |
662 | `(("javacc" ,java-javacc) |
663 | ("antlr" ,antlr2))) |
664 | (propagated-inputs |
665 | `(("java-commons-collections" ,java-commons-collections) |
666 | ("java-jakarta-oro" ,java-jakarta-oro) |
667 | ("java-jdom" ,java-jdom) |
668 | ("java-tomcat" ,java-tomcat) |
669 | ("java-log4j-api" ,java-log4j-api) |
670 | ("java-commons-logging-minimal" ,java-commons-logging) |
671 | ("java-commons-lang" ,java-commons-lang))) |
672 | (home-page "https://velocity.apache.org/") |
673 | (synopsis "") |
674 | (description "") |
675 | (license license:asl2.0))) |
676 | |
677 | (define-public java-commons-jcs |
678 | (package |
679 | (name "java-commons-jcs") |
680 | (version "2.1") |
681 | (source (origin |
682 | (method url-fetch) |
683 | (uri (string-append "mirror://apache/commons/jcs/source/" |
684 | "commons-jcs-dist-" version "-src.tar.gz")) |
685 | (sha256 |
686 | (base32 |
687 | "17l78mpxx1qkgp213b91sl69wawv6xzgllr479mygbg76ygwpffv")))) |
688 | (build-system ant-build-system) |
689 | (arguments |
690 | `(#:jar-name "commons-jcs.jar" |
691 | #:source-dir "commons-jcs-core/src/main/java")) |
692 | (propagated-inputs |
693 | `(("java-commons-logging-minimal" ,java-commons-logging-minimal) |
694 | ("java-velocity" ,java-velocity))) |
695 | (home-page "https://commons.apache.org/proper/commons-jcs/") |
696 | (synopsis "") |
697 | (description "") |
698 | (license license:asl2.0))) |
699 | |
700 | (define-public java-javacc |
701 | (package |
702 | (name "java-javacc") |
703 | (version "7.0.2") |
704 | (source (origin |
705 | (method url-fetch) |
706 | (uri (string-append "https://github.com/javacc/javacc/archive/release_" |
707 | (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version) |
708 | ".tar.gz")) |
709 | (sha256 |
710 | (base32 |
711 | "0yf93993nlsk5kijazddi5621x4y2bwq3vl46j8h8f7di2z9jv2h")))) |
712 | (build-system ant-build-system) |
713 | (arguments |
714 | `(#:test-target "unittest" |
715 | #:phases |
716 | (modify-phases %standard-phases |
717 | (add-after 'unpack 'remove-binaries |
718 | (lambda* _ |
719 | ;; Note: we cannot remove bootstrap/javacc.jar because no version of javacc comes with no bootstrap |
720 | (delete-file-recursively "lib"))) |
721 | ; (let* ((out (assoc-ref outputs "out")) |
722 | ; (bin (string-append out "/bin")) |
723 | ; (lib (string-append out "/lib/josm"))) |
724 | ; (mkdir-p bin) |
725 | ; (mkdir-p lib) |
726 | ; (copy-file "dist/josm-custom.jar" |
727 | ; (string-append lib "/josm.jar")) |
728 | (replace 'install |
729 | (lambda* (#:key outputs inputs #:allow-other-keys) |
730 | (let* ((out (assoc-ref outputs "out")) |
731 | (dir (string-append out "/share/java")) |
732 | (bin (string-append out "/bin"))) |
733 | (mkdir-p dir) |
734 | (mkdir-p bin) |
735 | (copy-file "target/javacc.jar" (string-append dir "/javacc.jar")) |
736 | (with-output-to-file (string-append bin "/javacc") |
737 | (lambda _ |
738 | (display |
739 | (string-append "#!/bin/sh\n" |
740 | (assoc-ref inputs "jdk") "/bin/java" |
741 | " -cp " dir "/javacc.jar" " javacc" " $*")))) |
742 | (chmod (string-append bin "/javacc") #o755))))))) |
743 | (native-inputs |
744 | `(("junit" ,java-junit))) |
745 | (home-page "https://javacc.org") |
746 | (synopsis "") |
747 | (description "") |
748 | (license license:bsd-3))) |
749 | |
750 | |
751 | (define-public java-icu4j |
752 | (package |
753 | (name "java-icu4j") |
754 | (version "58.2") |
755 | (source (origin |
756 | (method url-fetch) |
757 | (uri (string-append |
758 | "http://download.icu-project.org/files/icu4j/" version |
759 | "/icu4j-" |
760 | (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version) |
761 | ".tgz")) |
762 | (sha256 |
763 | (base32 |
764 | "1mvqjlc3cbaraa0bv0vyl44xf0x6n81inqsh69bl7f88iycfpns9")))) |
765 | (build-system ant-build-system) |
766 | (arguments |
767 | `(#:tests? #f ; Requires java-ivy that we don't have yet. |
768 | #:phases |
769 | (modify-phases %standard-phases |
770 | ;; icu4j archive contains its sources directly at the top, not in |
771 | ;; a subdirectory as usual. |
772 | (add-after 'unpack 'chdir |
773 | (lambda _ |
774 | (chdir ".."))) |
775 | (replace 'install |
776 | (lambda* (#:key outputs #:allow-other-keys) |
777 | (let ((share (string-append (assoc-ref outputs "out") "/share/java"))) |
778 | (mkdir-p share) |
779 | (copy-file "icu4j-charset.jar" (string-append share "/icu4j-charset.jar")) |
780 | (copy-file "icu4j.jar" (string-append share "/icu4j.jar")))))))) |
781 | (home-page "http://site.icu-project.org/") |
782 | (synopsis "") |
783 | (description "") |
784 | (license license:x11))) |
785 | |
786 | (define-public java-treelayout |
787 | (package |
788 | (name "java-treelayout") |
789 | (version "1.0.3") |
790 | (source (origin |
791 | (method url-fetch) |
792 | (uri (string-append |
793 | "https://github.com/abego/treelayout/archive/v" version |
794 | ".tar.gz")) |
795 | (file-name (string-append name "-" version ".tar.gz")) |
796 | (sha256 |
797 | (base32 |
798 | "0djdw7j66lqjx8bx9zja0hsx10c6nsj3z0z20jmavwfr6bpp0345")))) |
799 | (build-system ant-build-system) |
800 | (arguments |
801 | `(#:jar-name (string-append ,name "-" ,version ".jar") |
802 | #:tests? #f |
803 | #:phases |
804 | (modify-phases %standard-phases |
805 | ;; icu4j archive contains its sources directly at the top, not in |
806 | ;; a subdirectory as usual. |
807 | (add-after 'unpack 'chdir |
808 | (lambda _ |
809 | (chdir "org.abego.treelayout")))))) |
810 | (inputs |
811 | `(("junit" ,java-junit))) |
812 | (home-page "http://treelayout.sourceforge.net") |
813 | (synopsis "") |
814 | (description "") |
815 | (license license:bsd-3))) |
816 | |
817 | ; propose update |
818 | (define-public java-commons-cli |
819 | (package |
820 | (name "java-commons-cli") |
821 | (version "1.4") |
822 | (source (origin |
823 | (method url-fetch) |
824 | (uri (string-append "http://mirrors.ircam.fr/pub/apache/commons/" |
825 | "cli/source/commons-cli-" version "-src.tar.gz")) |
826 | (file-name (string-append name "-" version ".tar.gz")) |
827 | (sha256 |
828 | (base32 |
829 | "05hgi2z01fqz374y719gl1dxzqvzci5af071zm7vxrjg9vczipm1")))) |
830 | (build-system ant-build-system) |
831 | (arguments |
832 | `(#:jar-name "commons-cli-1.4.jar" |
833 | #:tests? #f)) |
834 | (native-inputs |
835 | `(("junit" ,java-junit))) |
836 | (home-page "https://commons.apache.org/proper/commons-cli") |
837 | (synopsis "Java API for parsing command line options passed to programs") |
838 | (description "Apache Commons CLI library provides an API for parsing command |
839 | line options passed to programs. It's also able to print help messages detailing |
840 | the options available for a command line tool.") |
841 | (license license:asl2.0))) |
842 | |
843 | ; propose update |
844 | (define-public java-jsr305 |
845 | (package |
846 | (name "java-jsr305") |
847 | (version "3.0.2") |
848 | (source (origin |
849 | (method git-fetch) |
850 | (uri (git-reference |
851 | (url "https://github.com/amaembo/jsr-305.git") |
852 | (commit "d7734b13c61492982784560ed5b4f4bd6cf9bb2c"))) |
853 | (file-name (string-append name "-" version)) |
854 | (sha256 |
855 | (base32 |
856 | "1wk159136pgc6i54drbq2whazfmdilvfqlxj3k19s9dfwbayf621")))) |
857 | (build-system ant-build-system) |
858 | (arguments |
859 | `(#:jar-name (string-append ,name "-" ,version ".jar") |
860 | #:source-dir "ri/src/main/java" |
861 | #:tests? #f)) |
862 | (home-page "https://github.com/amaembo/jsr-305") |
863 | (synopsis "") |
864 | (description "") |
865 | (license license:bsd-3))) |
866 | |
867 | (define-public java-checker-framework |
868 | (package |
869 | (name "java-checker-framework") |
870 | (version "2.1.10") |
871 | (source (origin |
872 | (method url-fetch) |
873 | (uri (string-append "https://github.com/typetools/checker-framework/" |
874 | "archive/checker-framework-" version ".tar.gz")) |
875 | (file-name (string-append name "-" version ".tar.gz")) |
876 | (sha256 |
877 | (base32 |
878 | "1infq1hr53zi9bd81v90rn3iripbinb3w145m3xblq8yvnfrxy20")))) |
879 | (build-system ant-build-system) |
880 | (arguments |
881 | `(#:jar-name (string-append ,name "-" ,version ".jar") |
882 | #:source-dir "dataflow/src:javacutil/src" |
883 | #:jdk ,icedtea-8 |
884 | #:tests? #f)) |
885 | (home-page "https://checkerframework.org") |
886 | (synopsis "") |
887 | (description "") |
888 | (license license:gpl2))); with classpath exception |
889 | |
890 | (define-public java-javapoet |
891 | (package |
892 | (name "java-javapoet") |
893 | (version "1.8.0") |
894 | (source (origin |
895 | (method url-fetch) |
896 | (uri (string-append "https://github.com/square/javapoet/archive/javapoet-" |
897 | version ".tar.gz")) |
898 | (file-name (string-append name "-" version ".tar.gz")) |
899 | (sha256 |
900 | (base32 |
901 | "0xpjbh8wcyj9yd9hb936ia5g6l2q1jlyqjvwcc290cwjrz7crb93")))) |
902 | (build-system ant-build-system) |
903 | (arguments |
904 | `(#:jar-name (string-append ,name "-" ,version ".jar") |
905 | #:source-dir "src/main/java" |
906 | #:jdk ,icedtea-8 |
907 | #:tests? #f)) |
908 | (home-page "https://github.com/square/javapoet") |
909 | (synopsis "") |
910 | (description "") |
911 | (license license:asl2.0))) |
912 | |
913 | (define-public java-auto-value |
914 | (package |
915 | (name "java-auto-value") |
916 | (version "1.4.1") |
917 | (source (origin |
918 | (method url-fetch) |
919 | (uri (string-append "https://github.com/google/auto/archive/auto-value-" |
920 | version ".tar.gz")) |
921 | (file-name (string-append name "-" version ".tar.gz")) |
922 | (sha256 |
923 | (base32 |
924 | "1qd59bwa56bynsdxfbgm40i7ndrj599wflza214kzigk16nprc1m")))) |
925 | (build-system ant-build-system) |
926 | (arguments |
927 | `(#:jar-name (string-append ,name "-" ,version ".jar") |
928 | #:source-dir "value/src/main/java:common/src/main/java:service/src/main/java" |
929 | #:jdk ,icedtea-8 |
930 | #:tests? #f)) |
931 | (inputs |
932 | `(("guava" ,java-guava) |
933 | ("javapoet" ,java-javapoet))) |
934 | (home-page "https://github.com/google/auto/tree/master/value") |
935 | (synopsis "") |
936 | (description "") |
937 | (license license:asl2.0))) |
938 | |
939 | (define-public java-diff-utils |
940 | (package |
941 | (name "java-diff-utils") |
942 | (version "1.5.0") |
943 | (source (origin |
944 | (method url-fetch) |
945 | (uri (string-append "https://github.com/KengoTODA/java-diff-utils/archive/" |
946 | "diffutils-" version ".tar.gz")) |
947 | (file-name (string-append name "-" version ".tar.gz")) |
948 | (sha256 |
949 | (base32 |
950 | "107bkk542cgpk8sqgc41j0ljarb6zs9p59m3phvvv9rln6rwnmjc")))) |
951 | (arguments |
952 | `(#:build-target "all" |
953 | #:tests? #f; I don't know how to run src/test |
954 | #:phases |
955 | (modify-phases %standard-phases |
956 | (add-before 'configure 'fix-build.xml |
957 | (lambda _ |
958 | (substitute* "build.xml" |
959 | (("1.5") "1.7") |
960 | (("1.3.0-SNAPSHOT") ,version)))) |
961 | (replace 'install |
962 | (lambda* (#:key outputs #:allow-other-keys) |
963 | (mkdir-p (string-append (assoc-ref outputs "out") "/share/java")) |
964 | (with-directory-excursion "dist" |
965 | (for-each (lambda (file) |
966 | (copy-file file |
967 | (string-append (assoc-ref outputs "out") |
968 | "/share/java/" file))) |
969 | (find-files "." ".*.jar")))))))) |
970 | (propagated-inputs |
971 | `(("guava" ,java-guava) |
972 | ("java-jsr305" ,java-jsr305))) |
973 | (native-inputs |
974 | `(("junit" ,java-junit))) |
975 | (build-system ant-build-system) |
976 | (home-page "https://github.com/KengoTODA/java-diff-utils") |
977 | (synopsis "") |
978 | (description "") |
979 | (license license:asl2.0))) |
980 | |
981 | |
982 | ;; com.sun.tools.javac.code.Scope.LookupKind.NON_RECURSIVE |
983 | ;; com.sun.source.tree.PackageTree |
984 | ;; com.sun.tools.javac.tree.JCTree.JCPackageDecl |
985 | |
986 | ;; TODO: error-prone depends on java9 at least from version 2.0.13 which is the |
987 | ;; earliest version that guava can use. |
988 | ;; Fortunately, java7 can be used for -annotations. |
989 | (define-public java-error-prone |
990 | (package |
991 | (name "java-error-prone") |
992 | (version "2.0.19") |
993 | (source (origin |
994 | (method url-fetch) |
995 | (uri (string-append "https://github.com/google/error-prone/archive/v" |
996 | version ".tar.gz")) |
997 | (file-name (string-append name "-" version ".tar.gz")) |
998 | (sha256 |
999 | (base32 |
1000 | "00igy7a6aylswxdcklj9021g2s8bvsvrysagqyd8cibm4pimxrnk")))) |
1001 | (build-system ant-build-system) |
1002 | (arguments |
1003 | `(#:tests? #f |
1004 | #:jar-name "error-prone.jar" |
1005 | #:source-dir "check_api/src/main/java" |
1006 | #:phases |
1007 | (modify-phases %standard-phases |
1008 | (add-before 'build 'copy-internal |
1009 | (lambda _ |
1010 | (mkdir-p "ant/src/main/java/com/google/errorprone/internal") |
1011 | (copy-file |
1012 | "core/src/main/java/com/google/errorprone/internal/NonDelegatingClassLoader.java" |
1013 | "ant/src/main/java/com/google/errorprone/internal/NonDelegatingClassLoader.java")))))) |
1014 | (propagated-inputs '()) |
1015 | (home-page "https://github.com/google/guava") |
1016 | (synopsis "") |
1017 | (description "") |
1018 | (license license:asl2.0))) |
1019 | |
1020 | ;(define-public java-error-prone-check-api |
1021 | ; (package |
1022 | ; (inherit java-error-prone) |
1023 | ; (name "java-error-prone-check-api") |
1024 | ; (version (package-version java-error-prone)) |
1025 | ; (arguments |
1026 | ; `(#:tests? #f |
1027 | ; #:jdk ,icedtea-8 |
1028 | ; #:jar-name (string-append ,name "-" ,version ".jar") |
1029 | ; #:source-dir "check_api/src/main/java")) |
1030 | ; (propagated-inputs |
1031 | ; `(("java-error-prone-annotations" ,java-error-prone-annotations) |
1032 | ; ("java-error-prone-annotation" ,java-error-prone-annotation) |
1033 | ; ("java-jsr305" ,java-jsr305) |
1034 | ; ("java-diff-utils" ,java-diff-utils) |
1035 | ; ("java-auto-value" ,java-auto-value) |
1036 | ; ("java-checker-framework" ,java-checker-framework) |
1037 | ; ("java-guava" ,java-guava))))) |
1038 | |
1039 | ;(define-public java-error-prone-core |
1040 | ; (package |
1041 | ; (inherit java-error-prone) |
1042 | ; (name "java-error-prone-core") |
1043 | ; (version (package-version java-error-prone)) |
1044 | ; (arguments |
1045 | ; `(#:tests? #f |
1046 | ; #:jdk ,icedtea-8 |
1047 | ; #:jar-name (string-append ,name "-" ,version ".jar") |
1048 | ; #:source-dir "core/src/main/java")) |
1049 | ; (propagated-inputs |
1050 | ; `(("java-error-prone-annotations" ,java-error-prone-annotations) |
1051 | ; ("java-error-prone-annotation" ,java-error-prone-annotation) |
1052 | ; ("java-jsr305" ,java-jsr305) |
1053 | ; ("java-auto-value" ,java-auto-value) |
1054 | ; ("java-checker-framework" ,java-checker-framework) |
1055 | ; ("java-guava" ,java-guava))))) |
1056 | |
1057 | (define-public java-error-prone-annotation |
1058 | (package |
1059 | (inherit java-error-prone) |
1060 | (name "java-error-prone-annotation") |
1061 | (version (package-version java-error-prone)) |
1062 | (arguments |
1063 | `(#:tests? #f |
1064 | #:jar-name (string-append ,name "-" ,version ".jar") |
1065 | #:source-dir "annotation/src/main/java")) |
1066 | (propagated-inputs |
1067 | `(("java-jsr305" ,java-jsr305) |
1068 | ("java-guava" ,java-guava))))) |
1069 | |
1070 | (define-public java-error-prone-annotations |
1071 | (package |
1072 | (inherit java-error-prone) |
1073 | (name "java-error-prone-annotations") |
1074 | (version (package-version java-error-prone)) |
1075 | (arguments |
1076 | `(#:tests? #f |
1077 | #:jar-name (string-append ,name "-" ,version ".jar") |
1078 | #:source-dir "annotations/src/main/java")) |
1079 | (propagated-inputs |
1080 | `(("java-jsr305" ,java-jsr305))))) |
1081 | |
1082 | ;; Java-j2objc is for OS X, but the annotations sub-project is used by other |
1083 | ;; packages here, such as guava. |
1084 | (define-public java-j2objc-annotations |
1085 | (package |
1086 | (name "java-j2objc-annotations") |
1087 | (version "1.3.1") |
1088 | (source (origin |
1089 | (method url-fetch) |
1090 | (uri (string-append "https://github.com/google/j2objc/archive/" |
1091 | version ".tar.gz")) |
1092 | (file-name (string-append name "-" version ".tar.gz")) |
1093 | (sha256 |
1094 | (base32 |
1095 | "0d5spbr1whw2afg6mknyr7ifm6xivn3bbvnzjxva2zzkyq944hv0")))) |
1096 | (build-system ant-build-system) |
1097 | (arguments |
1098 | `(#:tests? #f |
1099 | #:jar-name (string-append ,name "-" ,version ".jar") |
1100 | #:source-dir "annotations/src/main/java")) |
1101 | (synopsis "") |
1102 | (description "") |
1103 | (home-page "https://github.com/google/j2objc") |
1104 | (license license:asl2.0))) |
1105 | |
1106 | ;; TODO: animal-sniffer-enforcer-rule and animal-sniffer-maven-plugin depend |
1107 | ;; on maven. |
1108 | (define-public java-animal-sniffer |
1109 | (package |
1110 | (name "java-animal-sniffer") |
1111 | (version "1.15") |
1112 | (source (origin |
1113 | (method url-fetch) |
1114 | (uri (string-append "https://github.com/mojohaus/animal-sniffer/" |
1115 | "archive/animal-sniffer-parent-" |
1116 | version ".tar.gz")) |
1117 | (file-name (string-append name "-" version ".tar.gz")) |
1118 | (sha256 |
1119 | (base32 |
1120 | "1350yl003y1fjzdwis0dg5jhi5kggk2sxnkv9821z5janw4p986m")))) |
1121 | (build-system ant-build-system) |
1122 | (propagated-inputs |
1123 | `(("asm" ,java-asm))) |
1124 | (arguments |
1125 | `(#:tests? #f |
1126 | #:jar-name (string-append ,name "-" ,version ".jar") |
1127 | #:source-dir "animal-sniffer/src/main/java")) |
1128 | (home-page "http://www.mojohaus.org/animal-sniffer") |
1129 | (synopsis "") |
1130 | (description "") |
1131 | (license license:asl2.0))) |
1132 | |
1133 | (define-public java-animal-sniffer-annotations |
1134 | (package |
1135 | (inherit java-animal-sniffer) |
1136 | (name "java-animal-sniffer-annotations") |
1137 | (version (package-version java-animal-sniffer)) |
1138 | (propagated-inputs '()) |
1139 | (arguments |
1140 | `(#:tests? #f |
1141 | #:jar-name (string-append ,name "-" ,version ".jar") |
1142 | #:source-dir "animal-sniffer-annotations/src/main/java")))) |
1143 | |
1144 | (define-public java-animal-sniffer-ant-tasks |
1145 | (package |
1146 | (inherit java-animal-sniffer) |
1147 | (name "java-animal-sniffer-ant-tasks") |
1148 | (version (package-version java-animal-sniffer)) |
1149 | (propagated-inputs |
1150 | `(("animal-sniffer" ,java-animal-sniffer))) |
1151 | (arguments |
1152 | `(#:tests? #f |
1153 | #:jar-name (string-append ,name "-" ,version ".jar") |
1154 | #:source-dir "animal-sniffer-ant-tasks/src/main/java")))) |
1155 | |
1156 | (define-public java-boot-classpath-detector |
1157 | (package |
1158 | (inherit java-animal-sniffer) |
1159 | (name "java-boot-classpath-detector") |
1160 | (version (package-version java-animal-sniffer)) |
1161 | (propagated-inputs '()) |
1162 | (arguments |
1163 | `(#:tests? #f |
1164 | #:jar-name (string-append ,name "-" ,version ".jar") |
1165 | #:source-dir "java-boot-classpath-detector/src/main/java")))) |
1166 | |
1167 | (define-public java-guava |
1168 | (package |
1169 | (name "java-guava") |
1170 | (version "20.0") |
1171 | (source (origin |
1172 | (method url-fetch) |
1173 | (uri (string-append "https://github.com/google/guava/archive/v" |
1174 | version ".tar.gz")) |
1175 | (file-name (string-append name "-" version ".tar.gz")) |
1176 | (sha256 |
1177 | (base32 |
1178 | "1kasavj973iblj1fj35gzbywhkljrnbjpymgqyqaibbbmmbzff8s")))) |
1179 | (build-system ant-build-system) |
1180 | (arguments |
1181 | `(#:jar-name (string-append ,name "-" ,version ".jar") |
1182 | #:source-dir "guava/src" |
1183 | #:tests? #f)) |
1184 | (inputs |
1185 | `(("java-jsr305" ,java-jsr305) |
1186 | ("java-j2objc-annotations" ,java-j2objc-annotations) |
1187 | ("java-animal-sniffer-annotations" ,java-animal-sniffer-annotations) |
1188 | ("java-error-prone-annotations" ,java-error-prone-annotations))) |
1189 | (home-page "https://github.com/google/guava") |
1190 | (synopsis "") |
1191 | (description "") |
1192 | (license license:asl2.0))) |
1193 | |
1194 | ;(define-public java-joda-convert |
1195 | ; (package |
1196 | ; (name "java-joda-convert") |
1197 | ; (version "1.8.1") |
1198 | ; (source (origin |
1199 | ; (method url-fetch) |
1200 | ; (uri (string-append "https://github.com/JodaOrg/joda-convert/archive/v" |
1201 | ; version ".tar.gz")) |
1202 | ; (file-name (string-append name "-" version ".tar.gz")) |
1203 | ; (sha256 |
1204 | ; (base32 |
1205 | ; "1di9chp0pgvd2gxsmdaxhldwns9a2ss9705jmn97mdd69cg5zcnc")))) |
1206 | ; (build-system ant-build-system) |
1207 | ; (arguments |
1208 | ; `(#:jar-name (string-append ,name "-" ,version ".jar") |
1209 | ; #:source-dir "src/main/java" |
1210 | ; #:tests? #f)) |
1211 | ; (inputs |
1212 | ; `(("java-google-collect" ,java-google-collect))) |
1213 | ; (native-inputs |
1214 | ; `(("junit" ,java-junit))) |
1215 | ; (home-page "") |
1216 | ; (synopsis "") |
1217 | ; (description "") |
1218 | ; (license license:asl2.0))) |
1219 | ; |
1220 | ;(define-public java-joda-time |
1221 | ; (package |
1222 | ; (name "java-joda-time") |
1223 | ; (version "2.9.9") |
1224 | ; (source (origin |
1225 | ; (method url-fetch) |
1226 | ; (uri (string-append "https://github.com/JodaOrg/joda-time/archive/v" |
1227 | ; version ".tar.gz")) |
1228 | ; (file-name (string-append name "-" version ".tar.gz")) |
1229 | ; (sha256 |
1230 | ; (base32 |
1231 | ; "1i9x91mi7yg2pasl0k3912f1pg46n37sps6rdb0v1gs8hj9ppwc1")))) |
1232 | ; (build-system ant-build-system) |
1233 | ; (arguments |
1234 | ; `(#:jar-name (string-append ,name "-" ,version ".jar") |
1235 | ; #:source-dir "src/main/java" |
1236 | ; #:tests? #f)) |
1237 | ; (inputs |
1238 | ; `(("java-joda-convert" ,java-joda-convert))) |
1239 | ; (native-inputs |
1240 | ; `(("junit" ,java-junit))) |
1241 | ; (home-page "") |
1242 | ; (synopsis "") |
1243 | ; (description "") |
1244 | ; (license license:asl2.0))) |
1245 | |
1246 | (define-public java-xstream |
1247 | (package |
1248 | (name "java-xstream") |
1249 | (version "1.4.9") |
1250 | (source (origin |
1251 | (method url-fetch) |
1252 | (uri (string-append "https://repo1.maven.org/maven2/com/thoughtworks" |
1253 | "/xstream/xstream-distribution/" version |
1254 | "/xstream-distribution-" version "-src.zip")) |
1255 | (file-name (string-append name "-" version ".zip")) |
1256 | (sha256 |
1257 | (base32 |
1258 | "1cq9j9h839wc6pkrgd9bd7y94a3zrj1j741i134izqs9xx2b54fi")))) |
1259 | (build-system ant-build-system) |
1260 | (arguments |
1261 | `(#:jar-name (string-append ,name "-" ,version ".jar") |
1262 | #:tests? #f |
1263 | #:source-dir "xstream/src/java")) |
1264 | (native-inputs |
1265 | `(("unzip" ,unzip))) |
1266 | (home-page "https://x-stream.github.io") |
1267 | (synopsis "") |
1268 | (description "") |
1269 | (license license:x11))) |
1270 | |
1271 | ;; vanished from the face of the earth :/ |
1272 | (define-public java-jsonp |
1273 | (package |
1274 | (name "java-jsonp") |
1275 | (version "1.0.4") |
1276 | (source (origin |
1277 | (method git-fetch) |
1278 | (uri (git-reference |
1279 | (url "git://java.net/jsonp~git") |
1280 | (commit "a586e706aea82dc80fb05bdf59f2a25150ee1801"))) |
1281 | (file-name (string-append name "-" version)) |
1282 | (sha256 |
1283 | (base32 |
1284 | "01r4syivcywpvxkr1hn0az9316pr7qpnx154zzzw0nijfmdlbw7n")))) |
1285 | (build-system ant-build-system) |
1286 | (arguments |
1287 | `(#:jar-name (string-append ,name "-" ,version ".jar") |
1288 | #:tests? #f |
1289 | #:source-dir "api/src")) |
1290 | (home-page "https://jsonp.java.net") |
1291 | (synopsis "") |
1292 | (description "") |
1293 | (license (list license:gpl2 |
1294 | ;; actually CDDL 1.1 |
1295 | license:cddl1.0)))) |
1296 | |
1297 | ;; Can only be built with gradle. |
1298 | (define-public groovy |
1299 | (package |
1300 | (name "groovy") |
1301 | (version "2.4.10") |
1302 | (source (origin |
1303 | (method url-fetch) |
1304 | (uri (string-append "https://github.com/apache/groovy/archive/GROOVY_" |
1305 | "2_4_10.tar.gz")) |
1306 | (file-name (string-append name "-" version ".tar.gz")) |
1307 | (sha256 |
1308 | (base32 |
1309 | "0wapzqwpx4bh2fsqpzf3haakjz6wvfjx1vd9a4spavhlrjqk2pbb")))) |
1310 | (build-system ant-build-system) |
1311 | (arguments |
1312 | `(#:jar-name "groovy.jar" |
1313 | #:tests? #f)) |
1314 | (native-inputs |
1315 | `(("junit" ,java-junit))) |
1316 | (inputs |
1317 | `(("commons-cli" ,java-commons-cli) |
1318 | ("antlr" ,antlr3) |
1319 | ("asm" ,java-asm))) |
1320 | (home-page "") |
1321 | (synopsis "") |
1322 | (description "") |
1323 | (license (list license:gpl2 |
1324 | ;; actually CDDL 1.1 |
1325 | license:cddl1.0)))) |
1326 | |
1327 | ;; requires jline, javax.servlet, org.fusesource.jansi, org.livetribe, |
1328 | ;; com.thoughtworks.xstream, org.apache.ivy, bsf |
1329 | ;; antlr |
1330 | (define-public groovy-1.8.9 |
1331 | (package |
1332 | (inherit groovy) |
1333 | (name "groovy") |
1334 | (version "1.8.9") |
1335 | (source (origin |
1336 | (method url-fetch) |
1337 | (uri (string-append "https://github.com/apache/groovy/archive/GROOVY_" |
1338 | "1_8_9.tar.gz")) |
1339 | (file-name (string-append name "-" version ".tar.gz")) |
1340 | (sha256 |
1341 | (base32 |
1342 | "16z3jv5yw11wwwzbs6x41g83gqazhngg30ys2kpy7cpfm3rsqi71")))) |
1343 | (arguments |
1344 | `(#:jar-name (string-append ,name "-" ,version ".jar") |
1345 | #:tests? #f |
1346 | #:source-dir "src/main")))) |
1347 | |
1348 | |
1349 | ;(define-public antlr3-3.4 |
1350 | ; (package |
1351 | ; (name "antlr3") |
1352 | ; (version "3.4") |
1353 | ; (source (origin |
1354 | ; (method url-fetch) |
1355 | ; (uri (string-append "https://github.com/antlr/website-antlr3/raw/" |
1356 | ; "gh-pages/download/antlr-" |
1357 | ; version ".tar.gz")) |
1358 | ; (sha256 |
1359 | ; (base32 |
1360 | ; "1cwfswpk3jlzl1dhc6b6586srza8q0bbzwlxcq136p29v62fjrb3")))) |
1361 | ; (build-system ant-build-system) |
1362 | ; (arguments |
1363 | ; `(#:jar-name (string-append ,name "-" ,version ".jar") |
1364 | ; #:source-dir "tool/src/main/java:runtime/Java/src/main/java:tool/src/main/antlr3" |
1365 | ; #:tests? #f |
1366 | ; #:phases |
1367 | ; (modify-phases %standard-phases |
1368 | ; (add-after 'install 'bin-install |
1369 | ; (lambda* (#:key inputs outputs #:allow-other-keys) |
1370 | ; (let ((jar (string-append (assoc-ref outputs "out") "/share/java")) |
1371 | ; (bin (string-append (assoc-ref outputs "out") "/bin"))) |
1372 | ; (mkdir-p bin) |
1373 | ; (with-output-to-file (string-append bin "/antlr3") |
1374 | ; (lambda _ |
1375 | ; (display |
1376 | ; (string-append "#!/bin/sh\n" |
1377 | ; "java -cp " jar "/antlr3-3.3.jar:" |
1378 | ; (string-concatenate |
1379 | ; (find-files (assoc-ref inputs "stringtemplate") |
1380 | ; ".*\\.jar")) |
1381 | ; ":" |
1382 | ; (string-concatenate |
1383 | ; (find-files (string-append (assoc-ref inputs "antlr") "/lib") |
1384 | ; ".*\\.jar")) |
1385 | ; " org.antlr.Tool $*")))) |
1386 | ; (chmod (string-append bin "/antlr3") #o755)))) |
1387 | ; (add-before 'build 'generate-grammar |
1388 | ; (lambda _ |
1389 | ; (chdir "tool/src/main/antlr3/org/antlr/grammar/v3/") |
1390 | ; (for-each (lambda (file) |
1391 | ; (display file) |
1392 | ; (newline) |
1393 | ; (system* "antlr3" file)) |
1394 | ; '("ActionAnalysis.g" "ActionTranslator.g" "ANTLR.g" |
1395 | ; "ANTLRTreePrinter.g" "ANTLRv3.g" "ANTLRv3Tree.g" |
1396 | ; "AssignTokenTypesWalker.g" "CodeGenTreeWalker.g" |
1397 | ; "DefineGrammarItemsWalker.g" "LeftRecursiveRuleWalker.g" |
1398 | ; "TreeToNFAConverter.g")) |
1399 | ; (chdir "../../../../../../../..") |
1400 | ; (system* "antlr" "-o" "tool/src/main/java/org/antlr/tool" |
1401 | ; "tool/src/main/java/org/antlr/tool/serialize.g") |
1402 | ; (substitute* "tool/src/main/java/org/antlr/tool/LeftRecursiveRuleAnalyzer.java" |
1403 | ; (("import org.antlr.grammar.v3.\\*;") "import org.antlr.grammar.v3.*; |
1404 | ;import org.antlr.grammar.v3.ANTLRTreePrinter;")) |
1405 | ; (substitute* "tool/src/main/java/org/antlr/tool/Grammar.java" |
1406 | ; (("import org.antlr.grammar.v3.\\*;") |
1407 | ; "import org.antlr.grammar.v3.*;\n |
1408 | ;import org.antlr.grammar.v3.TreeToNFAConverter;\n |
1409 | ;import org.antlr.grammar.v3.DefineGrammarItemsWalker;\n |
1410 | ;import org.antlr.grammar.v3.ANTLRTreePrinter;")) |
1411 | ; (substitute* "tool/src/main/java/org/antlr/tool/ErrorManager.java" |
1412 | ; (("case NO_SUCH_ATTRIBUTE_PASS_THROUGH:") "")) |
1413 | ; (substitute* "tool/src/main/antlr3/org/antlr/grammar/v3/ANTLRParser.java" |
1414 | ; (("public Object getTree") "public GrammarAST getTree")) |
1415 | ; (substitute* "tool/src/main/antlr3/org/antlr/grammar/v3/ANTLRv3Parser.java" |
1416 | ; (("public Object getTree") "public CommonTree getTree")))) |
1417 | ; (add-before 'build 'fix-build-xml |
1418 | ; (lambda _ |
1419 | ; (substitute* "build.xml" |
1420 | ; (("<exec") "<copy todir=\"${classes.dir}\"> |
1421 | ;<fileset dir=\"tool/src/main/resources\"> |
1422 | ;<include name=\"**/*.stg\"/> |
1423 | ;<include name=\"**/*.st\"/> |
1424 | ;<include name=\"**/*.sti\"/> |
1425 | ;<include name=\"**/STLexer.tokens\"/> |
1426 | ;</fileset> |
1427 | ;</copy><exec"))))))) |
1428 | ; (native-inputs |
1429 | ; `(("antlr" ,antlr2) |
1430 | ; ("antlr3" ,antlr3-3.3))) |
1431 | ; (inputs |
1432 | ; `(("junit" ,java-junit))) |
1433 | ; (propagated-inputs |
1434 | ; `(("stringtemplate" ,java-stringtemplate-3) |
1435 | ; ("stringtemplate4" ,java-stringtemplate) |
1436 | ; ("antlr" ,antlr2) |
1437 | ; ("antlr3" ,antlr3-3.1))) |
1438 | ; (home-page "http://www.stringtemplate.org") |
1439 | ; (synopsis "") |
1440 | ; (description "") |
1441 | ; (license license:bsd-3))) |
1442 | |
1443 | (define-public libantlr3c |
1444 | (package |
1445 | (inherit antlr3) |
1446 | (name "libantlr3c") |
1447 | (build-system gnu-build-system) |
1448 | (native-inputs |
1449 | `(("autoconf" ,autoconf) |
1450 | ("automake" ,automake) |
1451 | ("libtool" ,libtool))) |
1452 | (propagated-inputs |
1453 | `(("antlr" ,antlr3))) |
1454 | (arguments |
1455 | `(#:configure-flags (list "--enable-64bit" "--disable-static") |
1456 | #:phases |
1457 | (modify-phases %standard-phases |
1458 | (add-before 'configure 'autoreconf |
1459 | (lambda _ |
1460 | (chdir "runtime/C") |
1461 | (system* "libtoolize") |
1462 | (system* "autoreconf" "-fiv")))))))) |
1463 | |
1464 | (define-public java-json |
1465 | (package |
1466 | (name "java-json") |
1467 | (version "1.1.0-M2") |
1468 | (source (origin |
1469 | (method url-fetch) |
1470 | (uri (string-append "https://repo1.maven.org/maven2/javax/json/" |
1471 | "javax.json-api/" version "/javax.json-api-" |
1472 | version "-sources.jar")) |
1473 | (file-name (string-append name "-" version ".jar")) |
1474 | (sha256 |
1475 | (base32 |
1476 | "0gam8w52xjbmfc1inviyajk36jnj3lg4bzwhw05iq52kadycy6v0")))) |
1477 | (build-system ant-build-system) |
1478 | (arguments |
1479 | `(#:jar-name (string-append ,name "-" ,version ".jar") |
1480 | #:tests? #f |
1481 | #:jdk ,icedtea-8 |
1482 | #:source-dir "src" |
1483 | #:phases |
1484 | (modify-phases %standard-phases |
1485 | (add-after 'unpack 'remove-module-info |
1486 | (lambda _ |
1487 | (format #t "~a\n" (getcwd)) |
1488 | (delete-file "src/module-info.java")))))) |
1489 | (home-page "") |
1490 | (synopsis "") |
1491 | (description "") |
1492 | (license license:asl2.0))) |
1493 | |
1494 | ;; We still need one file to be generated with ST4. |
1495 | ;; tool/src/org/antlr/v4/unicode/UnicodeDataTemplateController.java |
1496 | ;; See https://github.com/kevinbirch/string-template-maven-plugin |
1497 | ;; We should take this and adapt to get a standalone tool. |
1498 | (define-public java-antlr4 |
1499 | (package |
1500 | (name "java-antlr4") |
1501 | (version "4.7") |
1502 | (source (origin |
1503 | (method url-fetch) |
1504 | (uri (string-append "https://github.com/antlr/antlr4/archive/" |
1505 | version ".tar.gz")) |
1506 | (file-name (string-append name "-" version ".tar.gz")) |
1507 | (sha256 |
1508 | (base32 |
1509 | "0y7lzkvx9wbbmwg45mb4icx7i66z6894qfygrbbs26sr5xxyml9h")))) |
1510 | (build-system ant-build-system) |
1511 | (arguments |
1512 | `(#:jar-name (string-append ,name "-" ,version ".jar") |
1513 | #:source-dir "runtime/Java/src:tool/src" |
1514 | #:jdk ,icedtea-8 |
1515 | #:tests? #f |
1516 | #:phases |
1517 | (modify-phases %standard-phases |
1518 | (add-before 'build 'generate-grammar |
1519 | (lambda* (#:key inputs #:allow-other-keys) |
1520 | (with-directory-excursion "tool/src/org/antlr/v4/parse" |
1521 | (for-each (lambda (file) |
1522 | (format #t "~a\n" file) |
1523 | (system* "antlr3" file)) |
1524 | '("ANTLRLexer.g" "ANTLRParser.g" "BlockSetTransformer.g" |
1525 | "GrammarTreeVisitor.g" "ATNBuilder.g" |
1526 | "ActionSplitter.g" "LeftRecursiveRuleWalker.g"))) |
1527 | (with-directory-excursion "tool/src/org/antlr/v4/codegen" |
1528 | (copy-file "../parse/ANTLRParser.tokens" "ANTLRParser.tokens") |
1529 | (format #t "SourceGenTriggers.g\n") |
1530 | (system* "antlr3" "SourceGenTriggers.g"))))))) |
1531 | (inputs |
1532 | `(("antlr3" ,antlr3) |
1533 | ("icu4j" ,java-icu4j) |
1534 | ("java-json" ,java-json) |
1535 | ("treelayout" ,java-treelayout) |
1536 | ("stringtemplate4" ,java-stringtemplate))) |
1537 | (home-page "https://antlr.org") |
1538 | (synopsis "") |
1539 | (description "") |
1540 | (license license:bsd-3))) |
1541 | |
1542 | ;; requires groovy 2.4.7. |
1543 | ;(define-public gradle |
1544 | ; (package |
1545 | ; (name "gradle") |
1546 | ; (version "3.4.1") |
1547 | ; (source (origin |
1548 | ; (method url-fetch) |
1549 | ; (uri (string-append "https://github.com/gradle/gradle/archive/v" |
1550 | ; version ".tar.gz")) |
1551 | ; (file-name (string-append name "-" version ".tar.gz")) |
1552 | ; (sha256 |
1553 | ; (base32 "0fq30k51mkixg31z3d4fjq3zbnyjml4i530px6n1n947mqk3rgyl")))) |
1554 | ; (build-system ant-build-system) |
1555 | ; (arguments |
1556 | ; `(#:phases |
1557 | ; (modify-phases %standard-phases |
1558 | ; (replace 'build |
1559 | ; (lambda* _ |
1560 | ; (system* "sh" "-x" "gradlew" "prBuild" "-x" "integTest" "--continue" |
1561 | ; "--stacktrace")))))) |
1562 | ; ;(system* "sh" "-x" "travisci_build.sh")))))) |
1563 | ; (home-page "") |
1564 | ; (synopsis "Build system") |
1565 | ; (description "Build system") |
1566 | ; (license license:asl2.0))) |
1567 | ; |
1568 | ;;; Requires gradle. |
1569 | ;(define-public android-anysoft-keyboard |
1570 | ; (package |
1571 | ; (name "android-anysoft-keyboard") |
1572 | ; (version "1.8-r9") |
1573 | ; (source (origin |
1574 | ; (method url-fetch) |
1575 | ; (uri (string-append "https://github.com/AnySoftKeyboard/" |
1576 | ; "AnySoftKeyboard/archive/" version ".tar.gz")) |
1577 | ; (file-name (string-append name "-" version ".tar.gz")) |
1578 | ; (sha256 |
1579 | ; (base32 |
1580 | ; "1mrin9mw1rs23d25v8yx4jprx7j05zir6756sqvk4myxbkcp8mag")))) |
1581 | ; (build-system ant-build-system) |
1582 | ; (home-page "https://anysoftkeyboard.github.io/") |
1583 | ; (synopsis "Alternative on-screen keyboard for multiple languages") |
1584 | ; (description "Alternative on-screen keyboard for multiple languages.") |
1585 | ; (license license:asl2.0))) |
1586 |