Index: branches/2015Q3/java/openjdk8/Makefile =================================================================== --- branches/2015Q3/java/openjdk8/Makefile (revision 391178) +++ branches/2015Q3/java/openjdk8/Makefile (revision 391179) @@ -1,290 +1,290 @@ # $FreeBSD$ PORTNAME= openjdk PORTVERSION= ${JDK_MAJOR_VERSION}.${JDK_UPDATE_VERSION}.${JDK_BUILD_NUMBER:S/^0//} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= java devel MASTER_SITES= http://download.java.net/openjdk/jdk${JDK_MAJOR_VERSION}/promoted/b${DIST_BUILD_NUMBER}/:jdk \ https://adopt-openjdk.ci.cloudbees.com/job/jtreg/${JTREG_JENKINS_BUILD}/artifact/:jtreg \ LOCAL/jkim:jdk,jtreg PKGNAMESUFFIX?= ${JDK_MAJOR_VERSION} DISTNAME= ${PORTNAME}-${JDK_MAJOR_VERSION}-src-b${DIST_BUILD_NUMBER}-03_mar_2014 DISTFILES= ${DISTNAME}.zip:jdk MAINTAINER= java@FreeBSD.org COMMENT?= Java Development Kit ${JDK_MAJOR_VERSION} LICENSE= GPLv2 BUILD_DEPENDS= zip:${PORTSDIR}/archivers/zip \ ${LOCALBASE}/include/cups/cups.h:${PORTSDIR}/print/cups-client \ bash:${PORTSDIR}/shells/bash LIB_DEPENDS= libasound.so:${PORTSDIR}/audio/alsa-lib \ libfontconfig.so:${PORTSDIR}/x11-fonts/fontconfig \ libfreetype.so:${PORTSDIR}/print/freetype2 \ libgif.so:${PORTSDIR}/graphics/giflib RUN_DEPENDS= javavm:${PORTSDIR}/java/javavmwrapper \ dejavu>0:${PORTSDIR}/x11-fonts/dejavu USES= compiler:features dos2unix gmake iconv pkgconfig \ shebangfix USE_AUTOTOOLS= autoconf USE_XORG= x11 xext xi xrender xt xtst GNU_CONFIGURE= yes .if !exists(/usr/bin/unzip) BUILD_DEPENDS+= ${UNZIP_CMD}:${PORTSDIR}/archivers/unzip .endif ONLY_FOR_ARCHS= i386 amd64 WRKSRC= ${WRKDIR}/${PORTNAME} DOS2UNIX_FILES= jdk/src/bsd/doc/man/java.1 \ jdk/src/bsd/doc/man/javac.1 \ jdk/src/bsd/doc/man/javadoc.1 \ jdk/src/bsd/doc/man/javap.1 \ jdk/src/bsd/doc/man/jcmd.1 \ jdk/src/bsd/doc/man/jjs.1 \ jdk/src/bsd/doc/man/jstat.1 \ jdk/src/bsd/doc/man/keytool.1 \ jdk/src/bsd/doc/man/policytool.1 \ jdk/src/linux/doc/man/java.1 \ jdk/src/linux/doc/man/javac.1 \ jdk/src/linux/doc/man/javadoc.1 \ jdk/src/linux/doc/man/javap.1 \ jdk/src/linux/doc/man/jcmd.1 \ jdk/src/linux/doc/man/jjs.1 \ jdk/src/linux/doc/man/jstat.1 \ jdk/src/linux/doc/man/keytool.1 \ jdk/src/linux/doc/man/policytool.1 \ jdk/src/share/classes/com/sun/org/apache/xml/internal/security/resource/xmlsecurity_en.properties \ jdk/src/solaris/doc/sun/man/man1/java.1 \ jdk/src/solaris/doc/sun/man/man1/javac.1 \ jdk/src/solaris/doc/sun/man/man1/javadoc.1 \ jdk/src/solaris/doc/sun/man/man1/javap.1 \ jdk/src/solaris/doc/sun/man/man1/jcmd.1 \ jdk/src/solaris/doc/sun/man/man1/jjs.1 \ jdk/src/solaris/doc/sun/man/man1/jstat.1 \ jdk/src/solaris/doc/sun/man/man1/keytool.1 \ jdk/src/solaris/doc/sun/man/man1/policytool.1 \ nashorn/test/script/jfx.js \ nashorn/test/script/jfx/kaleidoscope.js \ nashorn/test/script/jfx/spread.js SHEBANG_FILES= configure _MAKE_JOBS= # CPPFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib MAKE_ENV= LANG="C" LC_ALL="C" MAKE_ENV+= CLASSPATH="" JAVA_HOME="" LD_LIBRARY_PATH="" MAKEFLAGS="" MAKE_ENV+= IGNORE_OLD_CONFIG=true MAKE_ENV+= COMPILER_WARNINGS_FATAL="false" JDK_BUILDDIR= ${WRKSRC}/build/${JDK_OSARCH}-normal-server-${JDK_BUILD_TYPE} .if !defined(BUILD_JRE) JDK_IMAGEDIR= ${JDK_BUILDDIR}/images/j2sdk-image JRE_IMAGEDIR= ${JDK_BUILDDIR}/images/j2sdk-image/jre .else JRE_IMAGEDIR= ${JDK_BUILDDIR}/images/j2re-image .endif JDK_OSARCH= bsd-${ARCH:S/i386/x86/:S/amd64/x86_64/} INSTALLDIR= ${PREFIX}/${PKGBASE} NO_CCACHE= yes NOPRECIOUSMAKEVARS= yes JDK_MAJOR_VERSION= 8 JDK_UPDATE_VERSION= 45 JDK_BUILD_NUMBER= 14 DIST_BUILD_NUMBER= 132 JTREG_VERSION= 4.1 JTREG_BUILD_NUMBER= b08 JTREG_JENKINS_BUILD= 77 CONFIGURE_ARGS= --with-boot-jdk=${BOOTSTRAPJDKDIR} CONFIGURE_ARGS+= --with-build-number="b${JDK_BUILD_NUMBER}" .if ${JDK_UPDATE_VERSION} > 0 CONFIGURE_ARGS+= --with-update-version=${JDK_UPDATE_VERSION} .endif CONFIGURE_ARGS+= --disable-ccache \ --disable-freetype-bundling \ --disable-zip-debug-info \ --with-alsa=${LOCALBASE} \ --with-cacerts-file=${FILESDIR}/cacerts \ --with-cups=${LOCALBASE} \ --with-debug-level=${JDK_BUILD_TYPE} \ --with-freetype=${LOCALBASE} \ --with-freetype-include=${LOCALBASE}/include/freetype2 \ --with-giflib=system \ --with-jobs=${MAKE_JOBS_NUMBER} \ --with-milestone=fcs \ --with-package-path=${LOCALBASE} \ --with-zlib=system CONFIGURE_SCRIPT= ../../configure CONFIGURE_WRKSRC= ${WRKSRC}/common/autoconf OPTIONS_DEFINE= POLICY TZUPDATE OPTIONS_DEFAULT= POLICY TZUPDATE POLICY_DESC= Install the Unlimited Strength Policy Files TZUPDATE_DESC= Update the time zone data POLICY_CONFIGURE_ENABLE=unlimited-crypto TZUPDATE_RUN_DEPENDS= java-zoneinfo>0:${PORTSDIR}/java/java-zoneinfo JAVAVMS_COMMENT= OpenJDK${JDK_MAJOR_VERSION} .if !defined(BUILD_JRE) OPTIONS_DEFINE+= TEST OPTIONS_DEFAULT+= RELEASE OPTIONS_SINGLE= BUILD OPTIONS_SINGLE_BUILD= DEBUG DEBUGFAST RELEASE BUILD_DESC= Select OpenJDK build type DEBUG_DESC= Build for debugging (without optimizations) DEBUGFAST_DESC= Build for debugging (with optimizations) RELEASE_DESC= Build for release (default) TEST_DESC= Run regression tests RELEASE_BUILD_DEPENDS_OFF= ${LOCALBASE}/bin/objcopy:${PORTSDIR}/devel/binutils RELEASE_CONFIGURE_ON= --disable-debug-symbols TEST_ALL_TARGET= test TEST_CONFIGURE_ON= --with-jtreg=${WRKDIR}/jtreg TEST_DISTFILES= jtreg${JTREG_VERSION}-${JTREG_BUILD_NUMBER}${EXTRACT_SUFX}:jtreg .else CONFIGURE_ARGS+= --disable-debug-symbols JAVAVMS_COMMENT+= JRE .endif .include .if ${PORT_OPTIONS:MDEBUG} JDK_BUILD_TYPE= slowdebug .elif ${PORT_OPTIONS:MDEBUGFAST} JDK_BUILD_TYPE= fastdebug .else JDK_BUILD_TYPE= release .endif .if empty(PORT_OPTIONS:MRELEASE) OBJCOPY= ${LOCALBASE}/bin/objcopy .endif .include BOOTSTRAP_JDKS= ${LOCALBASE}/openjdk8 \ ${LOCALBASE}/openjdk7 # do we have valid native jdk installed? .for BJDK in ${BOOTSTRAP_JDKS} . if !defined(BOOTSTRAPJDKDIR) && exists(${BJDK}/bin/javac) BOOTSTRAPJDKDIR= ${BJDK} . endif .endfor # if no valid jdk found, set dependency .if !defined(BOOTSTRAPJDKDIR) BOOTSTRAPJDKDIR?= ${LOCALBASE}/openjdk7 BUILD_DEPENDS+= ${BOOTSTRAPJDKDIR}/bin/javac:${PORTSDIR}/java/openjdk7 .endif # PR193009: work around the rtld bug .if ${OSVERSION} < 1001511 CONFIGURE_ARGS+= --enable-static-libjli .endif .if ${COMPILER_TYPE} == clang .if ${COMPILER_VERSION} >= 35 MAKE_ENV+= COMPILER_WARNINGS_FATAL=false .endif MAKE_ENV+= USE_CLANG=true .if ${COMPILER_FEATURES:Mlibc++} CONFIGURE_ENV= LIBCXX="-lc++" .endif .endif # GCC is broken with PCH: https://lists.freebsd.org/pipermail/svn-src-all/2015-March/101722.html .if ${COMPILER_TYPE} == gcc MAKE_ARGS+= USE_PRECOMPILED_HEADER=0 .endif .if empty(ICONV_LIB) ICONV_CPPFLAGS= -DLIBICONV_PLUG .else ICONV_CPPFLAGS= -I${LOCALBASE}/include ICONV_LDFLAGS= -L${LOCALBASE}/lib ${ICONV_LIB} .endif post-extract: @${CP} ${FILESDIR}/jdk-test-javax-imageio-plugins-jpeg-truncated.jpg \ ${WRKSRC}/jdk/test/javax/imageio/plugins/jpeg/truncated.jpg @${CP} ${FILESDIR}/nashorn-test-script-jfx-flyingimage-golden-bsd.png \ ${WRKSRC}/nashorn/test/script/jfx/flyingimage/golden/bsd.png @${CP} ${FILESDIR}/nashorn-test-script-jfx-kaleidoscope-golden-bsd.png \ ${WRKSRC}/nashorn/test/script/jfx/kaleidoscope/golden/bsd.png @${CP} ${FILESDIR}/nashorn-test-script-jfx-spread-golden-bsd.png \ ${WRKSRC}/nashorn/test/script/jfx/spread/golden/bsd.png post-patch: @${FIND} ${WRKSRC} -name '*.orig' -delete @${RMDIR} ${WRKSRC}/jdk/src/macosx/classes/java/net \ ${WRKSRC}/jdk/src/macosx/native/sun/nio/ch \ ${WRKSRC}/jdk/src/macosx/native/sun/nio @${SED} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ ${FILESDIR}/bsd.fontconfig.properties.in > \ ${WRKSRC}/jdk/src/solaris/classes/sun/awt/fontconfigs/bsd.fontconfig.properties @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ -e 's|%%OBJCOPY%%|${OBJCOPY}|' \ ${WRKSRC}/configure \ ${WRKSRC}/common/autoconf/toolchain.m4 \ ${WRKSRC}/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java \ ${WRKSRC}/jdk/src/share/classes/sun/print/PSPrinterJob.java \ ${WRKSRC}/jdk/src/solaris/classes/sun/nio/fs/BsdFileSystemProvider.java @${REINPLACE_CMD} -e 's|/usr/local/java/classes|${LOCALBASE}/share/java/classes|' \ ${WRKSRC}/jdk/src/bsd/doc/man/*.1 @${REINPLACE_CMD} -e 's|%%ICONV_CPPFLAGS%%|${ICONV_CPPFLAGS}|' \ -e 's|%%ICONV_LDFLAGS%%|${ICONV_LDFLAGS}|' \ ${WRKSRC}/jdk/make/lib/Awt2dLibraries.gmk \ ${WRKSRC}/jdk/make/lib/CoreLibraries.gmk \ ${WRKSRC}/jdk/make/lib/ServiceabilityLibraries.gmk @${CHMOD} 755 ${WRKSRC}/configure run-autotools-autoconf: @cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} bash autogen.sh post-build: .if !defined(BUILD_JRE) @${JDK_IMAGEDIR}/bin/jar cfe \ ${JRE_IMAGEDIR}/lib/compilefontconfig.jar \ build.tools.compilefontconfig.CompileFontConfig \ -C ${JDK_BUILDDIR}/jdk/btclasses build/tools/compilefontconfig @${JDK_IMAGEDIR}/bin/jar cfe \ ${JRE_IMAGEDIR}/lib/javazic.jar \ build.tools.tzdb.TzdbZoneRulesCompiler \ -C ${JDK_BUILDDIR}/jdk/btclasses build/tools/tzdb .endif .if ${PORT_OPTIONS:MTZUPDATE} @# Update time zones @${RM} -rf ${JRE_IMAGEDIR}/lib/zi @${LN} -sf ${LOCALBASE}/share/java/zi ${JRE_IMAGEDIR}/lib .endif do-install: @${MKDIR} ${STAGEDIR}${INSTALLDIR} .if !defined(BUILD_JRE) @cd ${JDK_IMAGEDIR} && ${COPYTREE_SHARE} . ${STAGEDIR}${INSTALLDIR} @cd ${STAGEDIR}${INSTALLDIR} && \ ${FIND} bin jre/bin -type f -exec ${CHMOD} ${BINMODE} {} \; && \ ${CHMOD} ${BINMODE} jre/lib/${ARCH}/jexec \ jre/lib/${ARCH}/jspawnhelper lib/${ARCH}/jexec @${ECHO} "@dir ${INSTALLDIR}/jre/lib/applet" >> ${TMPPLIST} .else @cd ${JRE_IMAGEDIR} && ${COPYTREE_SHARE} . ${STAGEDIR}${INSTALLDIR} @cd ${STAGEDIR}${INSTALLDIR} && \ ${FIND} bin -type f -exec ${CHMOD} ${BINMODE} {} \; && \ ${CHMOD} ${BINMODE} lib/${ARCH}/jexec lib/${ARCH}/jspawnhelper @${ECHO} "@dir ${INSTALLDIR}/lib/applet" >> ${TMPPLIST} .endif @${ECHO} "@unexec ${LOCALBASE}/bin/unregistervm ${INSTALLDIR}/bin/java" >> ${TMPPLIST} @${FIND} -s ${STAGEDIR}${INSTALLDIR} -not -type d | ${SORT} | \ ${SED} -e 's#^${STAGEDIR}${PREFIX}/##' >> ${TMPPLIST} @${ECHO} "@exec ${LOCALBASE}/bin/registervm '${INSTALLDIR}/bin/java # ${JAVAVMS_COMMENT}'" >> ${TMPPLIST} .include Index: branches/2015Q3/java/openjdk8/files/patch-hotspot-src-os-bsd-vm-os_bsd.cpp =================================================================== --- branches/2015Q3/java/openjdk8/files/patch-hotspot-src-os-bsd-vm-os_bsd.cpp (nonexistent) +++ branches/2015Q3/java/openjdk8/files/patch-hotspot-src-os-bsd-vm-os_bsd.cpp (revision 391179) @@ -0,0 +1,31 @@ +--- hotspot/src/os/bsd/vm/os_bsd.cpp.orig ++++ hotspot/src/os/bsd/vm/os_bsd.cpp +@@ -1234,14 +1234,14 @@ + pid_t os::Bsd::gettid() { + int retval = -1; + +-#ifdef __APPLE__ //XNU kernel ++#if defined(__APPLE__) //XNU kernel + // despite the fact mach port is actually not a thread id use it + // instead of syscall(SYS_thread_selfid) as it certainly fits to u4 + retval = ::pthread_mach_thread_np(::pthread_self()); + guarantee(retval != 0, "just checking"); + return retval; + +-#elifdef __FreeBSD__ ++#elif defined(__FreeBSD__) + #if __FreeBSD_version > 900030 + return ::pthread_getthreadid_np(); + #else +@@ -1249,9 +1249,9 @@ + thr_self(&tid); + return (pid_t)tid; + #endif +-#elifdef __OpenBSD__ ++#elif defined(__OpenBSD__) + retval = syscall(SYS_getthrid); +-#elifdef __NetBSD__ ++#elif defined(__NetBSD__) + retval = (pid_t) _lwp_self(); + #endif + Property changes on: branches/2015Q3/java/openjdk8/files/patch-hotspot-src-os-bsd-vm-os_bsd.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: branches/2015Q3/java/openjdk8/files/patch-hotspot-src-os-bsd-vm-vmError_bsd.cpp =================================================================== --- branches/2015Q3/java/openjdk8/files/patch-hotspot-src-os-bsd-vm-vmError_bsd.cpp (nonexistent) +++ branches/2015Q3/java/openjdk8/files/patch-hotspot-src-os-bsd-vm-vmError_bsd.cpp (revision 391179) @@ -0,0 +1,63 @@ +--- hotspot/src/os/bsd/vm/vmError_bsd.cpp.orig ++++ hotspot/src/os/bsd/vm/vmError_bsd.cpp +@@ -33,30 +33,50 @@ + #include + #include + #include ++#ifdef __FreeBSD__ ++#include ++#include ++#endif ++ ++#define GDB_CMD "gdb" ++ ++static void set_debugger(char *buf, int buflen) { ++ int pid = os::current_process_id(); ++#ifdef __FreeBSD__ ++ char cmd[PATH_MAX+1]; ++ int name[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, pid }; ++ size_t len = sizeof(cmd); ++ if (sysctl(name, 4, cmd, &len, NULL, 0) == 0 && len > 0) { ++ cmd[len] = '\0'; ++ jio_snprintf(buf, buflen, "%s %s %d", GDB_CMD, cmd, pid); ++ } else ++#endif ++ jio_snprintf(buf, buflen, "%s /proc/%d/file %d", GDB_CMD, pid, pid); ++} + + void VMError::show_message_box(char *buf, int buflen) { + bool yes; + do { +- error_string(buf, buflen); +- int len = (int)strlen(buf); ++ intx tid = os::current_thread_id(); ++ set_debugger(buf, buflen); ++ int len = (int)strlen(buf) + 1; ++ char *msg = &buf[len]; ++ error_string(msg, buflen - len); ++ len += (int)strlen(msg); + char *p = &buf[len]; + + jio_snprintf(p, buflen - len, + "\n\n" + "Do you want to debug the problem?\n\n" +- "To debug, run 'gdb /proc/%d/file %d'; then switch to thread " INTX_FORMAT " (" INTPTR_FORMAT ")\n" +- "Enter 'yes' to launch gdb automatically (PATH must include gdb)\n" ++ "To debug, run '%s'; then switch to thread " INTX_FORMAT " (" INTPTR_FORMAT ")\n" ++ "Enter 'yes' to launch " GDB_CMD " automatically (PATH must include " GDB_CMD ")\n" + "Otherwise, press RETURN to abort...", +- os::current_process_id(), os::current_process_id(), +- os::current_thread_id(), os::current_thread_id()); ++ buf, tid, tid); + +- yes = os::message_box("Unexpected Error", buf); ++ yes = os::message_box("Unexpected Error", msg); + + if (yes) { + // yes, user asked VM to launch debugger +- jio_snprintf(buf, buflen, "gdb /proc/%d/file %d", +- os::current_process_id(), os::current_process_id()); +- + os::fork_and_exec(buf); + yes = false; + } Property changes on: branches/2015Q3/java/openjdk8/files/patch-hotspot-src-os-bsd-vm-vmError_bsd.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: branches/2015Q3/java/openjdk8/files/patch-jdk-src-solaris-bin-java_md_solinux.c =================================================================== --- branches/2015Q3/java/openjdk8/files/patch-jdk-src-solaris-bin-java_md_solinux.c (nonexistent) +++ branches/2015Q3/java/openjdk8/files/patch-jdk-src-solaris-bin-java_md_solinux.c (revision 391179) @@ -0,0 +1,53 @@ +--- jdk/src/solaris/bin/java_md_solinux.c.orig ++++ jdk/src/solaris/bin/java_md_solinux.c +@@ -35,6 +35,9 @@ + #include + #include + #include ++#ifdef __FreeBSD__ ++#include ++#endif + #include "manifest_info.h" + #include "version_comp.h" + +@@ -925,7 +928,7 @@ + * onwards the filename returned in DL_info structure from dladdr is + * an absolute pathname so technically realpath isn't required. + * On Linux we read the executable name from /proc/self/exe. +- * On FreeBSD we read the executable name from /proc/curproc/file. ++ * On FreeBSD, we get the executable name via sysctl(3). + * As a fallback, and for platforms other than Solaris, Linux, and + * FreeBSD, we use FindExecName to compute the executable name. + */ +@@ -954,13 +957,9 @@ + } + } + } +-#elif defined(__linux__) || defined(__FreeBSD__) ++#elif defined(__linux__) + { +-#if defined(__FreeBSD__) +- const char* self = "/proc/curproc/file"; +-#else + const char* self = "/proc/self/exe"; +-#endif + char buf[PATH_MAX+1]; + int len = readlink(self, buf, PATH_MAX); + if (len >= 0) { +@@ -968,6 +967,16 @@ + exec_path = JLI_StringDup(buf); + } + } ++#elif defined(__FreeBSD__) ++ { ++ char buf[PATH_MAX+1]; ++ int name[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 }; ++ size_t len = sizeof(buf); ++ if (sysctl(name, 4, buf, &len, NULL, 0) == 0 && len > 0) { ++ buf[len] = '\0'; ++ exec_path = JLI_StringDup(buf); ++ } ++ } + #else /* !__solaris__ && !__linux__ && !__FreeBSD__ */ + { + /* Not implemented */ Property changes on: branches/2015Q3/java/openjdk8/files/patch-jdk-src-solaris-bin-java_md_solinux.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: branches/2015Q3 =================================================================== --- branches/2015Q3 (revision 391178) +++ branches/2015Q3 (revision 391179) Property changes on: branches/2015Q3 ___________________________________________________________________ Modified: svn:mergeinfo ## -0,0 +0,1 ## Merged /head:r391177