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 utils) |
26 | #:use-module (guix build-system ant) |
27 | #:use-module (guix build-system gnu) |
28 | #:use-module (guix build-system trivial) |
29 | #:use-module (gnu packages java)) |
30 | |
31 | (define-public josm |
32 | (package |
33 | (name "josm") |
34 | (version "c86ae64ca82a5bb9dd1972c7023797eb9a2577f5") |
35 | (source (origin |
36 | (method git-fetch) |
37 | (uri (git-reference |
38 | (url "https://github.com/openstreetmap/josm.git") |
39 | (commit version))) |
40 | (sha256 |
41 | (base32 |
42 | "07z2q4csq9gdpg4lp1zpvcl5z5sqn0fnqah94ya3sirm6bh4k74j")) |
43 | (file-name (string-append name "-" version)))) |
44 | (build-system ant-build-system) |
45 | (arguments |
46 | `(#:build-target "dist" |
47 | #:tests? #f |
48 | #:jdk ,icedtea-8 |
49 | #:phases |
50 | (modify-phases %standard-phases |
51 | (add-before 'build 'fix-compiler |
52 | (lambda* _ |
53 | (substitute* "build.xml" |
54 | (("UNKNOWN") "11639") |
55 | ((".*com.google.errorprone.ErrorProneAntCompilerAdapter.*") "") |
56 | (("compiler=\"[^\"]*\" ") "")))) |
57 | (replace 'install |
58 | (lambda* (#:key outputs #:allow-other-keys) |
59 | (let* ((out (assoc-ref outputs "out")) |
60 | (bin (string-append out "/bin")) |
61 | (lib (string-append out "/lib/josm"))) |
62 | (mkdir-p bin) |
63 | (mkdir-p lib) |
64 | (copy-file "dist/josm-custom.jar" |
65 | (string-append lib "/josm.jar")) |
66 | (with-output-to-file (string-append bin "/josm") |
67 | (lambda _ |
68 | (display |
69 | (string-append "#!/bin/sh\n" |
70 | "java -jar " lib "/josm.jar")))) |
71 | (chmod (string-append bin "/josm") #o755))))))) |
72 | (home-page "https://josm.openstreetmap.de") |
73 | (synopsis "OSM editor") |
74 | (description "OSM editor.") |
75 | (license license:gpl2+))) |
76 | |
77 | (define-public java-commons-cli |
78 | (package |
79 | (name "java-commons-cli") |
80 | (version "1.4") |
81 | (source (origin |
82 | (method url-fetch) |
83 | (uri (string-append "http://mirrors.ircam.fr/pub/apache/commons/" |
84 | "cli/source/commons-cli-" version "-src.tar.gz")) |
85 | (file-name (string-append name "-" version ".tar.gz")) |
86 | (sha256 |
87 | (base32 |
88 | "05hgi2z01fqz374y719gl1dxzqvzci5af071zm7vxrjg9vczipm1")))) |
89 | (build-system ant-build-system) |
90 | (arguments |
91 | `(#:jar-name "commons-cli-1.4.jar" |
92 | #:tests? #f)) |
93 | (native-inputs |
94 | `(("junit" ,java-junit))) |
95 | (home-page "") |
96 | (synopsis "") |
97 | (description "") |
98 | (license license:asl2.0))) |
99 | |
100 | (define-public java-asm |
101 | (package |
102 | (name "java-asm") |
103 | (version "5.2") |
104 | (source (origin |
105 | (method url-fetch) |
106 | (uri (string-append "http://download.forge.ow2.org/asm/asm-" |
107 | version ".tar.gz")) |
108 | (file-name (string-append name "-" version ".tar.gz")) |
109 | (sha256 |
110 | (base32 |
111 | "0kxvmv5275rnjl7jv0442k3wjnq03ngkb7sghs78avf45pzm4qgr")))) |
112 | (build-system ant-build-system) |
113 | (arguments |
114 | `(#:jar-name "asm-5.2.jar" |
115 | #:tests? #f)) |
116 | (native-inputs |
117 | `(("junit" ,java-junit))) |
118 | (home-page "") |
119 | (synopsis "") |
120 | (description "") |
121 | (license license:asl2.0))) |
122 | |
123 | ;; Can only be built with gradle. |
124 | (define-public groovy |
125 | (package |
126 | (name "groovy") |
127 | (version "2.4.10") |
128 | (source (origin |
129 | (method url-fetch) |
130 | (uri (string-append "https://github.com/apache/groovy/archive/GROOVY_" |
131 | "2_4_10.tar.gz")) |
132 | (file-name (string-append name "-" version ".tar.gz")) |
133 | (sha256 |
134 | (base32 |
135 | "0wapzqwpx4bh2fsqpzf3haakjz6wvfjx1vd9a4spavhlrjqk2pbb")))) |
136 | (build-system ant-build-system) |
137 | (arguments |
138 | `(#:jar-name "groovy.jar" |
139 | #:tests? #f)) |
140 | (native-inputs |
141 | `(("junit" ,java-junit))) |
142 | (inputs |
143 | `(("commons-cli" ,java-commons-cli) |
144 | ("asm" ,java-asm))) |
145 | (home-page "") |
146 | (synopsis "") |
147 | (description "") |
148 | (license license:asl2.0))) |
149 | |
150 | ;; requires jline, commons-cli, javax.servlet, org.fusesource.jansi, org.livetribe, |
151 | ;; com.thoughtworks.xstream, org.apache.ivy, bsf, org.apache.ant, junit, |
152 | ;; asm, antlr |
153 | (define-public groovy-1.8.9 |
154 | (package |
155 | (inherit groovy) |
156 | (name "groovy") |
157 | (version "1.8.9") |
158 | (source (origin |
159 | (method url-fetch) |
160 | (uri (string-append "https://github.com/apache/groovy/archive/GROOVY_" |
161 | "1_8_9.tar.gz")) |
162 | (file-name (string-append name "-" version ".tar.gz")) |
163 | (sha256 |
164 | (base32 |
165 | "16z3jv5yw11wwwzbs6x41g83gqazhngg30ys2kpy7cpfm3rsqi71")))))) |
166 | ;(arguments |
167 | ; `(#:build-target "createJars")))) |
168 | |
169 | ;; requires groovy 2.4.7. |
170 | (define-public gradle |
171 | (package |
172 | (name "gradle") |
173 | (version "3.4.1") |
174 | (source (origin |
175 | (method url-fetch) |
176 | (uri (string-append "https://github.com/gradle/gradle/archive/v" |
177 | version ".tar.gz")) |
178 | (file-name (string-append name "-" version ".tar.gz")) |
179 | (sha256 |
180 | (base32 "0fq30k51mkixg31z3d4fjq3zbnyjml4i530px6n1n947mqk3rgyl")))) |
181 | (build-system ant-build-system) |
182 | (arguments |
183 | `(#:phases |
184 | (modify-phases %standard-phases |
185 | (replace 'build |
186 | (lambda* _ |
187 | (system* "sh" "-x" "gradlew" "prBuild" "-x" "integTest" "--continue" |
188 | "--stacktrace")))))) |
189 | ;(system* "sh" "-x" "travisci_build.sh")))))) |
190 | (home-page "") |
191 | (synopsis "Build system") |
192 | (description "Build system") |
193 | (license license:asl2.0))) |
194 | |
195 | ;; Requires gradle. |
196 | (define-public android-anysoft-keyboard |
197 | (package |
198 | (name "android-anysoft-keyboard") |
199 | (version "1.8-r9") |
200 | (source (origin |
201 | (method url-fetch) |
202 | (uri (string-append "https://github.com/AnySoftKeyboard/" |
203 | "AnySoftKeyboard/archive/" version ".tar.gz")) |
204 | (file-name (string-append name "-" version ".tar.gz")) |
205 | (sha256 |
206 | (base32 |
207 | "1mrin9mw1rs23d25v8yx4jprx7j05zir6756sqvk4myxbkcp8mag")))) |
208 | (build-system ant-build-system) |
209 | (home-page "https://anysoftkeyboard.github.io/") |
210 | (synopsis "Alternative on-screen keyboard for multiple languages") |
211 | (description "Alternative on-screen keyboard for multiple languages.") |
212 | (license license:asl2.0))) |
213 |