1 |
sera 12/07/31 08:44:48 |
2 |
|
3 |
Modified: ChangeLog |
4 |
Added: jython-2.5.2-r1.ebuild |
5 |
Log: |
6 |
Backport upstream sax fix, needed for javatoolkit and possibly others. |
7 |
JYTHON_SYSTEM_CACHEDIR is buggy, every ebuild not inheriting python.eclass and calling python_pkg_setup would have to set it, also it's a per user system cache dir and so with reduced previleges can't even be created -> drop it. |
8 |
Install sandbox control file as the jvm opens the classfiles rw. |
9 |
Compile class files during src phases instead of creating orphans. |
10 |
|
11 |
(Portage version: 2.1.11.9/cvs/Linux x86_64) |
12 |
|
13 |
Revision Changes Path |
14 |
1.76 dev-java/jython/ChangeLog |
15 |
|
16 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-java/jython/ChangeLog?rev=1.76&view=markup |
17 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-java/jython/ChangeLog?rev=1.76&content-type=text/plain |
18 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-java/jython/ChangeLog?r1=1.75&r2=1.76 |
19 |
|
20 |
Index: ChangeLog |
21 |
=================================================================== |
22 |
RCS file: /var/cvsroot/gentoo-x86/dev-java/jython/ChangeLog,v |
23 |
retrieving revision 1.75 |
24 |
retrieving revision 1.76 |
25 |
diff -u -r1.75 -r1.76 |
26 |
--- ChangeLog 18 Jul 2012 10:30:29 -0000 1.75 |
27 |
+++ ChangeLog 31 Jul 2012 08:44:48 -0000 1.76 |
28 |
@@ -1,6 +1,18 @@ |
29 |
# ChangeLog for dev-java/jython |
30 |
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 |
31 |
-# $Header: /var/cvsroot/gentoo-x86/dev-java/jython/ChangeLog,v 1.75 2012/07/18 10:30:29 sera Exp $ |
32 |
+# $Header: /var/cvsroot/gentoo-x86/dev-java/jython/ChangeLog,v 1.76 2012/07/31 08:44:48 sera Exp $ |
33 |
+ |
34 |
+*jython-2.5.2-r1 (31 Jul 2012) |
35 |
+ |
36 |
+ 31 Jul 2012; Ralph Sennhauser <sera@g.o> +jython-2.5.2-r1.ebuild, |
37 |
+ +files/jython-2.5.2-sax-parser-fix.patch: |
38 |
+ Backport upstream sax fix, needed for javatoolkit and possibly others. |
39 |
+ JYTHON_SYSTEM_CACHEDIR is buggy, every ebuild not inheriting python.eclass |
40 |
+ and calling python_pkg_setup would have to set it, also it's a per user |
41 |
+ system cache dir and so with reduced previleges can't even be created -> drop |
42 |
+ it. |
43 |
+ Install sandbox control file as the jvm opens the classfiles rw. |
44 |
+ Compile class files during src phases instead of creating orphans. |
45 |
|
46 |
*jython-2.5.2 (18 Jul 2012) |
47 |
|
48 |
|
49 |
|
50 |
|
51 |
1.1 dev-java/jython/jython-2.5.2-r1.ebuild |
52 |
|
53 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-java/jython/jython-2.5.2-r1.ebuild?rev=1.1&view=markup |
54 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-java/jython/jython-2.5.2-r1.ebuild?rev=1.1&content-type=text/plain |
55 |
|
56 |
Index: jython-2.5.2-r1.ebuild |
57 |
=================================================================== |
58 |
# Copyright 1999-2012 Gentoo Foundation |
59 |
# Distributed under the terms of the GNU General Public License v2 |
60 |
# $Header: /var/cvsroot/gentoo-x86/dev-java/jython/jython-2.5.2-r1.ebuild,v 1.1 2012/07/31 08:44:48 sera Exp $ |
61 |
|
62 |
EAPI="4" |
63 |
|
64 |
JAVA_PKG_IUSE="doc examples source" |
65 |
|
66 |
inherit eutils java-pkg-2 java-ant-2 python |
67 |
|
68 |
PYTHON_ABI="${SLOT}-jython" |
69 |
|
70 |
DESCRIPTION="An implementation of Python written in Java" |
71 |
HOMEPAGE="http://www.jython.org" |
72 |
SRC_URI="mirror://sourceforge/${PN}/${PN}/${PV}/${PN}_installer-${PV}.jar" |
73 |
|
74 |
LICENSE="PSF-2" |
75 |
SLOT="2.5" |
76 |
KEYWORDS="~amd64 ~x86" |
77 |
IUSE="readline" |
78 |
|
79 |
# Missing in installer jar. |
80 |
RESTRICT="test" |
81 |
|
82 |
COMMON_DEP=" |
83 |
!<=dev-java/freemarker-2.3.10 |
84 |
dev-java/antlr:3 |
85 |
dev-java/asm:3 |
86 |
dev-java/guava:0 |
87 |
>=dev-java/java-config-2.1.11-r3 |
88 |
dev-java/jffi:1.0 |
89 |
dev-java/jline:0 |
90 |
dev-java/jnr-constants:0 |
91 |
dev-java/jnr-posix:1.1 |
92 |
java-virtuals/script-api:0 |
93 |
java-virtuals/servlet-api:2.5 |
94 |
readline? ( >=dev-java/libreadline-java-0.8.0:0 )" |
95 |
RDEPEND="${COMMON_DEP} |
96 |
>=virtual/jre-1.5" |
97 |
DEPEND="${COMMON_DEP} |
98 |
>=virtual/jdk-1.5 |
99 |
app-arch/unzip" |
100 |
|
101 |
S="${WORKDIR}" |
102 |
|
103 |
pkg_setup() { |
104 |
java-pkg-2_pkg_setup |
105 |
python_pkg_setup |
106 |
} |
107 |
|
108 |
java_prepare() { |
109 |
# src/META-INF/services missing - taking from prebuilt jar |
110 |
pushd src > /dev/null || die |
111 |
jar -xf ../${PN}.jar META-INF/services || die |
112 |
popd > /dev/null |
113 |
|
114 |
find \( -name '*.jar' -o -name '*.class' -o -name '*.pyc' -o -name '*.exe' \) -exec rm -v {} + || die |
115 |
|
116 |
epatch "${FILESDIR}/${P}-build.xml.patch" |
117 |
|
118 |
epatch "${FILESDIR}/${P}-sax-parser-fix.patch" |
119 |
|
120 |
epatch "${FILESDIR}/${P}-distutils_byte_compilation.patch" |
121 |
epatch "${FILESDIR}/${P}-distutils_scripts_location.patch" |
122 |
epatch "${FILESDIR}/${P}-respect_PYTHONPATH.patch" |
123 |
|
124 |
use readline || rm -v src/org/python/util/ReadlineConsole.java || die |
125 |
} |
126 |
|
127 |
JAVA_ANT_REWRITE_CLASSPATH="yes" |
128 |
JAVA_ANT_CLASSPATH_TAGS+=" java" |
129 |
|
130 |
EANT_BUILD_TARGET="developer-build" |
131 |
EANT_GENTOO_CLASSPATH="asm-3,guava,jffi-1.0,jline,jnr-constants,script-api,servlet-api-2.5" |
132 |
|
133 |
# jdbc-informix and jdbc-oracle-bin (requires registration) aren't exposed. |
134 |
# Uncomment and add to COMMON_DEP if you want either of them |
135 |
#EANT_GENTOO_CLASSPATH+=",jdbc-informix" EANT_EXTRA_ARGS+=" -Dinformix.present" |
136 |
#EANT_GENTOO_CLASSPATH+=",jdbc-oracle-bin" EANT_EXTRA_ARGS+=" -Doracle.present" |
137 |
|
138 |
src_compile() { |
139 |
use readline && EANT_GENTOO_CLASSPATH+=",libreadline-java" |
140 |
|
141 |
EANT_GENTOO_CLASSPATH_EXTRA="$(java-pkg_getjars --with-dependencies antlr-3,jnr-posix-1.1)" |
142 |
EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjars --build-only ant-core)" |
143 |
|
144 |
sed -i -e "1 a\ |
145 |
CLASSPATH=\"$(java-pkg_getjars "${EANT_GENTOO_CLASSPATH}"):${EANT_GENTOO_CLASSPATH_EXTRA}\"" \ |
146 |
bin/jython || die |
147 |
|
148 |
java-pkg-2_src_compile |
149 |
} |
150 |
|
151 |
EANT_TEST_EXTRA_ARGS="-Dpython.home=dist" |
152 |
|
153 |
src_test() { |
154 |
java-pkg-2_src_test |
155 |
} |
156 |
|
157 |
src_install() { |
158 |
java-pkg_newjar dist/${PN}-dev.jar |
159 |
|
160 |
java-pkg_register-optional-dependency jdbc-mysql |
161 |
java-pkg_register-optional-dependency jdbc-postgresql |
162 |
|
163 |
insinto /usr/share/${PN}-${SLOT} |
164 |
doins -r dist/{Lib,registry} |
165 |
python_clean_installation_image -q |
166 |
|
167 |
dodoc ACKNOWLEDGMENTS NEWS README.txt |
168 |
|
169 |
use doc && java-pkg_dojavadoc dist/Doc/javadoc |
170 |
use source && java-pkg_dosrc src/* |
171 |
use examples && java-pkg_doexamples Demo/* |
172 |
|
173 |
local java_args=( |
174 |
-Dpython.home="${EPREFIX}"/usr/share/${PN}-${SLOT} |
175 |
-Dpython.executable="${EPREFIX}"/usr/bin/jython${SLOT} |
176 |
-Dpython.cachedir="\${HOME}/.jythoncachedir" |
177 |
) |
178 |
java-pkg_dolauncher jython${SLOT} \ |
179 |
--main org.python.util.jython \ |
180 |
--java_args "${java_args[*]}" |
181 |
|
182 |
if use readline; then |
183 |
sed -i -e "/#python.console.readlinelib=JavaReadline/a \ |
184 |
python.console=org.python.util.ReadlineConsole\npython.console.readlinelib=GnuReadline" \ |
185 |
"${ED}"/usr/share/${PN}-${SLOT}/registry || die |
186 |
fi |
187 |
|
188 |
# the jvm opens classfiles rw ... |
189 |
dodir /etc/sandbox.d |
190 |
echo "SANDBOX_PREDICT=/usr/share/${PN}-${SLOT}" > "${ED}/etc/sandbox.d/20${P}-${SLOT}" |
191 |
|
192 |
# compile aot |
193 |
java -cp "$(java-pkg_getjars "${EANT_GENTOO_CLASSPATH}"):${EANT_GENTOO_CLASSPATH_EXTRA}:dist/${PN}-dev.jar" \ |
194 |
-Dpython.home="${ED}"/usr/share/${PN}-${SLOT} \ |
195 |
-Dpython.cachedir="${T}/.jythoncachedir" \ |
196 |
org.python.util.jython -m compileall -f -q -x "/test/" "${ED}" || die |
197 |
} |