commit:     6b8dc814275f57e53dc35e2534ff8cd4007b0acc
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Tue Apr  8 09:35:40 2025 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sun Jan 25 12:09:25 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6b8dc814

dev-java/powermock-reflect: new package, add 2.0.9

Test dependency of dev-java/waffle-jna

Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 dev-java/powermock-reflect/Manifest                |   1 +
 .../powermock-reflect-2.0.9-ClassFactory.patch     |  16 +++
 .../powermock-reflect-2.0.9-WhiteBoxTest.patch     | 125 +++++++++++++++++++++
 dev-java/powermock-reflect/metadata.xml            |  10 ++
 .../powermock-reflect-2.0.9.ebuild                 |  58 ++++++++++
 5 files changed, 210 insertions(+)

diff --git a/dev-java/powermock-reflect/Manifest 
b/dev-java/powermock-reflect/Manifest
new file mode 100644
index 000000000000..c934a4831ad3
--- /dev/null
+++ b/dev-java/powermock-reflect/Manifest
@@ -0,0 +1 @@
+DIST powermock-2.0.9.tar.gz 497878 BLAKE2B 
f4f0422b424d0fb895e7c1943ab41dddb4664b276ce85aadab940b6fcb36a941b54f55caded83518737793f3015b314ab74d6392b168c1356a7d2324ed644327
 SHA512 
c6d55e98172f5c8c2105de07195a433a34c7c766604c158882b8e9d78b606ea740574a2be2cdb126bf68608959f4bba91ec199486a4fdb3a83e88907508e7d10

