summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolkmar W. Pogatzki <gentoo@pogatzki.net>2023-09-07 15:46:50 +0200
committerMiroslav Šulc <fordfrog@gentoo.org>2023-09-16 13:53:43 +0200
commit13d73e6bdb2863a113a5cbc65cbe3ef4dbc1d27f (patch)
tree19cc4354bf3e10b4b4db27fd07d7fc9555704129 /dev-java
parentsec-keys/openpgp-keys-apache-xerces-j: new package, add 20200102 (diff)
downloadgentoo-13d73e6bdb2863a113a5cbc65cbe3ef4dbc1d27f.tar.gz
gentoo-13d73e6bdb2863a113a5cbc65cbe3ef4dbc1d27f.tar.bz2
gentoo-13d73e6bdb2863a113a5cbc65cbe3ef4dbc1d27f.zip
dev-java/xerces: add verify-sig
Also adjusts misplaced resources. Signed-off-by: Volkmar W. Pogatzki <gentoo@pogatzki.net> Closes: https://github.com/gentoo/gentoo/pull/32809 Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/xerces/Manifest1
-rw-r--r--dev-java/xerces/xerces-2.12.2-r1.ebuild68
2 files changed, 69 insertions, 0 deletions
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
+}