[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#26966: [PATCH 07/22] gnu: Add classpath.
From: |
Ricardo Wurmus |
Subject: |
bug#26966: [PATCH 07/22] gnu: Add classpath. |
Date: |
Wed, 17 May 2017 19:18:50 +0200 |
* gnu/packages/java.scm (classpath): New variable.
---
gnu/packages/java.scm | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 58 insertions(+)
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 912825a92..e37fd7057 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -410,6 +410,64 @@ requirement for all GNU Classpath releases after version
0.93.")
compiler for Java} (ecj) with a command line interface that is compatible with
the standard javac executable.")))
+;; Note: All the tool wrappers (e.g. for javah, javac, etc) fail with
+;; java.lang.UnsupportedClassVersionError. They simply won't run on the old
+;; sablevm. We use Classpath 0.99 to build JamVM, on which the Classpath
+;; tools do run. Using these Classpath tools on JamVM we can then build the
+;; development version of GNU Classpath.
+(define classpath-on-sablevm
+ (package
+ (name "classpath")
+ (version "0.99")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/classpath/classpath-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1j7cby4k66f1nvckm48xcmh352b1d1b33qk7l6hi7dp9i9zjjagr"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "--with-ecj-jar="
+ (assoc-ref %build-inputs "ecj-bootstrap")
+ "/share/java/ecj-bootstrap.jar")
+ (string-append "JAVAC="
+ (assoc-ref %build-inputs "ecj-javac-wrapper")
+ "/bin/javac")
+ (string-append "JAVA="
+ (assoc-ref %build-inputs "sablevm")
+ "/bin/java-sablevm")
+ "GCJ_JAVAC_TRUE=no"
+ "ac_cv_prog_java_works=yes" ; trust me
+ "--disable-Werror"
+ "--disable-gmp"
+ "--disable-gtk-peer"
+ "--disable-gconf-peer"
+ "--disable-plugin"
+ "--disable-dssi"
+ "--disable-alsa"
+ "--disable-gjdoc")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-data
+ (lambda _ (zero? (system* "make" "install-data")))))))
+ (native-inputs
+ `(("ecj-bootstrap" ,ecj-bootstrap)
+ ("ecj-javac-wrapper" ,ecj-javac-wrapper)
+ ("fastjar" ,fastjar)
+ ("sablevm" ,sablevm)
+ ("sablevm-classpath" ,sablevm-classpath)
+ ("libltdl" ,libltdl)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://www.gnu.org/software/classpath/")
+ (synopsis "Essential libraries for Java")
+ (description "GNU Classpath is a project to create core class libraries
+for use with runtimes, compilers and tools for the Java programming
+language.")
+ ;; GPLv2 or later, with special linking exception.
+ (license license:gpl2+)))
+
(define-public java-swt
(package
(name "java-swt")
--
2.12.2
- bug#26966: [PATCH 10/22] gnu: Add ecj-javac-on-jamvm-wrapper., (continued)
bug#26966: [PATCH 12/22] gnu: Add jamvm., Ricardo Wurmus, 2017/05/17
bug#26966: [PATCH 06/22] gnu: Add ecj-javac-wrapper., Ricardo Wurmus, 2017/05/17
bug#26966: [PATCH 08/22] gnu: Add jamvm-bootstrap., Ricardo Wurmus, 2017/05/17
bug#26966: [PATCH 07/22] gnu: Add classpath.,
Ricardo Wurmus <=
bug#26966: [PATCH 09/22] gnu: Add classpath-jamvm-wrappers., Ricardo Wurmus, 2017/05/17
bug#26966: [PATCH 11/22] gnu: Add classpath-devel., Ricardo Wurmus, 2017/05/17
bug#26966: [PATCH 13/22] gnu: Add ecj-javac-on-jamvm-wrapper-final., Ricardo Wurmus, 2017/05/17
bug#26966: [PATCH 05/22] gnu: Add ecj-bootstrap., Ricardo Wurmus, 2017/05/17