summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <ricardo.wurmus@mdc-berlin.de>2017-05-08 15:34:15 +0200
committerRicardo Wurmus <rekado@elephly.net>2017-05-22 18:55:34 +0200
commite1ae3587d26336251d24bed10a9172a9d9fb2f57 (patch)
tree9f82979ee04520fb08a462a7dc6486724ccc0829
parent296b3c631c2e8cf42f5a0920cd11c424daec9ea4 (diff)
downloadpatches-e1ae3587d26336251d24bed10a9172a9d9fb2f57.tar
patches-e1ae3587d26336251d24bed10a9172a9d9fb2f57.tar.gz
gnu: Add jikes.
* gnu/packages/java.scm (jikes): New variable.
-rw-r--r--gnu/packages/java.scm44
1 files changed, 44 insertions, 0 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index e86c904e71..6dc97fede7 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -60,6 +60,50 @@
#:use-module (srfi srfi-11)
#:use-module (ice-9 match))
+
+;;;
+;;; Java bootstrap toolchain.
+;;;
+
+;; The Java bootstrap begins with Jikes, a Java compiler written in C++. We
+;; use it to build the SableVM standard library and virtual machine, which are
+;; written in a simpler dialect of Java and C, respectively. This is
+;; sufficient to build an older version of Ant, which is needed to build an
+;; older version of ECJ, an incremental Java compiler, both of which are
+;; written in Java.
+;;
+;; ECJ is needed to build the latest release of GNU Classpath (0.99).
+;; Classpath (> 0.98) is a requirement for JamVM, a more modern implementation
+;; of the Java virtual machine.
+;;
+;; With JamVM we can build the latest development version of GNU Classpath,
+;; which has much more support for Java 1.6 than the latest release. Since
+;; the previous build of JamVM is limited by the use of GNU Classpath 0.99 we
+;; rebuild it with the latest development version of GNU Classpath.
+;;
+;; Finally, we use the bootstrap toolchain to build the OpenJDK with the
+;; Icedtea 1.x build framework. We then build the more recent JDKs Icedtea
+;; 2.x and Icedtea 3.x.
+
+(define jikes
+ (package
+ (name "jikes")
+ (version "1.22")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/jikes/Jikes/"
+ version "/jikes-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1qqldrp74pzpy5ly421srqn30qppmm9cvjiqdngk8hf47dv2rc0c"))))
+ (build-system gnu-build-system)
+ (home-page "http://jikes.sourceforge.net/")
+ (synopsis "Compiler for the Java language")
+ (description "Jikes is a compiler that translates Java source files as
+defined in The Java Language Specification into the bytecoded instruction set
+and binary format defined in The Java Virtual Machine Specification.")
+ (license license:ibmpl1.0)))
+
(define-public java-swt
(package
(name "java-swt")