diff --git 
a/dev-java/powermock-reflect/files/powermock-reflect-2.0.9-ClassFactory.patch 
b/dev-java/powermock-reflect/files/powermock-reflect-2.0.9-ClassFactory.patch
new file mode 100644
index 000000000000..674c3c67845c
--- /dev/null
+++ 
b/dev-java/powermock-reflect/files/powermock-reflect-2.0.9-ClassFactory.patch
@@ -0,0 +1,16 @@
+Gentoo has byte-buddy with no shading.
+
+--- a/src/test/java/org/powermock/reflect/internal/proxy/ClassFactory.java
++++ b/src/test/java/org/powermock/reflect/internal/proxy/ClassFactory.java
+@@ -1,8 +1,8 @@
+ package org.powermock.reflect.internal.proxy;
+ 
+-import net.bytebuddy.jar.asm.ClassWriter;
+-import net.bytebuddy.jar.asm.MethodVisitor;
+-import net.bytebuddy.jar.asm.Opcodes;
++import org.objectweb.asm.ClassWriter;
++import org.objectweb.asm.MethodVisitor;
++import org.objectweb.asm.Opcodes;
+ 
+ class ClassFactory implements Opcodes {
+     

diff --git 
a/dev-java/powermock-reflect/files/powermock-reflect-2.0.9-WhiteBoxTest.patch 
b/dev-java/powermock-reflect/files/powermock-reflect-2.0.9-WhiteBoxTest.patch
new file mode 100644
index 000000000000..cb67c6032840
--- /dev/null
+++ 
b/dev-java/powermock-reflect/files/powermock-reflect-2.0.9-WhiteBoxTest.patch
@@ -0,0 +1,125 @@
+
+--- a/src/test/java/org/powermock/reflect/WhiteBoxTest.java
++++ b/src/test/java/org/powermock/reflect/WhiteBoxTest.java
+@@ -248,7 +248,7 @@ public class WhiteBoxTest {
+ 
+     @Test
+     public void testMethodWithPrimitiveAndWrappedInt_primtive_wrapped() 
throws Exception {
+-        assertEquals(17, Whitebox.invokeMethod(new ClassWithPrivateMethods(), 
"methodWithPrimitiveAndWrappedInt",
++        assertEquals(17, (int) Whitebox.invokeMethod(new 
ClassWithPrivateMethods(), "methodWithPrimitiveAndWrappedInt",
+                                                new Class[]{int.class, 
Integer.class}, 9, Integer.valueOf(8)));
+     }
+ 
+@@ -257,13 +257,13 @@ public class WhiteBoxTest {
+         int expected = 123;
+         Whitebox.setInternalState(ClassWithInternalState.class, 
"staticState", expected);
+         assertEquals(expected, ClassWithInternalState.getStaticState());
+-        assertEquals(expected, 
Whitebox.getInternalState(ClassWithInternalState.class, "staticState"));
++        assertEquals(expected, (int) 
Whitebox.getInternalState(ClassWithInternalState.class, "staticState"));
+     }
+ 
+       @Test
+       public void testStaticFinalPrimitiveState() {
+               Whitebox.setInternalState(ClassWithInternalState.class, 
"staticFinalIntState", 123);
+-                assertEquals(123, 
Whitebox.getInternalState(ClassWithInternalState.class, "staticFinalIntState"));
++                assertEquals(123, (int) 
Whitebox.getInternalState(ClassWithInternalState.class, "staticFinalIntState"));
+       }
+ 
+       @Test
+@@ -330,25 +330,25 @@ public class WhiteBoxTest {
+     @Test
+     public void testInvokeVarArgsMethod_multipleValues() throws Exception {
+         ClassWithPrivateMethods tested = new ClassWithPrivateMethods();
+-        assertEquals(6, Whitebox.invokeMethod(tested, "varArgsMethod", 1, 2, 
3));
++        assertEquals(6, (int) Whitebox.invokeMethod(tested, "varArgsMethod", 
1, 2, 3));
+     }
+ 
+     @Test
+     public void testInvokeVarArgsMethod_noArguments() throws Exception {
+         ClassWithPrivateMethods tested = new ClassWithPrivateMethods();
+-        assertEquals(0, Whitebox.invokeMethod(tested, "varArgsMethod"));
++        assertEquals(0, (int) Whitebox.invokeMethod(tested, "varArgsMethod"));
+     }
+ 
+     @Test
+     public void testInvokeVarArgsMethod_oneArgument() throws Exception {
+         ClassWithPrivateMethods tested = new ClassWithPrivateMethods();
+-        assertEquals(4, Whitebox.invokeMethod(tested, "varArgsMethod", 2));
++        assertEquals(4, (int) Whitebox.invokeMethod(tested, "varArgsMethod", 
2));
+     }
+ 
+     @Test
+     public void testInvokeVarArgsMethod_invokeVarArgsWithOneArgument() throws 
Exception {
+         ClassWithPrivateMethods tested = new ClassWithPrivateMethods();
+-        assertEquals(1, Whitebox.invokeMethod(tested, "varArgsMethod", new 
Class<?>[]{int[].class}, 1));
++        assertEquals(1, (int) Whitebox.invokeMethod(tested, "varArgsMethod", 
new Class<?>[]{int[].class}, 1));
+     }
+ 
+     @Test
+@@ -372,7 +372,7 @@ public class WhiteBoxTest {
+         ClassWithChildThatHasInternalState tested = new 
ClassWithChildThatHasInternalState() {
+         };
+         Whitebox.setInternalState(tested, fieldName, value);
+-        assertEquals(value, Whitebox.getInternalState(tested, fieldName));
++        assertEquals(value, (int) Whitebox.getInternalState(tested, 
fieldName));
+     }
+ 
+     @Test
+@@ -383,8 +383,8 @@ public class WhiteBoxTest {
+         ClassWithChildThatHasInternalState tested = new 
ClassWithChildThatHasInternalState() {
+         };
+         Whitebox.setInternalState(tested, fieldName, value);
+-        assertEquals(value, Whitebox.getInternalState(tested, fieldName));
+-        assertEquals(-1, Whitebox.getInternalState(tested, fieldName, 
ClassWithInternalState.class));
++        assertEquals(value, (int) Whitebox.getInternalState(tested, 
fieldName));
++        assertEquals(-1, (int) Whitebox.getInternalState(tested, fieldName, 
ClassWithInternalState.class));
+     }
+ 
+     @Test(expected = IllegalArgumentException.class)
+@@ -394,7 +394,7 @@ public class WhiteBoxTest {
+         ClassWithChildThatHasInternalState tested = new 
ClassWithChildThatHasInternalState() {
+         };
+         Whitebox.setInternalState(tested, fieldName, new Object());
+-        assertEquals(value, Whitebox.getInternalState(tested, fieldName));
++        assertEquals(value, (int) Whitebox.getInternalState(tested, 
fieldName));
+     }
+ 
+     @Test(expected = IllegalArgumentException.class)
+@@ -404,7 +404,7 @@ public class WhiteBoxTest {
+         ClassWithChildThatHasInternalState tested = new 
ClassWithChildThatHasInternalState() {
+         };
+         Whitebox.setInternalState(tested, fieldName, (Object) null);
+-        assertEquals(value, Whitebox.getInternalState(tested, fieldName));
++        assertEquals(value, (int) Whitebox.getInternalState(tested, 
fieldName));
+     }
+ 
+     @Test
+@@ -413,8 +413,8 @@ public class WhiteBoxTest {
+         ClassWithChildThatHasInternalState tested = new 
ClassWithChildThatHasInternalState();
+         Whitebox.setInternalState(tested, int.class, value);
+         assertEquals(value, (int) Whitebox.getInternalState(tested, 
int.class));
+-        assertEquals(value, Whitebox.getInternalState(tested, 
"anotherInternalState"));
+-        assertEquals(value, Whitebox.getInternalState(tested, 
"anotherInternalState",
++        assertEquals(value, (int) Whitebox.getInternalState(tested, 
"anotherInternalState"));
++        assertEquals(value, (int) Whitebox.getInternalState(tested, 
"anotherInternalState",
+                                                       
ClassWithChildThatHasInternalState.class));
+     }
+ 
+@@ -425,7 +425,7 @@ public class WhiteBoxTest {
+         Whitebox.setInternalState(tested, int.class, value, 
ClassWithInternalState.class);
+         assertEquals(42, (int) Whitebox.getInternalState(tested, int.class));
+         assertEquals(value, (int) Whitebox.getInternalState(tested, 
int.class, ClassWithInternalState.class));
+-        assertEquals(value, Whitebox.getInternalState(tested, "staticState", 
ClassWithInternalState.class));
++        assertEquals(value, (int) Whitebox.getInternalState(tested, 
"staticState", ClassWithInternalState.class));
+     }
+ 
+     @Test
+@@ -621,7 +621,7 @@ public class WhiteBoxTest {
+     @Test
+     public void testInvokeMethodWithBothNormalAndVarArgsParameter() throws 
Exception {
+         ClassWithPrivateMethods tested = new ClassWithPrivateMethods();
+-        assertEquals(4, Whitebox.invokeMethod(tested, "varArgsMethod2", 1, 2, 
3));
++        assertEquals(4, (int) Whitebox.invokeMethod(tested, "varArgsMethod2", 
1, 2, 3));
+     }
+ 
+     @Test

diff --git a/dev-java/powermock-reflect/metadata.xml 
b/dev-java/powermock-reflect/metadata.xml
new file mode 100644
index 000000000000..7841d5384d5f
--- /dev/null
+++ b/dev-java/powermock-reflect/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="project">
+               <email>[email protected]</email>
+       </maintainer>
+       <upstream>
+               <remote-id type="github">powermock/powermock</remote-id>
+       </upstream>
+</pkgmetadata>

diff --git a/dev-java/powermock-reflect/powermock-reflect-2.0.9.ebuild 
b/dev-java/powermock-reflect/powermock-reflect-2.0.9.ebuild
new file mode 100644
index 000000000000..5ff646703fbf
--- /dev/null
+++ b/dev-java/powermock-reflect/powermock-reflect-2.0.9.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Various utilities for accessing internals of a class"
+HOMEPAGE="https://github.com/powermock/powermock";
+SRC_URI="https://github.com/powermock/powermock/archive/powermock-${PV}.tar.gz";
+S="${WORKDIR}/powermock-powermock-${PV}/${PN}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+CP_DEPEND=">=dev-java/objenesis-3.4:0"
+
+DEPEND="
+       ${CP_DEPEND}
+       >=virtual/jdk-1.8:*
+       test? (
+               >=dev-java/asm-9.9.1:0
+               >=dev-java/assertj-core-3.27.6:0
+               >=dev-java/byte-buddy-1.18.2:0
+               >=dev-java/cglib-3.3.0-r3:0
+       )
+"
+
+RDEPEND="
+       ${CP_DEPEND}
+       >=virtual/jre-1.8:*
+"
+
+PATCHES=(
+       "${FILESDIR}/powermock-reflect-2.0.9-ClassFactory.patch"
+       "${FILESDIR}/powermock-reflect-2.0.9-WhiteBoxTest.patch"
+)
+
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="asm assertj-core byte-buddy cglib junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+       default #780585
+       java-pkg-2_src_prepare
+}
+
+src_test() {
+       local vm_version="$(java-config -g PROVIDES_VERSION)"
+       if ver_test "${vm_version}" -ge 17; then
+               JAVA_TEST_EXTRA_ARGS=( 
--add-opens=java.base/java.lang=ALL-UNNAMED )
+       fi
+       java-pkg-simple_src_test
+}

Reply via email to