diff options
author | Yuan Liao <liaoyuan@gmail.com> | 2021-12-20 08:59:15 -0800 |
---|---|---|
committer | Miroslav Šulc <fordfrog@gentoo.org> | 2022-01-19 10:22:11 +0100 |
commit | 28f70d482376d73456a37367becda59a6d79acb4 (patch) | |
tree | e660c9fbb95d3e3407e75ef9134b928c8af016b8 /dev-java/mvel | |
parent | dev-libs/bitshuffle: Initial import (diff) | |
download | gentoo-28f70d482376d73456a37367becda59a6d79acb4.tar.gz gentoo-28f70d482376d73456a37367becda59a6d79acb4.tar.bz2 gentoo-28f70d482376d73456a37367becda59a6d79acb4.zip |
dev-java/mvel: Initial import
Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/23438/commits/d5e0c70697375cdd5351448f086e33d6cf3260ff
Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
Diffstat (limited to 'dev-java/mvel')
-rw-r--r-- | dev-java/mvel/Manifest | 1 | ||||
-rw-r--r-- | dev-java/mvel/files/mvel-2.3.2-ignore-failing-tests.patch | 43 | ||||
-rw-r--r-- | dev-java/mvel/files/mvel-2.3.2-update-supported-java-versions.patch | 51 | ||||
-rw-r--r-- | dev-java/mvel/files/mvel-2.3.2-update-version-in-output.patch | 26 | ||||
-rw-r--r-- | dev-java/mvel/metadata.xml | 11 | ||||
-rw-r--r-- | dev-java/mvel/mvel-2.3.2.ebuild | 82 |
6 files changed, 214 insertions, 0 deletions
diff --git a/dev-java/mvel/Manifest b/dev-java/mvel/Manifest new file mode 100644 index 000000000000..4af3792b6c2f --- /dev/null +++ b/dev-java/mvel/Manifest @@ -0,0 +1 @@ +DIST mvel2-2.3.2.Final.tar.gz 2405839 BLAKE2B 5f12652a0f4375f6e24f18313d99a02bb86463cc1acc2f8845b815c9c7afcda410d67c9f1c30544f9ab1cd50a48ce0ab72e9cca94faafab776f3704b1d5fa087 SHA512 9d1c92bfe90aa4cfe5f4bbdd7eef2060bfaec3979c5c07a5baf3ddb4d84a00632dcaec266bab675b31d5b745bfa36a89dd5969ababeb64332069939a4df23dbc 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..8c54e97e66cc --- /dev/null +++ b/dev-java/mvel/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://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.ebuild b/dev-java/mvel/mvel-2.3.2.ebuild new file mode 100644 index 000000000000..1c0e3cd39852 --- /dev/null +++ b/dev-java/mvel/mvel-2.3.2.ebuild @@ -0,0 +1,82 @@ +# 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="0" +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_LAUNCHER_FILENAME="${PN}" + +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 +} |