summaryrefslogtreecommitdiff
path: root/dev-java/batik
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-10-31 03:04:18 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-10-31 03:04:18 +0000
commitb846e1a1ef5685462a20abbc77cf57ead9064b85 (patch)
treeebf4581a96d87fbd1b7ab6cce8689ba4caa40e3b /dev-java/batik
parentfb57e01054259b1160d01c3c7ed9efab7902ed7d (diff)
gentoo auto-resync : 31:10:2024 - 03:04:18
Diffstat (limited to 'dev-java/batik')
-rw-r--r--dev-java/batik/Manifest3
-rw-r--r--dev-java/batik/batik-1.18.ebuild247
2 files changed, 250 insertions, 0 deletions
diff --git a/dev-java/batik/Manifest b/dev-java/batik/Manifest
index fd779b041ec1..acb4e9183dab 100644
--- a/dev-java/batik/Manifest
+++ b/dev-java/batik/Manifest
@@ -1,4 +1,7 @@
DIST batik-src-1.17.tar.gz 13578640 BLAKE2B c77f994674dd8e8054ad6f753e53304ce6daad9b9eadceef053ede0c746872528ecd1caa6e87064d41892fed0c39f07936779851777208229f817bf84cb529b2 SHA512 0879f298142630e96931f429ade5e7107d2d981c6c3a99b8f2ddca8e26ea4fde1b7c717d06412c57d64759bed6c5f2d056970d59e19e66caafb926cb30078516
DIST batik-src-1.17.tar.gz.asc 833 BLAKE2B 33836c8f0cbc878410ce8b2738dbbb4dc47d6067c5f58febb3460d836424b1c1d815f369bd7aeb15a8ed9371628e03731c1338aa6524c8a935c48b8092e3bb1e SHA512 513bd3d5c212ce4d98daa911f36e1b00e2f2b7a637e93ea116a2ebe848e20664d722ccf6c8928eac7170fa84d3b38eec86a71c8a0a7e21fd8622c8d475991c60
+DIST batik-src-1.18.tar.gz 13699469 BLAKE2B 003a467b6948b902f56f004bf5c7d41f369bf49520d55fd70af3d3b8edef02d04557fdad5e4da70395a30c755f777791c89714edaa094eaa2964972eb81bdbf1 SHA512 209c6f4c76769cf1db616c5fe43c71d23c92afeb62e11bc7605baaa18bf9177efbb7a91a98bf03c3b4cd917bd7b7bd83e87083d16b11b3e57d3f31beeb8e1d7b
+DIST batik-src-1.18.tar.gz.asc 833 BLAKE2B a779b94a666edcab5b4c69866b4e7388ce6b8d9869d59773b084d870152cffd8c8cfd74df0f2a4ef06e5d598acb3b7bc00ec841871411b379f514b3fe2019765 SHA512 2fe6de9394f89c90e5ad2ede241c57bfbe5da4627b3730d445b2daa06b1ae71945bd65cda0d7a6bd46db536f318f755778a5b5a5b52080872a3143acd0d4677d
EBUILD batik-1.17-r1.ebuild 6549 BLAKE2B 71b4872efd2dcbad3877e79d17bcb3a93849cb6d0046676615d5af178ae4652c15f1cfef726f19e5b2228cae75d1e00ace5c70ae3e880c94801e5fb26ac1961b SHA512 a2445708cc79786103390a001ff9e9d974b9dc0291eca6409950ce8e38ac9070f1d07ddad15d6784217412e8755eb9232b3f9f520874e1f9790c88d2ebf9baa3
+EBUILD batik-1.18.ebuild 6541 BLAKE2B c19dc5f525f295ec050c669cae6410b8b47cdfb9f61de10ff7120852e0fb410f9a688fe975cfd0aa1052e2650b2a6e2dd7f02278149d981fbb39976e0370f86d SHA512 16667ee9a8733217e40fa437bdc8954633e4a38d78a5c1baa66258b65f72a69fa03773ccb3405f51f87e687f685e4e97d34716d0d9ece2dce38e5173fa9cf221
MISC metadata.xml 610 BLAKE2B c589c175b595deb71eae6b8fccd46f4d6b82331f636cff28b6074300b6495efb780d157bb1b5b1359070cca7405138fcff719d72f1038023357fc7ab05c52b87 SHA512 73a6bb61c87645d1600ab90ca954599208c8599e967f6e999d973fa80e9693435db8a75ace95c8881486c8e2929d5a201a51e821e5f58763c273b21b5a32c229
diff --git a/dev-java/batik/batik-1.18.ebuild b/dev-java/batik/batik-1.18.ebuild
new file mode 100644
index 000000000000..c37e45435562
--- /dev/null
+++ b/dev-java/batik/batik-1.18.ebuild
@@ -0,0 +1,247 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.xmlgraphics:batik:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit desktop java-pkg-2 java-pkg-simple xdg-utils verify-sig
+
+DESCRIPTION="XML Graphics Batik"
+HOMEPAGE="https://xmlgraphics.apache.org/batik/"
+SRC_URI="mirror://apache/xmlgraphics/batik/source/batik-src-${PV}.tar.gz
+ verify-sig? ( https://downloads.apache.org/xmlgraphics/batik/source/batik-src-${PV}.tar.gz.asc )"
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+BDEPEND="
+ app-arch/zip
+ verify-sig? ( sec-keys/openpgp-keys-apache-xmlgraphics-batik )
+"
+
+CP_DEPEND="
+ dev-java/jacl:0
+ dev-java/rhino:1.6
+ dev-java/xalan:0
+ dev-java/xml-commons-external:1.4
+ dev-java/xmlgraphics-commons:0
+"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/xmlgraphics-batik.apache.org.asc"
+
+DOCS=( CHANGES NOTICE README )
+
+# 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 comment them out but keep them in the mudules list for later.
+# The same for batik-test-old which depends on fop-transcoder-allinone which itself depends on batik.
+# We also don't build batik-shared-resources since we install those resources on global scope.
+# And we don't build batik-all. Instead we install the modules.
+# BATIK_MODULES is the "Reactor Build Order" extracted from the output of "mvn dependency:tree":
+# mvn -DskipTests dependency:tree \
+# | sed -n '/Reactor Build Order:/,/Building org/p' \
+# | cut -d':' -f2 | cut -d' ' -f1 | grep 'batik-' || die
+BATIK_MODULES=(
+# batik-shared-resources
+ batik-constants
+ batik-i18n
+ batik-test
+ batik-util
+ batik-awt-util
+ batik-css
+ batik-ext
+ batik-xml
+ batik-dom
+ batik-parser
+ batik-svg-dom
+ batik-anim
+ batik-gvt
+ batik-script
+ batik-bridge
+ batik-svggen
+ batik-transcoder
+ batik-codec
+ batik-extension
+ batik-gui-util
+ batik-svgrasterizer
+# batik-rasterizer-ext
+ batik-rasterizer
+ batik-slideshow
+ batik-swing
+ batik-svgbrowser
+# batik-squiggle-ext
+ batik-squiggle
+ batik-svgpp
+ batik-ttf2svg
+# batik-all
+ batik-test-swing
+ batik-test-svg
+# batik-test-old
+)
+
+src_prepare() {
+ java-pkg_clean
+ java-pkg-2_src_prepare
+ # We drop support for jython due to bug #825486.
+ rm batik-script/src/main/java/org/apache/batik/script/jpython/JPythonInterpreter.java || die
+ rm batik-script/src/main/java/org/apache/batik/script/jpython/JPythonInterpreterFactory.java || die
+
+ cat > "batik-squiggle-${SLOT}.desktop" <<-EOF || die
+ [Desktop Entry]
+ Name=Squiggle
+ Comment=SVG browser
+ Exec=batik-squiggle-${SLOT}
+ Icon=init
+ Terminal=false
+ Type=Application
+ Categories=Graphics;VectorGraphics;
+ MimeType=image/svg+xml
+ EOF
+}
+
+src_compile() {
+ # We loop over the modules list and compile the jar files.
+ local module
+ for module in "${BATIK_MODULES[@]}"; do
+ einfo "Compiling ${module}"
+
+ JAVA_JAR_FILENAME="${module}.jar"
+ JAVA_MAIN_CLASS=""
+ JAVA_RESOURCE_DIRS=""
+ JAVA_SRC_DIR=""
+
+ # Not all of the modules have resources.
+ if [[ -d "${module}/src/main/resources" ]]; then
+ JAVA_RESOURCE_DIRS="${module}/src/main/resources"
+ fi
+
+ # Get Main-Class from the module's pom.xml
+ 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-squiggle (also batik-rasterizer-ext, batik-squiggle-ext)
+ else
+ # Create the JAR file (not possible without adding at least one file).
+ jar -cfe "${module}.jar" "${JAVA_MAIN_CLASS}" -C . README || die
+ zip -d "${module}.jar" "README" || die
+ fi
+ fi
+
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":${module}.jar"
+
+ rm -fr target || die
+ done
+
+ if use doc; then
+ JAVA_SRC_DIR=""
+ JAVA_JAR_FILENAME="ignoreme.jar"
+
+ for module in "${BATIK_MODULES[@]}"; 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
+
+ java-pkg-simple_src_compile
+ fi
+}
+
+src_test() {
+ JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+
+ for module in "${BATIK_MODULES[@]}"; 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
+}
+
+src_install() {
+ einstalldocs
+ domenu "batik-squiggle-${SLOT}.desktop"
+ newicon -s scalable \
+ batik-svgbrowser/src/main/resources/org/apache/batik/apps/svgbrowser/resources/init.svg \
+ squiggle-${SLOT}.svg
+
+ for module in "${BATIK_MODULES[@]}"; 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
+
+ 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 \
+ "\$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
+}