mirror of
https://github.com/ivabus/pantry
synced 2024-11-26 02:15:06 +03:00
108 lines
3.1 KiB
YAML
108 lines
3.1 KiB
YAML
distributable:
|
|
url: https://github.com/apple/pkl/archive/refs/tags/{{version.tag}}.tar.gz
|
|
strip-components: 1
|
|
|
|
versions:
|
|
github: apple/pkl
|
|
|
|
warnings:
|
|
- vendored-linux-x86-64
|
|
|
|
companions:
|
|
openjdk.org: '*'
|
|
|
|
build:
|
|
dependencies:
|
|
openjdk.org: ^17
|
|
linux:
|
|
zlib.net: 1
|
|
llvm.org: '*'
|
|
linux/x86-64:
|
|
curl.se: '*'
|
|
script:
|
|
# graalvm fails to understand our compiler environment
|
|
- run: |
|
|
if test "{{hw.platform}}" = "linux"; then
|
|
sed -i '/-H:Class=org.pkl.cli.Main/i\
|
|
,"--static"\
|
|
,"--native-compiler-path={{deps.llvm.org.prefix}}/bin/clang"\
|
|
,"-H:CCompilerOption=-Wl,-L{{deps.zlib.net.prefix}}/lib"\
|
|
,"-H:-CheckToolchain"' \
|
|
pkl-cli.gradle.kts
|
|
if test "{{hw.arch}}" = "x86-64"; then
|
|
sed -i '/-H:Class=org.pkl.cli.Main/i\
|
|
,"-H:CCompilerOption=-fPIC"\
|
|
,"-H:CCompilerOption=-Wl,-pie"' \
|
|
pkl-cli.gradle.kts
|
|
fi
|
|
fi
|
|
if: <0.26.0
|
|
working-directory: pkl-cli
|
|
- run: |
|
|
if test "{{hw.platform}}" = "linux"; then
|
|
sed -i '/-H:Class=org.pkl.cli.Main/i\
|
|
add("--static")\
|
|
add("--native-compiler-path={{deps.llvm.org.prefix}}/bin/clang")\
|
|
add("-H:CCompilerOption=-Wl,-L{{deps.zlib.net.prefix}}/lib")\
|
|
add("-H:-CheckToolchain")' \
|
|
pkl-cli.gradle.kts
|
|
if test "{{hw.arch}}" = "x86-64"; then
|
|
sed -i '/-H:Class=org.pkl.cli.Main/i\
|
|
add("-H:CCompilerOption=-fPIC")\
|
|
add("-H:CCompilerOption=-Wl,-pie")' \
|
|
pkl-cli.gradle.kts
|
|
fi
|
|
fi
|
|
if: '>=0.26.0'
|
|
working-directory: pkl-cli
|
|
|
|
- ./gradlew -DreleaseBuild=true $TARGETS
|
|
|
|
# vendor pkl-linux-x86-64 to deal with PIC issues
|
|
- run: curl -LO "https://github.com/apple/pkl/releases/download/{{version.tag}}/pkl-linux-amd64"
|
|
if: linux/x86-64
|
|
working-directory: pkl-cli/build/executable
|
|
|
|
- run: |
|
|
install -D jpkl {{prefix}}/bin/jpkl
|
|
install -D pkl-${SYS_NAME}-${ARCH_NAME} {{prefix}}/bin/pkl
|
|
working-directory: pkl-cli/build/executable
|
|
skip: fix-patchelf
|
|
env:
|
|
TARGETS:
|
|
- :pkl-cli:javaExecutable
|
|
linux/x86-64:
|
|
SYS_NAME: linux
|
|
ARCH_NAME: amd64
|
|
# TARGETS:
|
|
# - :pkl-cli:linuxExecutableAmd64
|
|
linux/aarch64:
|
|
SYS_NAME: linux
|
|
ARCH_NAME: aarch64
|
|
TARGETS:
|
|
- :pkl-cli:linuxExecutableAarch64
|
|
darwin/aarch64:
|
|
SYS_NAME: macos
|
|
ARCH_NAME: aarch64
|
|
TARGETS:
|
|
- :pkl-cli:macExecutableAarch64
|
|
darwin/x86-64:
|
|
SYS_NAME: macos
|
|
ARCH_NAME: amd64
|
|
TARGETS:
|
|
- :pkl-cli:macExecutableAmd64
|
|
|
|
provides:
|
|
- bin/jpkl
|
|
- bin/pkl
|
|
|
|
test:
|
|
- pkl --version
|
|
- jpkl --version
|
|
- pkl --version | grep {{version}}
|
|
- jpkl --version | grep {{version}}
|
|
- pkl eval template.pkl
|
|
- pkl eval template.pkl | grep 'Writing a Template'
|
|
- jpkl eval template.pkl | grep 'Writing a Template'
|
|
- pkl eval class.pkl | grep 'bestForConfig'
|
|
- jpkl eval class.pkl | grep 'bestForConfig'
|