Magellan Linux

Annotation of /branches/magellan-next/core/openjdk/openjdk-6.1.10.4-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 9714 - (hide annotations) (download)
Thu Jan 5 19:48:49 2012 UTC (12 years, 4 months ago) by niro
File size: 9514 byte(s)
-fixed a typo in jdk-install, clean up and fixed up2date
1 niro 9704 # $Id$
2    
3     PNAME="openjdk"
4     PVER="6.1.10.4"
5     PBUILD="r1"
6    
7     SPLIT_PACKAGES="openjdk-jre openjdk-jdk openjdk-src openjdk-demos"
8    
9     PCATEGORIE="dev-java"
10     HOMEPAGE="http://openjdk.java.net/"
11    
12     JRE_DEPEND=">= dev-java/java-environment-1
13     >= media-libs/freetype-2.4
14     >= media-libs/alsa-lib-1.0.24
15     >= media-sound/libpulse-1.1
16     >= dev-libs/nss-3.12
17     >= sys-libs/libstc++-4.6
18     >= x11-libs/libXt-1.1
19     >= x11-libs/libXtst-1.2
20     >= x11-libs/libXrender-0.9
21     >= media-libs/libjpeg-8
22     >= media-libs/libpng-1.5
23     >= media-libs/giflib-4.1"
24    
25     # eclipse-ecj-3.7.x has build issues with openjdk6
26     SDEPEND="${JRE_DEPEND}
27     >= app-arch/unzip-5
28     >= app-arch/zip-3
29     >= sys-apps/sed-4
30     >= dev-java/apache-ant-1.8.2
31     >= dev-java/eclipse-ecj-3.6.2
32     >= dev-java/xerces2-j-2.11
33     >= dev-java/xalan-j-2.7
34     >= dev-java/rhino-1.7
35     >= sys-dev/java-gcj-compat-1.0.80"
36    
37     # provided java version
38     JAVA_PVER="1.6.0-${PNAME}-${PVER}"
39    
40     # icedtea6
41     # http://icedtea.classpath.org/wiki/Main_Page
42     ICEDTEA_PVER="${PVER/6.}"
43     ICEDTEA_SRCFILE="icedtea6-${ICEDTEA_PVER}.tar.gz"
44     ICEDTEA_SRCDIR="${BUILDDIR}/icedtea6-${ICEDTEA_PVER}"
45    
46     # hardcoded openjdk-pver in icedtea!
47     OPENJDK_PVER="b22-28_feb_2011"
48     OPENJDK_SRCFILE="openjdk-${PVER:0:1}-src-${OPENJDK_PVER}.tar.gz"
49    
50     # hardcoded jaxws pver
51 niro 9711 JAXP_PVER="144_01"
52     JAXP_SRCFILE="jaxp${JAXP_PVER}.zip"
53 niro 9704
54     # hardcoded jaxp pver
55 niro 9711 JAXWS_PVER="b20"
56 niro 9712 JAXWS_SRCFILE="jdk6-jaxws-${JAXWS_PVER}.zip"
57 niro 9704
58     # hardcoded jaf pver
59     JAF_PVER="b20"
60 niro 9708 JAF_SRCFILE="jdk6-jaf-${JAF_PVER}.zip"
61 niro 9704
62     sminclude mtools xdg
63    
64     SRC_URI=(
65 niro 9708 http://download.java.net/openjdk/jdk6/promoted/${OPENJDK_PVER%-*}/${OPENJDK_SRCFILE}
66 niro 9704 http://icedtea.classpath.org/download/source/${ICEDTEA_SRCFILE}
67     http://icedtea.classpath.org/download/drops/${JAXP_SRCFILE}
68     http://icedtea.classpath.org/download/drops/${JAXWS_SRCFILE}
69     http://icedtea.classpath.org/download/drops/${JAF_SRCFILE}
70     mirror://${PNAME}/${OPENJDK_SRCFILE}
71     mirror://${PNAME}/${ICEDTEA_SRCFILE}
72     mirror://${PNAME}/${JAXP_SRCFILE}
73     mirror://${PNAME}/${JAXWS_SRCFILE}
74     mirror://${PNAME}/${JAF_SRCFILE}
75     mirror://${PNAME}/${PNAME}-${PVER}-xerces211.patch
76     mirror://${PNAME}/${PNAME}-${PVER}-fix-cmds.patch
77 niro 9713 mirror://${PNAME}/${PNAME}-${PVER}-hardcoded-test-cmds.patch
78 niro 9704 #mirror://${PNAME}/${PNAME}-${PVER}-nonreparenting-wm.patch
79     mirror://${PNAME}/${PNAME}-${PVER}-fontconfig.patch
80     )
81    
82 niro 9714 UP2DATE="updatecmd 'http://icedtea.classpath.org/download/source/?C=M;O=A' | grep icedtea6-[0-9] | lasttarball gz | sed 's:\(.*\):6.\1:'"
83 niro 9704
84     split_info_openjdk-jre()
85     {
86     DESCRIPTION="OpenJDK Java Runtime Environment ${PVER} with IcedTea plugins and classes."
87     DEPEND="${JRE_DEPEND}"
88     PROVIDE="virtual/java"
89     }
90    
91     split_info_openjdk-jdk()
92     {
93     DESCRIPTION="OpenJDK Java Development Kit ${PVER} with IcedTea plugins and classes."
94     DEPEND="== dev-java/openjdk-jre-${PVER}"
95     PROVIDE="virtual/java-jdk"
96     }
97    
98 niro 9709 split_info_openjdk-src()
99 niro 9704 {
100 niro 9709 DESCRIPTION="OpenJDK developmend source."
101     DEPEND="== dev-java/openjdk-jdk-${PVER}"
102 niro 9704 }
103    
104 niro 9709 split_info_openjdk-demos()
105     {
106     DESCRIPTION="OpenJDK samples and demos."
107     DEPEND="== dev-java/openjdk-jdk-${PVER}"
108     }
109    
110 niro 9704 src_prepare()
111     {
112     munpack ${ICEDTEA_SRCFILE} || die
113     cd ${ICEDTEA_SRCDIR}
114    
115     # fix build against >=xerces-2.11 which has a xml-api.jar which must be included
116     mpatch ${PNAME}-${PVER}-xerces211.patch || die
117    
118     ln -snf ${SOURCEDIR}/${PNAME}/${OPENJDK_SRCFILE} ${ICEDTEA_SRCDIR} || die
119 niro 9710 install -d ${ICEDTEA_SRCDIR}/drops || die
120     cp ${SOURCEDIR}/${PNAME}/${JAXP_SRCFILE} ${ICEDTEA_SRCDIR}/drops || die
121     cp ${SOURCEDIR}/${PNAME}/${JAXWS_SRCFILE} ${ICEDTEA_SRCDIR}/drops || die
122     cp ${SOURCEDIR}/${PNAME}/${JAF_SRCFILE} ${ICEDTEA_SRCDIR}/drops || die
123 niro 9704 mautoreconf || die
124     }
125    
126     src_compile()
127     {
128     cd ${ICEDTEA_SRCDIR}
129    
130     local myopts
131    
132     export ALT_PARALLEL_COMPILE_JOBS="${MAKEOPTS/-j}"
133     export HOTSPOT_BUILD_JOBS="${ALT_PARALLEL_COMPILE_JOBS}"
134     unset MAKEOPTS
135    
136     # use java-gcj-compat
137     unset JAVA_HOME JDK_HOME JRE_HOME CLASSPATH JAVAC
138     local JDK_HOME="/usr/$(mlibdir)/jvm/java-1.5.0-gcj-1.5.0.0"
139    
140     mconfigure \
141     --with-pkgversion="Magellan-Linux ${PVER} ${ARCH}" \
142     --with-parallel-jobs=${HOTSPOT_BUILD_JOBS} \
143     --with-ant-home=${ANT_HOME} \
144 niro 9705 --with-jdk-home=${JDK_HOME} \
145 niro 9704 --disable-docs \
146     --disable-zero \
147     --disable-cacao \
148     --disable-jamvm \
149     --disable-shark \
150     --enable-pulse-java \
151     --enable-nss \
152     --enable-bootstrap \
153     ${myopts} \
154     || die
155    
156     mmake patch || die
157    
158     # apply our patches here
159     cd ${ICEDTEA_SRCDIR}/openjdk
160     mpatch ${PNAME}-${PVER}-fix-cmds.patch || die
161 niro 9713 mpatch ${PNAME}-${PVER}-hardcoded-test-cmds.patch || die
162 niro 9704 #mpatch ${PNAME}-${PVER}-nonreparenting-wm.patch || die
163     mpatch ${PNAME}-${PVER}-fontconfig.patch || die
164     cd ${ICEDTEA_SRCDIR}
165    
166     mmake || die
167     }
168    
169     src_install_openjdk-jre()
170     {
171     cd ${ICEDTEA_SRCDIR}
172    
173     local JAVA_DIR="/usr/$(mlibdir)/jvm/java-${JAVA_PVER}"
174    
175     minstalldir ${JAVA_DIR} || die
176     mcopy -R openjdk.build/j2sdk-image/jre ${JAVA_DIR} || die
177     mchown -R root:root ${JAVA_DIR} || die
178    
179     # only keep configs we need
180     rm ${BINDIR}/${JAVA_DIR}/jre/lib/fontconfig.*.bfc || die
181     rm ${BINDIR}/${JAVA_DIR}/jre/lib/fontconfig.*.properties.src || die
182     minstallfile openjdk.build/j2sdk-image/jre/lib/fontconfig.Ubuntu.bfc \
183     ${JAVA_DIR}/jre/lib/fontconfig.bfc || die
184     minstallfile openjdk.build/j2sdk-image/jre/lib/fontconfig.Ubuntu.properties.src \
185     ${JAVA_DIR}/jre/lib/fontconfig.properties.src || die
186    
187     # get the right platform, needed plugin and env.d script install
188     local PLATFORM="${ARCH}"
189     [[ ${ARCH} = i*86 ]] && export PLATFORM="i386"
190     [[ ${ARCH} = x86_64 ]] && export PLATFORM="amd64"
191    
192     # install java environment into /etc/env.d
193     minstalldir /etc/env.d/ || die
194     MCONFIG="/etc/env.d/21java"
195     mclearconfig || die
196     maddconfig "JAVA_HOME=\"${JAVA_DIR}\"" || die
197     maddconfig "JRE_HOME=\"${JAVA_DIR}\"" || die
198     maddconfig "CLASSPATH=\"${JAVA_DIR}/jre/lib/rt.jar\"" || die
199     # maddconfig "CLASSPATH=\"${JAVA_DIR}/jre/lib/i18n.jar\"" || die
200     maddconfig "CLASSPATH=\"${JAVA_DIR}/jre/lib/sunrsasign.jar\"" || die
201     maddconfig "CLASSPATH=\"${JAVA_DIR}/jre/lib/jsse.jar\"" || die
202     maddconfig "CLASSPATH=\"${JAVA_DIR}/jre/lib/jce.jar\"" || die
203     maddconfig "CLASSPATH=\"${JAVA_DIR}/jre/lib/charsets.jar\"" || die
204     maddconfig "PATH=\"${JAVA_DIR}/jre/bin\"" || die
205     maddconfig "ROOTPATH=\"${JAVA_DIR}/jre/bin\"" || die
206     maddconfig "LDPATH=\"${JAVA_DIR}/jre/lib/${PLATFORM}/\"" || die
207     maddconfig "LDPATH=\"${JAVA_DIR}/jre/lib/${PLATFORM}/native_threads/\"" || die
208     maddconfig "LDPATH=\"${JAVA_DIR}/jre/lib/${PLATFORM}/xawt/\"" || die
209     maddconfig "LDPATH=\"${JAVA_DIR}/jre/lib/${PLATFORM}/server/" || die
210     maddconfig "LDPATH=\"${JAVA_DIR}/jre/lib/${PLATFORM}/jli/\"" || die
211     # maddconfig || die
212     # maddconfig '# enable this for non-reparenting window managers' || die
213     # maddconfig '#export JAVA_AWT_WM_NONREPARENTING=1' || die
214     }
215    
216     src_install_openjdk-jdk()
217     {
218     cd ${ICEDTEA_SRCDIR}
219    
220     local JAVA_DIR="/usr/$(mlibdir)/jvm/java-${JAVA_PVER}"
221    
222 niro 9714 minstalldir /usr/$(mlibdir)/jvm || die
223 niro 9704 mcopy -R openjdk.build/j2sdk-image ${JAVA_DIR} || die
224     mchown -R root:root ${JAVA_DIR} || die
225    
226     # save space and symlink some twice installed binaries
227     local i
228     for i in $(find ${ICEDTEA_SRCDIR}/openjdk.build/j2sdk-image/jre/bin -type f -printf '%f\n')
229     do
230     if [[ -x ${BINDIR}/${JAVA_DIR}/bin/${i} ]]
231     then
232     rm ${BINDIR}/${JAVA_DIR}/bin/${i} || die
233     mlink ../jre/bin/${i} ${JAVA_DIR}/bin/${i} || die
234     fi
235     done
236    
237     # now remove the jre
238     if [[ -d ${BINDIR}/${JAVA_DIR}/jre ]]
239     then
240     rm -r ${BINDIR}/${JAVA_DIR}/jre || die
241     fi
242    
243     # install desktop-icons
244     # add missing System category
245     minstallpixmap \
246     ${ICEDTEA_SRCDIR}/openjdk/jdk/src/solaris/classes/sun/awt/X11/java-icon48.png \
247     java-openjdk.png || die
248     minstallxdg --exec "${JAVA_DIR}/bin/jconsole" --icon "java-openjdk" \
249     --categories "System" ${ICEDTEA_SRCDIR}/jconsole.desktop || die
250     minstallxdg --exec "${JAVA_DIR}/bin/policytool" --icon "java-openjdk" \
251     ${ICEDTEA_SRCDIR}/policytool.desktop || die
252    
253     # remove the sources, they are way to big -> extra package
254     rm -f ${BINDIR}/${JAVA_DIR}/src.zip || die
255    
256     # same for the demos and samples
257     # rm -rf ${BINDIR}/${JAVA_DIR}/demos || die
258     rm -rf ${BINDIR}/${JAVA_DIR}/demo || die
259     # rm -rf ${BINDIR}/${JAVA_DIR}/db/demo || die
260     rm -rf ${BINDIR}/${JAVA_DIR}/sample || die
261     rm -f ${BINDIR}/${JAVA_DIR}/bin/java-rmi.cgi || die
262    
263     local PLATFORM="${ARCH}"
264     [[ ${ARCH} = i*86 ]] && export PLATFORM="i386"
265     [[ ${ARCH} = x86_64 ]] && export PLATFORM="amd64"
266    
267     # install java environment into /etc/env.d
268     minstalldir /etc/env.d || die
269     MCONFIG="/etc/env.d/20java-jdk"
270     mclearconfig || die
271     maddconfig "JDK_HOME=\"${JAVA_DIR}\"" || die
272     maddconfig "JAVAC=\"${JAVA_DIR}/bin/javac\"" || die
273     maddconfig "PATH=\"${JAVA_DIR}/bin\"" || die
274     maddconfig "ROOTPATH=\"${JAVA_DIR}/bin\"" || die
275     maddconfig "MANPATH=\"${JAVA_DIR}/man\"" || die
276     }
277    
278     src_install_openjdk-src()
279     {
280     cd ${ICEDTEA_SRCDIR}
281     local JAVA_DIR="/usr/$(mlibdir)/jvm/java-${JAVA_PVER}"
282     minstalldir ${JAVA_DIR} || die
283     mcopy -R openjdk.build/j2sdk-image/src.zip ${JAVA_DIR} || die
284     mchown -R root:root ${JAVA_DIR} || die
285     }
286    
287     src_install_openjdk-demos()
288     {
289     cd ${ICEDTEA_SRCDIR}
290     local JAVA_DIR="/usr/$(mlibdir)/jvm/java-${JAVA_PVER}"
291     minstalldir ${JAVA_DIR} || die
292     mcopy -R openjdk.build/j2sdk-image/demo ${JAVA_DIR}/ || die
293     mcopy -R openjdk.build/j2sdk-image/sample ${JAVA_DIR}/ || die
294     minstallexec openjdk.build/j2sdk-image/bin/java-rmi.cgi ${JAVA_DIR}/sample/rmi || die
295     mchown -R root:root ${JAVA_DIR} || die
296     }
297    
298     preinstall_openjdk-jre()
299     {
300     # force java env update
301     [ -f ${MROOT}/etc/env.d/21java ] && rm ${MROOT}/etc/env.d/21java
302     }
303    
304     preinstall_openjdk-jdk()
305     {
306     # force java env update
307     [ -f ${MROOT}/etc/env.d/20java-jdk ] && rm ${MROOT}/etc/env.d/20java-jdk
308     }