commit:     13d73e6bdb2863a113a5cbc65cbe3ef4dbc1d27f
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Thu Sep  7 13:46:50 2023 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sat Sep 16 11:53:43 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=13d73e6b

dev-java/xerces: add verify-sig

Also adjusts misplaced resources.

Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/32809
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 dev-java/xerces/Manifest                |  1 +
 dev-java/xerces/xerces-2.12.2-r1.ebuild | 68 +++++++++++++++++++++++++++++++++
 2 files changed, 69 insertions(+)

diff --git a/dev-java/xerces/Manifest b/dev-java/xerces/Manifest
index a536128f8645..768ed441fa44 100644
--- a/dev-java/xerces/Manifest
+++ b/dev-java/xerces/Manifest
@@ -1 +1,2 @@
 DIST Xerces-J-src.2.12.2.tar.gz 1812583 BLAKE2B 
f1b5928abe2852acc4d554c47aa7cbd81a568e15c8a1fd5ea98dc526c52838b0a50920d2ed807e607b01c875676e54578f1493856b06de5a7ba8784591f7f06f
 SHA512 
e71a692212a974ebfa39af5ffd023b433ece34425b12aceeffe89cebe04f28dd8fa46a131a56f30295dca36de115128a6d7e05172c82f5b85d914cd991f34056
+DIST Xerces-J-src.2.12.2.tar.gz.asc 849 BLAKE2B 
58faca219413b5b13ded6bedb16acca5ffe53a6890c2ea6ec6f5b2b19b46b179bd74b225e608b936b0d6abad24b947930da24339256137a291e5bc863a11c416
 SHA512 
77cc480b9eff693ab7b5fe4c8a8963cbd53e895dd130bc0ef3fbaebce6d64e59c068806f10bbf650f51a4fb132a49d24c869c8a01e9922bf792bb479602b9846

diff --git a/dev-java/xerces/xerces-2.12.2-r1.ebuild 
b/dev-java/xerces/xerces-2.12.2-r1.ebuild
new file mode 100644
index 000000000000..d21f43579ee1
--- /dev/null
+++ b/dev-java/xerces/xerces-2.12.2-r1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="xerces:xercesImpl:2.12.2"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Xerces Java XML parser"
+HOMEPAGE="https://xerces.apache.org/xerces2-j/index.html";
+SRC_URI="mirror://apache/xerces/j/source/Xerces-J-src.${PV}.tar.gz
+       verify-sig? ( 
https://downloads.apache.org/xerces/j/source/Xerces-J-src.${PV}.tar.gz.asc )"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+CP_DEPEND="
+       dev-java/xml-commons-external:1.4
+       dev-java/xml-commons-resolver:0"
+
+# JDK 11+ already privides the following file and the compilation
+# fails if xerces provides it too. On contrary, compilation on 1.8
+# fails if we don't provide the file because it's not part of 1.8.
+# By restricting compilation to 1.8 and providing the file we build
+# a jar that should work both on 1.8 and also on the newer versions
+# of JDK.
+# the file: "org/w3c/dom/html/HTMLDOMImplementation.class"
+DEPEND="
+       ${CP_DEPEND}
+       virtual/jdk:1.8"
+
+RDEPEND="
+       ${CP_DEPEND}
+       >=virtual/jre-1.8:*"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-xerces-j )"
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/xerces-j.apache.org.asc"
+
+DOCS=( LICENSE NOTICE README 
{LICENSE.resolver,LICENSE.serializer,NOTICE.resolver,NOTICE.serializer}.txt )
+HTML_DOCS=( 
{LICENSE.DOM-documentation,LICENSE.DOM-software,LICENSE-SAX,Readme}.html )
+
+S="${WORKDIR}/${P//./_}"
+
+JAVA_SRC_DIR="src"
+JAVA_RESOURCE_DIRS="resources"
+
+src_prepare() {
+       java-pkg-2_src_prepare
+       # java-pkg-simple.eclass wants resources in JAVA_RESOURCE_DIRS
+       mkdir -p "resources/META-INF/services"|| die
+       pushd "src" > /dev/null || die
+               find -type f \
+                       \( -name 'javax.xml.*Factory' \
+                       -or -name '*DOMImplementationSourceList' \
+                       -or -name 'org.xml.sax.driver' \) \
+                       | xargs mv -t ../resources/META-INF/services || die
+               find -type f \
+                       ! -name '*.java' \
+                       ! -name 'manifest.xerces' \
+                       ! -name 'package.html' \
+                       ! -name '*Configuration' \
+                       ! -name '*DOMImplementationSourceImpl' \
+                       | xargs cp --parent -t ../resources || die
+       popd > /dev/null || die
+}

Reply via email to