From 752d6256e5204b958b0ef7905675a940b5e9172f Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 12 May 2022 16:42:50 +0300 Subject: gentoo resync : 12.05.2022 --- dev-java/batik/batik-1.14-r1.ebuild | 178 ++++++++++++++++++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 dev-java/batik/batik-1.14-r1.ebuild (limited to 'dev-java/batik/batik-1.14-r1.ebuild') 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..97c0d8183481 --- /dev/null +++ b/dev-java/batik/batik-1.14-r1.ebuild @@ -0,0 +1,178 @@ +# 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:.*\(.*\):\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:.*\(.*\):\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 +} -- cgit v1.2.3