Subject: [bug#31570] [PATCH 3/3] gnu: javacc: Bootstrap from javacc-4 instead of bootstrap binary.

From: Alex Vong <[email-masked]>
Date: Fri, 25 May 2018 08:23:20 +0800

From 5e84c4dc3a36fa304277801f4e259aa795cf92e3 Mon Sep 17 00:00:00 2001
From: Alex Vong <[email-masked]>
Date: Thu, 24 May 2018 00:32:51 +0800
Subject: [PATCH 3/3] gnu: javacc: Bootstrap from javacc-4 instead of bootstrap
 binary.

* gnu/packages/java.scm (javacc)[source](snippet): Delete bootstrap binary.
[arguments]: Set 'bootstrap-jar' path.
[native-inputs]: Add 'javacc-4'.
---
 gnu/packages/java.scm | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index ce4a6b8ac..5bcd94022 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -1923,12 +1923,20 @@ debugging, etc.")
                 "111xc9mnmc5a6qz6x3xbhqc07y1lg2b996ggzw0hrblg42zya9xf"))
               (modules '((guix build utils)))
               ;; delete bundled jars
-              (snippet '(begin (delete-file-recursively "lib") #t))))
-    (arguments
-     `(#:test-target "test"
+              (snippet '(begin (for-each delete-file-recursively
+                                         '("bootstrap" "lib"))
+                               #t))))
+    (arguments
+     `(#:make-flags ; bootstrap from javacc-4
+       (list (string-append "-Dbootstrap-jar="
+                            (assoc-ref %build-inputs "javacc")
+                            "/share/java/javacc.jar"))
+       #:test-target "test"
        #:phases
        (modify-phases %standard-phases
-         (replace 'install (install-jars "target")))))))
+         (replace 'install (install-jars "target")))))
+    (native-inputs
+     `(("javacc" ,javacc-4)))))
 
 ;; This is the last 3.x release of ECJ
 (define-public java-ecj-3
-- 
2.17.0