summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java/asm')
-rw-r--r--dev-java/asm/Manifest1
-rw-r--r--dev-java/asm/asm-9.7.1_p20241213.ebuild98
2 files changed, 99 insertions, 0 deletions
diff --git a/dev-java/asm/Manifest b/dev-java/asm/Manifest
index 1e9b4964dedf..dcec05010889 100644
--- a/dev-java/asm/Manifest
+++ b/dev-java/asm/Manifest
@@ -1 +1,2 @@
DIST asm-ASM_9_7_1.tar.bz2 1378103 BLAKE2B f7da3a9c1bcf76398c9e9b9b86d60f8854e5248632a8b2d76605851e29ee1807713fb28c9e76012ec8f9444c44e3a151ed409cd120c34ab8d3495fdc9c84edcb SHA512 77ae76464eec97dbc8129c4a746d13f0d286d2033f909b65e0e34858e1785616b7bee22faa92128b91eb39cbd849e262efe574b73ed2859920add457d6422dd0
+DIST asm-cc341b5f0c24ea6688f615faff597612f0d596fb.tar.bz2 1380914 BLAKE2B f60f866ea14d63ae763212aebed715294eef3019f9878ebbbc80a63283e5176a446a90419c09e8a9210359e481a7aabb1977716d6467b77af0d3166c669c3676 SHA512 ce9adbf3e9c4d7f947e7ca63f51983c6d9bb4d4af73934c6779802caa242bc4d7f552069a8b835c16d8d32027fb4e634236adfd10f27a5563ed80fdc81b1a53d
diff --git a/dev-java/asm/asm-9.7.1_p20241213.ebuild b/dev-java/asm/asm-9.7.1_p20241213.ebuild
new file mode 100644
index 000000000000..4e3aa23b078d
--- /dev/null
+++ b/dev-java/asm/asm-9.7.1_p20241213.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# tests not enabled because of missing eclass support of junit-jupiter
+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//./_}"
+MY_COMMIT="cc341b5f0c24ea6688f615faff597612f0d596fb"
+SRC_URI="https://gitlab.ow2.org/asm/asm/-/archive/${MY_COMMIT}/asm-${MY_COMMIT}.tar.bz2"
+S="${WORKDIR}/asm-${MY_COMMIT}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x64-macos"
+
+DEPEND=">=virtual/jdk-11:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+ASM_MODULES=( "asm" "asm-tree" "asm-analysis" "asm-commons" "asm-util" )
+JAVADOC_SRC_DIRS=(
+ asm/src/main/java
+ asm-tree/src/main/java
+ asm-analysis/src/main/java
+ asm-commons/src/main/java
+ asm-util/src/main/java
+)
+
+src_prepare() {
+ default
+ local module
+ touch 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 asm.module)
+ requires java.base;
+ exports org.objectweb.${module/analysis/tree.analysis};
+ }
+ EOF
+ echo "requires transitive org.objectweb.${module/analysis/tree.analysis};" \
+ >> 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"
+ for module in "${ASM_MODULES[@]}"; do
+ rm "${module}/src/main/java/module-info.java" || die
+ JAVA_SRC_DIR+=("${module}/src/main/java")
+ done
+ ejavadoc
+ fi
+}
+
+src_install() {
+ JAVA_JAR_FILENAME="asm.jar"
+ java-pkg-simple_src_install
+ local module
+ for module in asm-{analysis,commons,tree,util}; do
+ java-pkg_dojar ${module}.jar
+ if use source; then
+ java-pkg_dosrc "${module}/src/main/java/*"
+ fi
+ done
+}