summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolkmar W. Pogatzki <gentoo@pogatzki.net>2022-04-27 11:02:28 +0200
committerFlorian Schmaus <flow@gentoo.org>2022-05-01 21:12:37 +0200
commit3815608be4494944619d4c73383c6d376cbd1be4 (patch)
tree0b6f805116f6d67e44cca12d159731a1008b4b06 /dev-java/batik
parentdev-util/bazel: fix JDK/JRE dependencies (diff)
downloadgentoo-3815608be4494944619d4c73383c6d376cbd1be4.tar.gz
gentoo-3815608be4494944619d4c73383c6d376cbd1be4.tar.bz2
gentoo-3815608be4494944619d4c73383c6d376cbd1be4.zip
dev-java/batik: dependency update xml-commons-external:1.4
Signed-off-by: Volkmar W. Pogatzki <gentoo@pogatzki.net> Closes: https://github.com/gentoo/gentoo/pull/25273 Signed-off-by: Florian Schmaus <flow@gentoo.org>
Diffstat (limited to 'dev-java/batik')
-rw-r--r--dev-java/batik/batik-1.14-r1.ebuild191
1 files changed, 191 insertions, 0 deletions
diff --git a/dev-java/batik/batik-1.14-r1.ebuild b/dev-java/batik/batik-1.14-r1.ebuild
new file mode 100644
index 000000000000..4d4b9a29d2be
--- /dev/null
+++ b/dev-java/batik/batik-1.14-r1.ebuild
@@ -0,0 +1,191 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Skeleton command:
+# java-ebuilder --generate-ebuild --workdir . --pom pom.xml --download-uri mirror://apache/xmlgraphics/batik/source/batik-src-1.14.tar.gz --slot 1.14 --keywords "~amd64 ~ppc64 ~x86" --ebuild batik-1.14.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.xmlgraphics:batik:1.14"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit desktop java-pkg-2 java-pkg-simple xdg-utils
+
+DESCRIPTION="XML Graphics Batik"
+HOMEPAGE="https://xmlgraphics.apache.org/batik/"
+SRC_URI="mirror://apache/xmlgraphics/batik/source/batik-src-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="1.14"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+CP_DEPEND="
+ dev-java/jacl:0
+ dev-java/jython:2.7
+ dev-java/rhino:1.6
+ dev-java/xalan:0
+ dev-java/xml-commons-external:1.4
+ dev-java/xmlgraphics-commons:2
+"
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+DOCS=( {CHANGES,NOTICE,README} )
+
+S="${WORKDIR}/batik-${PV}"
+
+src_prepare() {
+ default
+ java-pkg_clean
+}
+
+src_compile() {
+
+ # We loop over the modules list and compile the jar files.
+ while read module; do
+
+ einfo "Compiling $module"
+
+ JAVA_SRC_DIR=""
+ JAVA_RESOURCE_DIRS=""
+ JAVA_JAR_FILENAME="$module.jar"
+ JAVA_MAIN_CLASS=""
+
+ # Not all of the modules have resources.
+ if [[ -d $module/src/main/resources ]]; then
+ JAVA_RESOURCE_DIRS="$module/src/main/resources"
+ fi
+
+ # Don't let sed die on modules without MainClass.
+ JAVA_MAIN_CLASS=$( sed -n 's:.*<mainClass>\(.*\)</mainClass>:\1:p' $module/pom.xml )
+
+ # Some modules don't have source code.
+ if [[ -d $module/src/main/java/org ]]; then
+ JAVA_SRC_DIR="$module/src/main/java"
+ java-pkg-simple_src_compile
+ else
+ # This case applies to batik-rasterizer.
+ if [[ -d $module/src/main/resources/org ]]; then
+ jar -cfe $module.jar "${JAVA_MAIN_CLASS}" -C "$module/src/main/resources" . || die
+ # Else for batik-rasterizer-ext, batik-squiggle and batik-squiggle-ext
+ else
+ jar -cfe $module.jar "${JAVA_MAIN_CLASS}" -C . README || die
+ zip -d $module.jar "README"
+ fi
+ fi
+
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":$module.jar"
+
+ rm -fr target || die
+
+ # Modules batik-rasterizer-ext and batik-squiggle-ext, upstream puts their jar files in the extensions
+ # directory, see batik-extension/src/main/resources/org/apache/batik/extensions/README.txt
+ # We keep them in the mudules list for later but omit them by 'grep -v'.
+ # The same for batik-test-old which depends on fop-transcoder-allinone which itself depends on batik.
+ # batik-1.14-modules is the "Reactor Build Order" extracted from the output of "mvn dependency:tree".
+ done < <(grep -v '\(batik-rasterizer-ext\|batik-squiggle-ext\|batik-test-old\)' "${FILESDIR}"/batik-1.14-modules)
+
+ if use doc; then
+
+ JAVA_SRC_DIR=""
+ JAVA_JAR_FILENAME="ignoreme.jar"
+
+ while read module; do
+
+ # Some modules don't have source code
+ if [[ -d $module/src/main/java/org ]]; then
+ JAVA_SRC_DIR+=( "$module/src/main/java" )
+ fi
+
+ done < "${FILESDIR}"/batik-1.14-modules
+
+ java-pkg-simple_src_compile
+ fi
+}
+
+src_test() {
+
+ JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+
+ while read module; do
+
+ einfo "Testing $module"
+
+ JAVA_TEST_SRC_DIR=""
+ JAVA_TEST_RESOURCE_DIRS=""
+ JAVA_TEST_RUN_ONLY=""
+
+ if [[ -d $module/src/test/resources ]]; then
+ JAVA_TEST_RESOURCE_DIRS="$module/src/test/resources"
+ fi
+
+ # https://github.com/apache/xmlgraphics-batik/blob/refs/tags/batik-1_14/batik-util/pom.xml#L74-L75
+ if [[ $module == batik-util ]]; then
+ JAVA_TEST_RUN_ONLY="org.apache.batik.util.Base64TestCases"
+ fi
+
+ if [[ -d $module/src/test/java/org ]]; then
+ JAVA_TEST_SRC_DIR="$module/src/test/java"
+ java-pkg-simple_src_test
+ fi
+
+ done < <(grep -v '\(batik-rasterizer-ext\|batik-squiggle-ext\|batik-test-old\)' "${FILESDIR}"/batik-1.14-modules)
+}
+
+src_install() {
+ einstalldocs
+ domenu "${FILESDIR}"/batik-squiggle.desktop
+ doicon batik-svgbrowser/src/main/resources/org/apache/batik/apps/svgbrowser/resources/init.svg
+
+ while read module; do
+
+ JAVA_MAIN_CLASS=$( sed -n 's:.*<mainClass>\(.*\)</mainClass>:\1:p' $module/pom.xml )
+
+ java-pkg_dojar $module.jar
+
+ # Add a launcher if the module has a MainClass.
+ if [[ -n "${JAVA_MAIN_CLASS}" ]]; then
+ java-pkg_dolauncher "$module-${SLOT}" --main "${JAVA_MAIN_CLASS}"
+ fi
+
+ # Some modules don't have source code
+ if [[ -d $module/src/main/java/org ]]; then
+
+ if use source; then
+ java-pkg_dosrc "$module/src/main/java/*"
+ fi
+
+ fi
+
+ done < <(grep -v '\(batik-rasterizer-ext\|batik-squiggle-ext\|batik-test-old\)' "${FILESDIR}"/batik-1.14-modules)
+
+ local java_policy_file="${JAVA_PKG_SHAREPATH}/etc/${PN}.policy"
+ insinto "$(dirname "${java_policy_file}")"
+ newins - "$(basename "${java_policy_file}")" <<- _EOF_
+ grant codeBase "file:${EPREFIX}${JAVA_PKG_JARDEST}/-" {
+ permission java.security.AllPermission;
+ };
+ _EOF_
+ java-pkg_register-environment-variable \
+ gjl_java_args \
+ "-Djava.security.policy=file:${EPREFIX}${java_policy_file}"
+
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ fi
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}