# SPDX-License-Identifier: CC0-1.0 language = 'Haxe' display = 'Haxe/JVM 4.3.7 (hxjava 4.2.0)' license = [ { name = 'GPL-2.0-or-later', url = 'https://github.com/HaxeFoundation/haxe/blob/4.3.7/extra/LICENSE.txt' }, { name = 'MIT', url = 'https://github.com/HaxeFoundation/haxe/blob/4.3.7/extra/LICENSE.txt' }, { name = 'Unlicense', url = 'https://lib.haxe.org/p/hxjava/4.2.0/raw-files/LICENSE' } ] library.wronganswer.license = [ { name = 'CC0-1.0', url = 'https://github.com/fal-works/wronganswer/blob/v0.3.0/LICENSE' } ] library.wronganswer.version = '0.3.0' filename = 'Main.hx' install = ''' sudo ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime && sudo bash -c 'echo Etc/UTC > /etc/timezone' sudo apt update && sudo apt install -y wget build-essential cmake git libgc-dev libssl-dev libpcre2-dev zlib1g-dev apache2-dev libmariadb-dev-compat libsqlite3-dev libmbedtls-dev libgtk-3-dev cd /tmp wget https://github.com/HaxeFoundation/neko/archive/refs/tags/v2-4-1.tar.gz tar -xvf v2-4-1.tar.gz cd neko-2-4-1 mkdir build cd build cmake .. make sudo make install cd /tmp wget https://github.com/HaxeFoundation/haxe/releases/download/4.3.7/haxe-4.3.7-linux64.tar.gz sudo mkdir /opt/haxe sudo tar -xvf haxe-4.3.7-linux64.tar.gz -C /opt/haxe --strip-components 1 export PATH=$PATH:/opt/haxe export HAXE_STD_PATH=/opt/haxe/std mkdir ~/haxelib && haxelib setup ~/haxelib wget https://github.com/fal-works/wronganswer/archive/refs/tags/v0.3.0.zip haxelib install v0.3.0.zip sudo apt install -y openjdk-21-jdk-headless haxelib install hxjava 4.2.0 cd /judge cat << 'EOF' > java.sh #!/bin/sh if [ "$1" -gt 1024 ]; then stack_size=1024 else stack_size="$1" fi java -jar -Xss"$stack_size"M Main.jar EOF ''' compile = ''' export PATH=$PATH:/opt/haxe export HAXE_STD_PATH=/opt/haxe/std haxe --dce full -D analyzer-optimize -L wronganswer --main Main --jvm Main.jar if [ ! -e Main.jar ]; then exit 1; fi java -jar --dry-run Main.jar || rm -f Main.jar ''' object = 'Main.jar' execution = [ 'sh', 'java.sh', '{memory:mb}' ]