diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-06-30 13:42:59 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-06-30 13:42:59 +0100 |
commit | e2e7cc7d880b593b2bc94bf648dff853c97225f2 (patch) | |
tree | ccf9a6125715be0d1b25520916bead6d2d282552 /dev-java/asm/asm-9.5.ebuild | |
parent | 560c9b9748b885a005f22dac90f6e2622fe9ead5 (diff) |
gentoo auto-resync : 30:06:2023 - 13:42:59
Diffstat (limited to 'dev-java/asm/asm-9.5.ebuild')
-rw-r--r-- | dev-java/asm/asm-9.5.ebuild | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/dev-java/asm/asm-9.5.ebuild b/dev-java/asm/asm-9.5.ebuild new file mode 100644 index 000000000000..1698104c5049 --- /dev/null +++ b/dev-java/asm/asm-9.5.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# No tests because: +# package org.junit.jupiter.api does not exist +# package org.junit.jupiter.params does not exist +JAVA_PKG_IUSE="doc source" +MAVEN_PROVIDES=" + org.ow2.asm:asm-bom:${PV} + org.ow2.asm:asm:${PV} + org.ow2.asm:asm-analysis:${PV} + org.ow2.asm:asm-commons:${PV} + org.ow2.asm:asm-tree:${PV} + org.ow2.asm:asm-util:${PV} +" + +inherit java-pkg-2 java-pkg-simple + +DESCRIPTION="Bytecode manipulation framework for Java" +HOMEPAGE="https://asm.ow2.io" +MY_P="ASM_${PV//./_}" +SRC_URI="https://gitlab.ow2.org/asm/asm/-/archive/${MY_P}/asm-${MY_P}.tar.bz2" +S="${WORKDIR}/asm-${MY_P}" + +LICENSE="BSD" +SLOT="9" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~x64-macos" + +DEPEND=">=virtual/jdk-11:*" +RDEPEND=">=virtual/jre-1.8:*" + +ASM_MODULES=( "asm" "asm-tree" "asm-analysis" "asm-commons" "asm-util" ) + +src_prepare() { + default + local module + touch "${T}/asm.module" || die + for module in "${ASM_MODULES[@]}"; do + module=${module/-/.} + cat > ${module/./-}/src/main/java/module-info.java <<-EOF || die + open module org.objectweb.${module/analysis/tree.analysis} { + $(cat ${T}/asm.module) + requires java.base; + exports org.objectweb.${module/analysis/tree.analysis}; + } + EOF + echo "requires transitive org.objectweb.${module/analysis/tree.analysis};" \ + >> "${T}/asm.module" || die + done + sed -e '/^$/d' \ + -e '/asm;/p;s:\(asm\)\(;\):\1.signature\2:' \ + -i asm/src/main/java/module-info.java || die + sed -e '/analysis/d' \ + -i asm-commons/src/main/java/module-info.java || die + sed -e '/commons/d' \ + -i asm-util/src/main/java/module-info.java || die +} + +src_compile() { + local module + for module in "${ASM_MODULES[@]}"; do + einfo "Compiling ${module}" + JAVA_JAR_FILENAME="${module}.jar" + JAVA_SRC_DIR="${module}/src/main/java" + java-pkg-simple_src_compile + JAVA_GENTOO_CLASSPATH_EXTRA+=":${module}.jar" + rm -r target || die + done + + if use doc; then + einfo "Compiling javadocs" + JAVA_JAR_FILENAME="ignoreme.jar" + JAVA_SRC_DIR=() + for module in "${ASM_MODULES[@]}"; do + rm "${module}/src/main/java/module-info.java" || die + JAVA_SRC_DIR+=("${module}/src/main/java") + done + java-pkg-simple_src_compile + fi +} + +src_install() { + local module + for module in "${ASM_MODULES[@]}"; do + java-pkg_dojar ${module}.jar + if use source; then + java-pkg_dosrc "${module}/src/main/java/*" + fi + done + if use doc; then + java-pkg_dojavadoc target/api + fi + default +} |