Gentoo Archives: gentoo-commits

From: Florian Schmaus <flow@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-java/bsf/, dev-java/bsf/files/
Date: Mon, 28 Mar 2022 12:12:09
Message-Id: 1648469521.b9d7cce3cc7466fe80b1715cbc1c6c7d3ce66099.flow@gentoo
1 commit: b9d7cce3cc7466fe80b1715cbc1c6c7d3ce66099
2 Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
3 AuthorDate: Sun Mar 27 10:12:13 2022 +0000
4 Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
5 CommitDate: Mon Mar 28 12:12:01 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b9d7cce3
7
8 dev-java/bsf: min java 1.8:*
9
10 Bug: https://bugs.gentoo.org/836266
11 Package-Manager: Portage-3.0.30, Repoman-3.0.3
12 Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
13 Closes: https://github.com/gentoo/gentoo/pull/24769
14 Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
15
16 dev-java/bsf/bsf-2.4.0-r3.ebuild | 109 ++++++++++++++++++++++
17 dev-java/bsf/files/bsf-2.4.0-PyJavaInstance.patch | 4 +-
18 2 files changed, 111 insertions(+), 2 deletions(-)
19
20 diff --git a/dev-java/bsf/bsf-2.4.0-r3.ebuild b/dev-java/bsf/bsf-2.4.0-r3.ebuild
21 new file mode 100644
22 index 000000000000..3310d4809efd
23 --- /dev/null
24 +++ b/dev-java/bsf/bsf-2.4.0-r3.ebuild
25 @@ -0,0 +1,109 @@
26 +# Copyright 1999-2022 Gentoo Authors
27 +# Distributed under the terms of the GNU General Public License v2
28 +
29 +EAPI=8
30 +JAVA_PKG_IUSE="doc examples source"
31 +
32 +inherit java-pkg-2 java-ant-2
33 +
34 +DESCRIPTION="Bean Script Framework"
35 +HOMEPAGE="https://commons.apache.org/proper/commons-bsf/"
36 +SRC_URI="mirror://apache/commons/bsf/source/${PN}-src-${PV}.tar.gz"
37 +
38 +LICENSE="Apache-2.0"
39 +SLOT="2.3"
40 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
41 +
42 +# If you add new ones, add them to ant-apache-bsf too for use dependencies
43 +IUSE="javascript python tcl"
44 +
45 +CDEPEND="
46 + python? (
47 + dev-java/jython:2.7
48 + )
49 + javascript? (
50 + dev-java/rhino:1.6
51 + )
52 + tcl? (
53 + dev-java/jacl:0
54 + )
55 + dev-java/xalan:0
56 + dev-java/commons-logging:0"
57 +
58 +RDEPEND="
59 + ${CDEPEND}
60 + >=virtual/jre-1.8:*"
61 +
62 +DEPEND="
63 + ${CDEPEND}
64 + >=virtual/jdk-1.8:*"
65 +
66 +JAVA_ANT_REWRITE_CLASSPATH="yes"
67 +
68 +src_prepare() {
69 + default
70 + rm -v lib/*.jar || die
71 + rm samples/*/*.class || die
72 +
73 + java-ant_ignore-system-classes
74 +
75 + # somebody forgot to add them to source tarball... fetched from svn
76 + cp "${FILESDIR}/${P}-build-properties.xml" build-properties.xml || die
77 +
78 + # Silence javadoc.
79 + java-ant_xml-rewrite -f build.xml -c \
80 + -e javadoc \
81 + -a failonerror \
82 + -v no
83 +
84 + # http://bugs.jython.org/issue1814
85 + # Also, bsf is an old project (2011) and hasn't officially taken the leap to
86 + # jython-2.7. This patch fixes the issue.
87 + eapply "${FILESDIR}"/${P}-PyJavaInstance.patch
88 +}
89 +
90 +src_compile() {
91 + local pkgs="commons-logging,xalan"
92 + local antflags="-Dxalan.present=true"
93 +
94 + if use python; then
95 + antflags="${antflags} -Djython.present=true"
96 + pkgs="${pkgs},jython-2.7"
97 + fi
98 + if use javascript; then
99 + antflags="${antflags} -Drhino.present=true"
100 + pkgs="${pkgs},rhino-1.6"
101 + fi
102 + if use tcl; then
103 + antflags="${antflags} -Djacl.present=true"
104 + pkgs="${pkgs},jacl"
105 + fi
106 +
107 + local cp="$(java-pkg_getjars ${pkgs})"
108 + eant -Dgentoo.classpath="${cp}" ${antflags} jar
109 +
110 + # stupid clean
111 + mv build/lib/${PN}.jar "${S}" || die
112 + use doc && eant -Dgentoo.classpath="${cp}" ${antflags} javadocs
113 +}
114 +
115 +src_install() {
116 + java-pkg_dojar ${PN}.jar
117 +
118 + java-pkg_dolauncher ${PN} --main org.apache.bsf.Main
119 +
120 + dodoc CHANGES.txt NOTICE.txt README.txt RELEASE-NOTE.txt TODO.txt
121 +
122 + use doc && java-pkg_dojavadoc build/javadocs
123 + use examples && java-pkg_doexamples samples
124 + use source && java-pkg_dosrc src/org
125 +
126 + java-pkg_register-optional-dependency bsh,groovy-1,jruby
127 +}
128 +
129 +pkg_postinst() {
130 + elog "Support for python, javascript, and tcl is controlled via USE flags."
131 + elog "Also, following languages can be supported just by installing"
132 + elog "respective package with USE=\"bsf\": BeanShell (dev-java/bsh),"
133 + elog "Groovy (dev-java/groovy) and JRuby (dev-java/jruby)"
134 +}
135
136 diff --git a/dev-java/bsf/files/bsf-2.4.0-PyJavaInstance.patch b/dev-java/bsf/files/bsf-2.4.0-PyJavaInstance.patch
137 index bef35c168e48..4e8c4de7b015 100644
138 --- a/dev-java/bsf/files/bsf-2.4.0-PyJavaInstance.patch
139 +++ b/dev-java/bsf/files/bsf-2.4.0-PyJavaInstance.patch
140 @@ -1,5 +1,5 @@
141 ---- src/org/apache/bsf/engines/jython/JythonEngine.java.orig 2015-07-04 08:00:17.120000000 +0000
142 -+++ src/org/apache/bsf/engines/jython/JythonEngine.java 2015-07-04 08:04:55.230000000 +0000
143 +--- a/src/org/apache/bsf/engines/jython/JythonEngine.java.orig 2015-07-04 08:00:17.120000000 +0000
144 ++++ b/src/org/apache/bsf/engines/jython/JythonEngine.java 2015-07-04 08:04:55.230000000 +0000
145 @@ -26,7 +26,7 @@
146 import org.apache.bsf.util.BSFFunctions;
147 import org.python.core.Py;