Skip to content

Commit ff186e2

Browse files
committed
openjdk{11,17}: Import from pkgsrc-joyent.
1 parent 85d3020 commit ff186e2

57 files changed

Lines changed: 2875 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

openjdk11/DESCR

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Open-source implementation of the Java Platform, Standard Edition.
2+
3+
This package is NOT certified to be compatible with any Java standard.
4+
Use at own risk.
5+
6+
Mandatory trademark notice:
7+
"OpenJDK is a trademark or registered trademark of Oracle America,
8+
Inc. in the United States and other countries."

openjdk11/Makefile

Lines changed: 201 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,201 @@
1+
# $NetBSD$
2+
3+
DISTNAME= jdk-11.0.16.1-ga
4+
PKGNAME= ${DISTNAME:C/jdk/openjdk11/:C/-ga//}
5+
CATEGORIES= lang
6+
MASTER_SITES= ${MASTER_SITE_GITHUB:=openjdk/}
7+
GITHUB_PROJECT= jdk11u
8+
GITHUB_TAG= ${DISTNAME}
9+
10+
MAINTAINER= pkgsrc-users@NetBSD.org
11+
HOMEPAGE= http://openjdk.java.net/
12+
COMMENT= Open-source implementation of the Java Platform, Standard Edition
13+
LICENSE= gnu-gpl-v2
14+
15+
DIST_SUBDIR= openjdk11
16+
WRKSRC= ${WRKDIR}/jdk11u-${DISTNAME}
17+
18+
JAVA_NAME= openjdk11
19+
JAVA_HOME= ${PREFIX}/java/${JAVA_NAME}
20+
JAVA_WRAPPERS= jar java javac javadoc javah javap jcmd jhat jps jstack \
21+
keytool orbd policytool rmid rmiregistry servertool tnameserv
22+
23+
BUILD_DEPENDS+= mozilla-rootcerts-[0-9]*:../../security/mozilla-rootcerts
24+
25+
DEPENDS+= dejavu-ttf-[0-9]*:../../fonts/dejavu-ttf
26+
27+
BUILD_TARGET= images
28+
29+
GNU_CONFIGURE= yes
30+
CONFIG_SHELL= bash
31+
USE_LANGUAGES= c c++
32+
USE_TOOLS+= autoconf bash gmake pax pkg-config tar unzip:run zip:run
33+
34+
UNLIMIT_RESOURCES= datasize stacksize
35+
36+
BUILDLINK_TRANSFORM+= rm:-Werror
37+
BUILDLINK_TRANSFORM.SunOS+= rm:-Wl,-O1
38+
39+
CONFIGURE_ARGS+= --disable-option-checking # for --with-libiconv-prefix
40+
CONFIGURE_ARGS+= --prefix=${PREFIX:Q}
41+
CONFIGURE_ARGS+= --build=${MACHINE_GNU_PLATFORM:Q}
42+
CONFIGURE_ARGS+= --host=${MACHINE_GNU_PLATFORM:Q}
43+
CONFIGURE_ARGS+= --target=${MACHINE_GNU_PLATFORM:Q}
44+
CONFIGURE_ARGS+= --with-freetype=system
45+
CONFIGURE_ARGS+= --with-giflib=system
46+
CONFIGURE_ARGS+= --with-harfbuzz=system
47+
CONFIGURE_ARGS+= --with-lcms=system
48+
CONFIGURE_ARGS+= --with-libjpeg=system
49+
CONFIGURE_ARGS+= --with-libpng=system
50+
CONFIGURE_ARGS+= --with-zlib=system
51+
CONFIGURE_ARGS+= --with-x=yes
52+
CONFIGURE_ARGS+= --with-cups-include=${BUILDLINK_PREFIX.cups-base}/include
53+
CONFIGURE_ARGS+= --with-fontconfig=${BUILDLINK_PREFIX.fontconfig}
54+
CONFIGURE_ARGS+= --with-freetype-include=${BUILDLINK_PREFIX.freetype2}/include
55+
CONFIGURE_ARGS+= --with-freetype-lib=${BUILDLINK_PREFIX.freetype2}/lib
56+
CONFIGURE_ARGS+= --x-includes=${X11BASE}/include
57+
CONFIGURE_ARGS+= --x-libraries=${X11BASE}/lib
58+
CONFIGURE_ARGS+= --with-num-cores=${MAKE_JOBS:U1}
59+
CONFIGURE_ARGS+= --with-cacerts-file=${CACERTS_STORE}
60+
CONFIGURE_ARGS+= --enable-unlimited-crypto
61+
CONFIGURE_ARGS+= --disable-precompiled-headers
62+
CONFIGURE_ARGS+= --disable-ccache
63+
CONFIGURE_ARGS+= --with-extra-cflags=${CFLAGS:Q}
64+
CONFIGURE_ARGS+= --with-extra-cxxflags=${CXXFLAGS:Q}
65+
CONFIGURE_ARGS+= --with-extra-ldflags=${LDFLAGS:Q}
66+
CONFIGURE_ARGS+= --with-native-debug-symbols=none
67+
CONFIGURE_ARGS+= --with-jvm-variants=server
68+
CONFIGURE_ARGS+= --with-debug-level=release
69+
CONFIGURE_ARGS+= --disable-warnings-as-errors
70+
71+
CONFIGURE_ARGS+= --with-toolchain-type=gcc
72+
CONFIGURE_ARGS+= --disable-hotspot-gtest
73+
74+
# Causes unresolved symbols (GCId::print_prefix, LogTagSet::LogTagSet) that are
75+
# proving difficult to track down.
76+
CONFIGURE_ARGS.SunOS+= --disable-dtrace
77+
78+
# The build process rejects make -j, we pass --with-num-cores above instead.
79+
MAKE_JOBS_SAFE= no
80+
81+
BUILDLINK_PASSTHRU_RPATHDIRS+= ${JAVA_HOME}/lib
82+
83+
CHECK_SSP_SKIP+= java/${JAVA_NAME}/lib/libjsig.so
84+
CHECK_SSP_SKIP+= java/${JAVA_NAME}/lib/server/libjsig.so
85+
86+
SUBST_CLASSES+= libpaths
87+
SUBST_STAGE.libpaths= pre-configure
88+
SUBST_FILES.libpaths= make/autoconf/lib-bundled.m4
89+
SUBST_FILES.libpaths+= make/launcher/LauncherCommon.gmk
90+
SUBST_FILES.libpaths+= make/launcher/Launcher-jdk.pack.gmk
91+
SUBST_VARS.libpaths= BUILDLINK_PREFIX.zlib COMPILER_RPATH_FLAG
92+
93+
.include "../../mk/bsd.prefs.mk"
94+
95+
# Bootstrap support, using pre-built OpenJDK10 binaries.
96+
.if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
97+
BOOTSTRAP_JDK:= openjdk10-10.0.46-x86_64-sun-solaris.tar.gz
98+
SITES.${BOOTSTRAP_JDK}= https://us-east.manta.joyent.com/pkgsrc/public/pkg-bootstraps/
99+
DISTFILES:= ${DEFAULT_DISTFILES} ${BOOTSTRAP_JDK}
100+
.endif
101+
102+
BOOTJDK_DIR= ${WRKDIR}/openjdk10
103+
CACERTS_STORE= ${WRKDIR}/cacerts.keystore
104+
105+
CONFIGURE_ARGS+= --with-boot-jdk=${BOOTJDK_DIR}
106+
107+
BUILD_OPSYS= ${OPSYS:C/.*BSD/bsd/:S/DragonFly/bsd/:S/SunOS/solaris/:S/Linux/linux/}
108+
BUILD_ARCH= ${MACHINE_ARCH:S/i386/x86/:S/sparc64/sparcv9/:C/^e?arm.*$/arm/}
109+
SERVER_DIR= ${BUILD_OPSYS}-${BUILD_ARCH}-normal-server-release
110+
IMAGEJDKDIR= ${WRKSRC}/build/${SERVER_DIR}/images/jdk
111+
112+
PLIST_SUBST+= JAVA_NAME=${JAVA_NAME}
113+
PRINT_PLIST_AWK+= { gsub(/${JAVA_NAME}/, "$${JAVA_NAME}") }
114+
PRINT_PLIST_AWK+= /man\/.*gz/ { gsub(/\.gz$$/, "") }
115+
116+
pre-configure: ${CACERTS_STORE}
117+
${CACERTS_STORE}:
118+
${MKDIR} ${WRKDIR}/cacerts
119+
cd ${WRKDIR}/cacerts && ${PREFIX}/sbin/mozilla-rootcerts extract
120+
for cert in ${WRKDIR}/cacerts/*.pem; do \
121+
${SETENV} ${CONFIGURE_ENV} LC_ALL=C \
122+
${BOOTJDK_DIR}/bin/keytool \
123+
-noprompt \
124+
-importcert \
125+
-keystore ${.TARGET}.tmp \
126+
-alias `basename "$$cert" .pem` \
127+
-file $${cert} \
128+
-storetype jks \
129+
-storepass changeit; \
130+
done
131+
${MV} ${.TARGET}.tmp ${.TARGET}
132+
133+
do-configure:
134+
cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${BASH} configure autogen ${CONFIGURE_ARGS}
135+
136+
do-install:
137+
${INSTALL_DATA_DIR} ${DESTDIR}${JAVA_HOME}
138+
cd ${IMAGEJDKDIR} && ${PAX} -rwpp . ${DESTDIR}${JAVA_HOME}/.
139+
140+
ELFEDIT?= /usr/bin/elfedit
141+
142+
.PHONY: bootstrap
143+
bootstrap: install
144+
${RM} -rf ${WRKDIR}/bootstrap/${JAVA_NAME}
145+
${MKDIR} ${WRKDIR}/bootstrap/${JAVA_NAME}
146+
cd ${DESTDIR}${JAVA_HOME} && ${PAX} -rwpp . ${WRKDIR}/bootstrap/${JAVA_NAME}/
147+
.if ${OPSYS} == "SunOS"
148+
${MKDIR} ${WRKDIR}/bootstrap/${JAVA_NAME}/lib/pkgsrc
149+
for lib in libgcc_s.so.1 libssp.so.0 libstdc++.so.6; do \
150+
${CP} `${PKG_CC} -print-file-name=$${lib}` \
151+
${WRKDIR}/bootstrap/${JAVA_NAME}/lib/pkgsrc/; \
152+
done
153+
for lib in libX11.so.6 libXau.so.6 libXdmcp.so.6 libXext.so.0 \
154+
libXi.so.6 libXrender.so.1 libXtst.so.6 libbz2.so.0 \
155+
libfreetype.so.6 libgif.so.7 libglib-2.0.so.0 \
156+
libgraphite2.so.3 libharfbuzz.so.0 libiconv.so.2 \
157+
libintl.so.8 libjpeg.so.8 liblcms2.so.2 libpcre.so.1 \
158+
libpng16.so.16 libxcb.so.1 libz.so.1; do \
159+
${CP} ${PREFIX}/lib/$${lib} \
160+
${WRKDIR}/bootstrap/${JAVA_NAME}/lib/pkgsrc/; \
161+
done
162+
for f in ${WRKDIR}/bootstrap/${JAVA_NAME}/bin/*; do \
163+
${ELFEDIT} -e 'dyn:runpath $$ORIGIN/../lib/jli:$$ORIGIN/../lib/pkgsrc' $$f; \
164+
done
165+
for f in ${WRKDIR}/bootstrap/${JAVA_NAME}/lib/{jspawnhelper,*.so}; do \
166+
${ELFEDIT} -e 'dyn:runpath $$ORIGIN:$$ORIGIN/jli:$$ORIGIN/server:$$ORIGIN/pkgsrc' $$f; \
167+
done
168+
for f in ${WRKDIR}/bootstrap/${JAVA_NAME}/lib/jli/*.so; do \
169+
${ELFEDIT} -e 'dyn:runpath $$ORIGIN/../pkgsrc' $$f; \
170+
done
171+
for f in ${WRKDIR}/bootstrap/${JAVA_NAME}/lib/pkgsrc/*.so*; do \
172+
${ELFEDIT} -e 'dyn:runpath $$ORIGIN' $$f; \
173+
done
174+
for f in ${WRKDIR}/bootstrap/${JAVA_NAME}/lib/server/*.so; do \
175+
${ELFEDIT} -e 'dyn:runpath $$ORIGIN/../pkgsrc' $$f; \
176+
done
177+
(cd ${WRKDIR}/bootstrap; \
178+
${TAR} -zcf ${PKGNAME}-x86_64-sun-solaris.tar.gz ${JAVA_NAME})
179+
.endif
180+
181+
.include "../../converters/libiconv/buildlink3.mk"
182+
.include "../../devel/zlib/buildlink3.mk"
183+
.include "../../fonts/fontconfig/buildlink3.mk"
184+
.include "../../fonts/harfbuzz/buildlink3.mk"
185+
.include "../../graphics/freetype2/buildlink3.mk"
186+
.include "../../graphics/giflib/buildlink3.mk"
187+
.include "../../graphics/lcms2/buildlink3.mk"
188+
# Headers from CUPS are required to build the native implementation of
189+
# sun.print.* which is used by java.awt.print.
190+
BUILDLINK_DEPMETHOD.cups-base?= build
191+
.include "../../print/cups-base/buildlink3.mk"
192+
.include "../../x11/libXext/buildlink3.mk"
193+
.include "../../x11/libXi/buildlink3.mk"
194+
.include "../../x11/libXrender/buildlink3.mk"
195+
BUILDLINK_DEPMETHOD.libXt?= build
196+
.include "../../x11/libXt/buildlink3.mk"
197+
.include "../../x11/libXtst/buildlink3.mk"
198+
BUILDLINK_DEPMETHOD.libXrandr?= build
199+
.include "../../x11/libXrandr/buildlink3.mk"
200+
.include "../../mk/java-env.mk"
201+
.include "../../mk/bsd.pkg.mk"

0 commit comments

Comments
 (0)