|
| 1 | +PORTNAME= openjdk |
| 2 | +DISTVERSIONPREFIX= jdk- |
| 3 | +DISTVERSION= ${JDK_MAJOR_VERSION}+${JDK_BUILD_NUMBER}-${BSD_JDK_VERSION} |
| 4 | +CATEGORIES= java devel |
| 5 | +PKGNAMESUFFIX?= ${JDK_MAJOR_VERSION} |
| 6 | + |
| 7 | + |
| 8 | +COMMENT= Java Development Kit ${JDK_MAJOR_VERSION} |
| 9 | + |
| 10 | +LICENSE= GPLv2 |
| 11 | + |
| 12 | +ONLY_FOR_ARCHS= amd64 aarch64 |
| 13 | + |
| 14 | +BUILD_DEPENDS= zip:archivers/zip \ |
| 15 | + autoconf>0:devel/autoconf \ |
| 16 | + ${LOCALBASE}/include/cups/cups.h:print/cups \ |
| 17 | + bash:shells/bash \ |
| 18 | + gsed:textproc/gsed |
| 19 | +LIB_DEPENDS= libasound.so:audio/alsa-lib \ |
| 20 | + libfontconfig.so:x11-fonts/fontconfig \ |
| 21 | + libfreetype.so:print/freetype2 \ |
| 22 | + libgif.so:graphics/giflib \ |
| 23 | + libharfbuzz.so:print/harfbuzz \ |
| 24 | + liblcms2.so:graphics/lcms2 \ |
| 25 | + libpng.so:graphics/png |
| 26 | +RUN_DEPENDS= javavm:java/javavmwrapper \ |
| 27 | + xorg-fonts-truetype>0:x11-fonts/xorg-fonts-truetype |
| 28 | + |
| 29 | +USES= compiler:features cpe gmake iconv jpeg pkgconfig xorg |
| 30 | +USE_XORG= x11 xext xi xrandr xrender xt xtst |
| 31 | + |
| 32 | +CPE_VENDOR= oracle |
| 33 | + |
| 34 | +USE_GITHUB= yes |
| 35 | +GH_ACCOUNT= battleblow |
| 36 | +GH_PROJECT= jdk17 |
| 37 | + |
| 38 | +NO_CCACHE= yes |
| 39 | + |
| 40 | +_MAKE_JOBS= # |
| 41 | +MAKE_ENV= LANG="C" \ |
| 42 | + LC_ALL="C" \ |
| 43 | + CLASSPATH="" \ |
| 44 | + JAVA_HOME="" \ |
| 45 | + LD_LIBRARY_PATH="" \ |
| 46 | + CC=${CC} \ |
| 47 | + CXX=${CXX} \ |
| 48 | + CPP=${CPP} \ |
| 49 | + MAKEFLAGS="" |
| 50 | + |
| 51 | +JDK_OSARCH= bsd-${ARCH:S/amd64/x86_64/:S/i386/x86/:S/powerpc64/ppc64/} |
| 52 | +JDK_BUILDDIR= ${WRKSRC}/build/${JDK_OSARCH}-${JDK_BUILD_JVM}-${JDK_BUILD_TYPE} |
| 53 | +JDK_IMAGEDIR= ${JDK_BUILDDIR}/images/jdk |
| 54 | +INSTALLDIR= ${PREFIX}/${PKGBASE} |
| 55 | + |
| 56 | +NOPRECIOUSMAKEVARS= yes |
| 57 | + |
| 58 | +JDK_MAJOR_VERSION= 17 |
| 59 | +JDK_MINOR_VERSION= 0 |
| 60 | +JDK_PATCH_VERSION= 0 |
| 61 | +JDK_BUILD_NUMBER= 35 |
| 62 | +BSD_JDK_VERSION= 1 |
| 63 | + |
| 64 | +JDK_BUG_URL= https://bugs.freebsd.org/bugzilla/enter_bug.cgi?product=Ports%20%26%20Packages&component=Individual%20Port(s)&short_desc=java/${PORTNAME}${JDK_MAJOR_VERSION}%3A%20 |
| 65 | + |
| 66 | +GNU_CONFIGURE= yes |
| 67 | +CONFIGURE_ENV= CC=${CC} \ |
| 68 | + CXX=${CXX} \ |
| 69 | + CPP=${CPP} \ |
| 70 | + ac_cv_path_SED=${LOCALBASE}/bin/gsed |
| 71 | +CONFIGURE_ARGS= --with-boot-jdk=${BOOTSTRAPJDKDIR} \ |
| 72 | + --disable-ccache \ |
| 73 | + --disable-javac-server \ |
| 74 | + --disable-hotspot-gtest \ |
| 75 | + --with-alsa=${LOCALBASE} \ |
| 76 | + --with-cups=${LOCALBASE} \ |
| 77 | + --with-fontconfig=${LOCALBASE} \ |
| 78 | + --with-freetype=system \ |
| 79 | + --with-freetype-include=${LOCALBASE}/include/freetype2 \ |
| 80 | + --with-freetype-lib=${LOCALBASE}/lib \ |
| 81 | + --with-libjpeg=system \ |
| 82 | + --with-giflib=system \ |
| 83 | + --with-giflib-include=${LOCALBASE}/include \ |
| 84 | + --with-giflib-lib=${LOCALBASE}/lib \ |
| 85 | + --with-harfbuzz=system \ |
| 86 | + --with-libpng=system \ |
| 87 | + --with-zlib=system \ |
| 88 | + --with-lcms=system \ |
| 89 | + --x-includes=${LOCALBASE}/include \ |
| 90 | + --x-libraries=${LOCALBASE}/lib \ |
| 91 | + --with-cacerts-file=${FILESDIR}/cacerts \ |
| 92 | + --with-version-string=${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_PATCH_VERSION}+${JDK_BUILD_NUMBER}-${BSD_JDK_VERSION} \ |
| 93 | + --with-native-debug-symbols=none \ |
| 94 | + --with-debug-level=release \ |
| 95 | + --with-vendor-name="OpenJDK BSD Porting Team" \ |
| 96 | + --with-vendor-url="https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/" \ |
| 97 | + --with-vendor-bug-url="${JDK_BUG_URL}" \ |
| 98 | + --with-vendor-vm-bug-url="${JDK_BUG_URL}" |
| 99 | + |
| 100 | +JAVAVMS_COMMENT= OpenJDK${JDK_MAJOR_VERSION} |
| 101 | + |
| 102 | +ALL_TARGET= images |
| 103 | +JDK_BUILD_TYPE= release |
| 104 | + |
| 105 | +.include <bsd.port.pre.mk> |
| 106 | + |
| 107 | +BOOTSTRAP_JDKS= ${LOCALBASE}/openjdk17 \ |
| 108 | + ${LOCALBASE}/openjdk16 |
| 109 | + |
| 110 | +# do we have valid native jdk installed? |
| 111 | +.for BJDK in ${BOOTSTRAP_JDKS} |
| 112 | +. if !defined(BOOTSTRAPJDKDIR) && exists(${BJDK}/bin/javac) |
| 113 | +BOOTSTRAPJDKDIR= ${BJDK} |
| 114 | +. endif |
| 115 | +.endfor |
| 116 | + |
| 117 | +# if no valid jdk found, set dependency |
| 118 | +.if !defined(BOOTSTRAPJDKDIR) |
| 119 | +BOOTSTRAPJDKDIR?= ${LOCALBASE}/openjdk16 |
| 120 | +BUILD_DEPENDS+= ${BOOTSTRAPJDKDIR}/bin/javac:java/openjdk16 |
| 121 | +.endif |
| 122 | + |
| 123 | +JDK_BUILD_JVM= server |
| 124 | + |
| 125 | +MAKE_ENV+= --with-toolchain-type=${COMPILER_TYPE} |
| 126 | +CONFIGURE_ARGS+= --with-toolchain-type=${COMPILER_TYPE} |
| 127 | + |
| 128 | +.if ${COMPILER_TYPE} == gcc |
| 129 | +USE_GCC= yes |
| 130 | +CONFIGURE_ARGS+= --with-extra-ldflags="-Wl,-rpath=${LOCALBASE}/lib/gcc${GCC_DEFAULT} -L/usr/local/lib/gcc${GCC_DEFAULT}" \ |
| 131 | + --with-extra-cflags="-Wl,-rpath=${LOCALBASE}/lib/gcc${GCC_DEFAULT}" \ |
| 132 | + --with-extra-cxxflags="-Wl,-rpath=${LOCALBASE}/lib/gcc${GCC_DEFAULT}" |
| 133 | +.else |
| 134 | +MAKE_ENV+= USE_CLANG=true |
| 135 | +.endif |
| 136 | + |
| 137 | +.if ${ARCH} == aarch64 || ${ARCH:Mpowerpc64*} |
| 138 | +CONFIGURE_ARGS+= --disable-warnings-as-errors |
| 139 | +.endif |
| 140 | +.if ${ARCH} == aarch64 || (defined(PPC_ABI) && ${PPC_ABI} == ELFv1) |
| 141 | +CONFIGURE_ARGS+= --disable-dtrace |
| 142 | +.endif |
| 143 | +.if (defined(PPC_ABI) && ${PPC_ABI} == ELFv2) || ${ARCH} == powerpc64le |
| 144 | +CONFIGURE_ARGS+= --disable-precompiled-headers |
| 145 | +.endif |
| 146 | +.if ${ARCH} != amd64 |
| 147 | +CONFIGURE_ARGS+= --enable-aot=no |
| 148 | +.endif |
| 149 | +.if ${ARCH} == powerpc64 && ${OSREL:C/\.[0-9]//} == 12 |
| 150 | +EXTRA_PATCHES= ${PATCHDIR}/extra-patch-src_hotspot_cpu_ppc_vm__version__ppc.hpp |
| 151 | +.endif |
| 152 | + |
| 153 | +.if empty(ICONV_LIB) |
| 154 | +ICONV_CFLAGS= -DLIBICONV_PLUG |
| 155 | +.else |
| 156 | +ICONV_CFLAGS= -I${LOCALBASE}/include |
| 157 | +ICONV_LDFLAGS= -L${LOCALBASE}/lib |
| 158 | +ICONV_LIBS= ${ICONV_LIB} |
| 159 | +.endif |
| 160 | + |
| 161 | +post-patch: |
| 162 | + @${FIND} ${WRKSRC} -name '*.orig' -delete |
| 163 | + @${CHMOD} 755 ${WRKSRC}/configure |
| 164 | + @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ |
| 165 | + ${WRKSRC}/configure \ |
| 166 | + ${WRKSRC}/src/hotspot/os/bsd/os_bsd.cpp |
| 167 | + @${REINPLACE_CMD} -e 's|%%ICONV_CFLAGS%%|${ICONV_CFLAGS}|' \ |
| 168 | + -e 's|%%ICONV_LDFLAGS%%|${ICONV_LDFLAGS}|' \ |
| 169 | + -e 's|%%ICONV_LIBS%%|${ICONV_LIBS}|' \ |
| 170 | + ${WRKSRC}/make/autoconf/libraries.m4 |
| 171 | + |
| 172 | +do-install: |
| 173 | + @${MKDIR} ${STAGEDIR}${INSTALLDIR} |
| 174 | + @cd ${JDK_IMAGEDIR} && ${COPYTREE_SHARE} . ${STAGEDIR}${INSTALLDIR} |
| 175 | + @cd ${STAGEDIR}${INSTALLDIR} && \ |
| 176 | + ${FIND} bin -type f -exec ${CHMOD} ${BINMODE} {} \; |
| 177 | + @${CHMOD} ${BINMODE} ${STAGEDIR}${INSTALLDIR}/lib/jspawnhelper |
| 178 | + @${ECHO} "@javavm ${INSTALLDIR}/bin/java" >> ${TMPPLIST} |
| 179 | + @${FIND} ${STAGEDIR}${INSTALLDIR} -not -type d | ${SORT} | \ |
| 180 | + ${SED} -e 's|^${STAGEDIR}${PREFIX}/||' >> ${TMPPLIST} |
| 181 | + |
| 182 | +.include <bsd.port.post.mk> |
0 commit comments