Gentoo Archives: gentoo-commits

From: "Ralph Sennhauser (sera)" <sera@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-java/jython: ChangeLog jython-2.5.2-r1.ebuild
Date: Tue, 31 Jul 2012 08:44:59
Message-Id: 20120731084448.752982004B@flycatcher.gentoo.org
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 }