summaryrefslogtreecommitdiff
path: root/dev-java/batik
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-03-31 10:04:50 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-03-31 10:04:50 +0100
commitf8b05ca448cdc580f580ff86eb8bef367d67c9ae (patch)
treeb11f11ae6a7fee98b05350f8cc542402aeb23d95 /dev-java/batik
parent15d97fe857a00a52fd4efb0a31ed0560f9de3a24 (diff)
gentoo auto-resync : 31:03:2023 - 10:04:50
Diffstat (limited to 'dev-java/batik')
-rw-r--r--dev-java/batik/Manifest3
-rw-r--r--dev-java/batik/batik-1.16.ebuild229
2 files changed, 232 insertions, 0 deletions
diff --git a/dev-java/batik/Manifest b/dev-java/batik/Manifest
index 2f66b50e5ff9..170415546e79 100644
--- a/dev-java/batik/Manifest
+++ b/dev-java/batik/Manifest
@@ -1,5 +1,8 @@
AUX batik-1.14-modules 461 BLAKE2B a22123561682c3990ad289ca888453b876bb1a4de03b435445758386297cb8e1058db777d4c79941a407c4b95ad8623a6450dc8ba0acf71f66b25a666ab7695c SHA512 19ec52318a76f16122e0740bb8f744e6b669537ad75f44931c1cf64c407a1d11b6eba4ea4b0e0e37ec5402e9ff99b76e8ae0e5b65f529f6ad56e30625cb7b77e
AUX batik-squiggle.desktop 177 BLAKE2B 7f4fbc31f31f6ddbdb7802ad4ea6b87c21b39b83cec2caf5f8b68634693b05c66e3f7da6d2cf69f5da6defa2d44fa4c5a0eba4af13308b8f18fb666be86b1d40 SHA512 7e7be90a0a779752cf04bbb1e702f5f3ca773129f7dfebcc3352e55f81cad2d65f6067e07c075f730b7f11235529804856fc226703b5e213216bc110dd978d8e
DIST batik-src-1.14.tar.gz 17647867 BLAKE2B 9385e77e739ece921012310a53953a6e258a5d748987e85dd20783ca248ae55619db6472b7590a45fe40a1b51c693478a37a7dbe1a958b42392c525e5f228815 SHA512 689c52f58f8f0456c89bd18745d2d92e7590b9054bea71b96be87d44977057d583e78504cbf14afc3e0c585d2383dac3009c7c421de868c847db045e921da8fb
+DIST batik-src-1.16.tar.gz 13495722 BLAKE2B 041442b5485588a23b6e335cc46630b3c73fb8a36157e8bc77baa7b399bf7986549039f27e89727ebc98b8492095b957c8c6deb12b232a39784844e4c5edf6ab SHA512 024ab7a204d00b6c855e26c62a326dfcde5fb486a7635890c6fcb37d421c7195ae04b3d292daabc0fcb6564f55bfa93d6fef15cf4c2dad77e569ca17d1eeb250
+DIST batik-src-1.16.tar.gz.asc 833 BLAKE2B fdcfb26b9cc0d4fb0c37ce42d65628629ab0c27257ebe07715d5b2786500515125a240957c9ba76333aa54320905273031354cf09ee29e3a79fc7529640ebf03 SHA512 7fc3450d2b4d19e03528707fc20d6e18af926938ad24ad7460cc1c423c6c40507059fff2e2921d82fc582a4b486a75141fb407d450b043e2cc5007e0c2d486ea
EBUILD batik-1.14-r1.ebuild 5212 BLAKE2B 3d4b50a16f0e0e940fa0a7074abbce4824f703d50d3099af157ebdeb3d8147fb7f016b105837e044a836a79fbe96a0e48d8948c1669d0e46d8a64065eed69835 SHA512 39bddd9d287ed85594924148da66586dd9d42e91bce2a18337826494e16846080524b7845266a32675cd8a5891b41c6f1540beb958d1fb3eb07533fcbfb9a6f1
+EBUILD batik-1.16.ebuild 6228 BLAKE2B 271da700349b4d8e27317dc62c30a3cb2d62517e4d02a8f9a74c1eb59de23ed38e0ec0f0f8fc318333f5c58d0f1b26208d7139b30f0142741f9f9c512a49cf32 SHA512 eaab9e535e0dc7fcbba27386848dd11f25b62b4f433e3d3a925de331e125632e3c40662f38405374ea6e46626667d57f276a2c4a431f5d0c79f3f852850a8ba7
MISC metadata.xml 610 BLAKE2B c589c175b595deb71eae6b8fccd46f4d6b82331f636cff28b6074300b6495efb780d157bb1b5b1359070cca7405138fcff719d72f1038023357fc7ab05c52b87 SHA512 73a6bb61c87645d1600ab90ca954599208c8599e967f6e999d973fa80e9693435db8a75ace95c8881486c8e2929d5a201a51e821e5f58763c273b21b5a32c229
diff --git a/dev-java/batik/batik-1.16.ebuild b/dev-java/batik/batik-1.16.ebuild
new file mode 100644
index 000000000000..aef311523b6a
--- /dev/null
+++ b/dev-java/batik/batik-1.16.ebuild
@@ -0,0 +1,229 @@
+# Copyright 1999-2023 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}/batik-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="1.16"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+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:2
+"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-xmlgraphics-batik )"
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/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
+}
+
+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"
+ 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 "${FILESDIR}"/batik-squiggle.desktop
+ doicon batik-svgbrowser/src/main/resources/org/apache/batik/apps/svgbrowser/resources/init.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 \
+ "-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
+}