Toward a first kotlin version

Julien LepillerTue Apr 23 23:49:57+0200 2019

5389430

Toward a first kotlin version

more/packages/intellij.scm unknown status 1

1+
;;; GNU Guix --- Functional package management for GNU
2+
;;; Copyright ?? 2019 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 intellij)
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 cvs-download)
27+
  #:use-module (guix utils)
28+
  #:use-module (guix build-system ant)
29+
  #:use-module (guix build-system gnu)
30+
  #:use-module (guix build-system trivial)
31+
  #:use-module (gnu packages autotools)
32+
  #:use-module (gnu packages base)
33+
  #:use-module (gnu packages batik)
34+
  #:use-module (gnu packages compression)
35+
  #:use-module (gnu packages docbook)
36+
  #:use-module (gnu packages java)
37+
  #:use-module (gnu packages maven)
38+
  #:use-module (gnu packages perl)
39+
  #:use-module (gnu packages web)
40+
  #:use-module (gnu packages xml)
41+
  #:use-module (more packages java))
42+
43+
;; The release page on github is a mess
44+
(define intellij-community-version "182.5262.8")
45+
(define intellij-community-commit "e2a5d9273ec0b3b656c0dad0c9b07e5f85bbd61a")
46+
(define (intellij-community-source commit version)
47+
  (origin
48+
    (method git-fetch)
49+
    (uri (git-reference
50+
           (url "https://github.com/JetBrains/intellij-community")
51+
           (commit commit)))
52+
    (file-name (git-file-name "intellij" version))
53+
    (sha256
54+
     (base32
55+
      "17qzhh2kw6sxwkyj7ng7hrpbcf2rjs2xjbsrg1bgkg90r5kb8sm4"))
56+
    (modules '((guix build utils)))
57+
    (snippet
58+
      `(begin
59+
         (for-each
60+
           (lambda (file)
61+
             (if (file-exists? file)
62+
               (delete-file-recursively file)))
63+
           (append (find-files "." "^lib$" #:directories? #t)
64+
                   (find-files "." "^bin$" #:directories? #t)))
65+
         (delete-file "build.xml")
66+
         (for-each delete-file (find-files "." ".*.jar$"))
67+
         #t))))
68+
69+
(define-public java-intellij-compiler-instrumentation-util
70+
  (package
71+
    (name "java-intellij-compiler-instrumentation-util")
72+
    (version intellij-community-version)
73+
    (source (intellij-community-source intellij-community-commit version))
74+
    (build-system ant-build-system)
75+
    (arguments
76+
     `(#:source-dir "java/compiler/instrumentation-util/src"
77+
       #:jar-name "instrumentation-util.jar"
78+
       ;; No test
79+
       #:tests? #f
80+
       #:phases
81+
       (modify-phases %standard-phases
82+
         (add-before 'build 'fix-imports
83+
           (lambda _
84+
             (substitute* (find-files "java/compiler/instrumentation-util/src" ".*.java")
85+
               (("org.jetbrains.org.objectweb") "org.objectweb")
86+
                ;; As in build/asm/3_api_version.patch
87+
               (("API_VERSION") "ASM6")))))))
88+
    (inputs
89+
     `(("java-asm" ,java-asm)))
90+
    (home-page "https://github.com/JetBrains/intellij-community")
91+
    (synopsis "")
92+
    (description "")
93+
    (license license:asl2.0)))
94+
95+
(define-public java-intellij-compiler-javac2
96+
  (package
97+
    (name "java-intellij-compiler-javac2")
98+
    (version intellij-community-version)
99+
    (source (intellij-community-source intellij-community-commit version))
100+
    (build-system ant-build-system)
101+
    (arguments
102+
     `(#:source-dir "java/compiler/javac2/src"
103+
       #:jar-name "javac2.jar"
104+
       ;; No test
105+
       #:tests? #f))
106+
    (inputs
107+
     `(("java-intellij-compiler-instrumentation-util" ,java-intellij-compiler-instrumentation-util)))
108+
    (home-page "https://github.com/JetBrains/intellij-community")
109+
    (synopsis "")
110+
    (description "")
111+
    (license license:asl2.0)))
112+
113+
(define-public java-intellij-platform-forms-rt
114+
  (package
115+
    (name "java-intellij-platform-forms-rt")
116+
    (version intellij-community-version)
117+
    (source (intellij-community-source intellij-community-commit version))
118+
    (build-system ant-build-system)
119+
    (arguments
120+
     `(#:source-dir "platform/forms_rt/src"
121+
       #:jar-name "forms_rt.jar"
122+
       ;; No test
123+
       #:tests? #f))
124+
    (home-page "https://github.com/JetBrains/intellij-community")
125+
    (synopsis "")
126+
    (description "")
127+
    (license license:asl2.0)))
128+
129+
(define-public java-intellij-platform-util-rt
130+
  (package
131+
    (name "java-intellij-platform-util-rt")
132+
    (version intellij-community-version)
133+
    (source (intellij-community-source intellij-community-commit version))
134+
    (build-system ant-build-system)
135+
    (arguments
136+
     `(#:source-dir "platform/util-rt/src"
137+
       #:jar-name "intellij.platform.util-rt.jar"
138+
       #:jdk ,icedtea-7
139+
       ;; No test
140+
       #:tests? #f))
141+
    (inputs
142+
     `(("java-jetbrains-annotations" ,java-jetbrains-annotations)))
143+
    (home-page "https://github.com/JetBrains/intellij-community")
144+
    (synopsis "")
145+
    (description "")
146+
    (license license:asl2.0)))
147+
148+
(define-public java-intellij-platform-util
149+
  (package
150+
    (name "java-intellij-platform-util")
151+
    (version intellij-community-version)
152+
    (source (intellij-community-source intellij-community-commit version))
153+
    (build-system ant-build-system)
154+
    (arguments
155+
     `(#:source-dir "platform/util/src"
156+
       #:jar-name "intellij.platform.util.jar"
157+
       ;; No test
158+
       #:tests? #f
159+
       #:phases
160+
       (modify-phases %standard-phases
161+
         (add-before 'build 'remove-apple
162+
           (lambda _
163+
             (delete-file "platform/util/src/com/intellij/util/AppleHiDPIScaledImage.java")
164+
             (delete-file "platform/util/src/com/intellij/util/ui/IsRetina.java")
165+
             #t)))))
166+
    (propagated-inputs
167+
     `(("java-batik" ,java-batik)
168+
       ("java-commons-compress" ,java-commons-compress)
169+
       ("java-imagescalr" ,java-imagescalr)
170+
       ("java-intellij-platform-util-rt" ,java-intellij-platform-util-rt)
171+
       ("java-jakarta-oro" ,java-jakarta-oro)
172+
       ("java-jdom-for-intellij" ,java-jdom-for-intellij)
173+
       ("java-jetbrains-annotations" ,java-jetbrains-annotations)
174+
       ("java-log4j-api" ,java-log4j-api)
175+
       ("java-log4j-1.2-api" ,java-log4j-1.2-api)
176+
       ("java-lz4" ,java-lz4)
177+
       ("java-native-access" ,java-native-access)
178+
       ("java-native-access-platform" ,java-native-access-platform)
179+
       ("java-trove4j-intellij" ,java-trove4j-intellij)
180+
       ("java-w3c-svg" ,java-w3c-svg)))
181+
    (home-page "https://github.com/JetBrains/intellij-community")
182+
    (synopsis "")
183+
    (description "")
184+
    (license license:asl2.0)))
185+
186+
(define-public java-intellij-platform-extensions
187+
  (package
188+
    (name "java-intellij-platform-extensions")
189+
    (version intellij-community-version)
190+
    (source (intellij-community-source intellij-community-commit version))
191+
    (build-system ant-build-system)
192+
    (arguments
193+
     `(#:source-dir "platform/extensions/src"
194+
       #:jar-name "intellij.platform.extensions.jar"
195+
       ;; No test
196+
       #:tests? #f))
197+
    (propagated-inputs
198+
     `(("java-intellij-platform-util" ,java-intellij-platform-util)
199+
       ("java-jetbrains-annotations" ,java-jetbrains-annotations)
200+
       ("java-picocontainer-1" ,java-picocontainer-1)))
201+
    (home-page "https://github.com/JetBrains/intellij-community")
202+
    (synopsis "")
203+
    (description "")
204+
    (license license:asl2.0)))
205+
206+
(define-public java-intellij-platform-core-api
207+
  (package
208+
    (name "java-intellij-platform-core-api")
209+
    (version intellij-community-version)
210+
    (source (intellij-community-source intellij-community-commit version))
211+
    (build-system ant-build-system)
212+
    (arguments
213+
     `(#:source-dir "platform/core-api/src"
214+
       #:jar-name "intellij.platform.core-api.jar"
215+
       ;; No test
216+
       #:tests? #f))
217+
    (propagated-inputs
218+
     `(("java-automaton" ,java-automaton)
219+
       ("java-intellij-platform-extensions" ,java-intellij-platform-extensions)
220+
       ("java-intellij-platform-util" ,java-intellij-platform-util)
221+
       ("java-jetbrains-annotations" ,java-jetbrains-annotations)
222+
       ("java-trove4j-intellij" ,java-trove4j-intellij)))
223+
    (home-page "https://github.com/JetBrains/intellij-community")
224+
    (synopsis "")
225+
    (description "")
226+
    (license license:asl2.0)))
227+
228+
(define-public java-intellij-platform-core-impl
229+
  (package
230+
    (name "java-intellij-platform-core-impl")
231+
    (version intellij-community-version)
232+
    (source (intellij-community-source intellij-community-commit version))
233+
    (build-system ant-build-system)
234+
    (arguments
235+
     `(#:source-dir "platform/core-impl/src"
236+
       #:jar-name "intellij.platform.core-impl.jar"
237+
       ;; No test
238+
       #:tests? #f))
239+
    (propagated-inputs
240+
     `(("java-guava" ,java-guava)
241+
       ("java-intellij-platform-core-api" ,java-intellij-platform-core-api)))
242+
    (home-page "https://github.com/JetBrains/intellij-community")
243+
    (synopsis "")
244+
    (description "")
245+
    (license license:asl2.0)))
246+
247+
(define-public java-intellij-java-psi-api
248+
  (package
249+
    (name "java-intellij-java-psi-api")
250+
    (version intellij-community-version)
251+
    (source (intellij-community-source intellij-community-commit version))
252+
    (build-system ant-build-system)
253+
    (arguments
254+
     `(#:source-dir "java/java-psi-api/src"
255+
       #:jar-name "intellij.java.psi-api.jar"
256+
       ;; No test
257+
       #:tests? #f))
258+
    (propagated-inputs
259+
     `(("java-intellij-platform-core-api" ,java-intellij-platform-core-api)
260+
       ("java-intellij-platform-util" ,java-intellij-platform-util)
261+
       ("java-jetbrains-annotations" ,java-jetbrains-annotations)))
262+
    (home-page "https://github.com/JetBrains/intellij-community")
263+
    (synopsis "")
264+
    (description "")
265+
    (license license:asl2.0)))
266+
267+
;; Newer versions are not free software anymore
268+
;; latest free versions are 1.8.1 and 1.8.0. We require something older for
269+
;; intellij though.
270+
(define-public java-jgoodies-common
271+
  (package
272+
    (name "java-jgoodies-common")
273+
    (version "1.8.1")
274+
    (source (origin
275+
              (method url-fetch)
276+
              (uri "http://www.jgoodies.com/download/libraries/common/jgoodies-common-1_8_1.zip")
277+
              (sha256
278+
               (base32
279+
                "1canj4zalrp668c55ji58rk90w005q44lnwzliffsr8mlrgxgaiw"))))
280+
    (build-system ant-build-system)
281+
    (arguments
282+
     `(#:jar-name "jgoodies-common.jar"
283+
       #:source-dir "."
284+
       #:tests? #f; no tests
285+
       #:phases
286+
       (modify-phases %standard-phases
287+
         (add-before 'build 'extract-source
288+
           (lambda _
289+
             (invoke "jar" "xf" "jgoodies-common-1.8.1-sources.jar")
290+
             #t)))))
291+
    (native-inputs
292+
     `(("unzip" ,unzip)))
293+
    (home-page "http://www.jgoodies.com")
294+
    (synopsis "")
295+
    (description "")
296+
    (license license:bsd-3)))
297+
298+
(define-public java-jgoodies-forms
299+
  (package
300+
    (name "java-jgoodies-forms")
301+
    (version "1.8.0")
302+
    (source (origin
303+
              (method url-fetch)
304+
              (uri "http://www.jgoodies.com/download/libraries/forms/jgoodies-forms-1_8_0.zip")
305+
              (sha256
306+
               (base32
307+
                "1av4w1px1jxmv19mljyicbv657sw5nqhkfx6s7nc5ckzf9ay945h"))))
308+
    (build-system ant-build-system)
309+
    (arguments
310+
     `(#:jar-name "jgoodies-forms.jar"
311+
       #:source-dir "."
312+
       #:tests? #f; no tests
313+
       #:phases
314+
       (modify-phases %standard-phases
315+
         (add-before 'build 'extract-source
316+
           (lambda _
317+
             (invoke "jar" "xf" "jgoodies-forms-1.8.0-sources.jar")
318+
             #t)))))
319+
    (native-inputs
320+
     `(("unzip" ,unzip)))
321+
    (inputs
322+
     `(("java-jgoodies-common" ,java-jgoodies-common)))
323+
    (home-page "http://www.jgoodies.com")
324+
    (synopsis "")
325+
    (description "")
326+
    (license license:bsd-3)))
327+
328+
;; Requires JGoodies Forms: http://www.jgoodies.com
329+
(define-public java-intellij-compiler-forms-compiler
330+
  (package
331+
    (name "java-intellij-compiler-forms-compiler")
332+
    (version intellij-community-version)
333+
    (source (intellij-community-source intellij-community-commit version))
334+
    (build-system ant-build-system)
335+
    (arguments
336+
     `(#:source-dir "java/compiler/forms-compiler/src"
337+
       #:jar-name "forms-compiler.jar"
338+
       ;; No test
339+
       #:tests? #f
340+
       #:phases
341+
       (modify-phases %standard-phases
342+
         (add-before 'build 'fix-imports
343+
           (lambda _
344+
             (substitute* (find-files "java/compiler/forms-compiler/src" ".*.java")
345+
               (("org.jetbrains.org.objectweb") "org.objectweb")
346+
                ;; As in build/asm/3_api_version.patch
347+
               (("API_VERSION") "ASM6"))))
348+
         (add-before 'build 'fix-old-jgoodies
349+
           (lambda _
350+
             (substitute* "java/compiler/forms-compiler/src/com/intellij/uiDesigner/lw/FormLayoutSerializer.java"
351+
               (("new ColumnSpec\\(spec\\)") "ColumnSpec.parse(spec)")))))))
352+
    (inputs
353+
     `(("java-intellij-platform-forms-rt" ,java-intellij-platform-forms-rt)
354+
       ("java-intellij-compiler-instrumentation-util" ,java-intellij-compiler-instrumentation-util)
355+
       ("java-asm" ,java-asm)
356+
       ("java-jdom" ,java-jdom)
357+
       ("java-jgoodies-forms" ,java-jgoodies-forms)))
358+
    (home-page "https://github.com/JetBrains/intellij-community")
359+
    (synopsis "")
360+
    (description "")
361+
    (license license:asl2.0)))

more/packages/java.scm

17261726
    (description "OSM editor.")
17271727
    (license license:gpl2+)))
17281728
1729-
;; As of 2010-09-01, the ORO project is retired
1730-
(define-public java-jakarta-regexp
1731-
  (package
1732-
    (name "java-jakarta-regexp")
1733-
    (version "1.5")
1734-
    (source (origin
1735-
              (method url-fetch)
1736-
              (uri (string-append "https://archive.apache.org/dist/jakarta/regexp/"
1737-
                                  "jakarta-regexp-" version ".tar.gz"))
1738-
              (sha256
1739-
               (base32
1740-
                "0zg9rmyif48dck0cv6ynpxv23mmcsx265am1fnnxss7brgw0ms3r"))))
1741-
    (build-system ant-build-system)
1742-
    (arguments
1743-
     `(#:build-target "jar"
1744-
       #:tests? #f; tests are run as part of the build process
1745-
       #:phases
1746-
       (modify-phases %standard-phases
1747-
         (add-after 'unpack 'remove-bin
1748-
           (lambda _
1749-
             (delete-file (string-append "jakarta-regexp-" ,version ".jar"))))
1750-
         (replace 'install
1751-
           (install-jars "build")))))
1752-
    (home-page "https://jakarta.apache.org/oro/")
1753-
    (synopsis "Text-processing for Java")
1754-
    (description "The Jakarta-ORO Java classes are a set of text-processing
1755-
Java classes that provide Perl5 compatible regular expressions, AWK-like
1756-
regular expressions, glob expressions, and utility classes for performing
1757-
substitutions, splits, filtering filenames, etc.  This library is the successor
1758-
of the OROMatcher, AwkTools, PerlTools, and TextTools libraries originally
1759-
from ORO, Inc.")
1760-
    (license license:asl2.0)))
1761-
17621729
(define-public java-jboss-annotations-api-spec
17631730
  (package
17641731
    (name "java-jboss-annotations-api-spec")

20622029
               (install-file "build/jdom.jar" jar-dir)
20632030
               #t))))))))
20642031
2032+
(define-public java-jdom-for-intellij
2033+
  (package
2034+
    (inherit java-jdom)
2035+
    (version "2.0.6-intellij")
2036+
    (source (origin
2037+
              (method git-fetch)
2038+
              (uri (git-reference
2039+
                     (url "https://github.com/JetBrains/intellij-deps-jdom")
2040+
                     (commit "da8644efbf3b50b1fd427953298c0a8cb330f54c")))
2041+
              (file-name (git-file-name "java-jdom" version))
2042+
              (sha256
2043+
               (base32
2044+
                "0kwzg8flrn6qb9jbcriiqx56chb6j6pjk19xqa6rarf42zad88rc"))
2045+
              (modules '((guix build utils)))
2046+
              (snippet
2047+
                `(begin
2048+
                   (for-each delete-file (find-files "." ".*.jar$"))
2049+
                   (delete-file "build.xml")
2050+
                   #t))))
2051+
    (arguments
2052+
     `(#:jar-name "jdom.jar"
2053+
       #:tests? #f
2054+
       #:source-dir "core/src/java"))
2055+
    (inputs
2056+
     `(("java-jaxen" ,java-jaxen)))))
2057+
20652058
(define-public java-apache-freemarker
20662059
  (package
20672060
    (name "java-apache-freemarker")

58795872
    (description "")
58805873
    (license license:asl2.0)))
58815874
5875+
(define-public java-trove4j
5876+
  (package
5877+
    (name "java-trove4j")
5878+
    (version "3.0.3")
5879+
    (source (origin
5880+
              (method url-fetch)
5881+
              (uri (string-append "https://bitbucket.org/trove4j/trove/downloads/"
5882+
                                  "trove-" version ".tar.gz"))
5883+
              (sha256
5884+
               (base32
5885+
                "1hlvhaivyw880bld5l8cf2z0s33vn9bb84w0m5n025c7g8fdwhk2"))
5886+
              (modules '((guix build utils)))
5887+
              (snippet
5888+
                `(begin
5889+
                   ;; Delete bundled jar archives.
5890+
                   (for-each delete-file (find-files "." ".*\\.jar"))
5891+
                   #t))))
5892+
    (build-system ant-build-system)
5893+
    (native-inputs
5894+
     `(("java-junit" ,java-junit)))
5895+
    (arguments
5896+
     `(#:test-target "test"
5897+
       #:phases
5898+
       (modify-phases %standard-phases
5899+
         (replace 'install
5900+
           (install-jars ".")))))
5901+
    (home-page "")
5902+
    (synopsis "")
5903+
    (description "")
5904+
    (license license:lgpl2.1+)))
5905+
5906+
(define-public java-trove4j-2
5907+
  (package
5908+
    (inherit java-trove4j)
5909+
    (version "2.1.0")
5910+
    (source (origin
5911+
              (method url-fetch)
5912+
              (uri (string-append "https://sourceforge.net/projects/trove4j/"
5913+
                                  "files/trove/" version "/trove-" version ".tar.gz"))
5914+
              (sha256
5915+
               (base32
5916+
                "0vkbgq20xina558vymq6gxwjw5svhxsncizh3p3wdq5fjcgrx4m5"))
5917+
              (modules '((guix build utils)))
5918+
              (snippet
5919+
                `(begin
5920+
                   ;; Delete bundled jar archives.
5921+
                   (for-each delete-file (find-files "." ".*\\.jar"))
5922+
                   #t))))))
5923+
5924+
(define-public java-trove4j-intellij
5925+
  (package
5926+
    (inherit java-trove4j)
5927+
    (version "1.0-20191502")
5928+
    (source (origin
5929+
              (method git-fetch)
5930+
              (uri (git-reference
5931+
                     (url "https://github.com/JetBrains/intellij-deps-trove4j")
5932+
                     (commit "5967df06f16dacca5a37493ae464f14696dc6f9d")))
5933+
              (file-name (git-file-name "java-trove4j" version))
5934+
              (sha256
5935+
               (base32
5936+
                "00swjb2yq85k6sh5hq1nfixv20hjnza4hd1b8frr3fb53ibsry4s"))
5937+
              (modules '((guix build utils)))
5938+
              (snippet
5939+
                `(begin
5940+
                   ;; Delete bundled jar archives.
5941+
                   (for-each delete-file (find-files "." ".*\\.jar"))
5942+
                   #t))))
5943+
    (arguments
5944+
     `(#:jar-name "trove.jar"
5945+
       #:tests? #f
5946+
       #:source-dir "core/src/main/java"
5947+
       #:phases
5948+
       (modify-phases %standard-phases
5949+
         (add-before 'build 'generate
5950+
           (lambda _
5951+
             (with-directory-excursion "generator/src/main/java"
5952+
               (invoke "javac" "gnu/trove/generate/Generate.java"))
5953+
             (invoke "java" "-cp" "generator/src/main/java"
5954+
                     "gnu.trove.generate.Generate"
5955+
                     "core/src/main/templates" "core/src/main/java")))
5956+
         (add-before 'build 'utf-to-iso
5957+
           (lambda _
5958+
             (substitute* "build.xml"
5959+
               (("<javac ") "<javac encoding=\"iso-8859-1\" "))
5960+
             #t)))))))
5961+
5962+
(define-public java-imagescalr
5963+
  (package
5964+
    (name "java-imagescalr")
5965+
    (version "4.2")
5966+
    (source (origin
5967+
              (method git-fetch)
5968+
              (uri (git-reference
5969+
                     (url "https://github.com/rkalla/imgscalr")
5970+
                     (commit (string-append version "-release"))))
5971+
              (file-name (git-file-name name version))
5972+
              (sha256
5973+
               (base32
5974+
                "1vbfx2wa9lavagmg2pgy5jq4m7msp1dkc4pwr7vv5a746fx24pg9"))))
5975+
    (build-system ant-build-system)
5976+
    (arguments
5977+
     `(#:tests? #f; no tests
5978+
       #:phases
5979+
       (modify-phases %standard-phases
5980+
         (replace 'install
5981+
           (install-jars ".")))))
5982+
    (home-page "")
5983+
    (synopsis "")
5984+
    (description "")
5985+
    (license license:asl2.0)))
5986+
58825987
(define-public java-jlex
58835988
  (package
58845989
    (name "java-jlex")

79488053
    (synopsis "")
79498054
    (description "")
79508055
    (license license:asl2.0)))
8056+
8057+
(define-public java-paranamer
8058+
  (package
8059+
    (name "java-paranamer")
8060+
    (version "2.8")
8061+
    (source (origin
8062+
              (method git-fetch)
8063+
              ;; This repository is a mirror of the svn directory that disappeared
8064+
              ;; along with codehaus.org
8065+
              (uri (git-reference
8066+
                     (url "https://github.com/paul-hammant/paranamer")
8067+
                     (commit (string-append "paranamer-parent-" version))))
8068+
              (file-name (git-file-name name version))
8069+
              (sha256
8070+
               (base32
8071+
                "1jfick1sfjmqdxak72h5sx7xcyq0njwsg64jp4xaz06365ghbiz9"))
8072+
              (modules '((guix build utils)))
8073+
              (snippet
8074+
                `(for-each delete-file (find-files "." ".*.jar")))))
8075+
    (build-system ant-build-system)
8076+
    (arguments
8077+
     `(#:jar-name "paranamer.jar"
8078+
       #:source-dir "paranamer/src/java"
8079+
       #:tests? #f))
8080+
    (inputs
8081+
     `(("java-javax-inject" ,java-javax-inject)))
8082+
    (home-page "")
8083+
    (synopsis "")
8084+
    (description "")
8085+
    (license license:bsd-3)))
8086+
8087+
(define-public java-picocontainer
8088+
  (package
8089+
    (name "java-picocontainer")
8090+
    (version "2.15")
8091+
    (source (origin
8092+
              (method git-fetch)
8093+
              ;; This repository is a mirror of the svn directory that disappeared
8094+
              ;; along with codehaus.org
8095+
              (uri (git-reference
8096+
                     (url "https://github.com/codehaus/picocontainer")
8097+
                     (commit "7be6b8b0eb33421dc7a755817628e06b79bd879d")))
8098+
              (file-name (git-file-name name version))
8099+
              (sha256
8100+
               (base32
8101+
                "06ygwa1wkk70lb9abc0shh1lzyysjaciqb5917qxsyn4rx43sjdg"))
8102+
              (modules '((guix build utils)))
8103+
              (snippet
8104+
                `(for-each delete-file (find-files "." ".*.jar")))))
8105+
    (build-system ant-build-system)
8106+
    (arguments
8107+
     `(#:jar-name "picocontainer.jar"
8108+
       #:source-dir "container/src/java"
8109+
       #:tests? #f
8110+
       #:phases
8111+
       (modify-phases %standard-phases
8112+
         (add-after 'unpack 'chdir
8113+
           (lambda _
8114+
             (chdir "java/2.x/tags/picocontainer-2.15")
8115+
             #t)))))
8116+
    (inputs
8117+
     `(("java-paranamer" ,java-paranamer)))
8118+
    (home-page "")
8119+
    (synopsis "")
8120+
    (description "")
8121+
    (license license:bsd-3)))
8122+
8123+
(define-public java-picocontainer-1
8124+
  (package
8125+
    (inherit java-picocontainer)
8126+
    (version "1.3")
8127+
    (arguments
8128+
     `(#:jar-name "picocontainer.jar"
8129+
       #:source-dir "container/src/java"
8130+
       #:tests? #f
8131+
       #:phases
8132+
       (modify-phases %standard-phases
8133+
         (add-after 'unpack 'chdir
8134+
           (lambda _
8135+
             (chdir "java/1.x/picocontainer/tags/picocontainer-1_3")
8136+
             #t)))))))
8137+
8138+
(define-public java-automaton
8139+
  (package
8140+
    (name "java-automaton")
8141+
    (version "1.12.2")
8142+
    (source (origin
8143+
              (method git-fetch)
8144+
              (uri (git-reference
8145+
                     (url "https://github.com/cs-au-dk/dk.brics.automaton")
8146+
                     (commit "328cf493ec2537af9d2bbce0eb4b4ef118b66547")))
8147+
              (file-name (git-file-name name version))
8148+
              (sha256
8149+
               (base32
8150+
                "1vjcz8m8wlqx6j1cymww7mfh9ckxfwcfm63dvg3bg394l8qzbxg3"))))
8151+
    (build-system ant-build-system)
8152+
    (arguments
8153+
     `(#:tests? #f; no tests
8154+
       #:phases
8155+
       (modify-phases %standard-phases
8156+
         (replace 'install (install-jars ".")))))
8157+
    (home-page "")
8158+
    (synopsis "")
8159+
    (description "")
8160+
    (license license:asl2.0)))

more/packages/kotlin.scm

11
;;; GNU Guix --- Functional package management for GNU
2-
;;; Copyright ?? 2018 Julien Lepiller <julien@lepiller.eu>
2+
;;; Copyright ?? 2018, 2019 Julien Lepiller <julien@lepiller.eu>
33
;;;
44
;;; This file is part of GNU Guix.
55
;;;

3030
  #:use-module (guix build-system trivial)
3131
  #:use-module (gnu packages autotools)
3232
  #:use-module (gnu packages base)
33+
  #:use-module (gnu packages batik)
3334
  #:use-module (gnu packages compression)
3435
  #:use-module (gnu packages docbook)
3536
  #:use-module (gnu packages java)

3738
  #:use-module (gnu packages perl)
3839
  #:use-module (gnu packages web)
3940
  #:use-module (gnu packages xml)
41+
  #:use-module (more packages intellij)
4042
  #:use-module (more packages java))
4143
44+
(define-public kotlin-0
45+
  (package
46+
    (name "kotlin")
47+
    (version "0")
48+
    (source (origin
49+
              (method git-fetch)
50+
              (uri (git-reference
51+
                     (url "https://github.com/JetBrains/kotlin")
52+
                     (commit "2f47e30a1a12347759dbb8707f5137178de65696")))
53+
              (file-name (git-file-name name version))
54+
              (sha256
55+
               (base32
56+
                "0f60v3swyrkh41c4lhha64njivvsnr7p6yz7i1vjmvs697pjvqg2"))
57+
              (modules '((guix build utils)))
58+
              (snippet
59+
                `(begin
60+
                   (for-each delete-file (find-files "." ".*.jar$"))
61+
                   (mkdir "ideaSDK")
62+
                   (mkdir "dependencies")
63+
                   #t))))
64+
    (build-system ant-build-system)
65+
    (arguments
66+
     `(#:build-target "dist"
67+
       #:phases
68+
       (modify-phases %standard-phases
69+
         (add-before 'build 'copy-jars
70+
           (lambda* (#:key inputs #:allow-other-keys)
71+
             (for-each
72+
               (lambda (file)
73+
                 (copy-file file (string-append "lib/" (basename file))))
74+
               (apply append
75+
                 (map (lambda (input)
76+
                        (find-files (assoc-ref inputs input) ".*.jar$"))
77+
                   '("java-asm" "java-asm-commons"
78+
                     "java-guava"
79+
                     "java-intellij-java-psi-api"
80+
                     "java-intellij-platform-core-api"
81+
                     "java-intellij-platform-core-impl"
82+
                     "java-intellij-platform-util"
83+
                     "java-javax-inject"
84+
                     "java-jsr305"
85+
                     "java-jetbrains-annotations"))))
86+
             #t))
87+
         (add-before 'build 'fix-asm
88+
           (lambda _
89+
             (substitute* (find-files "." ".*.java$")
90+
               (("org.jetbrains.asm4") "org.objectweb.asm"))
91+
             #t)))))
92+
    (inputs
93+
     `(("java-asm" ,java-asm)
94+
       ("java-asm-commons" ,java-asm-commons-7)
95+
       ("java-intellij-java-psi-api" ,java-intellij-java-psi-api)
96+
       ("java-intellij-platform-core-api" ,java-intellij-platform-core-api)
97+
       ("java-intellij-platform-core-impl" ,java-intellij-platform-core-impl)
98+
       ("java-intellij-platform-util" ,java-intellij-platform-util)
99+
       ("java-javax-inject" ,java-javax-inject)
100+
       ("java-jsr305" ,java-jsr305)
101+
       ("java-jetbrains-annotations" ,java-jetbrains-annotations)
102+
       ("java-guava" ,java-guava)))
103+
    (home-page "")
104+
    (synopsis "")
105+
    (description "")
106+
    (license license:asl2.0)))
107+
42108
;; Needs maven-core
43109
(define-public kotlin-1.2
44110
  (package

93159
    (synopsis "Programming language targetting the JVM")
94160
    (description "")
95161
    (license license:asl2.0)))
96-
97-
;; The release page on github is a mess
98-
(define intellij-community-version "0.182.2256")
99-
(define (intellij-community-source version)
100-
  (origin
101-
    (method url-fetch)
102-
    (uri (string-append "https://github.com/JetBrains/intellij-community/"
103-
                        "archive/appcode/" (substring version 2) ".tar.gz"))
104-
    (file-name (string-append "intellij-community-" version ".tar.gz"))
105-
    (sha256
106-
     (base32
107-
      "1b9csd0vs6m41q4jhlwl3rlfb596vcnjhch75pcwk8999zrvqf0f"))
108-
    (modules '((guix build utils)))
109-
    (snippet
110-
      `(begin
111-
         (for-each
112-
           (lambda (file)
113-
             (if (file-exists? file)
114-
               (delete-file-recursively file)))
115-
           (append (find-files "." "^lib$" #:directories? #t)
116-
                   (find-files "." "^bin$" #:directories? #t)))
117-
         (for-each delete-file (find-files "." ".*.jar$"))))))
118-
119-
(define-public java-intellij-compiler-instrumentation-util
120-
  (package
121-
    (name "java-intellij-compiler-instrumentation-util")
122-
    (version intellij-community-version)
123-
    (source (intellij-community-source version))
124-
    (build-system ant-build-system)
125-
    (arguments
126-
     `(#:source-dir "java/compiler/instrumentation-util/src"
127-
       #:jar-name "instrumentation-util.jar"
128-
       ;; No test
129-
       #:tests? #f
130-
       #:phases
131-
       (modify-phases %standard-phases
132-
         (add-before 'build 'fix-imports
133-
           (lambda _
134-
             (substitute* (find-files "java/compiler/instrumentation-util/src" ".*.java")
135-
               (("org.jetbrains.org.objectweb") "org.objectweb")
136-
                ;; As in build/asm/3_api_version.patch
137-
               (("API_VERSION") "ASM6")))))))
138-
    (inputs
139-
     `(("java-asm" ,java-asm)))
140-
    (home-page "https://github.com/JetBrains/intellij-community")
141-
    (synopsis "")
142-
    (description "")
143-
    (license license:asl2.0)))
144-
145-
(define-public java-intellij-compiler-javac2
146-
  (package
147-
    (name "java-intellij-compiler-javac2")
148-
    (version intellij-community-version)
149-
    (source (intellij-community-source version))
150-
    (build-system ant-build-system)
151-
    (arguments
152-
     `(#:source-dir "java/compiler/javac2/src"
153-
       #:jar-name "javac2.jar"
154-
       ;; No test
155-
       #:tests? #f))
156-
    (inputs
157-
     `(("java-intellij-compiler-instrumentation-util" ,java-intellij-compiler-instrumentation-util)))
158-
    (home-page "https://github.com/JetBrains/intellij-community")
159-
    (synopsis "")
160-
    (description "")
161-
    (license license:asl2.0)))
162-
163-
(define-public java-intellij-platform-forms-rt
164-
  (package
165-
    (name "java-intellij-platform-forms-rt")
166-
    (version intellij-community-version)
167-
    (source (intellij-community-source version))
168-
    (build-system ant-build-system)
169-
    (arguments
170-
     `(#:source-dir "platform/forms_rt/src"
171-
       #:jar-name "forms_rt.jar"
172-
       ;; No test
173-
       #:tests? #f))
174-
    (home-page "https://github.com/JetBrains/intellij-community")
175-
    (synopsis "")
176-
    (description "")
177-
    (license license:asl2.0)))
178-
179-
;; Newer versions are not free software anymore
180-
;; latest free versions are 1.8.1 and 1.8.0. We require something older for
181-
;; intellij though.
182-
(define-public java-jgoodies-common
183-
  (package
184-
    (name "java-jgoodies-common")
185-
    (version "1.8.1")
186-
    (source (origin
187-
              (method url-fetch)
188-
              (uri "http://www.jgoodies.com/download/libraries/common/jgoodies-common-1_8_1.zip")
189-
              (sha256
190-
               (base32
191-
                "1canj4zalrp668c55ji58rk90w005q44lnwzliffsr8mlrgxgaiw"))))
192-
    (build-system ant-build-system)
193-
    (arguments
194-
     `(#:jar-name "jgoodies-common.jar"
195-
       #:source-dir "."
196-
       #:tests? #f; no tests
197-
       #:phases
198-
       (modify-phases %standard-phases
199-
         (add-before 'build 'extract-source
200-
           (lambda _
201-
             (invoke "jar" "xf" "jgoodies-common-1.8.1-sources.jar")
202-
             #t)))))
203-
    (native-inputs
204-
     `(("unzip" ,unzip)))
205-
    (home-page "http://www.jgoodies.com")
206-
    (synopsis "")
207-
    (description "")
208-
    (license license:bsd-3)))
209-
210-
(define-public java-jgoodies-forms
211-
  (package
212-
    (name "java-jgoodies-forms")
213-
    (version "1.8.0")
214-
    (source (origin
215-
              (method url-fetch)
216-
              (uri "http://www.jgoodies.com/download/libraries/forms/jgoodies-forms-1_8_0.zip")
217-
              (sha256
218-
               (base32
219-
                "1av4w1px1jxmv19mljyicbv657sw5nqhkfx6s7nc5ckzf9ay945h"))))
220-
    (build-system ant-build-system)
221-
    (arguments
222-
     `(#:jar-name "jgoodies-forms.jar"
223-
       #:source-dir "."
224-
       #:tests? #f; no tests
225-
       #:phases
226-
       (modify-phases %standard-phases
227-
         (add-before 'build 'extract-source
228-
           (lambda _
229-
             (invoke "jar" "xf" "jgoodies-forms-1.8.0-sources.jar")
230-
             #t)))))
231-
    (native-inputs
232-
     `(("unzip" ,unzip)))
233-
    (inputs
234-
     `(("java-jgoodies-common" ,java-jgoodies-common)))
235-
    (home-page "http://www.jgoodies.com")
236-
    (synopsis "")
237-
    (description "")
238-
    (license license:bsd-3)))
239-
240-
;; Requires JGoodies Forms: http://www.jgoodies.com
241-
(define-public java-intellij-compiler-forms-compiler
242-
  (package
243-
    (name "java-intellij-compiler-forms-compiler")
244-
    (version intellij-community-version)
245-
    (source (intellij-community-source version))
246-
    (build-system ant-build-system)
247-
    (arguments
248-
     `(#:source-dir "java/compiler/forms-compiler/src"
249-
       #:jar-name "forms-compiler.jar"
250-
       ;; No test
251-
       #:tests? #f
252-
       #:phases
253-
       (modify-phases %standard-phases
254-
         (add-before 'build 'fix-imports
255-
           (lambda _
256-
             (substitute* (find-files "java/compiler/forms-compiler/src" ".*.java")
257-
               (("org.jetbrains.org.objectweb") "org.objectweb")
258-
                ;; As in build/asm/3_api_version.patch
259-
               (("API_VERSION") "ASM6"))))
260-
         (add-before 'build 'fix-old-jgoodies
261-
           (lambda _
262-
             (substitute* "java/compiler/forms-compiler/src/com/intellij/uiDesigner/lw/FormLayoutSerializer.java"
263-
               (("new ColumnSpec\\(spec\\)") "ColumnSpec.parse(spec)")))))))
264-
    (inputs
265-
     `(("java-intellij-platform-forms-rt" ,java-intellij-platform-forms-rt)
266-
       ("java-intellij-compiler-instrumentation-util" ,java-intellij-compiler-instrumentation-util)
267-
       ("java-asm" ,java-asm)
268-
       ("java-jdom" ,java-jdom)
269-
       ("java-jgoodies-forms" ,java-jgoodies-forms)))
270-
    (home-page "https://github.com/JetBrains/intellij-community")
271-
    (synopsis "")
272-
    (description "")
273-
    (license license:asl2.0)))