gnu: ant-bootstrap: Make build more reliable.

* gnu/packages/java.scm (ant-bootstrap)[arguments]: Remove bootstrap phase;
create HOME/.ant.properties; pass options to JamVM.
This commit is contained in:
Ricardo Wurmus 2018-03-26 00:01:22 +02:00
parent 7240b4a989
commit d4fd4c3a7b
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
1 changed files with 11 additions and 0 deletions

View File

@ -212,6 +212,7 @@ JNI.")
`(#:tests? #f ; no "check" target `(#:tests? #f ; no "check" target
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'bootstrap)
(delete 'configure) (delete 'configure)
(replace 'build (replace 'build
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
@ -226,6 +227,11 @@ JNI.")
(string-append (assoc-ref inputs "jamvm") (string-append (assoc-ref inputs "jamvm")
"/lib/rt.jar")) "/lib/rt.jar"))
;; Ant complains if this file doesn't exist.
(setenv "HOME" "/tmp")
(with-output-to-file "/tmp/.ant.properties"
(lambda _ (display "")))
;; Use jikes instead of javac for <javac ...> tags in build.xml ;; Use jikes instead of javac for <javac ...> tags in build.xml
(setenv "ANT_OPTS" "-Dbuild.compiler=jikes") (setenv "ANT_OPTS" "-Dbuild.compiler=jikes")
@ -233,6 +239,11 @@ JNI.")
;; interesting, so we silence them. ;; interesting, so we silence them.
(setenv "$BOOTJAVAC_OPTS" "-nowarn") (setenv "$BOOTJAVAC_OPTS" "-nowarn")
;; Without these JamVM options the build may freeze.
(substitute* "bootstrap.sh"
(("^\"\\$\\{JAVACMD\\}\" " m)
(string-append m "-Xnocompact -Xnoinlining ")))
;; Disable tests because we are bootstrapping and thus don't have ;; Disable tests because we are bootstrapping and thus don't have
;; any of the dependencies required to build and run the tests. ;; any of the dependencies required to build and run the tests.
(substitute* "build.xml" (substitute* "build.xml"