summaryrefslogtreecommitdiff
path: root/dev-java/freemarker
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java/freemarker')
-rw-r--r--dev-java/freemarker/Manifest10
-rw-r--r--dev-java/freemarker/files/build.xml.patch60
-rw-r--r--dev-java/freemarker/files/freemarker-2.3.13-PyJavaInstance.patch22
-rw-r--r--dev-java/freemarker/files/freemarker-2.3.13-gentoo.patch126
-rw-r--r--dev-java/freemarker/freemarker-2.3.13-r2.ebuild84
-rw-r--r--dev-java/freemarker/freemarker-2.3.25.ebuild69
-rw-r--r--dev-java/freemarker/metadata.xml12
7 files changed, 383 insertions, 0 deletions
diff --git a/dev-java/freemarker/Manifest b/dev-java/freemarker/Manifest
new file mode 100644
index 000000000000..e32b612fb60f
--- /dev/null
+++ b/dev-java/freemarker/Manifest
@@ -0,0 +1,10 @@
+AUX build.xml.patch 2160 SHA256 6c355c090cf4e3df02c3016f5770791a7b0f6432c62a3447f5cb845787150e60 SHA512 ae01462ed0a8fc61fc6e34b99b536bf7d36da73744a070ad63f555af07de5dec3a0926b97fc984ab481db7b7c8807db53998f83e17a5717e805c87a49047731a WHIRLPOOL cbb4fecb2257c729c73986c31074120085766682df893078499eec81feddf03d5b2ce4dee5013726ee766b4c9351538601dc2b272fe8c0c91d773f098afe6897
+AUX freemarker-2.3.13-PyJavaInstance.patch 1064 SHA256 71ef260480ce72caa0d2b54ab2ba2d9927b4997b5e0c5baa509c9f8719b7a1e2 SHA512 f53d2ab9818b9851200feaa2b346a877e893b90685926a451eadaaa6fef40de571a67b7b167e56facde077ff295db9ef9adafcd3409663216d27730a61e212df WHIRLPOOL b22fbd718fdc83ee99ee4e661ee9899d872511fcfc67385731e6d2d5b43412d1e1570ed9fbd969e8a3e2434638acdb5a95540d43ad3f39553b11400ebd75cfed
+AUX freemarker-2.3.13-gentoo.patch 5228 SHA256 6bb4a5f0aa7696bbd1fb3666ec21605a90c0946c0fb131480282aab0d6cc97ad SHA512 857762085428fc094522d03a39b57a2fc74c1f7d57afe260383d04caeceea9fc30a5ab45d3a1039a30d8b18597c6b0500a0b998bbacfe746bdfb0902e96c8fbd WHIRLPOOL 91d5c51b2ee1c7883763d97520d7027aa76c77cfe11b12d5ee56723a58bfbe7e17d5dfbb22936688997e5e49b2e57c0675db7a93de43c87184c295347ce7832b
+DIST freemarker-2.3.13.tar.gz 2136791 SHA256 00b43c28bc5b141e53ad9e56c472f40774b5638f96fc29f3d7cfa97048830eb5 SHA512 9216bc97e74779617ec91916842185472c3cfd4c5625168ddd2f4404237767df44c62d8308af8bed0ab10d72c8835c97daab7fbc1efa80c3e01c861dd334ec3b WHIRLPOOL f46ae311feb122e7ce52d2f4b518216c72135e5e6491d02cbef177fd76b798e7b7fa883a22067225e5a4de2163066696fb34f21708a5d821daf0d82c1460d9cc
+DIST freemarker-2.3.25.tar.gz 1873971 SHA256 4864ac056ea801e78c1f0d76080fc2d079a6979573208a0760f6dd60746278b0 SHA512 32a41a73a2f71a4e0ae8829da2c09e07204aa2b4a6899e2c7a3db0bde5d3e129ec7b44b7299a20165d7eb88f4f7d1bd9f0b7a1fd116dc11493134bec2306d1ac WHIRLPOOL f057bd1c50eb4e0aa359b1d429690fd5acef13b2f9534ec0b3060da72cadd3f4bfecbcc49d7eadbcc348748343b3e30a5b315ca75c03e19e9f9877d8156cbccc
+EBUILD freemarker-2.3.13-r2.ebuild 1894 SHA256 e8d20a1ac13f719e29be083ba8399b5de0d16f2986ff83b9dc6a1748e35e7204 SHA512 a50758e63ea0a2a6a4c2968b56c485cbcd02885176afd6871355579346cefa569a59821e65594dfdf756ff5a1db3e289cba3cb713760f128cc34db99f68c8530 WHIRLPOOL 6e70731bd672d169dca27b8a57c58f0c7e2ca146a2e6e41776a6f4ca65c48361e195145af467c94cefa231801e94b971b23801f3997240654d6642c40c6c4f28
+EBUILD freemarker-2.3.25.ebuild 1526 SHA256 bce42b3ac81931c8c3454c33e69b7d564e81ebe2b8419d9e89a7696c07a9104e SHA512 43e7d9debfcd4096823b6e2076997b55a3b9a644578e52c0a30c0581dd34f1eb7b333740663165cad5f25d2ae6912c0cf1f85bd0d46437956bc1394125bb619e WHIRLPOOL b29780ae8199a6d5dd6b2af465977ce5a84803adb2b632699d7ced1bd5abda7c803ec49d0e31a5e91f32b074f0731c8d736c0a8ac3a54e1f7a082dcce88bc739
+MISC ChangeLog 3434 SHA256 72ae5a7c85e7bc1b1c915457d7b609425555ac5ecc0ac7d9682ae27873459726 SHA512 0cfd73464c3b2bd0cfd4930627f678bd7207ff909c158116d98da8da910af6a9d8be4fbafa163bf2e1cccc42dd2ea9319769555aa9afd960a99dd0cbdff6209a WHIRLPOOL 03c77977fbb5364a560d785825df1b521cf3094f9f69de68d65ee4f23310d0ea73f97336f66289c17ed59cdd935b50b660f4e0f10544405d73332b652eea3a67
+MISC ChangeLog-2015 5556 SHA256 a6e9044efd8bb5928cc6ac863399a30c19e5726f4a32aac2d3b710aa6d657cd8 SHA512 c3072757e2c9e461deb65f683b7a0a442496484da1e02b01fb11394dc2b1934a3d19d7ba524b3a4177d7e46258d6a8a268e8841375eae9181d0b0ef078f12720 WHIRLPOOL 92b16cbbee076abf2f856b45935e391a1243d4e67ff901f70d56e9a7236d35e4a4c6fc68432297602a826cd8df58f9195adef56206cf38c19b774d73f002b782
+MISC metadata.xml 383 SHA256 ca5795e9360af5f1a99592e75a40cd4a37c1deaeebc1a2c89668520812458946 SHA512 2b6f5f22ae11f25aac3cbf3a2c3f3161ab391b932740d964b41bb84d24f54d12a8fa60f11502571b30d5100bd7fc578d82939de0ae7d1bef0d22df910edfed2c WHIRLPOOL 270d0ad7d537235b6b3faff6ca66a395b5997c8d06f9c91d5a77a96a44eb6fb29c122410edbec1052bf6d10141493910563a018e3c4e4e541a047a797761abb7
diff --git a/dev-java/freemarker/files/build.xml.patch b/dev-java/freemarker/files/build.xml.patch
new file mode 100644
index 000000000000..33701f89175d
--- /dev/null
+++ b/dev-java/freemarker/files/build.xml.patch
@@ -0,0 +1,60 @@
+diff -Naur a/build.xml b/build.xml
+--- a/build.xml 2016-06-14 19:48:01.000000000 +0100
++++ b/build.xml 2016-12-22 22:41:41.988262564 +0000
+@@ -27,6 +27,10 @@
+ xmlns:u="http://freemarker.org/util"
+ >
+
++ <path id="gentoo.classpath">
++ <pathelement path="${gentoo.classpath}/"/>
++ </path>
++
+ <!-- ================================================================== -->
+ <!-- Properties -->
+ <!-- ================================================================== -->
+@@ -143,13 +147,11 @@
+ />
+
+ <mkdir dir="${_javaccOutputDir}" />
+- <ivy:retrieve conf="parser" pattern="build/javacc-home.tmp/[artifact].[ext]" />
+ <javacc:generate
+ target="src/main/javacc/FTL.jj"
+ outputdirectory="${_javaccOutputDir}"
+ javacchome="build/javacc-home.tmp"
+ />
+- <delete dir="build/javacc-home.tmp" />
+
+ <replace
+ file="${_javaccOutputDir}/FMParser.java"
+@@ -271,6 +273,7 @@
+ verify="yes" stubversion="1.2"
+ />
+
++<!--
+ <ivy:cachepath conf="build.jsp2.0" pathid="ivy.dep.jsp2.0" />
+ <javac srcdir="build/src-main-java-filtered" destdir="build/classes" deprecation="off"
+ debug="on" optimize="off" target="1.5" source="1.5" encoding="utf-8"
+@@ -286,6 +289,7 @@
+ freemarker/ext/jsp/FreeMarkerJspFactory21.java,
+ freemarker/ext/jsp/FreeMarkerJspApplicationContext.java"
+ />
++!-->
+
+ <!-- There's no build.jsp2.0, as those classes are part of the common build subset. -->
+
+@@ -301,6 +305,7 @@
+ freemarker/ext/jsp/FreeMarkerJspApplicationContext.java"
+ />
+
++<!--
+ <ivy:cachepath conf="build.jython2.0" pathid="ivy.dep.jython2.0" />
+ <javac srcdir="build/src-main-java-filtered" destdir="build/classes" deprecation="off"
+ debug="on" optimize="off" target="1.5" source="1.5" encoding="utf-8"
+@@ -325,6 +330,7 @@
+ includes="
+ freemarker/ext/jython/_Jython22VersionAdapter.java"
+ />
++!-->
+
+ <ivy:cachepath conf="build.jython2.5" pathid="ivy.dep.jython2.5" />
+ <javac srcdir="build/src-main-java-filtered" destdir="build/classes" deprecation="off"
diff --git a/dev-java/freemarker/files/freemarker-2.3.13-PyJavaInstance.patch b/dev-java/freemarker/files/freemarker-2.3.13-PyJavaInstance.patch
new file mode 100644
index 000000000000..b0544d170b15
--- /dev/null
+++ b/dev-java/freemarker/files/freemarker-2.3.13-PyJavaInstance.patch
@@ -0,0 +1,22 @@
+--- src/freemarker/ext/jython/JythonModelCache.java.orig 2015-07-05 08:47:07.035000000 +0000
++++ src/freemarker/ext/jython/JythonModelCache.java 2015-07-05 08:49:31.157000000 +0000
+@@ -10,7 +10,7 @@
+ import org.python.core.PyDictionary;
+ import org.python.core.PyFloat;
+ import org.python.core.PyInteger;
+-import org.python.core.PyJavaInstance;
++import org.python.core.PyJavaType;
+ import org.python.core.PyLong;
+ import org.python.core.PyNone;
+ import org.python.core.PyObject;
+@@ -37,8 +37,8 @@
+ protected TemplateModel create(Object obj) {
+ boolean asHash = false;
+ boolean asSequence = false;
+- if(obj instanceof PyJavaInstance) {
+- Object jobj = ((PyJavaInstance)obj).__tojava__(java.lang.Object.class);
++ if(obj instanceof PyJavaType) {
++ Object jobj = PyJavaType.wrapJavaObject(obj).__tojava__(Object.class);
+ // FreeMarker-aware, Jython-wrapped Java objects are left intact
+ if(jobj instanceof TemplateModel) {
+ return (TemplateModel)jobj;
diff --git a/dev-java/freemarker/files/freemarker-2.3.13-gentoo.patch b/dev-java/freemarker/files/freemarker-2.3.13-gentoo.patch
new file mode 100644
index 000000000000..9eca29a827ad
--- /dev/null
+++ b/dev-java/freemarker/files/freemarker-2.3.13-gentoo.patch
@@ -0,0 +1,126 @@
+diff -Nru freemarker-2.3.13.vanilla/build.xml freemarker-2.3.13/build.xml
+--- freemarker-2.3.13.vanilla/build.xml 2008-06-21 00:46:08.000000000 +0200
++++ freemarker-2.3.13/build.xml 2008-06-21 00:46:48.000000000 +0200
+@@ -69,21 +69,28 @@
+ <pathelement path="${lib.log4j}"/>
+ <pathelement path="${lib.rhino}"/>
+ <pathelement path="${java.class.path}"/>
++ <fileset dir="lib" includes="*.jar"/>
+ </path>
+
+ <path id="compile.classpath">
+ <path refid="compile.nojsp.classpath"/>
+ <pathelement path="${lib.jsp21}"/>
++ <fileset dir="lib" includes="*.jar"/>
++ <fileset dir="lib/jsp-2.1" includes="*.jar"/>
+ </path>
+
+ <path id="compile.jsp1.classpath">
+ <path refid="compile.nojsp.classpath"/>
+ <pathelement path="${lib.jsp12}"/>
++ <fileset dir="lib" includes="*.jar"/>
++ <fileset dir="lib/jsp-1.2" includes="*.jar"/>
+ </path>
+
+ <path id="compile.jsp2.classpath">
+ <path refid="compile.nojsp.classpath"/>
+ <pathelement path="${lib.jsp20}"/>
++ <fileset dir="lib" includes="*.jar"/>
++ <fileset dir="lib/jsp-2.0" includes="*.jar"/>
+ </path>
+
+ <path id="compile.classpath.testcases">
+@@ -92,6 +99,7 @@
+ <pathelement path="${lib.jdom}"/>
+ <pathelement path="${lib.servlet}"/>
+ <pathelement path="${lib.jsp20}"/>
++ <fileset dir="lib" includes="*.jar"/>
+ </path>
+
+ <path id="compile.classpath.javadoc">
+@@ -110,12 +118,14 @@
+ <pathelement path="${src.dir}"/>
+ <pathelement path="${build.javacc.dir}"/>
+ <pathelement path="${java.class.path}"/>
++ <fileset dir="lib" includes="*.jar"/>
+ </path>
+
+ <path id="compile.classpath.examples">
+ <pathelement path="${lib.servlet}"/>
+ <pathelement path="${lib.dir}/freemarker.jar"/>
+ <pathelement path="${lib.struts}"/>
++ <fileset dir="lib" includes="*.jar"/>
+ </path>
+
+ <path id="full.classpath">
+@@ -131,6 +141,7 @@
+ <pathelement path="${lib.logkit}"/>
+ <pathelement path="${lib.log4j}"/>
+ <pathelement path="${java.class.path}"/>
++ <fileset dir="lib" includes="*.jar"/>
+ </path>
+
+
+@@ -180,7 +191,6 @@
+
+ <patternset id="freemarker.compile.jdk15">
+ <include name="freemarker/ext/beans/EnumModels.java"/>
+- <include name="freemarker/ext/dom/SunInternalXalanXPathSupport.java"/>
+ </patternset>
+
+ <patternset id="freemarker.compile.xalan">
+@@ -311,7 +321,6 @@
+ <available file="lib/xalan.jar"/>
+ </and>
+ </condition>
+- <antcall target="fetchlibs"/>
+ <available
+ property="log4j.available"
+ classname="org.apache.log4j.Logger"
+diff -Nru freemarker-2.3.13.vanilla/src/freemarker/ext/jsp/FreeMarkerPageContext21.java freemarker-2.3.13/src/freemarker/ext/jsp/FreeMarkerPageContext21.java
+--- freemarker-2.3.13.vanilla/src/freemarker/ext/jsp/FreeMarkerPageContext21.java 2008-06-21 00:46:08.000000000 +0200
++++ freemarker-2.3.13/src/freemarker/ext/jsp/FreeMarkerPageContext21.java 2008-06-21 00:46:12.000000000 +0200
+@@ -2,11 +2,13 @@
+
+ import java.security.AccessController;
+ import java.security.PrivilegedAction;
++import java.util.Enumeration;
+
+ import javax.el.ELContext;
+ import javax.servlet.jsp.JspApplicationContext;
+ import javax.servlet.jsp.JspContext;
+ import javax.servlet.jsp.JspFactory;
++import javax.servlet.jsp.ErrorData;
+ import javax.servlet.jsp.PageContext;
+ import javax.servlet.jsp.el.ELException;
+ import javax.servlet.jsp.el.ExpressionEvaluator;
+@@ -24,6 +26,9 @@
+ class FreeMarkerPageContext21 extends FreeMarkerPageContext {
+ private static final Logger logger = Logger.getLogger("freemarker.jsp");
+
++ public ErrorData getErrorData() { return null; }
++ public Enumeration getAttributeNames() { return getServletContext().getAttributeNames(); }
++
+ static {
+ if(JspFactory.getDefaultFactory() == null) {
+ JspFactory.setDefaultFactory(new FreeMarkerJspFactory21());
+diff -Nru freemarker-2.3.13.vanilla/src/freemarker/ext/jython/JythonHashModel.java freemarker-2.3.13/src/freemarker/ext/jython/JythonHashModel.java
+--- freemarker-2.3.13.vanilla/src/freemarker/ext/jython/JythonHashModel.java 2008-06-21 00:46:08.000000000 +0200
++++ freemarker-2.3.13/src/freemarker/ext/jython/JythonHashModel.java 2008-06-21 00:46:12.000000000 +0200
+@@ -137,7 +137,7 @@
+ {
+ throw new TemplateModelException(e);
+ }
+- throw new TemplateModelException("'?keys' is not supported as there is no 'keys' nor 'keySet' attribute on an instance of " + object.__class__.__name__);
++ throw new TemplateModelException("'?keys' is not supported as there is no 'keys' nor 'keySet' attribute on an instance of " + object.getType());
+ }
+
+ /**
+@@ -157,6 +157,6 @@
+ {
+ throw new TemplateModelException(e);
+ }
+- throw new TemplateModelException("'?values' is not supported as there is no 'values' attribute on an instance of " + object.__class__.__name__);
++ throw new TemplateModelException("'?values' is not supported as there is no 'values' attribute on an instance of " + object.getType());
+ }
+ }
diff --git a/dev-java/freemarker/freemarker-2.3.13-r2.ebuild b/dev-java/freemarker/freemarker-2.3.13-r2.ebuild
new file mode 100644
index 000000000000..857f5d7c8520
--- /dev/null
+++ b/dev-java/freemarker/freemarker-2.3.13-r2.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+JAVA_PKG_IUSE="doc source"
+WANT_ANT_TASKS="ant-nodeps"
+
+inherit java-pkg-2 java-ant-2 eutils
+
+DESCRIPTION="FreeMarker is a tool to generate text output based on templates"
+HOMEPAGE="http://freemarker.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="freemarker"
+SLOT="2.3"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+CDEPEND="dev-java/jython:2.7
+ java-virtuals/servlet-api:2.3
+ java-virtuals/servlet-api:2.4
+ java-virtuals/servlet-api:2.5
+ dev-java/jaxen:1.1
+ dev-java/juel:0"
+
+RDEPEND="
+ ${CDEPEND}
+ >=virtual/jre-1.6"
+
+DEPEND="
+ ${CDEPEND}
+ >=virtual/jdk-1.6
+ dev-java/javacc:0"
+
+# [0]: Patch so that we can compile the package
+# against Jython-2.7.
+# [1]: Gentoo specific stuff.
+PATCHES=(
+ "${FILESDIR}"/${P}-PyJavaInstance.patch
+ "${FILESDIR}"/${P}-gentoo.patch
+)
+
+java_prepare() {
+ # Do away with bundled jar files.
+ java-pkg_clean
+
+ # Apply patches.
+ epatch "${PATCHES[@]}"
+
+ # Weed out comments (some contain UTF-8 chars javac cannnot deal with).
+ sed -i -e '/*/d;' \
+ src/freemarker/template/LocalizedString.java
+
+ # For ecj-3.5.
+ java-ant_rewrite-bootclasspath auto
+}
+
+src_compile() {
+ # BIG FAT WARNING:
+ # clean target removes lib/ directory!!
+ eant clean
+
+ mkdir -p lib/jsp-{1.2,2.0,2.1} || die
+ pushd lib >/dev/null || die
+ java-pkg_jar-from --virtual --into jsp-1.2 servlet-api-2.3
+ java-pkg_jar-from --virtual --into jsp-2.0 servlet-api-2.4
+ java-pkg_jar-from --virtual --into jsp-2.1 servlet-api-2.5
+ java-pkg_jar-from jaxen-1.1
+ java-pkg_jar-from jython-2.7
+ java-pkg_jar-from --build-only javacc
+ java-pkg_jar-from juel
+ popd >/dev/null
+
+ eant jar $(use_doc) -Djavacc.home=/usr/share/javacc/lib
+}
+
+src_install() {
+ java-pkg_dojar "lib/${PN}.jar"
+ dodoc README.txt
+
+ use doc && java-pkg_dojavadoc build/api
+ use source && java-pkg_dosrc src/*
+}
diff --git a/dev-java/freemarker/freemarker-2.3.25.ebuild b/dev-java/freemarker/freemarker-2.3.25.ebuild
new file mode 100644
index 000000000000..cb9e781667ba
--- /dev/null
+++ b/dev-java/freemarker/freemarker-2.3.25.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_PN="incubator-${PN}"
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-ant-2
+
+DESCRIPTION="A Java tool to generate text output based on templates"
+HOMEPAGE="http://freemarker.org/"
+SRC_URI="https://github.com/apache/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="Apache-2.0"
+SLOT="2.3"
+KEYWORDS="~amd64 ~x86"
+
+CP_DEPEND="dev-java/avalon-logkit:2.0
+ dev-java/commons-logging:0
+ dev-java/dom4j:1
+ dev-java/jaxen:1.1
+ dev-java/jython:2.7
+ dev-java/log4j:0
+ dev-java/rhino:1.6
+ dev-java/slf4j-api:0
+ dev-java/xalan:0
+ java-virtuals/servlet-api:2.5"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.7"
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.7
+ dev-java/javacc:0"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/build.xml.patch
+)
+
+EANT_BUILD_TARGET="compile"
+EANT_EXTRA_ARGS="-Ddeps.available=true"
+JAVA_ANT_REWRITE_CLASSPATH="true"
+
+src_prepare() {
+ default
+
+ rm -rv \
+ src/main/java/freemarker/ext/jdom \
+ src/main/java/freemarker/ext/xml/_JdomNavigator.java \
+ src/main/java/freemarker/ext/beans/JRebelClassChangeNotifier.java || die
+
+ sed -i \
+ -e '/<ivy:cachepath/d' \
+ -e 's/"ivy\.dep[^"]*"/"gentoo.classpath"/g' \
+ -e "s:javacchome=\"[^\"]*\":javacchome=\"${EROOT}usr/share/javacc/lib\":g" \
+ build.xml || die
+
+ java-pkg-2_src_prepare
+}
+
+src_install() {
+ jar cf ${PN}.jar -C build/classes . || die
+ java-pkg_dojar ${PN}.jar
+
+ dodoc README
+ use doc && java-pkg_dojavadoc build/api
+}
diff --git a/dev-java/freemarker/metadata.xml b/dev-java/freemarker/metadata.xml
new file mode 100644
index 000000000000..62aedeea4e53
--- /dev/null
+++ b/dev-java/freemarker/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">freemarker</remote-id>
+ <remote-id type="github">apache/incubator-freemarker</remote-id>
+ </upstream>
+</pkgmetadata>