Tweak java/openjdk8 version 8.144.1
[dports.git] / java / openjdk8 / Makefile
1 # $FreeBSD$
2
3 PORTNAME=       openjdk
4 PORTVERSION=    ${JDK_MAJOR_VERSION}.${JDK_UPDATE_VERSION}.${JDK_BUILD_NUMBER:S/^0//}
5 CATEGORIES=     java devel
6 MASTER_SITES=   http://download.java.net/openjdk/jdk${JDK_MAJOR_VERSION}/promoted/b${DIST_BUILD_NUMBER}/:jdk \
7                 https://adopt-openjdk.ci.cloudbees.com/job/jtreg/${JTREG_JENKINS_BUILD}/artifact/:jtreg \
8                 http://dl.wolfpond.org/openjdk8/:bootstrap \
9                 http://leaf.dragonflybsd.org/~marino/dports-src/:bootstrap \
10                 LOCAL/jkim:jdk,jtreg
11 PKGNAMESUFFIX?= ${JDK_MAJOR_VERSION}
12 DISTNAME=       ${PORTNAME}-${JDK_MAJOR_VERSION}-src-b${DIST_BUILD_NUMBER}-03_mar_2014
13 DISTFILES=      ${DISTNAME}.zip:jdk ${BOOTSTRAP_DISTFILE}
14
15 PATCH_SITES=    LOCAL/glewis/openjdk8
16 PATCHFILES=     patch-8u05-b13.xz \
17                 patch-8u11-b13.xz \
18                 patch-8u20-b26.xz \
19                 patch-8u25-b17.xz \
20                 patch-8u31-b13.xz \
21                 patch-8u40-b25.xz \
22                 patch-8u45-b14.xz \
23                 patch-8u51-b16.xz \
24                 patch-8u60-b23.xz \
25                 patch-8u66-b17-1.xz \
26                 patch-8u72-b15.xz \
27                 patch-8u74-b02.xz \
28                 patch-8u77-b03.xz \
29                 patch-8u92-b14.xz \
30                 patch-8u102-b14.xz \
31                 patch-8u112-b16.xz \
32                 patch-8u121-b13.xz \
33                 patch-8u131-b11.xz \
34                 patch-8u144-b01.xz
35
36 MAINTAINER=     java@FreeBSD.org
37 COMMENT?=       Java Development Kit ${JDK_MAJOR_VERSION}
38
39 LICENSE=        GPLv2
40
41 BUILD_DEPENDS=  zip:archivers/zip \
42                 ${LOCALBASE}/include/cups/cups.h:print/cups \
43                 bash:shells/bash
44 LIB_DEPENDS=    libfreetype.so:print/freetype2
45 X11_LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
46                 libgif.so:graphics/giflib
47 RUN_DEPENDS=    javavm:java/javavmwrapper \
48                 dejavu>0:x11-fonts/dejavu
49
50 USES=           compiler:features dos2unix gmake iconv pkgconfig \
51                 shebangfix
52 USE_AUTOTOOLS=  autoconf
53 # Even when not building with X11 support, openjdk8 requires Xrender, X11,
54 # Xext, and Xt headers.
55 X11_BUILD_DEPENDS_OFF+= ${LOCALBASE}/libdata/pkgconfig/x11.pc:x11/libX11
56 X11_BUILD_DEPENDS_OFF+= ${LOCALBASE}/libdata/pkgconfig/xext.pc:x11/libXext
57 X11_BUILD_DEPENDS_OFF+= ${LOCALBASE}/libdata/pkgconfig/xrender.pc:x11/libXrender
58 X11_BUILD_DEPENDS_OFF+= ${LOCALBASE}/libdata/pkgconfig/xt.pc:x11-toolkits/libXt
59 # Add more X11 build deps and runtime deps when X11 is enabled
60 X11_LIB_DEPENDS+=       libX11.so.6:x11/libX11
61 X11_LIB_DEPENDS+=       libXext.so.6:x11/libXext
62 X11_LIB_DEPENDS+=       libXi.so.6:x11/libXi
63 X11_LIB_DEPENDS+=       libXrender.so.1:x11/libXrender
64 X11_LIB_DEPENDS+=       libXt.so.6:x11-toolkits/libXt
65 X11_LIB_DEPENDS+=       libXtst.so.6:x11/libXtst
66
67 .if !exists(/usr/bin/unzip)
68 BUILD_DEPENDS+= ${UNZIP_CMD}:archivers/unzip
69 .endif
70
71 ONLY_FOR_ARCHS= amd64 armv6 armv7 i386 powerpc powerpc64
72 WRKSRC=         ${WRKDIR}/${PORTNAME}
73
74 DOS2UNIX_FILES= jdk/src/bsd/doc/man/appletviewer.1 \
75                 jdk/src/bsd/doc/man/extcheck.1 \
76                 jdk/src/bsd/doc/man/idlj.1 \
77                 jdk/src/bsd/doc/man/jar.1 \
78                 jdk/src/bsd/doc/man/jarsigner.1 \
79                 jdk/src/bsd/doc/man/java.1 \
80                 jdk/src/bsd/doc/man/javac.1 \
81                 jdk/src/bsd/doc/man/javadoc.1 \
82                 jdk/src/bsd/doc/man/javah.1 \
83                 jdk/src/bsd/doc/man/javap.1 \
84                 jdk/src/bsd/doc/man/jcmd.1 \
85                 jdk/src/bsd/doc/man/jconsole.1 \
86                 jdk/src/bsd/doc/man/jdb.1 \
87                 jdk/src/bsd/doc/man/jdeps.1 \
88                 jdk/src/bsd/doc/man/jhat.1 \
89                 jdk/src/bsd/doc/man/jinfo.1 \
90                 jdk/src/bsd/doc/man/jjs.1 \
91                 jdk/src/bsd/doc/man/jmap.1 \
92                 jdk/src/bsd/doc/man/jps.1 \
93                 jdk/src/bsd/doc/man/jrunscript.1 \
94                 jdk/src/bsd/doc/man/jsadebugd.1 \
95                 jdk/src/bsd/doc/man/jstack.1 \
96                 jdk/src/bsd/doc/man/jstat.1 \
97                 jdk/src/bsd/doc/man/jstatd.1 \
98                 jdk/src/bsd/doc/man/keytool.1 \
99                 jdk/src/bsd/doc/man/native2ascii.1 \
100                 jdk/src/bsd/doc/man/orbd.1 \
101                 jdk/src/bsd/doc/man/pack200.1 \
102                 jdk/src/bsd/doc/man/policytool.1 \
103                 jdk/src/bsd/doc/man/rmic.1 \
104                 jdk/src/bsd/doc/man/rmid.1 \
105                 jdk/src/bsd/doc/man/rmiregistry.1 \
106                 jdk/src/bsd/doc/man/schemagen.1 \
107                 jdk/src/bsd/doc/man/serialver.1 \
108                 jdk/src/bsd/doc/man/servertool.1 \
109                 jdk/src/bsd/doc/man/tnameserv.1 \
110                 jdk/src/bsd/doc/man/unpack200.1 \
111                 jdk/src/bsd/doc/man/wsgen.1 \
112                 jdk/src/bsd/doc/man/wsimport.1 \
113                 jdk/src/bsd/doc/man/xjc.1 \
114                 jdk/src/linux/doc/man/appletviewer.1 \
115                 jdk/src/linux/doc/man/extcheck.1 \
116                 jdk/src/linux/doc/man/idlj.1 \
117                 jdk/src/linux/doc/man/jar.1 \
118                 jdk/src/linux/doc/man/jarsigner.1 \
119                 jdk/src/linux/doc/man/java.1 \
120                 jdk/src/linux/doc/man/javac.1 \
121                 jdk/src/linux/doc/man/javadoc.1 \
122                 jdk/src/linux/doc/man/javah.1 \
123                 jdk/src/linux/doc/man/javap.1 \
124                 jdk/src/linux/doc/man/jcmd.1 \
125                 jdk/src/linux/doc/man/jconsole.1 \
126                 jdk/src/linux/doc/man/jdb.1 \
127                 jdk/src/linux/doc/man/jdeps.1 \
128                 jdk/src/linux/doc/man/jhat.1 \
129                 jdk/src/linux/doc/man/jinfo.1 \
130                 jdk/src/linux/doc/man/jjs.1 \
131                 jdk/src/linux/doc/man/jmap.1 \
132                 jdk/src/linux/doc/man/jps.1 \
133                 jdk/src/linux/doc/man/jrunscript.1 \
134                 jdk/src/linux/doc/man/jsadebugd.1 \
135                 jdk/src/linux/doc/man/jstack.1 \
136                 jdk/src/linux/doc/man/jstat.1 \
137                 jdk/src/linux/doc/man/jstatd.1 \
138                 jdk/src/linux/doc/man/keytool.1 \
139                 jdk/src/linux/doc/man/native2ascii.1 \
140                 jdk/src/linux/doc/man/orbd.1 \
141                 jdk/src/linux/doc/man/pack200.1 \
142                 jdk/src/linux/doc/man/policytool.1 \
143                 jdk/src/linux/doc/man/rmic.1 \
144                 jdk/src/linux/doc/man/rmid.1 \
145                 jdk/src/linux/doc/man/rmiregistry.1 \
146                 jdk/src/linux/doc/man/schemagen.1 \
147                 jdk/src/linux/doc/man/serialver.1 \
148                 jdk/src/linux/doc/man/servertool.1 \
149                 jdk/src/linux/doc/man/tnameserv.1 \
150                 jdk/src/linux/doc/man/unpack200.1 \
151                 jdk/src/linux/doc/man/wsgen.1 \
152                 jdk/src/linux/doc/man/wsimport.1 \
153                 jdk/src/linux/doc/man/xjc.1 \
154                 jdk/src/share/classes/com/sun/org/apache/xml/internal/security/resource/xmlsecurity_en.properties \
155                 jdk/src/solaris/doc/sun/man/man1/appletviewer.1 \
156                 jdk/src/solaris/doc/sun/man/man1/extcheck.1 \
157                 jdk/src/solaris/doc/sun/man/man1/idlj.1 \
158                 jdk/src/solaris/doc/sun/man/man1/jar.1 \
159                 jdk/src/solaris/doc/sun/man/man1/jarsigner.1 \
160                 jdk/src/solaris/doc/sun/man/man1/java.1 \
161                 jdk/src/solaris/doc/sun/man/man1/javac.1 \
162                 jdk/src/solaris/doc/sun/man/man1/javadoc.1 \
163                 jdk/src/solaris/doc/sun/man/man1/javah.1 \
164                 jdk/src/solaris/doc/sun/man/man1/javap.1 \
165                 jdk/src/solaris/doc/sun/man/man1/jcmd.1 \
166                 jdk/src/solaris/doc/sun/man/man1/jconsole.1 \
167                 jdk/src/solaris/doc/sun/man/man1/jdb.1 \
168                 jdk/src/solaris/doc/sun/man/man1/jdeps.1 \
169                 jdk/src/solaris/doc/sun/man/man1/jhat.1 \
170                 jdk/src/solaris/doc/sun/man/man1/jinfo.1 \
171                 jdk/src/solaris/doc/sun/man/man1/jjs.1 \
172                 jdk/src/solaris/doc/sun/man/man1/jmap.1 \
173                 jdk/src/solaris/doc/sun/man/man1/jps.1 \
174                 jdk/src/solaris/doc/sun/man/man1/jrunscript.1 \
175                 jdk/src/solaris/doc/sun/man/man1/jsadebugd.1 \
176                 jdk/src/solaris/doc/sun/man/man1/jstack.1 \
177                 jdk/src/solaris/doc/sun/man/man1/jstat.1 \
178                 jdk/src/solaris/doc/sun/man/man1/jstatd.1 \
179                 jdk/src/solaris/doc/sun/man/man1/keytool.1 \
180                 jdk/src/solaris/doc/sun/man/man1/native2ascii.1 \
181                 jdk/src/solaris/doc/sun/man/man1/orbd.1 \
182                 jdk/src/solaris/doc/sun/man/man1/pack200.1 \
183                 jdk/src/solaris/doc/sun/man/man1/policytool.1 \
184                 jdk/src/solaris/doc/sun/man/man1/rmic.1 \
185                 jdk/src/solaris/doc/sun/man/man1/rmid.1 \
186                 jdk/src/solaris/doc/sun/man/man1/rmiregistry.1 \
187                 jdk/src/solaris/doc/sun/man/man1/schemagen.1 \
188                 jdk/src/solaris/doc/sun/man/man1/serialver.1 \
189                 jdk/src/solaris/doc/sun/man/man1/servertool.1 \
190                 jdk/src/solaris/doc/sun/man/man1/tnameserv.1 \
191                 jdk/src/solaris/doc/sun/man/man1/unpack200.1 \
192                 jdk/src/solaris/doc/sun/man/man1/wsgen.1 \
193                 jdk/src/solaris/doc/sun/man/man1/wsimport.1 \
194                 jdk/src/solaris/doc/sun/man/man1/xjc.1 \
195                 nashorn/test/script/jfx.js \
196                 nashorn/test/script/jfx/kaleidoscope.js \
197                 nashorn/test/script/jfx/spread.js
198 SHEBANG_FILES=  configure
199
200 _MAKE_JOBS=     #
201 CPPFLAGS+=      -I${LOCALBASE}/include
202 LDFLAGS+=       -L${LOCALBASE}/lib
203 MAKE_ENV=       CLASSPATH="" JAVA_HOME=""
204 MAKE_ENV+=      IGNORE_OLD_CONFIG=true
205 MAKE_ENV+=      COMPILER_WARNINGS_FATAL="false"
206 # openjdk8 normally sets X_CFLAGS in the ./configure script, but it won't do
207 # that if you say --disable-headful, even though it still needs some X headers.
208 # Set it here instead.
209 X11_MAKE_ENV_OFF=       MAKEFLAGS="X_CFLAGS=-I${LOCALBASE}/include" \
210                         BUILD_HEADLESS_ONLY=1
211
212 JDK_BUILDDIR=   ${WRKSRC}/build/${JDK_OSARCH}-normal-${JDK_BUILD_JVM}-${JDK_BUILD_TYPE}
213 .if !defined(BUILD_JRE)
214 JDK_IMAGEDIR=   ${JDK_BUILDDIR}/images/j2sdk-image
215 JRE_IMAGEDIR=   ${JDK_BUILDDIR}/images/j2sdk-image/jre
216 .else
217 JRE_IMAGEDIR=   ${JDK_BUILDDIR}/images/j2re-image
218 .endif
219 JDK_JVMDIR=     lib/${ARCH:S/x86_64/amd64/}
220 JDK_OSARCH=     bsd-${ARCH:S/amd64/x86_64/:C/armv.*/arm/:S/i386/x86/:S/powerpc64/ppc64/}
221 INSTALLDIR=     ${PREFIX}/${PKGBASE}
222
223 NO_CCACHE=              yes
224 NOPRECIOUSMAKEVARS=     yes
225
226 JDK_MAJOR_VERSION=      8
227 JDK_UPDATE_VERSION=     144
228 JDK_BUILD_NUMBER=       01
229 DIST_BUILD_NUMBER=      132
230 JTREG_VERSION=          4.1
231 JTREG_BUILD_NUMBER=     b08
232 JTREG_JENKINS_BUILD=    77
233
234 CONFIGURE_ARGS=         --with-boot-jdk=${BOOTSTRAPJDKDIR}
235 CONFIGURE_ARGS+=        --with-build-number="b${JDK_BUILD_NUMBER}"
236 .if ${JDK_UPDATE_VERSION} > 0
237 CONFIGURE_ARGS+=        --with-update-version=${JDK_UPDATE_VERSION}
238 .endif
239 CONFIGURE_ARGS+=        --disable-ccache \
240                         --disable-freetype-bundling \
241                         --disable-zip-debug-info \
242                         --with-cacerts-file=${FILESDIR}/cacerts \
243                         --with-cups=${LOCALBASE} \
244                         --with-debug-level=${JDK_BUILD_TYPE} \
245                         --with-freetype=${LOCALBASE} \
246                         --with-freetype-include=${LOCALBASE}/include/freetype2 \
247                         --with-jobs=${MAKE_JOBS_NUMBER} \
248                         --with-jvm-variants=${JDK_BUILD_JVM} \
249                         --with-milestone=fcs \
250                         --with-package-path=${LOCALBASE} \
251                         --with-zlib=system
252 X11_CONFIGURE_ON=       --with-giflib=system \
253                         --x-libraries=${LOCALBASE}/lib \
254                         --x-includes=${LOCALBASE}/include
255 X11_CONFIGURE_OFF=      --disable-headful
256 CONFIGURE_SCRIPT=       ../../configure
257 CONFIGURE_WRKSRC=       ${WRKSRC}/common/autoconf
258
259 OPTIONS_DEFINE=         ALSA POLICY TZUPDATE X11
260 OPTIONS_DEFINE_armv6=   FPUHACK
261 OPTIONS_DEFINE_armv7=   FPUHACK
262 OPTIONS_DEFAULT=        POLICY TZUPDATE X11
263 OPTIONS_DEFAULT_armv6=  FPUHACK
264 OPTIONS_DEFAULT_armv7=  FPUHACK
265 FPUHACK_DESC=           Hack denormalized numbers in flush-to-zero mode
266 POLICY_DESC=            Install the Unlimited Strength Policy Files
267 TZUPDATE_DESC=          Update the time zone data
268
269 FPUHACK_EXTRA_PATCHES=  ${PATCHDIR}/fpuhack.patch
270 POLICY_CONFIGURE_ENABLE=        unlimited-crypto
271 TZUPDATE_RUN_DEPENDS=   java-zoneinfo>0:java/java-zoneinfo
272
273 JAVAVMS_COMMENT=        OpenJDK${JDK_MAJOR_VERSION}
274
275 ALSA_LIB_DEPENDS=       libasound.so:audio/alsa-lib
276 ALSA_CONFIGURE_ON=      --with-alsa=${LOCALBASE}
277 ALSA_CONFIGURE_ENV_OFF= ALSA_NOT_NEEDED=yes
278
279 .if !defined(BUILD_JRE)
280 OPTIONS_DEFINE+=        TEST
281 OPTIONS_DEFAULT+=       RELEASE ALSA
282 OPTIONS_SINGLE=         BUILD
283 OPTIONS_SINGLE_BUILD=   DEBUG DEBUGFAST RELEASE
284 BUILD_DESC=             Select OpenJDK build type
285 DEBUG_DESC=             Build for debugging (without optimizations)
286 DEBUGFAST_DESC=         Build for debugging (with optimizations)
287 RELEASE_DESC=           Build for release (default)
288 TEST_DESC=              Run regression tests
289
290 DEBUG_VARS=             JDK_BUILD_TYPE=slowdebug
291 DEBUGFAST_VARS=         JDK_BUILD_TYPE=fastdebug
292 RELEASE_BUILD_DEPENDS_OFF=      ${LOCALBASE}/bin/objcopy:devel/binutils
293 RELEASE_CONFIGURE_ON=   --disable-debug-symbols
294 RELEASE_VARS=           JDK_BUILD_TYPE=release
295 RELEASE_VARS_OFF=       OBJCOPY=${LOCALBASE}/bin/objcopy
296 TEST_ALL_TARGET=        test
297 TEST_ALL_TARGET_OFF=    images
298 TEST_CONFIGURE_ON=      --with-jtreg=${WRKDIR}/jtreg
299 TEST_DISTFILES=         jtreg${JTREG_VERSION}-${JTREG_BUILD_NUMBER}${EXTRACT_SUFX}:jtreg
300 .else
301 ALL_TARGET=             images
302 CONFIGURE_ARGS+=        --disable-debug-symbols
303 JAVAVMS_COMMENT+=       JRE
304 JDK_BUILD_TYPE=         release
305 .endif
306
307 AUTOCONF_ARGS=  -I . -o generated-configure.sh generated-configure.ac
308
309 # XXX configure script rejects CC/CPP/CXX with absolute paths.
310 .for t in CC CPP CXX
311 .if defined(${t}) && ${${t}:M/*}
312 BUILD_${t}=     ${${t}:C|.*/||g}
313 CONFIGURE_ENV+= ${t}="${BUILD_${t}}"
314 TOOLS_DIR+=     ${${t}:S|/${BUILD_${t}}$||}
315 .endif
316 .endfor
317 .if defined(TOOLS_DIR)
318 CONFIGURE_ARGS+=        --with-tools-dir="${TOOLS_DIR:u:S/ /:/g}"
319 .endif
320
321 BOOTSTRAP_JDKS= ${LOCALBASE}/openjdk8 \
322                 ${LOCALBASE}/openjdk7 \
323                 ${LOCALBASE}/bootstrap-openjdk8
324
325 # do we have valid native jdk installed?
326 .for BJDK in ${BOOTSTRAP_JDKS}
327 .  if !defined(BOOTSTRAPJDKDIR) && exists(${BJDK}/bin/javac)
328 BOOTSTRAPJDKDIR=        ${BJDK}
329 .  endif
330 .endfor
331
332 # if no valid jdk found, set dependency
333 .if !defined(BOOTSTRAPJDKDIR)
334 BOOTSTRAPJDKDIR=        ${WRKDIR}/bootstrap
335 BOOTSTRAP_DISTFILE=     bootstrap-openjdk8-8.40.25.tar.xz:bootstrap
336 MAKE_ENV+=              LD_LIBRARY_PATH="${BOOTSTRAPJDKDIR}/jre/lib/amd64"
337 .endif
338
339 .include <bsd.port.pre.mk>
340
341 .if ${ARCH} == armv6 || ${ARCH} == armv7 || ${ARCH} == i386
342 # XXX We must limit max heap size for 32-bit targets.
343 CONFIGURE_ARGS+=        --with-boot-jdk-jvmargs="-Xmx768m"
344 MAKE_ENV+=      JAVADOC_CMD_MEM="-Xmx768m"
345 .endif
346
347 .if ${ARCH} == x86_64 || ${ARCH} == i386 || ${ARCH} == powerpc64
348 JDK_BUILD_JVM=  server
349 .else
350 JDK_BUILD_JVM=  zero
351 LIB_DEPENDS+=   libffi.so:devel/libffi
352 .endif
353
354 .if ${COMPILER_TYPE} == clang
355 .if ${COMPILER_VERSION} >= 35
356 MAKE_ENV+=      COMPILER_WARNINGS_FATAL=false
357 .endif
358 MAKE_ENV+=      USE_CLANG=true
359 .if ${COMPILER_FEATURES:Mlibc++}
360 CONFIGURE_ENV+= LIBCXX="-lc++"
361 .endif
362 .endif
363
364 # GCC is broken with PCH: https://lists.freebsd.org/pipermail/svn-src-all/2015-March/101722.html
365 .if ${COMPILER_TYPE} == gcc
366 .if ${ARCH} == "powerpc64"
367 MAKE_ARGS+=     USE_PRECOMPILED_HEADER=1
368 .else
369 MAKE_ARGS+=     USE_PRECOMPILED_HEADER=0
370 .endif
371 .endif
372
373 .if empty(ICONV_LIB)
374 ICONV_CPPFLAGS= -DLIBICONV_PLUG
375 .else
376 ICONV_CPPFLAGS= -I${LOCALBASE}/include
377 ICONV_LDFLAGS=  -L${LOCALBASE}/lib ${ICONV_LIB}
378 .endif
379
380 post-extract:
381         @${CP} ${FILESDIR}/jdk-test-javax-imageio-plugins-jpeg-truncated.jpg \
382             ${WRKSRC}/jdk/test/javax/imageio/plugins/jpeg/truncated.jpg
383         @${CP} ${FILESDIR}/nashorn-test-script-jfx-flyingimage-golden-bsd.png \
384             ${WRKSRC}/nashorn/test/script/jfx/flyingimage/golden/bsd.png
385         @${CP} ${FILESDIR}/nashorn-test-script-jfx-kaleidoscope-golden-bsd.png \
386             ${WRKSRC}/nashorn/test/script/jfx/kaleidoscope/golden/bsd.png
387         @${CP} ${FILESDIR}/nashorn-test-script-jfx-spread-golden-bsd.png \
388             ${WRKSRC}/nashorn/test/script/jfx/spread/golden/bsd.png
389
390 post-extract-TEST-on:
391         @${LN} -sf ${WRKDIR}/jtreg/linux/bin ${WRKDIR}/jtreg/
392
393 post-patch:
394         @${FIND} ${WRKSRC} -name '*.orig' -delete
395         @${RMDIR} ${WRKSRC}/jdk/src/macosx/classes/java/net \
396             ${WRKSRC}/jdk/src/macosx/native/sun/nio/ch \
397             ${WRKSRC}/jdk/src/macosx/native/sun/nio
398         @${SED} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
399             ${FILESDIR}/bsd.fontconfig.properties.in > \
400             ${WRKSRC}/jdk/src/solaris/classes/sun/awt/fontconfigs/bsd.fontconfig.properties
401         @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
402             -e 's|%%OBJCOPY%%|${OBJCOPY}|' \
403             ${WRKSRC}/configure \
404             ${WRKSRC}/common/autoconf/toolchain.m4 \
405             ${WRKSRC}/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java \
406             ${WRKSRC}/jdk/src/share/classes/sun/print/PSPrinterJob.java \
407             ${WRKSRC}/jdk/src/solaris/classes/sun/nio/fs/BsdFileSystemProvider.java
408         @${REINPLACE_CMD} -e 's|/usr/local/share/java/classes|${LOCALBASE}/share/java/classes|' \
409             ${WRKSRC}/jdk/src/bsd/doc/man/*.1
410         @${REINPLACE_CMD} -e 's|%%ICONV_CPPFLAGS%%|${ICONV_CPPFLAGS}|' \
411             -e 's|%%ICONV_LDFLAGS%%|${ICONV_LDFLAGS}|' \
412             ${WRKSRC}/jdk/make/lib/Awt2dLibraries.gmk \
413             ${WRKSRC}/jdk/make/lib/CoreLibraries.gmk \
414             ${WRKSRC}/jdk/make/lib/ServiceabilityLibraries.gmk
415 .if defined(BUILD_JRE)
416         @${REINPLACE_CMD} -e 's|-f Images.gmk$$|& jre-image|' \
417             -e 's|-f Images.gmk overlay-images$$|-f Images.gmk jre-overlay-image|' \
418             ${WRKSRC}/jdk/make/BuildJdk.gmk
419 .endif
420         @${CHMOD} 755 ${WRKSRC}/configure
421
422 post-patch-ALSA-off:
423         @${REINPLACE_CMD} '/EXTRA_SOUND_JNI_LIBS += jsoundalsa/d' \
424                 ${WRKSRC}/jdk/make/lib/SoundLibraries.gmk
425
426 pre-configure:
427         @cd ${CONFIGURE_WRKSRC} && \
428         ${SED} -e "s|@DATE_WHEN_GENERATED@|$$(date +%s)|" configure.ac > \
429             generated-configure.ac
430
431 post-build:
432 .if !defined(BUILD_JRE)
433         @${BOOTSTRAPJDKDIR}/bin/jar cfe \
434             ${JRE_IMAGEDIR}/lib/compilefontconfig.jar \
435             build.tools.compilefontconfig.CompileFontConfig \
436             -C ${JDK_BUILDDIR}/jdk/btclasses build/tools/compilefontconfig
437         @${BOOTSTRAPJDKDIR}/bin/jar cfe \
438             ${JRE_IMAGEDIR}/lib/javazic.jar \
439             build.tools.tzdb.TzdbZoneRulesCompiler \
440             -C ${JDK_BUILDDIR}/jdk/btclasses build/tools/tzdb
441 .endif
442
443 post-build-TZUPDATE-on:
444         @# Update time zones
445         @${RM} -r ${JRE_IMAGEDIR}/lib/zi
446         @${LN} -sf ${LOCALBASE}/share/java/zi ${JRE_IMAGEDIR}/lib
447
448 do-install:
449         @${MKDIR} ${STAGEDIR}${INSTALLDIR}
450 .if !defined(BUILD_JRE)
451         @cd ${JDK_IMAGEDIR} && ${COPYTREE_SHARE} . ${STAGEDIR}${INSTALLDIR}
452         @cd ${STAGEDIR}${INSTALLDIR} && \
453         ${FIND} bin jre/bin -type f -exec ${CHMOD} ${BINMODE} {} \; && \
454         ${CHMOD} ${BINMODE} jre/${JDK_JVMDIR}/jexec \
455             jre/${JDK_JVMDIR}/jspawnhelper ${JDK_JVMDIR}/jexec
456         cd ${STAGEDIR}${INSTALLDIR}/include && ln -s dragonfly freebsd
457         @${ECHO} "@dir ${INSTALLDIR}/jre/lib/applet" >> ${TMPPLIST}
458 .else
459         @cd ${JRE_IMAGEDIR} && ${COPYTREE_SHARE} . ${STAGEDIR}${INSTALLDIR}
460         @cd ${STAGEDIR}${INSTALLDIR} && \
461         ${FIND} bin -type f -exec ${CHMOD} ${BINMODE} {} \; && \
462         ${CHMOD} ${BINMODE} ${JDK_JVMDIR}/jexec ${JDK_JVMDIR}/jspawnhelper
463         @${ECHO} "@dir ${INSTALLDIR}/lib/applet" >> ${TMPPLIST}
464 .endif
465         @${ECHO} "@javavm ${INSTALLDIR}/bin/java" >> ${TMPPLIST}
466         @${FIND} ${STAGEDIR}${INSTALLDIR} -not -type d | ${SORT} | \
467             ${SED} -e 's|^${STAGEDIR}${PREFIX}/||' >> ${TMPPLIST}
468
469 .include <bsd.port.post.mk>