diff options
author | Greg Lewis <glewis@FreeBSD.org> | 2019-03-13 15:10:06 +0000 |
---|---|---|
committer | Greg Lewis <glewis@FreeBSD.org> | 2019-03-13 15:10:06 +0000 |
commit | 55677557037f1886bd03affa78cbc2ac31d5fdca (patch) | |
tree | 772d43ea625b3583c2e5c8c41246def64056d4db /java | |
parent | shells/scponly: fix segfault on FreeBSD 11 (diff) |
Add a port of OpenJDK 11
Notes
Notes:
svn path=/head/; revision=495580
Diffstat (limited to 'java')
-rw-r--r-- | java/Makefile | 1 | ||||
-rw-r--r-- | java/openjdk11/Makefile | 136 | ||||
-rw-r--r-- | java/openjdk11/distinfo | 3 | ||||
-rw-r--r-- | java/openjdk11/files/cacerts | bin | 0 -> 102883 bytes | |||
-rw-r--r-- | java/openjdk11/files/patch-configure | 14 | ||||
-rw-r--r-- | java/openjdk11/files/patch-make-autoconf-build-performance.m4 | 13 | ||||
-rw-r--r-- | java/openjdk11/pkg-descr | 3 | ||||
-rw-r--r-- | java/openjdk11/pkg-message | 16 |
8 files changed, 186 insertions, 0 deletions
diff --git a/java/Makefile b/java/Makefile index dea70d748e13..f60e68ea05d6 100644 --- a/java/Makefile +++ b/java/Makefile @@ -110,6 +110,7 @@ SUBDIR += openjdk7-jre SUBDIR += openjdk8 SUBDIR += openjdk8-jre + SUBDIR += openjdk11 SUBDIR += openjfx8-devel SUBDIR += openjfx8-scenebuilder SUBDIR += phpeclipse diff --git a/java/openjdk11/Makefile b/java/openjdk11/Makefile new file mode 100644 index 000000000000..eb89cc10d516 --- /dev/null +++ b/java/openjdk11/Makefile @@ -0,0 +1,136 @@ +# $FreeBSD$ + +PORTNAME= openjdk +PORTVERSION= ${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_PATCH_VERSION}.${JDK_BUILD_NUMBER}.${BSD_JDK_VERSION} +CATEGORIES= java devel +MASTER_SITES= https://github.com/battleblow/openjdk-jdk11u/archive/ +PKGNAMESUFFIX?= ${JDK_MAJOR_VERSION} +DISTNAME= jdk-${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_PATCH_VERSION}+${JDK_BUILD_NUMBER}-${BSD_JDK_VERSION} + +MAINTAINER= java@FreeBSD.org +COMMENT= Java Development Kit ${JDK_MAJOR_VERSION} + +LICENSE= GPLv2 + +ONLY_FOR_ARCHS= amd64 + +BUILD_DEPENDS= zip:archivers/zip \ + autoconf>0:devel/autoconf \ + ${LOCALBASE}/include/cups/cups.h:print/cups \ + bash:shells/bash +LIB_DEPENDS= libfreetype.so:print/freetype2 \ + libfontconfig.so:x11-fonts/fontconfig \ + liblcms2.so:graphics/lcms2 \ + libgif.so:graphics/giflib \ + libpng16.so:graphics/png + +USES= compiler:features gmake iconv jpeg +USE_XORG= xext x11 xrender xtst xi + +WRKSRC= ${WRKDIR}/${PORTNAME}-jdk${JDK_MAJOR_VERSION}u-jdk-${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_PATCH_VERSION}-${JDK_BUILD_NUMBER}-${BSD_JDK_VERSION} + +_MAKE_JOBS= # +CPPFLAGS+= -I${LOCALBASE}/include +LDFLAGS+= -L${LOCALBASE}/lib +MAKE_ENV= LANG="C" \ + LC_ALL="C" \ + CLASSPATH="" \ + JAVA_HOME="" \ + LD_LIBRARY_PATH="" \ + LDFLAGS=-L${LOCALBASE}/lib \ + CC=/usr/bin/cc \ + CXX=/usr/bin/c++ \ + MAKEFLAGS="" \ + USE_CLANG=true + +JDK_OSARCH= bsd-${ARCH:S/amd64/x86_64/} +JDK_BUILDDIR= ${WRKSRC}/build/${JDK_OSARCH}-normal-${JDK_BUILD_JVM}-${JDK_BUILD_TYPE} +JDK_IMAGEDIR= ${JDK_BUILDDIR}/images/jdk +INSTALLDIR= ${PREFIX}/${PKGBASE} + +NOPRECIOUSMAKEVARS= yes + +JDK_MAJOR_VERSION= 11 +JDK_MINOR_VERSION= 0 +JDK_PATCH_VERSION= 2 +JDK_BUILD_NUMBER= 9 +BSD_JDK_VERSION= 1 + +GNU_CONFIGURE= yes +CONFIGURE_ENV= CC=/usr/bin/cc \ + CXX=/usr/bin/c++ +CONFIGURE_ARGS= --with-boot-jdk=${BOOTSTRAPJDKDIR} \ + --disable-ccache \ + --disable-dtrace \ + --disable-javac-server \ + --disable-hotspot-gtest \ + --with-alsa=${LOCALBASE} \ + --with-cups=${LOCALBASE} \ + --with-fontconfig=${LOCALBASE} \ + --with-freetype=system \ + --with-freetype-include=${LOCALBASE}/include/freetype2 \ + --with-freetype-lib=${LOCALBASE}/lib \ + --with-libjpeg=system \ + --with-giflib=system \ + --with-libpng=system \ + --with-zlib=system \ + --with-lcms=system \ + --with-extra-cflags=-I${LOCALBASE}/include \ + --with-extra-cxxflags=-I${LOCALBASE}/include \ + --with-extra-ldflags=-L${LOCALBASE}/lib \ + --with-toolchain-type=clang \ + --x-includes=${LOCALBASE}/include \ + --x-libraries=${LOCALBASE}/lib \ + --with-package-path=${LOCALBASE} \ + --with-cacerts-file=${FILESDIR}/cacerts \ + --with-version-string=${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_PATCH_VERSION}+${JDK_BUILD_NUMBER}-${BSD_JDK_VERSION} \ + --with-native-debug-symbols=none \ + --with-debug-level=release + +JAVAVMS_COMMENT= OpenJDK${JDK_MAJOR_VERSION} + +ALL_TARGET= images +JDK_BUILD_TYPE= release + +.include <bsd.port.pre.mk> + +BOOTSTRAP_JDKS= ${LOCALBASE}/openjdk11 \ + ${LOCALBASE}/bootstrap-openjdk11 + +# 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}/bootstrap-openjdk11 +BUILD_DEPENDS+= ${BOOTSTRAPJDKDIR}/bin/javac:java/bootstrap-openjdk11 +.endif + +JDK_BUILD_JVM= server + +.if empty(ICONV_LIB) +ICONV_CPPFLAGS= -DLIBICONV_PLUG +.else +ICONV_CPPFLAGS= -I${LOCALBASE}/include +ICONV_LDFLAGS= -L${LOCALBASE}/lib ${ICONV_LIB} +.endif + +post-patch: + @${FIND} ${WRKSRC} -name '*.orig' -delete + @${CHMOD} 755 ${WRKSRC}/configure + @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ + ${WRKSRC}/configure + +do-install: + @${MKDIR} ${STAGEDIR}${INSTALLDIR} + @cd ${JDK_IMAGEDIR} && ${COPYTREE_SHARE} . ${STAGEDIR}${INSTALLDIR} + @cd ${STAGEDIR}${INSTALLDIR} && \ + ${FIND} bin -type f -exec ${CHMOD} ${BINMODE} {} \; + @${FIND} ${STAGEDIR}${INSTALLDIR} -not -type d | ${SORT} | \ + ${SED} -e 's|^${STAGEDIR}${PREFIX}/||' >> ${TMPPLIST} + +.include <bsd.port.post.mk> diff --git a/java/openjdk11/distinfo b/java/openjdk11/distinfo new file mode 100644 index 000000000000..d282aff42600 --- /dev/null +++ b/java/openjdk11/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1552339500 +SHA256 (jdk-11.0.2+9-1.tar.gz) = 013e7bc9e74f23b901a1ba295aedc85ddc2ee3dd115728a0178b637a45c4133f +SIZE (jdk-11.0.2+9-1.tar.gz) = 116710015 diff --git a/java/openjdk11/files/cacerts b/java/openjdk11/files/cacerts Binary files differnew file mode 100644 index 000000000000..b71e522997f1 --- /dev/null +++ b/java/openjdk11/files/cacerts diff --git a/java/openjdk11/files/patch-configure b/java/openjdk11/files/patch-configure new file mode 100644 index 000000000000..59daa4ff854f --- /dev/null +++ b/java/openjdk11/files/patch-configure @@ -0,0 +1,14 @@ +--- configure.orig 2019-03-12 12:38:39.648907000 -0700 ++++ configure 2019-03-12 12:39:04.275572000 -0700 +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!%%LOCALBASE%%/bin/bash + # + # Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +@@ -32,4 +32,4 @@ + # Delegate to wrapper, forcing wrapper to believe $0 is this script by using -c. + # This trick is needed to get autoconf to co-operate properly. + # The ${-:+-$-} construction passes on bash options. +-bash ${-:+-$-} -c ". $this_script_dir/make/autoconf/configure" $this_script_dir/configure CHECKME $this_script_dir "$@" ++%%LOCALBASE%%/bin/bash ${-:+-$-} -c ". $this_script_dir/make/autoconf/configure" $this_script_dir/configure CHECKME $this_script_dir "$@" diff --git a/java/openjdk11/files/patch-make-autoconf-build-performance.m4 b/java/openjdk11/files/patch-make-autoconf-build-performance.m4 new file mode 100644 index 000000000000..04aa1f5e707a --- /dev/null +++ b/java/openjdk11/files/patch-make-autoconf-build-performance.m4 @@ -0,0 +1,13 @@ +--- make/autoconf/build-performance.m4 ++++ make/autoconf/build-performance.m4 +@@ -41,6 +41,10 @@ AC_DEFUN([BPERF_CHECK_CORES], + # Looks like a MacOSX system + NUM_CORES=`/usr/sbin/sysctl -n hw.ncpu` + FOUND_CORES=yes ++ elif test -x /sbin/sysctl; then ++ # Looks like a BSD system ++ NUM_CORES=`/sbin/sysctl -n hw.ncpu` ++ FOUND_CORES=yes + elif test "x$OPENJDK_BUILD_OS" = xaix ; then + NUM_CORES=`/usr/sbin/prtconf | grep "^Number Of Processors" | awk '{ print [$]4 }'` + FOUND_CORES=yes diff --git a/java/openjdk11/pkg-descr b/java/openjdk11/pkg-descr new file mode 100644 index 000000000000..e9c6f981cf97 --- /dev/null +++ b/java/openjdk11/pkg-descr @@ -0,0 +1,3 @@ +An open-source implementation of the Java Platform, Standard Edition, + +WWW: http://openjdk.java.net/ diff --git a/java/openjdk11/pkg-message b/java/openjdk11/pkg-message new file mode 100644 index 000000000000..a651593720d1 --- /dev/null +++ b/java/openjdk11/pkg-message @@ -0,0 +1,16 @@ +====================================================================== + +This OpenJDK implementation requires fdescfs(5) mounted on /dev/fd and +procfs(5) mounted on /proc. + +If you have not done it yet, please do the following: + + mount -t fdescfs fdesc /dev/fd + mount -t procfs proc /proc + +To make it permanent, you need the following lines in /etc/fstab: + + fdesc /dev/fd fdescfs rw 0 0 + proc /proc procfs rw 0 0 + +====================================================================== |