pkgsrc/lang/openjdk8/Makefile

256 lines
9.2 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.35 2016/06/01 00:40:40 pgoyette Exp $
Update to 1.8.92 Changelog: Bug Fixes The following table lists the bug fixes included in JDK 8u92 release: Bug Id Category Subcategory Description JDK-8041900 client-libs 2d [macosx] Java forces the use of discrete GPU JDK-8132890 client-libs 2d Text Overlapping on Dot Matrix Printers JDK-8132503 client-libs java.awt [macosx] Chinese full stop symbol cannot be entered with Pinyin IM on OS X JDK-8138764 client-libs java.awt In some cases the usage of TreeLock can be replaced by other synchronization JDK-8041501 client-libs javax.imageio ImageIO reader is not capable of reading JPEGs without JFIF header JDK-8134828 client-libs javax.swing Scrollbar thumb disappears with Nimbus L&F JDK-8131129 core-libs java.lang.invoke Attempt to define a duplicate BMH$Species class JDK-8067800 core-libs java.time Clarify java.time.chrono.Chronology.isLeapYear for out of range years JDK-8062901 core-libs java.util Iterators is spelled incorrectly in the Javadoc for Spliterator JDK-8140587 core-libs java.util.concurrent Atomic*FieldUpdaters should use Class.isInstance instead of direct class check JDK-8145539 core-libs java.util:collections (coll) AbstractMap.keySet and .values should not be volatile JDK-8143297 core-libs jdk.nashorn Nashorn compilation time reported in nanoseconds JDK-8143896 core-libs jdk.nashorn java.lang.Long is implicitly converted to double JDK-8144020 core-libs jdk.nashorn Remove long as an internal numeric type JDK-8144131 core-libs jdk.nashorn ArrayData.getInt implementations do not convert to int32 JDK-8146147 core-libs jdk.nashorn Java linker indexed property getter does not work for computed nashorn string JDK-8147845 core-libs jdk.nashorn Varargs Array functions still leaking longs JDK-8147857 core-svc javax.management RMIConnector logs attribute names incorrectly JDK-8140244 core-svc tools Port fix of JDK-8075773 to AIX and possibly MacOSX JDK-8139773 deploy Add more debug traces to deployment registration process (RegFx.cpp) JDK-8142982 deploy Race Condition can cause CacheEntry.getJarSigningData() to return null. JDK-8143294 deploy cookie handler can't get JSESSIONID on linux JDK-8145217 deploy Fix GenericCookieHandlerTest JDK-8143314 deploy packager Runtime not respected with INI-configuration while creating native bundle JDK-8139389 deploy webstart Register a protocol handler for Java Webstart JDK-6869327 hotspot compiler Add new C2 flag to keep safepoints in counted loops. JDK-8058563 hotspot compiler InstanceKlass::_dependencies list isn't cleared from empty nmethodBucket entries JDK-8080650 hotspot compiler Enable stubs to use frame pointers correctly JDK-8129847 hotspot compiler Compiling methods generated by Nashorn triggers high memory usage in C2 JDK-8131782 hotspot compiler C1 Class.cast optimization breaks when Class is loaded from static final JDK-8139421 hotspot compiler PPC64LE: MacroAssembler::bxx64_patchable kills register R12 JDK-8140483 hotspot compiler Atomic*FieldUpdaters final fields should be trusted JDK-8144487 hotspot compiler PhaseIdealLoop::build_and_optimize() must restore major_progress flag if skip_loop_opts is true JDK-8144935 hotspot compiler C2: safepoint is pruned from a non-counted loop JDK-8145754 hotspot compiler PhaseIdealLoop::is_scaled_iv_plus_offset() does not match AddI JDK-8065579 hotspot gc WB method to start G1 concurrent mark cycle should be introduced JDK-8138966 hotspot gc Intermittent SEGV running ParallelGC JDK-8145442 hotspot gc Add the facility to verify remembered sets for G1 JDK-8029630 hotspot runtime Thread id should be displayed as hex number in error report JDK-8046611 hotspot runtime Build errors with gcc on sparc/fastdebug JDK-8087120 hotspot runtime [GCC5] java.lang.StackOverflowError on Zero JVM initialization on non x86 platforms JDK-8138745 hotspot runtime Implement ExitOnOutOfMemory and CrashOnOutOfMemory in HotSpot JDK-8139258 hotspot runtime PPC64LE: argument passing problem when passing 15 floats in native call JDK-8143963 hotspot runtime improve ClassLoader::trace_class_path to accept an additional outputStream* arg JDK-8029726 hotspot svc On OS X some dtrace probe names are mismatched with Solaris JDK-8029727 hotspot svc On OS X dtrace probes Call<type>MethodA/Call<type>MethodV are not fired. JDK-8029728 hotspot svc On OS X dtrace probes SetStaticBooleanField are not fired JDK-8130910 hotspot svc hsperfdata file is created in wrong directory and not cleaned up if /tmp/hsperfdata_<username> has wrong permissions JDK-8140031 hotspot svc SA: Searching for a value in Threads does not work JDK-8144885 hotspot svc agent/src/os/linux/libproc.h needs to support Linux/SPARC builds JDK-8145099 hotspot svc Better error message when SA can't attach to a process JDK-8074935 security-libs java.security jdk8 keytool doesn't validate pem files for RFC 1421 correctness, as jdk7 did JDK-8139436 security-libs java.security sun.security.mscapi.KeyStore might load incomplete data JDK-8064330 security-libs javax.net.ssl Remove SHA224 from the default support list if SunMSCAPI enabled JDK-8131665 security-libs javax.net.ssl Bad exception message in HandshakeHash.getFinishedHash JDK-8136442 security-libs javax.net.ssl Don't tie Certificate signature algorithms to ciphuites JDK-8038184 security-libs javax.xml.crypto XMLSignature throws StringIndexOutOfBoundsException if ID attribute value is empty String JDK-8038349 security-libs javax.xml.crypto Signing XML with DSA throws Exception when key is larger than 1024 Exception when calling super with Object<>() JDK-8066974 tools javac Compiler doesn't infer method's generic type information in lambda body JDK-8068254 tools javac Method reference uses wrong qualifying type JDK-8130506 tools javac javac Assertien invoking MethodHandle.invoke with lambda parameter JDK-8134007 tools javac Improve string folding JDK-8134759 tools javac jdb: Incorrect stepping inside finally block JDK-8139751 tools javac Javac crash with -XDallowStringFolding=false JDK-8145466 tools javac javac: No line numbers in compilation error JDK-8145722 tools javadoc(tool) NullPointerException in javadoc JDK-8133924 xml jaxp NPE may be thrown when xsltc select a non-existing node after JDK-8062518
2016-05-06 15:37:01 +02:00
DISTNAME= openjdk-1.8.92-20160506
PKGNAME= openjdk8-1.8.92
PKGREVISION= 2
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_LOCAL:=openjdk7/}
EXTRACT_SUFX= .tar.xz
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://openjdk.java.net/
COMMENT= Open-source implementation of the Java Platform, Standard Edition
LICENSE= gnu-gpl-v2
DISTFILES= ${DEFAULT_DISTFILES}
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
# Use same DIST_SUBDIR as openjdk7 to avoid duplication of common distfiles
DIST_SUBDIR= openjdk7
JAVA_NAME= openjdk8
JAVA_HOME= ${PREFIX}/java/${JAVA_NAME}
JAVA_WRAPPERS= jar java javac javadoc javah javap jps keytool orbd \
policytool rmid rmiregistry servertool tnameserv
BUILD_DEPENDS+= mozilla-rootcerts>=1.0.20140820nb2:../../security/mozilla-rootcerts
GNU_CONFIGURE= yes
CONFIGURE_SCRIPT= common/autoconf/configure
CONFIG_SHELL= bash
CONFIG_SUB_OVERRIDE+= common/autoconf/build-aux/config.sub
2015-02-21 10:55:47 +01:00
CONFIG_GUESS_OVERRIDE+= common/autoconf/build-aux/config.guess
CONFIG_SUB_OVERRIDE+= common/autoconf/build-aux/autoconf-config.sub
2015-02-21 10:55:47 +01:00
CONFIG_GUESS_OVERRIDE+= common/autoconf/build-aux/autoconf-config.guess
USE_LANGUAGES= c c++
USE_TOOLS+= bash gmake pax pkg-config unzip:run zip:run
UNLIMIT_RESOURCES= datasize stacksize
WRKSRC= ${WRKDIR}/openjdk
PLIST_SRC+= ${PLIST_SRC_DFLT}
BUILDLINK_PASSTHRU_DIRS+= ${ALT_BOOTDIR}
PREPEND_PATH+= ${ALT_BOOTDIR}/bin
CONFIGURE_ARGS+= --disable-option-checking # for --with-libiconv-prefix
CONFIGURE_ARGS+= --prefix=${PREFIX:Q}
CONFIGURE_ARGS+= --build=${MACHINE_GNU_PLATFORM:Q}
CONFIGURE_ARGS+= --host=${MACHINE_GNU_PLATFORM:Q}
CONFIGURE_ARGS+= --with-boot-jdk=${ALT_BOOTDIR}
CONFIGURE_ARGS+= --with-zlib=system
2016-03-11 08:02:59 +01:00
MAKEFLAGS+= LIBZ="${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.zlib}/lib -L${BUILDLINK_PREFIX.zlib}/lib -lz"
CONFIGURE_ARGS+= --with-giflib=bundled
CONFIGURE_ARGS+= --with-cups=${BUILDLINK_PREFIX.cups}
CONFIGURE_ARGS+= --with-freetype-lib=${BUILDLINK_PREFIX.freetype2}/lib
CONFIGURE_ARGS+= --with-freetype-include=${BUILDLINK_PREFIX.freetype2}/include
CONFIGURE_ARGS+= --disable-freetype-bundling
CONFIGURE_ARGS+= --with-jobs=${MAKE_JOBS:U1}
CONFIGURE_ARGS+= --with-num-cores=${MAKE_JOBS:U1}
CONFIGURE_ARGS+= --with-memory-size=768
CONFIGURE_ARGS+= --disable-precompiled-headers
CONFIGURE_ARGS+= --disable-ccache
CONFIGURE_ARGS+= --with-user-release-suffix=pkgsrc_${PKGVERSION}
CONFIGURE_ARGS+= --with-update-version=${PKGVERSION_NOREV:S/1.8.//}
CHECK_PORTABILITY_SKIP+= hotspot/test/runtime/*/*.sh
NOT_PAX_MPROTECT_SAFE+= java/openjdk8/bin/[a-ik-z]*
NOT_PAX_MPROTECT_SAFE+= java/openjdk8/bin/j[b-z]*
NOT_PAX_MPROTECT_SAFE+= java/openjdk8/bin/jar*
NOT_PAX_MPROTECT_SAFE+= java/openjdk8/bin/java
NOT_PAX_MPROTECT_SAFE+= java/openjdk8/bin/java[a-z]*
NOT_PAX_MPROTECT_SAFE+= java/openjdk8/jre/bin/*
# Avoid build errors when JAVA_HOME and CLASSPATH are defined by user.
MAKE_ENV+= JAVA_HOME=
MAKE_ENV+= CLASSPATH=
BUILD_OPSYS= ${OPSYS:C/.*BSD/bsd/:S/DragonFly/bsd/:S/SunOS/solaris/}
BUILD_ARCH= ${MACHINE_ARCH:S/i386/x86/:S/sparc64/sparcv9/:C/^e?arm.*$/arm/}
LIBDIR_ARCH= ${MACHINE_ARCH:S/x86_64/amd64/:S/sparc64/sparcv9/:C/^e?arm.*$/arm/}
BUILDDIR= ${WRKSRC}/build/${BUILD_OPSYS}-${BUILD_ARCH}-normal-${BUILD_VARIANT}-${BUILD_DEBUG_LEVEL}
LD_LIBRARY_PATH= ${WRKDIR}/bootstrap/jre/lib/${LIBDIR_ARCH}:${WRKDIR}/bootstrap/jre/lib/${LIBDIR_ARCH}/jli:${WRKDIR}/bootstrap/jre/lib/${LIBDIR_ARCH}/server
CONFIGURE_ENV+= LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
MAKE_ENV+= LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
BUILDLINK_PASSTHRU_RPATHDIRS+= ${PREFIX}/java/openjdk8/jre/lib/${LIBDIR_ARCH}
PLIST_SUBST+= ARCH=${LIBDIR_ARCH}
PLIST_SUBST+= LOWER_OPSYS=${LOWER_OPSYS:S/sunos/solaris/}
.include "../../mk/compiler.mk"
SUBST_CLASSES+= libpath
SUBST_STAGE.libpath= pre-build
SUBST_FILES.libpath+= hotspot/src/os/bsd/vm/os_bsd.cpp
SUBST_VARS.libpath= PREFIX
CFLAGS+= -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
CXXFLAGS+= -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
.if ${OPSYS} == "SunOS" && !empty(PKGSRC_COMPILER:Mgcc)
MAKE_ENV+= USE_GCC=1
MAKE_ENV+= ARCH_DATA_MODEL=${ABI:Q}
.endif
.if !empty(PKGSRC_COMPILER:Mclang)
2015-02-08 18:19:59 +01:00
_WRAP_EXTRA_ARGS.CC+= -Wno-return-type
2015-02-08 18:20:54 +01:00
CWRAPPERS_APPEND.cc+= -Wno-return-type
_WRAP_EXTRA_ARGS.CXX+= -Wno-parentheses -Wno-sign-conversion \
-Wno-shorten-64-to-32 -Wno-conversion \
-Wno-unused-value -Wno-switch-enum -Wno-switch \
-Wno-tautological-compare \
-Wno-delete-non-virtual-dtor \
-Wno-return-type -Wno-unused-parameter \
-Wno-parentheses-equality -Wno-empty-body \
-Wno-format -Wno-dynamic-class-memaccess
CWRAPPERS_APPEND.cxx+= -Wno-parentheses -Wno-sign-conversion \
-Wno-shorten-64-to-32 -Wno-conversion \
-Wno-unused-value -Wno-switch-enum -Wno-switch \
-Wno-tautological-compare \
-Wno-delete-non-virtual-dtor \
-Wno-return-type -Wno-unused-parameter \
-Wno-parentheses-equality -Wno-empty-body \
-Wno-format -Wno-dynamic-class-memaccess
. if ${OPSYS} != "FreeBSD"
_WRAP_EXTRA_ARGS.CXX+= -Wno-new-returns-null
CWRAPPERS_APPEND.cxx+= -Wno-new-returns-null
. endif
BUILDLINK_TRANSFORM+= rm:-fcheck-new
BUILDLINK_TRANSFORM+= rm:-fpch-deps
. if ${MACHINE_ARCH} == "x86_64"
_WRAP_EXTRA_ARGS.CXX+= -mstackrealign
CWRAPPERS_APPEND.cxx+= -mstackrealign
. endif
.endif
.include "bootstrap.mk"
.include "options.mk"
SUBST_CLASSES+= fontpaths
SUBST_STAGE.fontpaths= pre-build
SUBST_MESSAGE.fontpaths= fixing font paths
SUBST_FILES.fontpaths= jdk/src/solaris/classes/sun/awt/fontconfigs/bsd.fontconfig.properties
SUBST_FILES.fontpaths+= jdk/src/solaris/native/sun/awt/fontpath.c
SUBST_SED.fontpaths= -e 's|@PREFIX@|${PREFIX}|g'
SUBST_SED.fontpaths+= -e 's|@BUILDLINK_PREFIX.fontconfig@|${BUILDLINK_PREFIX.fontconfig}|g'
PLIST_VARS+= i386
.if ${MACHINE_ARCH} == "i386"
PLIST.i386= yes
.endif
PLIST_VARS+= sctp
.if ${OPSYS} == "FreeBSD" || ${OPSYS} == "SunOS"
PLIST.sctp= yes
.endif
post-extract:
# These libs are bundled w/ the netbsd-7 bootstrap to facilitate building with
# MKLLVM=yes / MKGCC=no. Nuke them from bootstrap if they are present in base.
.if exists(/lib/libgcc_s.so.1)
${RM} -f ${ALT_BOOTDIR}/jre/lib/${LIBDIR_ARCH}/libgcc_s.so*
.endif
.if exists(/usr/lib/libstdc++.so.7)
${RM} -f ${ALT_BOOTDIR}/jre/lib/${LIBDIR_ARCH}/libstdc++.so*
.endif
.if defined(TOOLS_PLATFORM.paxctl)
${PAXCTL} +m ${WRKDIR}/bootstrap/bin/[a-ik-z]*
${PAXCTL} +m ${WRKDIR}/bootstrap/bin/j[b-z]*
${PAXCTL} +m ${WRKDIR}/bootstrap/bin/jar*
${PAXCTL} +m ${WRKDIR}/bootstrap/bin/java
${PAXCTL} +m ${WRKDIR}/bootstrap/bin/java[a-z]*
.endif
do-build: ${WRKDIR}/stage3-done
# stage 1 builds a native JDK using the bootstrap binaries
${WRKDIR}/stage1-done:
${_ULIMIT_CMD} cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} images
rm -rf ${ALT_BOOTDIR}
cd ${BUILDDIR}/images && mv j2sdk-image ${ALT_BOOTDIR}
.for d in corba hotspot jaxp jaxws langtools tmp
mv ${BUILDDIR}/${d} ${BUILDDIR}/${d}-stage1
.endfor
touch ${.TARGET}
# stage 1.5 reconfigures, since the bootstrap JDK major version might have changed now
${WRKDIR}/stage1_5-done: ${WRKDIR}/stage1-done
.if defined(BATCH)
@${RECURSIVE_MAKE} ${MAKEFLAGS} apply-va-hack
.endif
.if defined(TOOLS_PLATFORM.paxctl)
${PAXCTL} +m ${WRKDIR}/bootstrap/bin/[a-ik-z]*
${PAXCTL} +m ${WRKDIR}/bootstrap/bin/j[b-z]*
${PAXCTL} +m ${WRKDIR}/bootstrap/bin/jar*
${PAXCTL} +m ${WRKDIR}/bootstrap/bin/java
${PAXCTL} +m ${WRKDIR}/bootstrap/bin/java[a-z]*
.endif
@${STEP_MSG} "Reconfiguring with newly built JDK"
@${RECURSIVE_MAKE} ${MAKEFLAGS} do-configure
touch ${.TARGET}
# stage 2 rebuilds the JDK using native tools
${WRKDIR}/stage2-done: ${WRKDIR}/stage1_5-done
${_ULIMIT_CMD} cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} images
touch ${.TARGET}
# stage 3 builds third party add-ons
${WRKDIR}/stage3-done: ${WRKDIR}/stage2-done ${WRKDIR}/cacerts.out
touch ${.TARGET}
${WRKDIR}/cacerts.out:
mkdir ${WRKDIR}/cacerts && cd ${WRKDIR}/cacerts && \
${PREFIX}/sbin/mozilla-rootcerts extract
for cert in ${WRKDIR}/cacerts/*.pem; do \
${INFO_MSG} "Importing $$cert" && \
${SETENV} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} LC_ALL=C \
${ALT_BOOTDIR}/bin/keytool \
-noprompt \
-importcert \
-keystore ${.TARGET} \
-alias `${ECHO} $$cert | sed 's,.*/\\([^/]*\\)\\.pem,\\1,'` \
-file $$cert \
-storepass changeit; \
done
do-install:
${INSTALL_DATA_DIR} ${DESTDIR}${JAVA_HOME}
cd ${BUILDDIR}/images/j2sdk-image && pax -rwpp . \
${DESTDIR}${JAVA_HOME}/.
${INSTALL_DATA} ${WRKDIR}/cacerts.out \
${DESTDIR}${JAVA_HOME}/jre/lib/security/cacerts
rm -f ${DESTDIR}${JAVA_HOME}/include/jni_md.h
ln -s ${LOWER_OPSYS:S/sunos/solaris/}/jni_md.h \
${DESTDIR}${JAVA_HOME}/include/jni_md.h
.if ${OPSYS} == "NetBSD"
TOOLS_PLATFORM.unzip=
.endif
# Include binutils for objcopy and GNU strip on SmartOS
.if ${OS_VARIANT} == "SmartOS"
.include "../../devel/binutils/buildlink3.mk"
BUILDLINK_DEPMETHOD.binutils?= build
MAKE_ENV+= STRIP=${PREFIX}/bin/gstrip
.endif
# disabled the ALSA support for now on BSDs via patch
#.include "../../audio/alsa-lib/buildlink3.mk"
.include "../../converters/libiconv/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../fonts/fontconfig/buildlink3.mk"
.include "../../graphics/freetype2/buildlink3.mk"
BUILDLINK_DEPMETHOD.cups?= build
.include "../../print/cups/buildlink3.mk"
.include "../../mk/java-env.mk"
.include "../../mk/bsd.pkg.mk"