aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2017-11-07 12:18:34 +0100
committerRicardo Wurmus <rekado@elephly.net>2017-11-07 12:39:50 +0100
commita9540107c646f53c9c40d726cf22f3ac3dddce8f (patch)
tree3333418362b1bfb425f8eba27d7f81281b5a2164
parent9ecc4c69eba9ad63ad06758c83b9838febea86ae (diff)
downloadguix-a9540107c646f53c9c40d726cf22f3ac3dddce8f.tar
guix-a9540107c646f53c9c40d726cf22f3ac3dddce8f.tar.gz
gnu: antlr3-3.3: Prettify build phases.
* gnu/packages/java.scm (antlr3-3.3)[arguments]: Prettify build phases "bin-install" and "generate-grammar".
-rw-r--r--gnu/packages/java.scm76
1 files changed, 41 insertions, 35 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 37e3f5180d..cc42d4bb1a 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -4655,55 +4655,60 @@ tree walking, and translation.")
"0qgg5vgsm4l1d6dj9pfbaa25dpv2ry2gny8ajy4vvgvfklw97b3m"))))
(arguments
`(#:jar-name (string-append ,name "-" ,version ".jar")
- #:source-dir (string-append "tool/src/main/java:runtime/Java/src/main/java:"
- "tool/src/main/antlr2:tool/src/main/antlr3")
- #:tests? #f
+ #:source-dir (string-join '("tool/src/main/java"
+ "runtime/Java/src/main/java"
+ "tool/src/main/antlr2"
+ "tool/src/main/antlr3")
+ ":")
+ #:tests? #f ; FIXME: tests seem to require maven plugin
+ #:modules ((guix build ant-build-system)
+ (guix build utils)
+ (srfi srfi-1))
#:phases
(modify-phases %standard-phases
(add-after 'install 'bin-install
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((jar (string-append (assoc-ref outputs "out") "/share/java"))
- (bin (string-append (assoc-ref outputs "out") "/bin")))
+ (let* ((out (assoc-ref outputs "out"))
+ (jar (string-append out "/share/java"))
+ (bin (string-append out "/bin")))
(mkdir-p bin)
(with-output-to-file (string-append bin "/antlr3")
(lambda _
(display
- (string-append "#!" (which "sh") "\n"
- "java -cp " jar "/antlr3-3.3.jar:"
- (string-concatenate
- (find-files (assoc-ref inputs "java-stringtemplate")
- ".*\\.jar"))
- ":"
- (string-concatenate
- (find-files (string-append
- (assoc-ref inputs "antlr")
- "/lib")
- ".*\\.jar"))
- " org.antlr.Tool $*"))))
- (chmod (string-append bin "/antlr3") #o755))))
+ (string-append
+ "#!" (which "sh") "\n"
+ "java -cp " jar "/antlr3-3.3.jar:"
+ (string-join
+ (append (find-files (assoc-ref inputs "java-stringtemplate")
+ ".*\\.jar$")
+ (find-files (string-append (assoc-ref inputs "antlr")
+ "/lib")
+ ".*\\.jar$"))
+ ":")
+ " org.antlr.Tool $*"))))
+ (chmod (string-append bin "/antlr3") #o755)
+ #t)))
(add-before 'build 'generate-grammar
(lambda _
- (let ((dir "tool/src/main/antlr2/org/antlr/grammar/v2/"))
- (for-each (lambda (file)
- (display file)
- (newline)
- (system* "antlr" "-o" dir (string-append dir file)))
- '("antlr.g" "antlr.print.g" "assign.types.g"
- "buildnfa.g" "codegen.g" "define.g")))
- (chdir "tool/src/main/antlr3/org/antlr/grammar/v3/")
- (for-each (lambda (file)
- (display file)
- (newline)
- (system* "antlr3" file))
- '("ActionAnalysis.g" "ActionTranslator.g" "ANTLRv3.g"
- "ANTLRv3Tree.g"))
- (chdir "../../../../../../../..")
(substitute* "tool/src/main/java/org/antlr/tool/Grammar.java"
(("import org.antlr.grammar.v2.\\*;")
"import org.antlr.grammar.v2.*;\n
import org.antlr.grammar.v2.TreeToNFAConverter;\n
import org.antlr.grammar.v2.DefineGrammarItemsWalker;\n
-import org.antlr.grammar.v2.ANTLRTreePrinter;"))))
+import org.antlr.grammar.v2.ANTLRTreePrinter;"))
+ (and
+ (with-directory-excursion "tool/src/main/antlr2/org/antlr/grammar/v2/"
+ (every (lambda (file)
+ (format #t "~a\n" file)
+ (zero? (system* "antlr" file)))
+ '("antlr.g" "antlr.print.g" "assign.types.g"
+ "buildnfa.g" "codegen.g" "define.g")))
+ (with-directory-excursion "tool/src/main/antlr3/org/antlr/grammar/v3/"
+ (every (lambda (file)
+ (format #t "~a\n" file)
+ (zero? (system* "antlr3" file)))
+ '("ActionAnalysis.g" "ActionTranslator.g" "ANTLRv3.g"
+ "ANTLRv3Tree.g"))))))
(add-before 'build 'fix-build-xml
(lambda _
(substitute* "build.xml"
@@ -4714,7 +4719,8 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;"))))
<include name=\"**/*.sti\"/>
<include name=\"**/STLexer.tokens\"/>
</fileset>
-</copy><exec")))))))
+</copy><exec"))
+ #t)))))
(native-inputs
`(("antlr" ,antlr2)
("antlr3" ,antlr3-3.1)))