summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java/xom')
-rw-r--r--dev-java/xom/Manifest2
-rw-r--r--dev-java/xom/files/xom-1.2.6.patch49
-rw-r--r--dev-java/xom/files/xom-strip-fallback-parser.patch18
-rw-r--r--dev-java/xom/metadata.xml9
-rw-r--r--dev-java/xom/xom-1.2.10.ebuild80
5 files changed, 158 insertions, 0 deletions
diff --git a/dev-java/xom/Manifest b/dev-java/xom/Manifest
new file mode 100644
index 000000000000..173d2b995697
--- /dev/null
+++ b/dev-java/xom/Manifest
@@ -0,0 +1,2 @@
+DIST jaxen-1.1.6-src.tar.gz 204211 SHA256 812754aaff83efbf0d822e0014ba668599f2b519ab46fd7d4e5078eb3cc3c887 SHA512 84a3beb521c8729d7ad9bcb76a252e12d624614277eee9d5e844f79fcdfc58f5f49eac902256b17c0af6563d4c255249d9124a47c3b02827189a7489f3172309 WHIRLPOOL d1ac6b7c8fb35d61accc12a97f9d92a29df909d6a29e4a5957bf695a63c73bc0e74362efd9aa31a3fdb7891cbd5411175106fe5815895327d3b1f854721361a0
+DIST xom-1.2.10.tar.gz 11717279 SHA256 d8d58d26cba76f6f9e1a65ab537f759f662d1f4441e9a94b6687e23fdb76f879 SHA512 edaa4abbb929f4eba1ee092be7a196ba1c7a359b233a38abbf100dc519a9a6ca2b9a4947497e412f96ceaf509bbd03c0ce25b17e401b6cd0a95fc355bbdc7680 WHIRLPOOL a7186e0a3c913c13d3b28d07f48bb31db929bf8e514ecb10ddac519e2ce3187c067d5aa928d3316d98f34e944571d1f95bec174fd461cded273ebb8937bc218b
diff --git a/dev-java/xom/files/xom-1.2.6.patch b/dev-java/xom/files/xom-1.2.6.patch
new file mode 100644
index 000000000000..3187e437306b
--- /dev/null
+++ b/dev-java/xom/files/xom-1.2.6.patch
@@ -0,0 +1,49 @@
+diff -Nur XOM/build.xml XOM_patched/build.xml
+--- XOM/build.xml 2010-06-21 06:03:14.000000000 +0300
++++ XOM_patched/build.xml 2011-03-13 07:05:01.000000000 +0200
+@@ -21,7 +21,6 @@
+ subject line. The XOM home page is http://www.xom.nu/
+ -->
+ <project name="XOM" default="help" basedir=".">
+-
+ <description>
+ Build XOM
+ </description>
+@@ -71,7 +70,7 @@
+ <property name="jaxen.dir" value="${build.dir}/jaxen-classes"/>
+
+ <property name="xml-apis.jar" value="${lib.dir}/xml-apis.jar"/>
+- <property name="parser.jar" value="${lib.dir}/dtd-xercesImpl.jar"/>
++ <property name="parser.jar" value="${lib.dir}/xercesImpl.jar"/>
+ <property name="xslt.jar" value="${lib.dir}/xalan.jar"/>
+ <property name="serializer.jar" value="${lib.dir}/serializer.jar"/>
+ <property name="tagsoup.jar" value="${lib2.dir}/tagsoup-1.2.jar"/>
+@@ -226,7 +225,7 @@
+ encoding="UTF-8"
+ fork="true"
+ includeAntRuntime="false"
+- excludes="nu/xom/pantry/* nu/xom/tools/* nu/xom/samples/*Servlet.java">
++excludes="nu/xom/pantry/* nu/xom/tools/* nu/xom/samples/">
+ <classpath refid="compile.class.path"/>
+ </javac>
+ <copy file="${build.src}/nu/xom/characters.dat" tofile="${build.dest}/nu/xom/characters.dat"/>
+@@ -323,7 +322,7 @@
+
+ <target name="jar" depends="compile" description="Create xom.jar">
+ <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask"
+- classpath="${lib.dir}/jarjar-1.0.jar"/>
++ classpath="${lib.dir}/jarjar.jar"/>
+ <jarjar jarfile="${build.dir}/${name}-${version}.jar"
+ basedir="${build.dest}"
+ index="no"
+@@ -862,8 +861,8 @@
+ </target>
+
+
+- <target name="compile-jaxen" description="Compile Jaxen" depends="get-jaxen">
+- <javac srcdir="${build.dir}/jaxen-${jaxenversion}/src/java/main"
++ <target name="compile-jaxen" description="Compile Jaxen">
++ <javac srcdir="lib/jaxen-${jaxenversion}/src/java/main"
+ destdir="${build.dir}/jaxen-classes"
+ debug="${debug}"
+ optimize="${optimize}"
diff --git a/dev-java/xom/files/xom-strip-fallback-parser.patch b/dev-java/xom/files/xom-strip-fallback-parser.patch
new file mode 100644
index 000000000000..49a324ef2dad
--- /dev/null
+++ b/dev-java/xom/files/xom-strip-fallback-parser.patch
@@ -0,0 +1,18 @@
+Author: Ralph Sennhauser <sera@gentoo.org>
+
+Don't build and install fallback parser relying on internel classes of
+SUNs/Oracles JVM >= 1.5. This allows building xom using ibm-jdk-bin. #399119
+
+--- /tmp/build.xml
++++ /tmp/build.xml
+@@ -235,10 +235,6 @@
+ <echo file="${build.dest}/nu/xom/version.txt">${version}</echo>
+
+ <copy file="${build.src}/nu/xom/compositions.dat" tofile="${build.dest}/nu/xom/compositions.dat" />
+-
+- <!-- This file requires Java 1.5 to generate so we compile it with a
+- different target and copy it over here. -->
+- <copy file="classes15/nu/xom/JDK15XML1_0Parser.class" tofile="${build.dest}/nu/xom/JDK15XML1_0Parser.class"/>
+ </target>
+
+
diff --git a/dev-java/xom/metadata.xml b/dev-java/xom/metadata.xml
new file mode 100644
index 000000000000..f202e54d9df3
--- /dev/null
+++ b/dev-java/xom/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>java</herd>
+ <longdescription>
+ XOM is a new XML object model. It is a tree-based API for processing
+ XML with Java that strives for correctness and simplicity.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-java/xom/xom-1.2.10.ebuild b/dev-java/xom/xom-1.2.10.ebuild
new file mode 100644
index 000000000000..f6d3a90bbc53
--- /dev/null
+++ b/dev-java/xom/xom-1.2.10.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+JAVA_PKG_IUSE="doc examples source"
+
+inherit java-pkg-2 java-ant-2
+
+JAXEN_V="1.1.6"
+JAXEN_P="jaxen-${JAXEN_V}"
+
+DESCRIPTION="A new XML object model"
+HOMEPAGE="http://cafeconleche.org/XOM/index.html"
+# Bundled jaxen as its moved under XOM's namespace
+SRC_URI="http://cafeconleche.org/XOM/${P}.tar.gz
+ http://dist.codehaus.org/jaxen/distributions/${JAXEN_P}-src.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc ppc64 x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+
+COMMON_DEPEND="dev-java/xerces:2
+ dev-java/xml-commons-external:1.3
+ examples? ( java-virtuals/servlet-api:2.4 )"
+
+RDEPEND=">=virtual/jre-1.4
+ ${COMMON_DEPEND}"
+
+DEPEND=">=virtual/jdk-1.4
+ dev-java/jarjar:1
+ ${COMMON_DEPEND}"
+
+S="${WORKDIR}/XOM"
+
+# Test require network access to pass.
+# They need a redirected http document on public web.
+RESTRICT="test"
+
+java_prepare() {
+ epatch "${FILESDIR}/${PN}-1.2.6.patch"
+ epatch "${FILESDIR}/${PN}-strip-fallback-parser.patch" #399119
+
+ # Delete test files as they aren't installed
+ rm -vr src/nu/xom/tests || die
+
+ # Delete bundled jars
+ rm -v *.jar lib/*.jar || die
+
+ # Delete bundled classes
+ find . -name "*.class" -delete -print || die
+
+ # Move bundled jaxen to where the build.xml expects it
+ mv "${WORKDIR}"/${JAXEN_P}/ lib/ || die
+
+ java-pkg_jar-from --into lib/ xml-commons-external-1.3
+ java-pkg_jar-from --into lib/ xerces-2
+ java-pkg_jar-from --build-only --into lib/ jarjar-1
+
+ # Tagsoup is only needed to run betterdoc but we use the pregenerated ones.
+}
+
+src_compile() {
+ local ant_flags="-Ddebug=off"
+ use examples && ant_flags="${ant_flags} -Dservlet.jar=$(java-pkg_getjar servlet-api-2.4 servlet-api.jar)"
+
+ ANT_TASKS="jarjar-1" eant jar ${ant_flags}\
+ $(use examples && echo samples)
+}
+
+src_install() {
+ java-pkg_newjar build/${P}.jar ${PN}.jar
+ use examples && java-pkg_dojar build/xom-samples.jar
+ dodoc Todo.txt
+
+ use doc && java-pkg_dojavadoc apidocs/
+ use source && java-pkg_dosrc src/*
+ use examples && java-pkg_doexamples --subdir nu/xom/samples src/nu/xom/samples
+}