Gentoo Archives: gentoo-commits

From: "Jean-Noel Rivasseau (elvanor)" <elvanor@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-util/eclipse-sdk: ChangeLog eclipse-sdk-3.4-r2.ebuild
Date: Tue, 05 Aug 2008 08:07:57
Message-Id: E1KQHaD-0003bh-RT@stork.gentoo.org
1 elvanor 08/08/05 08:07:53
2
3 Modified: ChangeLog
4 Added: eclipse-sdk-3.4-r2.ebuild
5 Log:
6 Eclipse-3.4 version bump (#229609)
7 (Portage version: 2.1.4.4)
8
9 Revision Changes Path
10 1.147 dev-util/eclipse-sdk/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-util/eclipse-sdk/ChangeLog?rev=1.147&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-util/eclipse-sdk/ChangeLog?rev=1.147&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-util/eclipse-sdk/ChangeLog?r1=1.146&r2=1.147
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/dev-util/eclipse-sdk/ChangeLog,v
19 retrieving revision 1.146
20 retrieving revision 1.147
21 diff -u -r1.146 -r1.147
22 --- ChangeLog 1 Aug 2008 20:27:52 -0000 1.146
23 +++ ChangeLog 5 Aug 2008 08:07:53 -0000 1.147
24 @@ -1,6 +1,18 @@
25 # ChangeLog for dev-util/eclipse-sdk
26 # Copyright 2003-2008 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/dev-util/eclipse-sdk/ChangeLog,v 1.146 2008/08/01 20:27:52 elvanor Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/dev-util/eclipse-sdk/ChangeLog,v 1.147 2008/08/05 08:07:53 elvanor Exp $
29 +
30 +*eclipse-sdk-3.4-r2 (05 Aug 2008)
31 +
32 + 05 Aug 2008; Jean-Noël Rivasseau <elvanor@g.o>
33 + +files/3.4/eclipse-3.4, +files/3.4/eclipse_build-libs.diff,
34 + +files/3.4/eclipserc, +files/3.4/ant-osgi-manifest.mf,
35 + +files/3.4/eclipse_String.compareTo.diff,
36 + +files/3.4/eclipse_buildfix-pde.diff,
37 + +files/3.4/fedora/eclipse-libupdatebuild2.patch,
38 + +files/3.4/fedora/eclipse-pde.build-add-package-build.patch,
39 + +eclipse-sdk-3.4-r2.ebuild:
40 + Eclipse 3.4 (Ganymede) version bump (moved from overlay).
41
42 01 Aug 2008; Jean-Noël Rivasseau <elvanor@g.o>
43 eclipse-sdk-3.3.1.1-r2.ebuild:
44
45
46
47 1.1 dev-util/eclipse-sdk/eclipse-sdk-3.4-r2.ebuild
48
49 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-util/eclipse-sdk/eclipse-sdk-3.4-r2.ebuild?rev=1.1&view=markup
50 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-util/eclipse-sdk/eclipse-sdk-3.4-r2.ebuild?rev=1.1&content-type=text/plain
51
52 Index: eclipse-sdk-3.4-r2.ebuild
53 ===================================================================
54 # Copyright 2007-2008 Gentoo Foundation
55 # Distributed under the terms of the GNU General Public License v2
56 # $Header: /var/cvsroot/gentoo-x86/dev-util/eclipse-sdk/eclipse-sdk-3.4-r2.ebuild,v 1.1 2008/08/05 08:07:53 elvanor Exp $
57
58 # To unbundle a jar, do the following:
59 # 1) Rewrite the ebuild so it uses OSGi packaging
60 # 2) Add the dependency and add it to gentoo_jars/system_jars
61 # 3) Remove it from the build directory, and don't forget to modify the main Ant file
62 # so that it does *NOT* copy the file at the end
63 # 4) Install the symlink itself via java-pkg_jarfrom
64
65 # Jetty, Tomcat-jasper have to stay bundled for now, until someone does some work on them.
66
67 # Current patches are hard to maintain when revbumping.
68 # Two solutions:
69 # 1) Split patches so that there is one per file
70 # 2) Use sed, better solution I would say.
71
72 EAPI="1"
73 JAVA_PKG_IUSE="doc"
74 inherit java-pkg-2 java-ant-2 check-reqs
75
76 DMF="R-${PV}-200806172000"
77 MY_A="eclipse-sourceBuild-srcIncluded-${PV}.zip"
78
79 DESCRIPTION="Eclipse Tools Platform"
80 HOMEPAGE="http://www.eclipse.org/"
81 SRC_URI="http://download.eclipse.org/eclipse/downloads/drops/${DMF}/${MY_A}"
82
83 SLOT="3.4"
84 LICENSE="EPL-1.0"
85 IUSE="java6"
86 KEYWORDS="~amd64 ~ppc ~x86"
87
88 S=${WORKDIR}
89 PATCHDIR="${FILESDIR}/${SLOT}"
90 FEDORA="${PATCHDIR}/fedora"
91 ECLIPSE_DIR="/usr/lib/eclipse-${SLOT}"
92
93 CDEPEND="dev-java/ant-eclipse-ecj:${SLOT}
94 dev-java/ant-core
95 dev-java/ant-nodeps
96 dev-java/junit:0
97 dev-java/junit:4
98 dev-java/swt:${SLOT}
99 >=dev-java/jsch-0.1.36-r1
100 >=dev-java/icu4j-3.8.1:0
101 >=dev-java/commons-el-1.0-r2
102 >=dev-java/commons-logging-1.1-r6
103 >=dev-java/tomcat-servlet-api-5.5.25-r1:2.4
104 dev-java/lucene:1.9
105 >=dev-java/lucene-analyzers-1.9.1-r1:1.9"
106 RDEPEND=">=virtual/jre-1.5
107 ${CDEPEND}"
108 DEPEND=">=virtual/jdk-1.5
109 java6? ( >=virtual/jdk-1.6 )
110 dev-java/cldc-api:1.1
111 app-arch/unzip
112 app-arch/zip
113 ${CDEPEND}"
114
115 JAVA_PKG_BSFIX="off"
116
117 pkg_setup() {
118 java-pkg-2_pkg_setup
119
120 CHECKREQS_MEMORY="512"
121 check_reqs
122
123 eclipsearch=${ARCH}
124 use amd64 && eclipsearch="x86_64"
125 }
126
127 src_unpack() {
128 unpack ${A}
129 patch-apply
130 remove-bundled-stuff
131
132 # Specific Gentoo tweaks for the build
133 find "${S}" -type f -name '*.xml' -exec \
134 sed -r -e "s:(-encoding ISO-8859-1):\1 -nowarn:g" \
135 -e "s:(\"compilerArg\" value=\"):\1-nowarn :g" \
136 -e "s:(<property name=\"javacSource\" value=)\".*\":\1\"1.5\":g" \
137 -e "s:(<property name=\"javacTarget\" value=)\".*\":\1\"1.5\":g" \
138 -e "s:output=\".*(txt|log).*\"::g" -i {} \;
139
140 # JDK home
141 sed -r -e "s:gcc :gcc ${CFLAGS} :" \
142 -e "s:^(JAVA_HOME =) .*:\1 $(java-config --jdk-home):" \
143 -i plugins/org.eclipse.core.filesystem/natives/unix/linux/Makefile \
144 || die "sed Makefile failed"
145
146 while read line; do
147 java-ant_rewrite-classpath "${line}" > /dev/null
148 done < <(find "${S}" -type f -name "build.xml")
149 }
150
151 src_compile() {
152 # Figure out correct boot classpath
153 local bootclasspath=$(java-config --runtime)
154 einfo "Using boot classpath ${bootclasspath}"
155
156 java-pkg_force-compiler ecj-${SLOT}
157
158 # system_jars will be used when compiling (javac)
159 # gentoo_jars will be used when building JSPs and other ant tasks (not javac)
160 local system_jars="$(java-pkg_getjars swt-${SLOT},icu4j,ant-core,jsch,junit-4,tomcat-servlet-api-2.4,\
161 lucene-1.9,lucene-analyzers-1.9):$(java-pkg_getjars --build-only ant-nodeps,cldc-api-1.1)"
162 local gentoo_jars="$(java-pkg_getjars ant-core,icu4j,jsch,commons-logging,commons-el,tomcat-servlet-api-2.4)"
163 local options="-q -Dnobootstrap=true -Dlibsconfig=true -Dbootclasspath=${bootclasspath} -DinstallOs=linux \
164 -DinstallWs=gtk -DinstallArch=${eclipsearch} -Djava5.home=$(java-config --jdk-home)"
165 use java6 && options="${options} -DJavaSE-1.6=${bootclasspath}"
166 use doc && options="${options} -Dgentoo.javadoc=true"
167
168 ANT_OPTS=-Xmx512M ANT_TASKS="ant-nodeps" \
169 eant ${options} \
170 -Dgentoo.classpath="${system_jars}" \
171 -Dgentoo.jars="${gentoo_jars//:/,}"
172 }
173
174 src_install() {
175 dodir "/usr/lib"
176
177 [ -f "result/linux-gtk-${eclipsearch}-sdk.tar.gz" ] \
178 || die "tar.gz bundle was not built properly!"
179 tar xzf "result/linux-gtk-${eclipsearch}-sdk.tar.gz" -C "${D}/usr/lib" \
180 || die "Failed to extract the built package"
181
182 mv "${D}/usr/lib/eclipse" "${D}/${ECLIPSE_DIR}"
183
184 # Install startup script
185 dobin "${FILESDIR}/${SLOT}/eclipse-${SLOT}"
186 chmod +x "${D}/${ECLIPSE_DIR}/eclipse"
187
188 insinto "/etc"
189 doins "${FILESDIR}/${SLOT}/eclipserc"
190
191 make_desktop_entry "eclipse-${SLOT}" "Eclipse ${PV}" "${ECLIPSE_DIR}/icon.xpm"
192
193 cd "${D}/${ECLIPSE_DIR}"
194 install-link-system-jars
195 }
196
197 pkg_postinst() {
198 einfo "Welcome to Eclipse ${PV} (Ganymede)!"
199 einfo
200 einfo "You can now install plugins via Update Manager without any"
201 einfo "tweaking. This is the recommended way to install new features for Eclipse."
202 einfo
203 einfo "Please read http://gentoo-wiki.com/Eclipse"
204 einfo "It contains a lot of useful information and help about Eclipse on Gentoo."
205 einfo
206 einfo "The FileInitializer Plugin is no more integrated."
207 einfo "If you need it, get org.eclipse.equinox.initializer_x.y.z.jar from:"
208 einfo " http://download.eclipse.org/eclipse/equinox/"
209 echo
210 ewarn "The new Update Manager (P2) is not yet supported under Gentoo."
211 ewarn "Please enable the 'Classic Update' under:"
212 ewarn "Window > Preferences > General > Capabilities"
213 }
214
215 # -----------------------------------------------------------------------------
216 # Helper functions
217 # -----------------------------------------------------------------------------
218
219 install-link-system-jars() {
220 pushd plugins/ > /dev/null
221
222 mkdir "org.apache.ant"
223 mkdir "org.apache.ant/META-INF/"
224 mkdir "org.apache.ant/lib"
225 cp "${FILESDIR}/${SLOT}/ant-osgi-manifest.mf" "org.apache.ant/META-INF/MANIFEST.MF"
226 pushd org.apache.ant/lib > /dev/null
227 java-pkg_jarfrom ant-core
228 java-pkg_jarfrom ant-nodeps
229 popd > /dev/null
230
231 java-pkg_jarfrom swt-${SLOT}
232 java-pkg_jarfrom icu4j
233 java-pkg_jarfrom jsch
234 java-pkg_jarfrom commons-el
235 java-pkg_jarfrom commons-logging
236 java-pkg_jarfrom lucene-1.9
237 java-pkg_jarfrom lucene-analyzers-1.9
238 java-pkg_jarfrom tomcat-servlet-api-2.4
239 java-pkg_jarfrom --into org.junit_*/ junit
240 java-pkg_jarfrom --into org.junit4*/ junit-4
241 popd > /dev/null
242 }
243
244 patch-apply() {
245 # optimize launcher build
246 mkdir launchertmp
247 unzip -qq -d launchertmp plugins/org.eclipse.platform/launchersrc.zip \
248 || die "unzip failed"
249 pushd launchertmp/ > /dev/null
250 sed -r -e "s/CFLAGS = -O -s -Wall/CFLAGS = ${CFLAGS} -Wall/" \
251 -i library/gtk/make_linux.mak || die "Failed to tweak make_linux.mak"
252 zip -q -6 -r ../launchersrc.zip * || die "zip failed"
253 popd > /dev/null
254 mv launchersrc.zip plugins/org.eclipse.platform/launchersrc.zip
255 rm -rf launchertmp
256
257 # disable swt, jdk6
258 # use sed where possible => ease bump :)
259 sed -e "/..\/..\/plugins\/org.eclipse.ui.win32/,/<\/ant>/d" \
260 -i features/org.eclipse.platform/build.xml
261 sed -e "/dir=\"..\/..\/plugins\/org.eclipse.swt/,/<\/ant>/d" \
262 -i features/org.eclipse.rcp/build.xml \
263 -i features/org.eclipse.rcp.source/build.xml
264 sed -e "/dir=\"..\/..\/plugins\/org.eclipse.ui.carbon\"/,/<\/ant>/d" \
265 -i features/org.eclipse.rcp/build.xml
266
267 sed -e "/dir=\"plugins\/org.eclipse.swt.gtk.linux.${eclipsearch}\"/d" \
268 -e "/value=\"org.eclipse.swt.gtk.linux.${eclipsearch}_/,/eclipse.plugins/d" \
269 -i assemble.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml
270 sed -e "s:\${basedir}/swt.jar:$(java-pkg_getjars --build-only swt-${SLOT}):" \
271 -i plugins/org.eclipse.swt.gtk.linux.${eclipsearch}/build.xml
272
273 if ! use java6; then
274 sed -e "/..\/..\/plugins\/org.eclipse.jdt.apt.pluggable.core/,/<\/ant>/d" \
275 -e "/..\/..\/plugins\/org.eclipse.jdt.compiler.apt/,/<\/ant>/d" \
276 -e "/..\/..\/plugins\/org.eclipse.jdt.compiler.tool/,/<\/ant>/d" \
277 -i features/org.eclipse.jdt/build.xml
278
279 sed -e "/id=\"org.eclipse.jdt.apt.pluggable.core\"/,/<plugin/d" \
280 -e "/id=\"org.eclipse.jdt.compiler.apt\"/,/<plugin/d" \
281 -e "/id=\"org.eclipse.jdt.compiler.tool\"/,/<plugin/d" \
282 -i features/org.eclipse.jdt/feature.xml
283
284 sed -e "/dir=\"plugins\/org.eclipse.jdt.apt.pluggable.core\"/d" \
285 -e "/dir=\"plugins\/org.eclipse.jdt.compiler.apt/d" \
286 -e "/dir=\"plugins\/org.eclipse.jdt.compiler.tool\"/d" \
287 -e "/value=\"org.eclipse.jdt.apt.pluggable.core/,/eclipse.plugins/d" \
288 -e "/value=\"org.eclipse.jdt.compiler.apt/,/eclipse.plugins/d" \
289 -e "/value=\"org.eclipse.jdt.compiler.tool/,/eclipse.plugins/d" \
290 -i assemble.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml
291 fi
292
293 epatch "${PATCHDIR}/eclipse_build-libs.diff"
294 epatch "${PATCHDIR}/eclipse_String.compareTo.diff"
295 epatch "${PATCHDIR}/eclipse_buildfix-pde.diff"
296
297 # JNI
298 epatch "${FEDORA}/eclipse-libupdatebuild2.patch"
299
300 # Generic releng plugins that can be used to build plugins
301 # https://www.redhat.com/archives/fedora-devel-java-list/2006-April/msg00048.html
302 pushd plugins/org.eclipse.pde.build > /dev/null
303 # %patch53
304 epatch "${FEDORA}/eclipse-pde.build-add-package-build.patch"
305 sed -e "s:@eclipse_base@:${ECLIPSE_DIR}:g" \
306 -i templates/package-build/build.properties
307 popd > /dev/null
308
309 # Following adds an additional classpath when building JSPs
310 sed '/<path id="@dot\.classpath">/ a\
311 <filelist dir="" files="${gentoo.jars}" />' \
312 -i plugins/org.eclipse.help.webapp/build.xml
313
314 # Following allows the doc USE flag to be honored
315 sed -e '/<target name="generateJavadoc" depends="getJavadocPath"/ c\
316 <target name="generateJavadoc" depends="getJavadocPath" if="gentoo.javadoc">' \
317 -e '/<replace file="\${basedir}\/\${optionsFile}" token="@rt@" value="\${bootclasspath}/ c\
318 <replace file="${basedir}/${optionsFile}" token="@rt@" value="${bootclasspath}:${gentoo.classpath}" />' \
319 -i plugins/org.eclipse.platform.doc.isv/buildDoc.xml
320
321 # This allows to compile osgi.util and osgi.service, and fixes IPluginDescriptor.class which is present compiled
322 sed -e 's/<src path="\."/<src path="org"/' \
323 -e '/<include name="org\/"\/>/d' \
324 -e '/<subant antfile="\${customBuildCallbacks}" target="pre\.gather\.bin\.parts" failonerror="false" buildpath="\.">/ { n;n;n; a\
325 <copy todir="${destination.temp.folder}/org.eclipse.osgi.services_3.1.200.v20071203" failonerror="true" overwrite="false"> \
326 <fileset dir="${build.result.folder}/@dot"> \
327 <include name="**"/> \
328 </fileset> \
329 </copy>
330 }' \
331 -i plugins/org.eclipse.osgi.services/build.xml
332
333 sed -e 's/<src path="\."/<src path="org"/' \
334 -e '/<include name="org\/"\/>/d' \
335 -e '/<subant antfile="\${customBuildCallbacks}" target="pre\.gather\.bin\.parts" failonerror="false" buildpath="\.">/ { n;n;n; a\
336 <copy todir="${destination.temp.folder}/org.eclipse.osgi.util_3.1.200.v20071203" failonerror="true" overwrite="false"> \
337 <fileset dir="${build.result.folder}/@dot"> \
338 <include name="**"/> \
339 </fileset> \
340 </copy>
341 }' \
342 -i plugins/org.eclipse.osgi.util/build.xml
343
344 sed '/<mkdir dir="${temp\.folder}\/runtime_registry_compatibility\.jar\.bin"\/>/ a\
345 <mkdir dir="classes"/> \
346 <copy todir="classes" failonerror="true" overwrite="false"> \
347 <fileset dir="${build.result.folder}/../org.eclipse.core.runtime/@dot/" includes="**/IPluginDescriptor.class" /> \
348 </copy>' \
349 -i plugins/org.eclipse.core.runtime.compatibility.registry/build.xml
350
351 # This removes the copying operation for bundled jars
352 sed -e "s/<copy.*com\.jcraft\.jsch_.*\/>//" \
353 -e "s/<copy.*com\.ibm\.icu_.*\/>//" \
354 -e "s/<copy.*org\.apache\.commons\.el_.*\/>//" \
355 -e "s/<copy.*org\.apache\.commons\.logging_.*\/>//" \
356 -e "s/<copy.*javax\.servlet\.jsp_.*\/>//" \
357 -e "s/<copy.*javax\.servlet_.*\/>//" \
358 -e "s/<copy.*org\.apache\.lucene_.*\/>//" \
359 -e "s/<copy.*org\.apache\.lucene\.analysis_.*\/>//" \
360 -i package.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml
361 }
362
363 remove-bundled-stuff() {
364 # Remove pre-built eclipse binaries
365 find "${S}" -type f -name eclipse | xargs rm
366 # ... .so libraries
367 find "${S}" -type f -name '*.so' | xargs rm
368 # ... .jar files
369 pushd plugins/ >/dev/null
370 rm org.eclipse.osgi/osgi/osgi*.jar \
371 org.eclipse.osgi/supplement/osgi/osgi.jar \
372 org.eclipse.swt/extra_jars/exceptions.jar
373
374 rm -rf org.apache.ant_*/*
375 rm org.apache.commons.el_*.jar org.apache.commons.logging_*.jar \
376 com.jcraft.jsch_*.jar com.ibm.icu_*.jar org.junit_*/*.jar \
377 org.junit4*/*.jar javax.servlet.jsp_*.jar javax.servlet_*.jar \
378 org.apache.lucene_*.jar org.apache.lucene.analysis_*.jar
379
380 # Remove bundled classes
381 rm -rf org.eclipse.osgi.services/org
382 unzip -q org.eclipse.osgi.services/src.zip -d org.eclipse.osgi.services/
383 rm -rf org.eclipse.osgi.util/org
384 unzip -q org.eclipse.osgi.util/src.zip -d org.eclipse.osgi.util/
385
386 rm -rf org.eclipse.jdt.core/scripts/*.class
387 rm -rf org.eclipse.core.runtime.compatibility.registry/classes
388 popd >/dev/null
389 }