diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-10-03 19:04:04 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-10-03 19:04:04 +0000 |
| commit | aea0caf6fbf330077944736867748fcdabc85d33 (patch) | |
| tree | 8abfffe4f3beca7a0fb19f0821243fb2c4f74285 /dev-java/javacup | |
| parent | 9db05347f01604a785caafda9c9c5dbac4649447 (diff) | |
| download | baldeagleos-repo-aea0caf6fbf330077944736867748fcdabc85d33.tar.gz baldeagleos-repo-aea0caf6fbf330077944736867748fcdabc85d33.tar.xz baldeagleos-repo-aea0caf6fbf330077944736867748fcdabc85d33.zip | |
Adding metadata
Diffstat (limited to 'dev-java/javacup')
| -rw-r--r-- | dev-java/javacup/javacup-11b_p20160615-r1.ebuild (renamed from dev-java/javacup/javacup-11b_p20160615.ebuild) | 6 | ||||
| -rw-r--r-- | dev-java/javacup/javacup-11b_p20160615-r2.ebuild | 102 |
2 files changed, 106 insertions, 2 deletions
diff --git a/dev-java/javacup/javacup-11b_p20160615.ebuild b/dev-java/javacup/javacup-11b_p20160615-r1.ebuild index 3b5077688dcb..da0a5793dc10 100644 --- a/dev-java/javacup/javacup-11b_p20160615.ebuild +++ b/dev-java/javacup/javacup-11b_p20160615-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -16,8 +16,10 @@ SLOT="0" KEYWORDS="amd64 arm64 ppc64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" IUSE="ant-task" +# Restricted to ~jflex-1.6.1 in order to allow switching the emerge order. +# javacup-11b_p20160615-r2 will be used by jflex-1.9.1 but not depend on it. DEPEND="${CP_DEPEND} - >=dev-java/jflex-1.6.1-r3:0 + ~dev-java/jflex-1.6.1:0 >=virtual/jdk-1.8:* ant-task? ( >=dev-java/ant-1.10.14-r3:0 )" RDEPEND="${CP_DEPEND} diff --git a/dev-java/javacup/javacup-11b_p20160615-r2.ebuild b/dev-java/javacup/javacup-11b_p20160615-r2.ebuild new file mode 100644 index 000000000000..102c9ef1481f --- /dev/null +++ b/dev-java/javacup/javacup-11b_p20160615-r2.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source" + +inherit java-pkg-2 java-pkg-simple + +DESCRIPTION="CUP Parser Generator for Java" +HOMEPAGE="https://www2.cs.tum.edu/projects/cup/" +SRC_URI="https://www2.cs.tum.edu/projects/cup/releases/java-cup-src-${PV/_p/-}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="ant-task" + +DEPEND=" + >=virtual/jdk-1.8:* + ant-task? ( >=dev-java/ant-1.10.15:0 ) +" + +RDEPEND=" + >=virtual/jre-1.8:* + ant-task? ( >=dev-java/ant-1.10.15:0 ) +" + +DOCS=( changelog.txt ) +HTML_DOCS=( manual.html ) + +JAVA_MAIN_CLASS="java_cup/Main" +JAVA_SRC_DIR=( "src" "java" ) + +src_prepare() { + java-pkg-2_src_prepare + if use ant-task; then + JAVA_GENTOO_CLASSPATH+="ant" + else + rm src/java_cup/anttask/CUPTask.java || die + fi +} + +src_compile() { + if has_version \>=${CATEGORY}/${PN}-11b:${SLOT}; then + einfo "Get path of installed JAVACUP" + # PORTAGE_QUIET=1 to suppress "QA Notice: java-pkg_ensure-dep", bug #937047 + CP_CUP="$(PORTAGE_QUIET=1 java-pkg_getjar --build-only javacup javacup.jar)" + else + einfo "Get path of bundled JAVACUP" + CP_CUP="$(echo bin/java-cup-*.jar)" + fi + einfo "Path to JAVACUP is ${CP_CUP}" + + if has_version \~dev-java/jflex-1.9.1:0; then + einfo "Get path of installed jflex" + MAIN="jflex.Main" + CP_FLEX="$(PORTAGE_QUIET=1 java-pkg_getjar --build-only jflex jflex.jar)" + else + einfo "Get path to the bundled JFlex" + MAIN="JFlex.Main" + CP_FLEX="$(echo bin/JFlex.jar)" + fi + einfo "Path to JFlex is ${CP_FLEX}" + + einfo "Generate parser with: ${CP_CUP}" + "$(java-config -J)" -jar "${CP_CUP}" \ + -interface -destdir "java" -parser "parser" -symbols "sym" \ + cup/parser.cup || die + + einfo "Generate lexer" + # https://jflex.de/manual.html#running-jflex + $(java-config -J) -cp "${CP_CUP}:${CP_FLEX}" "${MAIN}" \ + flex/Lexer.jflex -d java/javacup || die + + einfo "Build intermediate jar" + JAVA_JAR_FILENAME="seco.jar" + java-pkg-simple_src_compile + + einfo "Remove classes and generated code" + rm -rv java/* target/classes/ || die + + einfo "Regenerate parser with intermediate jar file" + "$(java-config -J)" -jar ./seco.jar \ + -interface -destdir "java" -parser "parser" -symbols "sym" \ + cup/parser.cup || die + + einfo "Regenerate lexer with intermediate jar file" + $(java-config -J) -cp "$(echo ./seco.jar):${CP_FLEX}" "${MAIN}" \ + flex/Lexer.jflex -d java/javacup || die + + einfo "Build final jar with regenerated parser and lexer" + JAVA_JAR_FILENAME="${PN}.jar" + java-pkg-simple_src_compile + "$(java-config --jar)" cvf "${PN}-runtime.jar" -C target/classes java_cup/runtime || die +} + +src_install() { + java-pkg-simple_src_install + java-pkg_dojar "${PN}-runtime.jar" + use ant-task && java-pkg_register-ant-task +} |
