summaryrefslogtreecommitdiff
path: root/dev-java/mvel
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java/mvel')
-rw-r--r--dev-java/mvel/Manifest6
-rw-r--r--dev-java/mvel/files/mvel-2.3.2-ignore-failing-tests.patch43
-rw-r--r--dev-java/mvel/files/mvel-2.3.2-update-supported-java-versions.patch51
-rw-r--r--dev-java/mvel/files/mvel-2.3.2-update-version-in-output.patch26
-rw-r--r--dev-java/mvel/metadata.xml11
-rw-r--r--dev-java/mvel/mvel-2.3.2-r1.ebuild81
6 files changed, 218 insertions, 0 deletions
diff --git a/dev-java/mvel/Manifest b/dev-java/mvel/Manifest
new file mode 100644
index 000000000000..c277bbdcb020
--- /dev/null
+++ b/dev-java/mvel/Manifest
@@ -0,0 +1,6 @@
+AUX mvel-2.3.2-ignore-failing-tests.patch 1722 BLAKE2B 030a8ac91262dda0af70dd73b0a08e61ac050e1667805a2173a0408ab03d8e8fc0b423f10eaeb6feeabc8fb19ed9e35a596120d30f76b73e54c1bcb270b31516 SHA512 6957dde066890fb44d664ffc95029871336a25a4fc92a05f6f2809d35574c06af75909ca2d4abcff7a3f614ebeeadedad3e4da5d3b723b9afd4a23f7f99cc55a
+AUX mvel-2.3.2-update-supported-java-versions.patch 1982 BLAKE2B b32623d0b8bbedf339b34fa7d07b15f3089ea2c1fe52e78852fdf4c82f42eaabae1e29c9d0bf781e28700300a26905379a39767795eecb8bd43a31d8e82c3d0e SHA512 b4441c6dbe721e54e34658d4a04090898ec1a9dcd38638f0fffbfc344889820b3f8138328c05777c5e9b51b4e05e178e9da35a6404fb183b307b9b2742f2ce4b
+AUX mvel-2.3.2-update-version-in-output.patch 1150 BLAKE2B bd69e3a534d62ce7fb822dfd3952490b13986526b2dfc745a1c8d286348dbd4b6554b83b9675de6f497a07ee17f129f98519b41258170df69aa81e2326fc85fe SHA512 762703a7886748a48c10ddc81f25ae545c486a5a00413b1d89e787ce9adebeefa26d9dcc4731c1c8a17957330570a6e6f73e0a1befd6b14db6c97ba150527e5f
+DIST mvel2-2.3.2.Final.tar.gz 2405839 BLAKE2B 5f12652a0f4375f6e24f18313d99a02bb86463cc1acc2f8845b815c9c7afcda410d67c9f1c30544f9ab1cd50a48ce0ab72e9cca94faafab776f3704b1d5fa087 SHA512 9d1c92bfe90aa4cfe5f4bbdd7eef2060bfaec3979c5c07a5baf3ddb4d84a00632dcaec266bab675b31d5b745bfa36a89dd5969ababeb64332069939a4df23dbc
+EBUILD mvel-2.3.2-r1.ebuild 2554 BLAKE2B 4bea05dc8c5319def73c2bda474246d3d013982c8cfd482e96c060bbd8d97e70890d069bc02616e3bffe50e13f4303f7a03788001c95082da21a1697d96d343e SHA512 aa73c6edc34584f271c7ca3c21e575710621688162ed6ae0fe508b0bc1bacc8fbac76c2ec109c64e6caf1d01ef076665a876d8105c5a2598dbe889bd9088a865
+MISC metadata.xml 311 BLAKE2B fd4a83fa02a7d87a3b03c3b99b99f0e87b2dbe54b45eb00172999f629712e499aca3dfa631000d92ba51c1303dacea1499cf0394af8aab8ac53610b6bb7c31d7 SHA512 6ecb610dd945d4cba9764e55ffe05e896536d1deec4cdaa18949943fdb2e7e953f167f87599b4d6ebb16ee85c19e23da63217c4063b8553fa45ecf0680589ed1
diff --git a/dev-java/mvel/files/mvel-2.3.2-ignore-failing-tests.patch b/dev-java/mvel/files/mvel-2.3.2-ignore-failing-tests.patch
new file mode 100644
index 000000000000..1cfd9e8abc36
--- /dev/null
+++ b/dev-java/mvel/files/mvel-2.3.2-ignore-failing-tests.patch
@@ -0,0 +1,43 @@
+From fcf12bd0322556b4396a72a5402124d9543781d9 Mon Sep 17 00:00:00 2001
+From: Yuan Liao <liaoyuan@gmail.com>
+Date: Sun, 16 Jan 2022 09:48:48 -0800
+Subject: [PATCH] Ignore tests that fail even when run by Maven on JUnit 4.13.2
+
+To reproduce the failure, make sure to edit line 249 of pom.xml to use
+JUnit 4.13.2. Note that the failed tests are JUnit 3 tests, which
+cannot be ignored with the @org.junit.Ignore annotation.
+
+When no tests are ignored, only testMapAccessWithNestedMethodCall() will
+fail. However, ignoring that test will cause
+testMapAccessWithNestedProperty() to fail afterwards.
+
+Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
+---
+ src/test/java/org/mvel2/tests/core/CoreConfidenceTests.java | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/test/java/org/mvel2/tests/core/CoreConfidenceTests.java b/src/test/java/org/mvel2/tests/core/CoreConfidenceTests.java
+index ea7661bb..1c92c327 100644
+--- a/src/test/java/org/mvel2/tests/core/CoreConfidenceTests.java
++++ b/src/test/java/org/mvel2/tests/core/CoreConfidenceTests.java
+@@ -3431,7 +3431,7 @@ public class CoreConfidenceTests extends AbstractTest {
+ assertTrue(result);
+ }
+
+- public void testMapAccessWithNestedMethodCall() {
++ public void noTestMapAccessWithNestedMethodCall() {
+ String str = "map[aMethod(1)] == \"one\"";
+
+ ParserConfiguration pconf = new ParserConfiguration();
+@@ -3446,7 +3446,7 @@ public class CoreConfidenceTests extends AbstractTest {
+ assertTrue(result);
+ }
+
+- public void testMapAccessWithNestedProperty() {
++ public void noTestMapAccessWithNestedProperty() {
+ String str = "map[key] == \"one\"";
+
+ ParserConfiguration pconf = new ParserConfiguration();
+--
+2.34.1
+
diff --git a/dev-java/mvel/files/mvel-2.3.2-update-supported-java-versions.patch b/dev-java/mvel/files/mvel-2.3.2-update-supported-java-versions.patch
new file mode 100644
index 000000000000..d019002cda1f
--- /dev/null
+++ b/dev-java/mvel/files/mvel-2.3.2-update-supported-java-versions.patch
@@ -0,0 +1,51 @@
+From 04f476bbc3768d9052ae9c8a1b0aa53340a993b3 Mon Sep 17 00:00:00 2001
+From: Yuan Liao <liaoyuan@gmail.com>
+Date: Sun, 16 Jan 2022 08:01:46 -0800
+Subject: [PATCH] ASMAccessorOptimizer: Update supported Java versions as of
+ 2.4.14
+
+Squashed patch of the following commits:
+
+From: deaddowney <spamcontrol@mac.com>
+Date: Fri, 22 Jun 2018 09:38:24 -0400
+Subject: [PATCH 1/4] Mvel not working with Java 10 (11) GH Issue #159
+
+From: dieter sauvillers <dieter.sauvillers@corilus.be>
+Date: Tue, 2 Apr 2019 10:20:31 +0200
+Subject: [PATCH 2/4] mvel does not work with java 12 #185
+
+From: mmelko <mmelko@redhat.com>
+Date: Fri, 26 Jun 2020 08:55:24 +0200
+Subject: [PATCH 3/4] Fix building on java 14
+
+From: mariofusco <mario.fusco@gmail.com>
+Date: Mon, 24 Aug 2020 08:54:22 +0200
+Subject: [PATCH 4/4] drop compatibility with java versions lower than 1.4
+
+Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
+---
+ .../mvel2/optimizers/impl/asm/ASMAccessorOptimizer.java | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/src/main/java/org/mvel2/optimizers/impl/asm/ASMAccessorOptimizer.java b/src/main/java/org/mvel2/optimizers/impl/asm/ASMAccessorOptimizer.java
+index 45520538..4c4c876e 100644
+--- a/src/main/java/org/mvel2/optimizers/impl/asm/ASMAccessorOptimizer.java
++++ b/src/main/java/org/mvel2/optimizers/impl/asm/ASMAccessorOptimizer.java
+@@ -118,13 +118,8 @@ public class ASMAccessorOptimizer extends AbstractOptimizer implements AccessorO
+ OPCODES_VERSION = Opcodes.V1_4;
+ } else if (javaVersion.startsWith("1.5")) {
+ OPCODES_VERSION = Opcodes.V1_5;
+- } else if (javaVersion.startsWith("1.6")
+- || javaVersion.startsWith("1.7")
+- || javaVersion.startsWith("1.8")
+- || javaVersion.startsWith("9")) {
+- OPCODES_VERSION = Opcodes.V1_6;
+ } else {
+- OPCODES_VERSION = Opcodes.V1_2;
++ OPCODES_VERSION = Opcodes.V1_6;
+ }
+
+ String defaultNameSapce = getProperty("mvel2.namespace");
+--
+2.34.1
+
diff --git a/dev-java/mvel/files/mvel-2.3.2-update-version-in-output.patch b/dev-java/mvel/files/mvel-2.3.2-update-version-in-output.patch
new file mode 100644
index 000000000000..8b7250540b05
--- /dev/null
+++ b/dev-java/mvel/files/mvel-2.3.2-update-version-in-output.patch
@@ -0,0 +1,26 @@
+From 0a316a5cb0d889220fb3e730ea1471c1b4052736 Mon Sep 17 00:00:00 2001
+From: Yuan Liao <liaoyuan@gmail.com>
+Date: Sun, 16 Jan 2022 10:21:47 -0800
+Subject: [PATCH] Update program version shown in program output
+
+Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
+---
+ src/main/java/org/mvel2/MVEL.java | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/main/java/org/mvel2/MVEL.java b/src/main/java/org/mvel2/MVEL.java
+index eafe17fc..6bbf5f06 100644
+--- a/src/main/java/org/mvel2/MVEL.java
++++ b/src/main/java/org/mvel2/MVEL.java
+@@ -45,7 +45,7 @@ import static org.mvel2.util.ParseTools.optimizeTree;
+ public class MVEL {
+ public static final String NAME = "MVEL (MVFLEX Expression Language)";
+ public static final String VERSION = "2.3";
+- public static final String VERSION_SUB = "0";
++ public static final String VERSION_SUB = "2";
+ public static final String CODENAME = "liberty";
+ static boolean DEBUG_FILE = getBoolean("mvel2.debug.fileoutput");
+ static String ADVANCED_DEBUGGING_FILE = System.getProperty("mvel2.debugging.file") == null ? "mvel_debug.txt" : System.getProperty("mvel2.debugging.file");
+--
+2.34.1
+
diff --git a/dev-java/mvel/metadata.xml b/dev-java/mvel/metadata.xml
new file mode 100644
index 000000000000..74329d8771b3
--- /dev/null
+++ b/dev-java/mvel/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">mvel/mvel</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/mvel/mvel-2.3.2-r1.ebuild b/dev-java/mvel/mvel-2.3.2-r1.ebuild
new file mode 100644
index 000000000000..0b93cdde5b40
--- /dev/null
+++ b/dev-java/mvel/mvel-2.3.2-r1.ebuild
@@ -0,0 +1,81 @@
+# Copyright 2021-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.mvel:mvel2:2.3.2.Final"
+
+# Note: This package has a mixture of JUnit 3 and JUnit 4 tests, all of which
+# can be run with JUnit 4. As of January 2022, JUnit 3 test launcher will only
+# run 2 tests out of nearly 1100 JUnit 3 tests in total, whereas JUnit 4 test
+# launcher can run all of them
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="MVFLEX Expression Language"
+HOMEPAGE="https://github.com/mvel/mvel"
+SRC_URI="https://github.com/mvel/mvel/archive/refs/tags/mvel2-${PV}.Final.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="2.3"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+"
+
+S="${WORKDIR}/${PN}-${PN}2-${PV}.Final"
+
+JAVA_SRC_DIR="src/main/java"
+# Required due to use of '_' as identifiers in source files
+JAVADOC_ARGS="-source 8"
+# https://github.com/mvel/mvel/blob/mvel2-2.3.2.Final/pom.xml#L131
+JAVA_MAIN_CLASS="org.mvel2.sh.Main"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+JAVA_TEST_RESOURCE_DIRS=( "src/test/resources" )
+JAVA_TEST_EXCLUDES=(
+ # No runnable methods
+ org.mvel2.tests.perftests.CompiledPerformanceTests
+ org.mvel2.tests.perftests.SimpleTests
+ org.mvel2.tests.core.MVELThreadTest
+ org.mvel2.tests.core.res.TestClass
+ org.mvel2.tests.core.res.TestInterface
+ org.mvel2.tests.core.res.TestMVEL197
+ org.mvel2.tests.templates.tests.res.TestPluginNode
+)
+# Significantly speed up test execution
+# https://github.com/mvel/mvel/blob/mvel2-2.3.2.Final/pom.xml#L158-L171
+JAVA_TEST_EXTRA_ARGS=(
+ -Dfile.encoding=UTF-8
+ -Dmvel.disable.jit=true
+ -Dmvel.tests.quick=true
+)
+
+pkg_setup() {
+ java-pkg-2_pkg_setup
+ # Fix org.mvel2.tests.core.PropertyAccessTests.testMVEL308 failure
+ # on Java 17, caused by java.lang.reflect.InaccessibleObjectException:
+ # module java.base does not "opens java.util" to unnamed module
+ # https://github.com/mvel/mvel/issues/282
+ ver_test "$(java-config -g PROVIDES_VERSION)" -ge 17 && \
+ JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.util=ALL-UNNAMED )
+}
+
+src_prepare() {
+ # Clean up bundled JARs "manually" to prevent
+ # removal of JARs under JAVA_TEST_RESOURCE_DIRS
+ rm -r lib/ || die "Failed to remove bundled JARs"
+
+ eapply "${FILESDIR}/${P}-update-supported-java-versions.patch"
+ eapply "${FILESDIR}/${P}-update-version-in-output.patch"
+ use test && eapply "${FILESDIR}/${P}-ignore-failing-tests.patch"
+ java-pkg-2_src_prepare
+}