gnu: antlr3-3.3: Prettify build phases.

* gnu/packages/java.scm (antlr3-3.3)[arguments]: Prettify build phases
"bin-install" and "generate-grammar".
This commit is contained in:
Ricardo Wurmus 2017-11-07 12:18:34 +01:00
parent 9ecc4c69eb
commit a9540107c6
No known key found for this signature in database
GPG key ID: 197A5888235FACAC

View file

@ -4655,55 +4655,60 @@ (define antlr3-3.3
"0qgg5vgsm4l1d6dj9pfbaa25dpv2ry2gny8ajy4vvgvfklw97b3m")))) "0qgg5vgsm4l1d6dj9pfbaa25dpv2ry2gny8ajy4vvgvfklw97b3m"))))
(arguments (arguments
`(#:jar-name (string-append ,name "-" ,version ".jar") `(#:jar-name (string-append ,name "-" ,version ".jar")
#:source-dir (string-append "tool/src/main/java:runtime/Java/src/main/java:" #:source-dir (string-join '("tool/src/main/java"
"tool/src/main/antlr2:tool/src/main/antlr3") "runtime/Java/src/main/java"
#:tests? #f "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 #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'install 'bin-install (add-after 'install 'bin-install
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let ((jar (string-append (assoc-ref outputs "out") "/share/java")) (let* ((out (assoc-ref outputs "out"))
(bin (string-append (assoc-ref outputs "out") "/bin"))) (jar (string-append out "/share/java"))
(bin (string-append out "/bin")))
(mkdir-p bin) (mkdir-p bin)
(with-output-to-file (string-append bin "/antlr3") (with-output-to-file (string-append bin "/antlr3")
(lambda _ (lambda _
(display (display
(string-append "#!" (which "sh") "\n" (string-append
"#!" (which "sh") "\n"
"java -cp " jar "/antlr3-3.3.jar:" "java -cp " jar "/antlr3-3.3.jar:"
(string-concatenate (string-join
(find-files (assoc-ref inputs "java-stringtemplate") (append (find-files (assoc-ref inputs "java-stringtemplate")
".*\\.jar")) ".*\\.jar$")
":" (find-files (string-append (assoc-ref inputs "antlr")
(string-concatenate
(find-files (string-append
(assoc-ref inputs "antlr")
"/lib") "/lib")
".*\\.jar")) ".*\\.jar$"))
":")
" org.antlr.Tool $*")))) " org.antlr.Tool $*"))))
(chmod (string-append bin "/antlr3") #o755)))) (chmod (string-append bin "/antlr3") #o755)
#t)))
(add-before 'build 'generate-grammar (add-before 'build 'generate-grammar
(lambda _ (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" (substitute* "tool/src/main/java/org/antlr/tool/Grammar.java"
(("import org.antlr.grammar.v2.\\*;") (("import org.antlr.grammar.v2.\\*;")
"import org.antlr.grammar.v2.*;\n "import org.antlr.grammar.v2.*;\n
import org.antlr.grammar.v2.TreeToNFAConverter;\n import org.antlr.grammar.v2.TreeToNFAConverter;\n
import org.antlr.grammar.v2.DefineGrammarItemsWalker;\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 (add-before 'build 'fix-build-xml
(lambda _ (lambda _
(substitute* "build.xml" (substitute* "build.xml"
@ -4714,7 +4719,8 @@ (define antlr3-3.3
<include name=\"**/*.sti\"/> <include name=\"**/*.sti\"/>
<include name=\"**/STLexer.tokens\"/> <include name=\"**/STLexer.tokens\"/>
</fileset> </fileset>
</copy><exec"))))))) </copy><exec"))
#t)))))
(native-inputs (native-inputs
`(("antlr" ,antlr2) `(("antlr" ,antlr2)
("antlr3" ,antlr3-3.1))) ("antlr3" ,antlr3-3.1)))