mirror of
https://git.freebsd.org/ports.git
synced 2026-06-02 11:08:52 +00:00
6fe56cc444
Some setups could fail when building with poudriere bulk with a message about the configuration was out of date. Since configure is run as part of the build in any case, we don't need the explicit configure check in the openjdk build system, so we disable it. Fix originally proposed by jonc@chen.org.nz. Since this doen not change the port, only whether it will build or not, I have not bumped the PORTREVISION for this change. PR: 294199 Reported by: nxjoseph Reviewed by: glewis Approved by: glewis Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56289
208 lines
6.5 KiB
Makefile
208 lines
6.5 KiB
Makefile
PORTNAME= openjdk
|
|
DISTVERSIONPREFIX= jdk-
|
|
DISTVERSION= ${JDK_FULL_VERSION:S/.0.0//}
|
|
PORTREVISION= 1
|
|
CATEGORIES= java devel
|
|
PKGNAMESUFFIX?= ${JDK_MAJOR_VERSION}
|
|
MASTER_SITES= LOCAL/openjdk:boot
|
|
DISTFILES= ${BOOTSTRAPJDKFILE}:boot
|
|
|
|
MAINTAINER= java@FreeBSD.org
|
|
COMMENT= ${COMMENT_${FLAVOR}} ${JDK_MAJOR_VERSION}
|
|
COMMENT_jdk= Java Development Kit
|
|
COMMENT_headless= Java Development Kit (headless version)
|
|
COMMENT_jre= Java Runtime Environment
|
|
COMMENT_jre_headless= Java Runtime Environment (headless version)
|
|
|
|
WWW= https://openjdk.java.net/projects/jdk/26/
|
|
|
|
LICENSE= GPLv2
|
|
|
|
ONLY_FOR_ARCHS= aarch64 amd64 powerpc64 powerpc64le
|
|
|
|
# This port supports the following flavors:
|
|
#
|
|
# - jdk (default) Full OpenJDK including dev tools and x11 support
|
|
# - headless Full OpenJDK including dev tools, but without x11 support
|
|
# - jre Java Runtime Environment including x11 support
|
|
# - jre_headless Jave Runtime Environment without x11 support
|
|
FLAVORS= jdk jre headless jre_headless
|
|
|
|
headless_PKGNAMESUFFIX= ${JDK_MAJOR_VERSION}-headless
|
|
jre_PKGNAMESUFFIX= ${JDK_MAJOR_VERSION}-jre
|
|
jre_headless_PKGNAMESUFFIX= ${JDK_MAJOR_VERSION}-jre-headless
|
|
|
|
FLAVOR?= ${BUILD_JRE:?jre:${FLAVORS:[1]}}
|
|
|
|
BUILD_DEPENDS= ${LOCALBASE}/include/cups/cups.h:print/cups \
|
|
bash:shells/bash \
|
|
gsed:textproc/gsed \
|
|
zip:archivers/zip
|
|
|
|
LIB_DEPENDS= libasound.so:audio/alsa-lib \
|
|
libfontconfig.so:x11-fonts/fontconfig \
|
|
libfreetype.so:print/freetype2 \
|
|
libgif.so:graphics/giflib \
|
|
libharfbuzz.so:print/harfbuzz \
|
|
liblcms2.so:graphics/lcms2 \
|
|
libpng.so:graphics/png
|
|
|
|
RUN_DEPENDS= javavm:java/javavmwrapper
|
|
.if ${FLAVOR:M*headless} == ""
|
|
RUN_DEPENDS+= xorg-fonts-truetype>0:x11-fonts/xorg-fonts-truetype
|
|
.endif
|
|
|
|
USES= autoreconf:build compiler:features cpe gmake iconv jpeg pkgconfig xorg
|
|
|
|
CPE_VENDOR= oracle
|
|
|
|
USE_GITHUB= yes
|
|
GH_ACCOUNT= freebsd
|
|
|
|
USE_XORG= x11 xext xi xrandr xrender xt xtst
|
|
|
|
GNU_CONFIGURE= yes
|
|
CONFIGURE_ARGS= --disable-ccache \
|
|
--disable-javac-server \
|
|
--with-alsa=${LOCALBASE} \
|
|
--with-boot-jdk=${BOOTSTRAPJDKDIR} \
|
|
--with-cups=${LOCALBASE} \
|
|
--with-debug-level=release \
|
|
--with-fontconfig=${LOCALBASE} \
|
|
--with-freetype=system \
|
|
--with-giflib-include=${LOCALBASE}/include \
|
|
--with-giflib-lib=${LOCALBASE}/lib \
|
|
--with-giflib=system \
|
|
--with-harfbuzz=system \
|
|
--with-lcms=system \
|
|
--with-libjpeg=system \
|
|
--with-libpng=system \
|
|
--with-native-debug-symbols=none \
|
|
--with-num-cores=${MAKE_JOBS_NUMBER} \
|
|
--with-vendor-bug-url="${JDK_BUG_URL}" \
|
|
--with-vendor-name="OpenJDK BSD Porting Team" \
|
|
--with-vendor-url="https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/" \
|
|
--with-vendor-vm-bug-url="${JDK_BUG_URL}" \
|
|
--with-version-string=${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_PATCH_VERSION}+${JDK_BUILD_NUMBER}-${BSD_JDK_VERSION} \
|
|
--with-zlib=system \
|
|
--x-includes=${LOCALBASE}/include \
|
|
--x-libraries=${LOCALBASE}/lib
|
|
.if ${FLAVOR:M*headless}
|
|
CONFIGURE_ARGS+= --enable-headless-only
|
|
.endif
|
|
|
|
CONFIGURE_ENV= ac_cv_path_SED=${LOCALBASE}/bin/gsed
|
|
CONFIGURE_TARGET= ${JDK_ARCH}-portbld-${OPSYS:tl}${OSREL}
|
|
|
|
# Suppress passing -j to do-build target via Mk/bsd.port.mk
|
|
# In the JDK build the number of parallel jobs is passed in via configure --with-num-cores=N
|
|
_MAKE_JOBS= #
|
|
MAKE_ENV= CLASSPATH="" \
|
|
JAVA_HOME="" \
|
|
LD_LIBRARY_PATH="" \
|
|
LOG=cmdlines \
|
|
MAKEFLAGS="CONF_CHECK=ignore"
|
|
|
|
.if ${FLAVOR:Mjre*}
|
|
ALL_TARGET= legacy-images
|
|
.else
|
|
ALL_TARGET= images
|
|
.endif
|
|
JDK_BUILD_TYPE= release
|
|
|
|
JDK_ARCH= ${ARCH:S/amd64/x86_64/:S/i386/x86/:S/powerpc64/ppc64/}
|
|
BOOTSTRAPJDKFILE= openjdk25-25.0.1+8.f.1.${JDK_ARCH}.tar.xz
|
|
JDK_OSARCH= bsd-${JDK_ARCH}
|
|
JDK_BUILDDIR= ${WRKSRC}/build/${JDK_OSARCH}-${JDK_BUILD_JVM}-${JDK_BUILD_TYPE}
|
|
.if ${FLAVOR:Mjre*}
|
|
BUILD_JRE= true
|
|
JDK_IMAGEDIR= ${JDK_BUILDDIR}/images/jre
|
|
.else
|
|
JDK_IMAGEDIR= ${JDK_BUILDDIR}/images/jdk
|
|
.endif
|
|
INSTALLDIR= ${PREFIX}/${PKGBASE}
|
|
BOOTSTRAPJDKDIR= ${WRKDIR}/boot-jdk
|
|
|
|
NO_CCACHE= yes
|
|
NOPRECIOUSMAKEVARS= yes
|
|
|
|
JDK_MAJOR_VERSION= 26
|
|
JDK_MINOR_VERSION= 0
|
|
JDK_PATCH_VERSION= 0
|
|
JDK_BUILD_NUMBER= 35
|
|
BSD_JDK_VERSION= 1
|
|
JDK_FULL_VERSION= ${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_PATCH_VERSION}+${JDK_BUILD_NUMBER}-${BSD_JDK_VERSION}
|
|
|
|
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
|
|
|
|
.ifnmake portclippy
|
|
JAVAVMS_COMMENT= OpenJDK${JDK_MAJOR_VERSION}
|
|
.endif
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
JDK_BUILD_JVM= server
|
|
|
|
MAKE_ENV+= --with-toolchain-type=${COMPILER_TYPE}
|
|
CONFIGURE_ARGS+= --with-toolchain-type=${COMPILER_TYPE}
|
|
CONFIGURE_ARGS+= --disable-warnings-as-errors
|
|
|
|
.if ${COMPILER_TYPE} == gcc
|
|
USE_GCC= yes
|
|
CONFIGURE_ARGS+= --with-extra-cflags="-Wl,-rpath=${LOCALBASE}/lib/gcc${GCC_DEFAULT}" \
|
|
--with-extra-cxxflags="-Wl,-rpath=${LOCALBASE}/lib/gcc${GCC_DEFAULT}" \
|
|
--with-extra-ldflags="-Wl,-rpath=${LOCALBASE}/lib/gcc${GCC_DEFAULT} -L${LOCALBASE}/lib/gcc${GCC_DEFAULT}"
|
|
.else
|
|
MAKE_ENV+= USE_CLANG=true
|
|
EXTRA_CFLAGS+= -Wno-unused-but-set-parameter
|
|
EXTRA_CFLAGS+= -Wno-bitwise-instead-of-logical \
|
|
-Wno-error=deprecated-non-prototype
|
|
CONFIGURE_ARGS+= --with-extra-cflags="${EXTRA_CFLAGS}"
|
|
CONFIGURE_ARGS+= --with-extra-cxxflags="${EXTRA_CFLAGS}"
|
|
.endif
|
|
|
|
.if ${ARCH} == aarch64
|
|
CONFIGURE_ARGS+= --disable-dtrace
|
|
.endif
|
|
|
|
.if empty(ICONV_LIB)
|
|
ICONV_CFLAGS= -DLIBICONV_PLUG
|
|
.else
|
|
ICONV_CFLAGS= -I${LOCALBASE}/include
|
|
ICONV_LDFLAGS= -L${LOCALBASE}/lib
|
|
ICONV_LIBS= ${ICONV_LIB}
|
|
.endif
|
|
|
|
post-patch:
|
|
@${RM} ${WRKSRC}/src/hotspot/os_cpu/bsd_ppc/thread_bsd_ppc.cpp
|
|
@${MV} ${WRKSRC}/src/hotspot/os_cpu/bsd_ppc/thread_bsd_ppc.hpp \
|
|
${WRKSRC}/src/hotspot/os_cpu/bsd_ppc/javaThread_bsd_ppc.hpp
|
|
|
|
@${FIND} ${WRKSRC} -name '*.orig' -delete
|
|
@${CHMOD} 755 ${WRKSRC}/configure
|
|
@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
|
|
${WRKSRC}/configure \
|
|
${WRKSRC}/src/hotspot/os/bsd/os_bsd.cpp
|
|
@${REINPLACE_CMD} -e 's|%%ICONV_CFLAGS%%|${ICONV_CFLAGS}|' \
|
|
-e 's|%%ICONV_LDFLAGS%%|${ICONV_LDFLAGS}|' \
|
|
-e 's|%%ICONV_LIBS%%|${ICONV_LIBS}|' \
|
|
${WRKSRC}/make/autoconf/libraries.m4
|
|
|
|
post-build:
|
|
.if defined(OPENJDK_SYMLINK_CACERTS)
|
|
@${RM} ${JDK_IMAGEDIR}/lib/security/cacerts
|
|
@${LN} -sf ${OPENJDK_SYMLINK_CACERTS} ${JDK_IMAGEDIR}/lib/security/cacerts
|
|
.endif
|
|
|
|
do-install:
|
|
@${MKDIR} ${STAGEDIR}${INSTALLDIR}
|
|
@cd ${JDK_IMAGEDIR} && ${COPYTREE_SHARE} . ${STAGEDIR}${INSTALLDIR}
|
|
@cd ${STAGEDIR}${INSTALLDIR} && \
|
|
${FIND} bin -type f -exec ${CHMOD} ${BINMODE} {} \;
|
|
@${CHMOD} ${BINMODE} ${STAGEDIR}${INSTALLDIR}/lib/jspawnhelper
|
|
@${ECHO} "@javavm ${INSTALLDIR}/bin/java" >> ${TMPPLIST}
|
|
@${FIND} ${STAGEDIR}${INSTALLDIR} -not -type d | ${SORT} | \
|
|
${SED} -e 's|^${STAGEDIR}${PREFIX}/||' >> ${TMPPLIST}
|
|
|
|
.include <bsd.port.post.mk>
|