From c6510d1c32926384f9c60451e5831b0301fed07a Mon Sep 17 00:00:00 2001 From: Patrice Clement Date: Wed, 11 Nov 2015 19:39:18 +0000 Subject: dev-java/xml-xmlbeans: Add a patch to get compilation to work with Java 8. Package-Manager: portage-2.2.20.1 Signed-off-by: Patrice Clement --- .../xml-xmlbeans-2.6.0-SchemaCompiler.java.patch | 14 +++++ dev-java/xml-xmlbeans/xml-xmlbeans-2.6.0.ebuild | 71 +++++++++++++--------- 2 files changed, 55 insertions(+), 30 deletions(-) create mode 100644 dev-java/xml-xmlbeans/files/xml-xmlbeans-2.6.0-SchemaCompiler.java.patch (limited to 'dev-java') diff --git a/dev-java/xml-xmlbeans/files/xml-xmlbeans-2.6.0-SchemaCompiler.java.patch b/dev-java/xml-xmlbeans/files/xml-xmlbeans-2.6.0-SchemaCompiler.java.patch new file mode 100644 index 000000000000..9f2958bc243a --- /dev/null +++ b/dev-java/xml-xmlbeans/files/xml-xmlbeans-2.6.0-SchemaCompiler.java.patch @@ -0,0 +1,14 @@ +--- src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCompiler.java.orig 2015-11-11 15:58:46.578486000 +0000 ++++ src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCompiler.java 2015-11-11 15:59:05.351486000 +0000 +@@ -217,8 +217,9 @@ + boolean debug = (cl.getOpt("debug") != null); + + String allowmdef = cl.getOpt("allowmdef"); +- Set mdefNamespaces = (allowmdef == null ? Collections.EMPTY_SET : +- new HashSet(Arrays.asList(XmlListImpl.split_list(allowmdef)))); ++ Set mdefNamespaces = Collections.EMPTY_SET; ++ // Set mdefNamespaces = (allowmdef == null ? Collections.EMPTY_SET : ++ // new HashSet(Arrays.asList(XmlListImpl.split_list(allowmdef)))); + + List extensions = new ArrayList(); + if (cl.getOpt("extension") != null) { diff --git a/dev-java/xml-xmlbeans/xml-xmlbeans-2.6.0.ebuild b/dev-java/xml-xmlbeans/xml-xmlbeans-2.6.0.ebuild index 95abb656787e..e947374bd57c 100644 --- a/dev-java/xml-xmlbeans/xml-xmlbeans-2.6.0.ebuild +++ b/dev-java/xml-xmlbeans/xml-xmlbeans-2.6.0.ebuild @@ -1,12 +1,11 @@ -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI="5" - JAVA_PKG_IUSE="doc source" -inherit eutils java-pkg-2 java-ant-2 +inherit java-pkg-2 java-ant-2 MY_P="xmlbeans-${PV}" @@ -16,24 +15,36 @@ SRC_URI="http://archive.apache.org/dist/xmlbeans/source/${MY_P}-src.zip" LICENSE="Apache-2.0" SLOT="2" -KEYWORDS="~amd64" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" -COMMON_DEP="dev-java/annogen:0 - dev-java/ant-core:0 +CDEPEND=" + dev-java/saxon:9 dev-java/jsr173:0 + dev-java/annogen:0 dev-java/piccolo:0 - dev-java/saxon:9 + dev-java/ant-core:0 dev-java/xml-commons-resolver:0" -RDEPEND=">=virtual/jre-1.6 - ${COMMON_DEP}" +RDEPEND=" + ${CDEPEND} + >=virtual/jre-1.6" -DEPEND=">=virtual/jdk-1.6 - ${COMMON_DEP}" +DEPEND=" + ${CDEPEND} + >=virtual/jdk-1.6" S="${WORKDIR}/${MY_P}" +PATCHES=( + "${FILESDIR}"/${P}-remove-jamsupport.patch + "${FILESDIR}"/${P}-piccolo.patch + "${FILESDIR}"/${P}-jam.patch + "${FILESDIR}"/${P}-SchemaCompiler.java.patch +) + java_prepare() { + epatch "${PATCHES[@]}" + # Preserve the old xbean jar, which is required for bootstrapping schemas. mv external/lib/oldxbean.jar "${T}"/ || die @@ -41,33 +52,34 @@ java_prepare() { find . -name '*.jar' -exec rm -v {} + || die pushd external/lib > /dev/null || die - find . -iname '*.zip' -exec rm -v {} + || die - # Symlink the dependencies. - java-pkg_jar-from jsr173{,.jar,_1.0_api_bundle.jar} - java-pkg_jar-from jsr173{,.jar,_1.0_api.jar} + find . -iname '*.zip' -exec rm -v {} + || die - mkdir xml-commons-resolver-1.1 || die - java-pkg_jar-from xml-commons-resolver{,.jar} xcresolver.zip - java-pkg_jar-from xml-commons-resolver{,.jar,-1.1/resolver.jar} + # Symlink the dependencies. + java-pkg_jar-from jsr173{,.jar,_1.0_api_bundle.jar} + java-pkg_jar-from jsr173{,.jar,_1.0_api.jar} - # Put back the preserved old xbean jar. - mv "${T}"/oldxbean.jar . || die - popd > /dev/null || die + mkdir xml-commons-resolver-1.1 || die + java-pkg_jar-from xml-commons-resolver{,.jar} xcresolver.zip + java-pkg_jar-from xml-commons-resolver{,.jar,-1.1/resolver.jar} - # Remove broken jamsupport. - epatch "${FILESDIR}"/${P}-remove-jamsupport.patch + # Put back the preserved old xbean jar. + mv "${T}"/oldxbean.jar . || die - # Patch package imports. - epatch "${FILESDIR}"/${P}-piccolo.patch - epatch "${FILESDIR}"/${P}-jam.patch + popd > /dev/null || die # Create empty directories to let the build pass. - mkdir -p build/classes/{jam,piccolo} + mkdir -p build/classes/{jam,piccolo} || die } JAVA_ANT_REWRITE_CLASSPATH="true" -EANT_GENTOO_CLASSPATH="annogen,ant-core,piccolo,saxon-9" + +EANT_GENTOO_CLASSPATH=" + annogen + piccolo + ant-core + saxon-9 +" EANT_BUILD_TARGET="deploy" EANT_DOC_TARGET="docs" @@ -88,8 +100,7 @@ src_install() { use source && java-pkg_dosrc src/* } -pkg_postinst() -{ +pkg_postinst() { ewarn "This package uses an old binary xbean to bootstrap its schemas." ewarn "If you do not trust the binary part of this build, please unmerge." } -- cgit v1.2.3