summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2017-04-13 20:13:14 +0200
committerJulien Lepiller <julien@lepiller.eu>2017-05-11 22:25:36 +0200
commita0f15effceea0ef0558efa011d9f78472b4fdbac (patch)
tree75631b6a769612615c9ce092d9ed6713098e1b7a /gnu
parent9f68e74a482c7246fbdd3ad3e6145767cdf58f22 (diff)
downloadguix-a0f15effceea0ef0558efa011d9f78472b4fdbac.tar.gz
gnu: Add stringtemplate3.
* gnu/packages/java.scm (stringtemplate3): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/java.scm38
1 files changed, 38 insertions, 0 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 9e14818643..2f33cfdc2d 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2162,3 +2162,41 @@ compilers, and translators from grammatical descriptions containing Java, C#,
 C++, or Python actions.  ANTLR provides excellent support for tree construction,
 tree walking, and translation.")
     (license license:public-domain)))
+
+(define-public stringtemplate3
+  (package
+    (name "stringtemplate3")
+    (version "3.2.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/antlr/website-st4/raw/"
+                                  "gh-pages/download/stringtemplate-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "086yj68np1vqhkj7483diz3km6s6y4gmwqswa7524a0ca6vxn2is"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "stringtemplate-3.2.1.jar"
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'generate-grammar
+           (lambda _
+             (let ((dir "src/org/antlr/stringtemplate/language/"))
+               (for-each (lambda (file)
+                           (display file)
+                           (newline)
+                           (system* "antlr" "-o" dir (string-append dir file)))
+                         '("template.g" "angle.bracket.template.g" "action.g"
+                           "eval.g" "group.g" "interface.g"))))))))
+    (native-inputs
+     `(("antlr" ,antlr2)))
+    (home-page "http://www.stringtemplate.org")
+    (synopsis "Template engine to generate formatted text output")
+    (description "StringTemplate is a java template engine (with ports for C#,
+Objective-C, JavaScript, Scala) for generating source code, web pages, emails,
+or any other formatted text output.  StringTemplate is particularly good at
+code generators, multiple site skins, and internationalization / localization.
+StringTemplate also powers ANTLR.")
+    (license license:bsd-3)))