guix-more/more/packages/kotlin.scm

kotlin.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 kotlin)
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 compression)
34
  #:use-module (gnu packages docbook)
35
  #:use-module (gnu packages java)
36
  #:use-module (gnu packages maven)
37
  #:use-module (gnu packages perl)
38
  #:use-module (gnu packages web)
39
  #:use-module (gnu packages xml)
40
  #:use-module (more packages java)
41
  #:use-module (more packages maven))
42
43
;; Needs maven-core
44
(define-public kotlin
45
  (package
46
    (name "kotlin")
47
    ;; last version with a build.xml file
48
    ;; TODO: check if version 1.2.32-1.2.39 exist. 1.2.40 doesn't have build.xml.
49
    (version "1.2.31")
50
    (source (origin
51
              (method url-fetch)
52
              (uri (string-append "https://github.com/JetBrains/kotlin/archive/v"
53
                                  version ".tar.gz"))
54
              (file-name (string-append name "-" version ".tar.gz"))
55
              (sha256
56
               (base32
57
                "1lm1rvj1vf4z8nzpffqcdwcydnlf24ls07z0r0nc4by3hjxzs3sv"))))
58
    (build-system ant-build-system)
59
    (arguments
60
     `(#:phases
61
       (modify-phases %standard-phases
62
         (add-before 'build 'fix-build.xml
63
           (lambda _
64
             (substitute* "build.xml"
65
               (("org/jetbrains/kotlin/ant/antlib.xml")
66
                "ant/src/org/jetbrains/kotlin/ant/antlib.xml")))))))
67
    (home-page "https://kotlinlang.org/")
68
    (synopsis "Programming language targetting the JVM")
69
    (description "")
70
    (license license:asl2.0)))
71
72
(define-public java-javac2
73
  (package
74
    (name "java-javac2")
75
    ;; The release page on github is a mess
76
    (version "0.182.2256")
77
    (source (origin
78
              (method url-fetch)
79
              (uri (string-append "https://github.com/JetBrains/intellij-community/"
80
                                  "archive/appcode/" (substring version 2) ".tar.gz"))
81
              (file-name (string-append name "-" version ".tar.gz"))
82
              (sha256
83
               (base32
84
                "1b9csd0vs6m41q4jhlwl3rlfb596vcnjhch75pcwk8999zrvqf0f"))))
85
    (build-system ant-build-system)
86
    (arguments
87
     `(#:source-dir "java/compiler/javac2/src"
88
       ;; No test
89
       #:tests? #f))
90
    (home-page "https://github.com/JetBrains/intellij-community")
91
    (synopsis "")
92
    (description "")
93
    (license license:asl2.0)))
94