blob: ed5760e41cb77a9046b8e9999ff904e6f4865bcf (
plain)
1 # Description: OpenJDK 11 Java Development Kit
2 # URL: https://openjdk.java.net/
3 # Maintainer: Tim Biermann, tbier at posteo dot de
4 # Co-Maintainer: Danny Rawlins, crux at romster dot me
5 # Depends on: alsa-lib cups giflib harfbuzz lcms2 libxslt nss unzip xorg-libxrandr xorg-libxt xorg-libxtst zip
6
7 name=openjdk11-jdk
8 version=11.0.15+10
9 _boot_ver=20210620
10 _cert_ver=20210916
11 release=1
12 source=(#http://hg.openjdk.java.net/jdk-updates/jdk11u/archive/jdk-$version.tar.bz2
13 https://github.com/openjdk/jdk11u/archive/refs/tags/jdk-$version.tar.gz
14 https://crux.ster.zone/downloads/java/openjdk11-boot-$_boot_ver.tar.xz
15 https://crux.ster.zone/downloads/java/java_cacerts-${_cert_ver})
16
17 build() {
18 if [ -e '/usr/bin/ccache' ]; then
19 PATH=$(echo ${PATH} | awk -v RS=: -v ORS=: '/ccache/ {next} {print}' | sed 's/:*$//')
20 PKGMK_JDK11+=' --enable-ccache'
21 fi
22
23 OLD_PATH=$PATH
24 export JAVA_HOME=$SRC/openjdk11-boot
25 export PATH=$JAVA_HOME/bin:$OLD_PATH
26
27 export MAKEFLAGS=${MAKEFLAGS/-j${MAKEFLAG_J}/}
28 # Avoid optimization of HotSpot being lowered from O3 to O2
29 local _CFLAGS+=" ${CFLAGS//-O2/-O3} ${CPPFLAGS} -fcommon"
30 local _CXXFLAGS+=" ${CXXFLAGS//-O2/-O3} ${CPPFLAGS} -fcommon"
31 local _LDFLAGS="${LDFLAGS}"
32
33 [ -z $JOBS ] && JOBS=$(nproc)
34
35 # CFLAGS, CXXFLAGS and LDFLAGS are ignored as shown by a warning
36 # in the output of ./configure unless used like such:
37 # --with-extra-cflags="${CFLAGS}"
38 # --with-extra-cxxflags="${CXXFLAGS}"
39 # --with-extra-ldflags="${LDFLAGS}"
40 # See also paragraph "Configure Control Variables" from common/doc/building.md
41 unset CFLAGS
42 unset CXXFLAGS
43 unset LDFLAGS
44
45 mkdir $SRC/build
46 cd $SRC/build
47
48 LC_ALL=C
49 /bin/bash ../jdk11u-jdk-${version/+/-}/configure $PKGMK_JDK11 \
50 --prefix=/usr/lib/java/$name \
51 --disable-hotspot-gtest \
52 --disable-precompiled-headers \
53 --disable-warnings-as-errors \
54 --enable-dtrace=no \
55 --enable-unlimited-crypto \
56 --with-native-debug-symbols=internal \
57 --with-debug-level=release \
58 --with-stdc++lib=dynamic \
59 --with-jvm-variants=server \
60 --with-cacerts-file=$SRC/java_cacerts-$_cert_ver \
61 --with-jtreg=no \
62 --with-boot-jdk=$JAVA_HOME \
63 --with-version-opt="CRUX-r$release" \
64 --with-version-build="${version#*+}" \
65 --with-vendor-name="CRUX" \
66 --with-jobs=$JOBS \
67 --with-num-cores=$JOBS \
68 --with-libjpeg=system \
69 --with-giflib=system \
70 --with-libpng=system \
71 --with-zlib=system \
72 --with-lcms=system \
73 --with-harfbuzz=system \
74 --with-jvm-features=zgc \
75 --with-extra-cflags="${_CFLAGS}" \
76 --with-extra-cxxflags="${_CXXFLAGS}" \
77 --with-extra-ldflags="${_LDFLAGS}"
78
79 # NOTE: for debugging build issues: set LOG to debug, JOBS to 1.
80 LC_ALL=C \
81 make LOG=warn JOBS=$JOBS jdk-image
82
83 rm -r images/jdk/demo
84 rm -r images/jdk/lib/src.zip
85 rm -r images/jdk/lib/*.ja
86 rm -r images/jdk/man/ja
87 rm -r images/jdk/man/ja_JP*
88 rm -r images/jdk/legal
89 rm images/jdk/conf/security/policy/README.txt
90
91 install -d -m 0755 $PKG/usr/lib/java/$name
92 cp -r images/jdk/* $PKG/usr/lib/java/$name/
93
94 install -d -m 0755 $PKG/etc/revdep.d
95 echo "/usr/lib/java/$name/lib" > $PKG/etc/revdep.d/$name
96 echo "/usr/lib/java/$name/lib/jli" >> $PKG/etc/revdep.d/$name
97 echo "/usr/lib/java/$name/lib/server" >> $PKG/etc/revdep.d/$name
98 }
|