From 72885a4c8f92bc08d7d612dc74d6b9ec60a83e7d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 May 2017 14:32:20 +0200 Subject: gnu: Add classpath-devel. * gnu/packages/java.scm (classpath-devel): New variable. --- gnu/packages/java.scm | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index b0f81be9a2..fe3243c539 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -25,6 +25,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix hg-download) + #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system ant) #:use-module (guix build-system gnu) @@ -40,6 +41,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages fontutils) #:use-module (gnu packages gawk) + #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) #:use-module (gnu packages gl) #:use-module (gnu packages gnuzilla) ;nss @@ -622,6 +624,68 @@ machine."))) compiler for Java} (ecj) with a command line interface that is compatible with the standard javac executable. The tool runs on JamVM instead of SableVM."))) +;; The last release of GNU Classpath is 0.99 and it happened in 2012. Since +;; then Classpath has gained much more support for Java 1.6. +(define-public classpath-devel + (let ((commit "e7c13ee0cf2005206fbec0eca677f8cf66d5a103") + (revision "1")) + (package (inherit classpath-on-sablevm) + (version (string-append "0.99-" revision "." (string-take commit 9))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "git://git.savannah.gnu.org/classpath.git") + (commit commit))) + (sha256 + (base32 + "1v2rww76ww322mpg3s12a1kkc6gkp31bm9gcxs532h0wq285fiw4")))) + (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 "jamvm") + "/bin/jamvm") + "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-before 'configure 'bootstrap + (lambda _ + (zero? (system* "autoreconf" "-vif")))) + (add-after 'unpack 'remove-unsupported-annotations + (lambda _ + (substitute* (find-files "java" "\\.java$") + (("@Override") "")) + #t)) + (add-after 'install 'install-data + (lambda _ (zero? (system* "make" "install-data"))))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("gettext" ,gettext-minimal) + ("texinfo" ,texinfo) + ("classpath-jamvm-wrappers" ,classpath-jamvm-wrappers) ; for javah + ("ecj-bootstrap" ,ecj-bootstrap) + ("ecj-javac-wrapper" ,ecj-javac-on-jamvm-wrapper) + ("fastjar" ,fastjar) + ("jamvm" ,jamvm-bootstrap) + ("libltdl" ,libltdl) + ("pkg-config" ,pkg-config)))))) + (define-public java-swt (package (name "java-swt") -- cgit v1.2.3