pantry/projects/openjdk.org/package.yml
2023-10-27 15:50:56 -04:00

146 lines
4 KiB
YAML

distributable:
url: https://github.com/openjdk/jdk20u/archive/jdk-20.0.2+9.tar.gz
strip-components: 1
versions:
- 20.0.2.9
#FIXME
interprets:
extensions: java
args: java
dependencies:
giflib.sourceforge.io: '*'
harfbuzz.org: ^8
libjpeg-turbo.org: '*'
libpng.org: '*'
littlecms.com: '*'
openprinting.github.io/cups: '*'
info-zip.org/unzip: '*'
zlib.net: '*'
libzip.org: '*'
linux:
alsa-project.org/alsa-lib: '*'
freedesktop.org/fontconfig: '*'
freetype.org: '*'
x.org/x11: '*'
x.org/exts: '*'
x.org/xrandr: '*'
x.org/xrender: '*'
x.org/xt: '*'
x.org/xtst: '*'
info-zip.org/zip: '*'
darwinsys.com/file: '*'
runtime:
env:
JAVA_HOME: '{{prefix}}'
build:
dependencies:
linux:
llvm.org: <17
gnu.org/make: '*'
gnu.org/autoconf: '*'
freedesktop.org/pkg-config: '*'
gnu.org/wget: '*'
script:
- run: wget -c $BOOT_JDK -O - | tar xz -C . --strip-components=$STRIP
working-directory: boot-jdk
# autoconf won't find llvm-cxxfilt for c++filt, and won't take an envvar
- run: |
sed -i.bak -e's/c..filt/llvm-cxxfilt/' toolchain.m4
rm toolchain.m4.bak
working-directory: make/autoconf
if: linux
- bash configure $ARGS
--with-boot-jdk="$BOOT_JDK_DIR"
--with-vendor-version-string="$(tea --version | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')"
--with-extra-cflags="$CFLAGS"
--with-extra-cxxflags="$CXXFLAGS"
--with-extra-ldflags="$LDFLAGS"
- make images
- mkdir -p {{prefix}}
- mv $JDK_DIR {{prefix}}/
env:
MAKEFLAGS: 'JOBS={{ hw.concurrency }}'
darwin:
STRIP: 2
BOOT_JDK_DIR: $SRCROOT/boot-jdk/Contents/Home
JDK_DIR: build/*/images/jdk-bundle/jdk-20.0.2.jdk/Contents/Home/*
ARGS:
- --enable-dtrace
linux:
STRIP: 1
BOOT_JDK_DIR: $SRCROOT/boot-jdk
JDK_DIR: build/*/images/jdk/*
ARGS:
- --with-cups={{deps.openprinting.github.io/cups.prefix}}
- --with-fontconfig={{deps.freedesktop.org/fontconfig.prefix}}
- --with-freetype=system
- --with-stdc++lib=dynamic
- --with-toolchain-type=clang
darwin/aarch64:
BOOT_JDK: https://download.java.net/java/GA/jdk19.0.1/afdd2e245b014143b62ccb916125e3ce/10/GPL/openjdk-19.0.1_macos-aarch64_bin.tar.gz
darwin/x86-64:
BOOT_JDK: https://download.java.net/java/GA/jdk19.0.1/afdd2e245b014143b62ccb916125e3ce/10/GPL/openjdk-19.0.1_macos-x64_bin.tar.gz
linux/aarch64:
BOOT_JDK: https://download.java.net/java/GA/jdk19.0.1/afdd2e245b014143b62ccb916125e3ce/10/GPL/openjdk-19.0.1_linux-aarch64_bin.tar.gz
linux/x86-64:
BOOT_JDK: https://download.java.net/java/GA/jdk19.0.1/afdd2e245b014143b62ccb916125e3ce/10/GPL/openjdk-19.0.1_linux-x64_bin.tar.gz
ARGS:
- --disable-warnings-as-errors
- --with-debug-level=release
- --with-jvm-variants=server
- --with-native-debug-symbols=none
- --with-vendor-bug-url="https://github.com/teaxyz/pantry/issues"
- --with-vendor-name="tea.xyz"
- --with-vendor-url="https://github.com/teaxyz/pantry/issues"
- --with-vendor-vm-bug-url="https://github.com/teaxyz/pantry/issues"
- --with-version-build={{version.minor}}
- --without-version-opt
- --without-version-pre
- --with-giflib=system
- --with-harfbuzz=system
- --with-lcms=system
- --with-libjpeg=system
- --with-libpng=system
- --with-zlib=system
provides:
- bin/jar
- bin/jarsigner
- bin/java
- bin/javac
- bin/javadoc
- bin/javap
- bin/jcmd
- bin/jconsole
- bin/jdb
- bin/jdeprscan
- bin/jdeps
- bin/jfr
- bin/jhsdb
- bin/jimage
- bin/jinfo
- bin/jlink
- bin/jmap
- bin/jmod
- bin/jpackage
- bin/jps
- bin/jrunscript
- bin/jshell
- bin/jstack
- bin/jstat
- bin/jstatd
- bin/jwebserver
- bin/keytool
- bin/rmiregistry
- bin/serialver
test:
script:
- java --version | grep {{version.marketing}}
- javac HelloWorld.java
- java HelloWorld | grep 'Hello, world!'